Областное государственное бюджетное профессиональное образовательное учреждение «СМОЛЕНСКАЯ АКАДЕМИЯ ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ» В.Г. Малахова ДИСКРЕТНАЯ МАТЕМАТИКА Руководство к решению задач СМОЛЕНСК 2014 Рассмотрено и утверждено на заседании кафедры «Информационных технологий» Составитель: Малахова В.Г. (преподаватель ОГБПОУ СмолАПО) Дискретная математика. Руководство к решению задач. В руководство к решению задач вошли задачи по следующим разделам: множества, отношения, функции, индукция и комбинаторика, алгебра подстановок, отношений и вычетов, формула бинома, высказывания, предикаты, кванторы, булевы функции, основы теории графов и элементиы теории автоматов. Данное учебное пособие предназначено для студентов средних профессиональных учебных заведений, связанных с информационными системами, разработкой программных продуктов и автоматизированных систем. Рецензент: Андреева А.В., к.п.н., доцент кафедры Информационных технологий и безопасности. 2 Содержание Введение ............................................................................................................................................................................................... 5 Глава 1. Элементы теории множеств ........................................................................................................................................... 7 1.1. Основные понятия теории множеств ..............................................................................................................7 1.1.1. Обозначения и способы задания множеств ....................................................................................................................... 7 1.1.2. Отношения между множествами ........................................................................................................................................ 8 1.1.3. Операции над множествами .............................................................................................................................................. 10 1.1.4. Основные свойства операций............................................................................................................................................ 11 1.1.5. Диаграммы Эйлера-Венна ................................................................................................................................................. 12 1.1.6. Прямое произведение множеств ....................................................................................................................................... 14 Вопросы для повторения ................................................................................................................................................................ 15 1.2. Отношения между множествами ...................................................................................................................16 1.2.1. Определение бинарных отношений.................................................................................................................................. 16 1.2.2. Представление бинарных отношений в виде графа, матрицы ....................................................................................... 18 1.2.3. Свойства бинарных отношений ........................................................................................................................................ 19 1.2.4. Отношение эквивалентности ............................................................................................................................................ 21 1.2.5. Отношение порядка ........................................................................................................................................................... 24 1.3. Функциональные отношения между множествами ........................................................................................26 1.3.1. Определение функции (отображения) .............................................................................................................................. 26 1.3.2. Обратное отображение ...................................................................................................................................................... 27 1.3.3. Композиция отображений ................................................................................................................................................. 28 1.3.4. Виды отображений ............................................................................................................................................................. 30 Вопросы для повторения ................................................................................................................................................................ 33 1.4. Алгебры ......................................................................................................................................................34 1.4.1. Понятие алгебры. Алгебра подстановок .......................................................................................................................... 34 1.4.2. Алгебра отношений. Реляционная алгебра и её операции ............................................................................................. 36 1.4.3. Отношение сравнимости ................................................................................................................................................... 40 1.4.4. Алгебра вычетов................................................................................................................................................................. 42 Вопросы для повторения ................................................................................................................................................................ 44 1.5. Индукция. Комбинаторика ...........................................................................................................................45 1.5.1. Метод математической индукции ..................................................................................................................................... 45 1.5.2. Формула включения и исключения .................................................................................................................................. 46 1.5.3. Правила суммы и произведения. Комбинаторные формулы.......................................................................................... 49 1.5.4. Треугольник Паскаля. Формула бинома .......................................................................................................................... 54 Вопросы для повторения ................................................................................................................................................................ 55 Глава 2. Элементы математической логики .............................................................................................................................. 56 2.1. Высказывания и операции над ними ............................................................................................................56 2.1.1. Понятие высказывания ...................................................................................................................................................... 56 2.1.2. Операции над высказываниями ........................................................................................................................................ 57 2.1.3. Понятие формулы в математической логике ................................................................................................................... 60 2.1.4. Отношение равносильности логических формул ............................................................................................................ 61 2.1.5. Законы логики .................................................................................................................................................................... 63 2.1.6. Правило логического вывода ............................................................................................................................................ 65 Вопросы для повторения ................................................................................................................................................................ 68 2.2. Предикаты ..................................................................................................................................................69 2.2.1. Понятие предиката ............................................................................................................................................................. 69 2.2.2. Операции над предикатами ............................................................................................................................................... 70 2.2.3. Кванторы............................................................................................................................................................................. 71 2.2.4. Формулы логики предикатов ............................................................................................................................................ 73 Вопросы для повторения ................................................................................................................................................................ 74 Глава 3. Булева алгебра .................................................................................................................................................................... 75 3.1. Булевы функции..........................................................................................................................................75 3.1.1. Понятие булевой функции ................................................................................................................................................ 75 3.1.2. Суперпозиция функций ..................................................................................................................................................... 77 3.1.3. Двойственные функции ..................................................................................................................................................... 78 3.1.4. Разложение функций по переменным. Нормальные формы .......................................................................................... 79 3.1.5. Минимизация нормальных форм. Карты Карно.............................................................................................................. 81 3 Вопросы для повторения .................................................................................................................................................................82 3.2. Полные системы функций ........................................................................................................................... 83 3.2.1. Полнота множества функций. Примеры полных систем ................................................................................................83 3.2.2. Базисы ..................................................................................................................................................................................83 Вопросы для повторения .................................................................................................................................................................85 3.3. Пять важнейших замкнутых классов. Теорема Поста ................................................................................... 86 3.3.1. Понятие замкнутых классов...............................................................................................................................................86 3.3.2. Классы Т0, Т1, L, S, М .........................................................................................................................................................86 3.3.3. Теорема Поста .....................................................................................................................................................................87 Вопросы для повторения .................................................................................................................................................................88 3.4. Анализ и синтез -схем................................................................................................................................ 88 3.4.1. Понятие -схемы.................................................................................................................................................................88 3.4.2. Задача анализа .....................................................................................................................................................................89 3.4.3. Задача синтеза .....................................................................................................................................................................90 3.4.4. Логические схемы ...............................................................................................................................................................93 Вопросы для повторения .................................................................................................................................................................93 Глава 4. Элементы теории графов ................................................................................................................................................94 4.1. Основные понятия теории графов ............................................................................................................... 94 4.1.1. Способы задания графов. Основные понятия графов......................................................................................................94 4.1.2. Числовые характеристики графов .....................................................................................................................................96 4.1.3. Операции с графами ...........................................................................................................................................................98 4.1.4. Изоморфизм графов ..........................................................................................................................................................100 4.1.5. Маршрут. Виды маршрутов .............................................................................................................................................102 4.1.6. Расстояния в графе. Центры графа ..................................................................................................................................103 4.1.7. Эйлеровы циклы ...............................................................................................................................................................104 4.1.8. Алгоритм построения Эйлерова цикла ...........................................................................................................................105 4.1.9. Гамильтоновы циклы........................................................................................................................................................107 4.1.10. Алгоритм построения гамильтонова цикла в графе.....................................................................................................108 4.1.11. Алгоритмы поиска в графе.............................................................................................................................................110 4.2. Деревья .................................................................................................................................................... 111 4.2.1. Основные определения.....................................................................................................................................................111 4.2.2. Алгоритмы построения минимального остовного дерева .............................................................................................113 4.2.3. Обходы дерева ..................................................................................................................................................................119 4.3. Ориентированные графы .......................................................................................................................... 120 4.4. Раскраска. Планарные графы ................................................................................................................... 122 4.4.1. Раскраска графов ..............................................................................................................................................................122 4.4.2. Планарные и плоские графы ............................................................................................................................................124 4.4.3. Гомеоморфизм (подобие) графов ....................................................................................................................................124 4.4.4. Проблема четырех красок. Двойственные графы ..........................................................................................................126 Задачи для повторения ..................................................................................................................................................................127 Вопросы для повторения ...............................................................................................................................................................129 4.5. Алгоритмы на графах ............................................................................................................................... 131 4.5.1. Алгоритмы нахождения расстояний между двумя вершинами ....................................................................................131 4.5.2. Алгоритм построения максимального потока ................................................................................................................136 Вопросы для повторения ...............................................................................................................................................................141 Глава 5. Элементы теории автоматов ......................................................................................................................................142 5.1. Основные понятия и определения ............................................................................................................. 142 5.1.1. Преобразователи информации. Автоматы ......................................................................................................................142 5.1.2. Абстрактные автоматы .....................................................................................................................................................143 5.1.3. Методы задания автоматов ..............................................................................................................................................144 5.2. Эквивалентные автоматы ......................................................................................................................... 149 5.2.1. Реакция автомата ..............................................................................................................................................................149 5.2.2. Эквивалентные автоматы .................................................................................................................................................151 5.2.3. Преобразование автоматов Мура в эквивалентные автоматы Мили............................................................................152 5.2.4. Преобразование автоматов Мили в эквивалентные автоматы Мура............................................................................153 Вопросы для повторения ...............................................................................................................................................................155 Перечень рекомендуемых учебных изданий, Интернет-ресурсов, дополнительной литературы ....................................156 4 Введение Руководство к решению задач составлено в соответствии с федеральным государственным образовательным стандартом среднего профессионального образования специальности 230113 Компьютерные системы и комплексы и охватывает следующие разделы: множества, отношения и функции, элементы комбинаторики, алгебра логики, булевы функции, основы теории графов, элементы теории автоматов. Предлагаемое руководство, адресованное студентам специальности 230113 «Компьютерные системы и комплексы» и имеет своей целью формирование общих компетенций будущего специалиста, таких как: ОК 1. Понимать сущность и социальную значимость своей будущей профессии, проявлять к ней устойчивый интерес. ОК 2. Организовывать собственную деятельность, определять методы и способы выполнения профессиональных задач, оценивать их эффективность и качество. ОК 4. Осуществлять поиск, анализ и оценку информации, необходимой для постановки и решения профессиональных задач, профессионального и личностного развития. ОК 5. Использовать информационно-коммуникационные технологии для совершенствования профессиональной деятельности. В процессе решения задач студенты осваивают следующие умения: 1. формулировать задачи логического характера и применять средства математической логики для их решения; 2. применять законы алгебры логики; определять типы графов и давать их характеристики; 3. строить простейшие автоматы; и усваивают знания: 1. основные понятия и приемы дискретной математики; 2. логические операции, формулы логики, законы алгебры логики; 5 3. основные классы функций, полноту множества функций, теорему Поста; 4. основные понятия теории множеств, теоретико-множественные операции и их связь с логическими операциями; 5. логику предикатов, бинарных отношений и их виды; элементы теории отображений и алгебры подстановок; 6. метод математической индукции; 7. алгоритмическое перечисление основных комбинаторных объектов; 8. основные понятия теории графов, характеристики и виды графов; 9. элементы теории автоматов. Дискретная математика формирует базовый уровень знаний и умений, необходимых для изучения других дисциплин, таких, как «Основы алгоритмизации и программирования», «Базы данных», «Электронно-вычислительные машины и периферийные устройства» и междисциплинарных курсов «Цифровая схемотехника», «Проектирование цифровых устройств». В сравнительно небольшом объеме руководства приводятся основные теоретические сведения, даются подробные решения типовых задач, многие из которых носят прикладной характер. В каждом параграфе предлагаются задачи для самостоятельного решения. Такое построение руководства предоставляет студентам широкие возможности для активной самостоятельной работы и будет экономить их время, а также окажет пользу при выполнении типовых расчетов. Особое внимание при этом уделялось математическим задачам, играющим существенную роль при изучении смежных дисциплин. Работа читателя над руководством будет более успешной при условии основательного изучения теоретического материала, относящегося к соответствующему параграфу, последующего разбора решенных примеров и обязательного закрепления приобретенных знаний путем решения задач, предназначенных для самостоятельной работы. 6 Глава 1. Элементы теории множеств 1.1. Основные понятия теории множеств 1.1.1. Обозначения и способы задания множеств Понятие множества является первичным, то есть не выражается через другие понятия. Это фундаментальное неопределяемое понятие математики. Можно сказать, что множество – это любая определенная совокупность объектов. Объекты, из которых состоит множество, называются его элементами. Обычно множество обозначают: А, В, С …, а его элементы: a, b, c … Если объект х является элементом множества М, то говорят, что х принадлежит М и обозначают хМ . В противном случае, говорят, что х не принадлежит М и обозначают хМ. Множество, не содержащее элементов, называется пустым. Пустое множество обозначают . Универсальным множеством называется множество U, которое содержит все всевозможные элементы. Мощностью множества называется количество элементов в нем. Перечислим способы задания множеств: Перечислением элементов, если множество конечное, например {a, b, c }. Заданием характеристического свойства, например {х| х-блондины}. Примеры решения задач 1) Задайте множество А={x | х – целое неотрицательное и х+2=5} другим способом. Решение: корень уравнения х+2=5 равен 3. Это число целое неотрицательное, следовательно, является элементом данного множества. Ответ: А={3}; Задачи для самостоятельного решения 2) Сколько элементов в множестве {1,{1},2,{1,{2,3}},}? 3) Определите мощность множества, состоящего из: a) букв слова «математика»; b) букв слова «перпендикулярные»; c) цифр числа «635252»; d) цифр числа «1010111». 4) Найдите более простое описание множеств (перечисляющее их элементы): a) А={x | х – целое и х2+4х=12}; b) В={x | х – название дня недели, не содержащее буквы “е”}; c) А={n2 | n – целое}. 5) Перечислите элементы следующих множеств: a) А={x | хZ и 10х17}; b) C={x | хZ и 6х2+x-1=0}; c) B={x | хZ и х2<24}; d) D={x | хR и 6х2+x-1=0}. 7 6) Определите с помощью характеристического свойства следующие множества: a) S={2,5,8,11,…}; b) T= 1, , , 1 1 1 ,. . . . 3 7 15 7) Задайте множество другим из известных вам способом: a) А={x | хZ и х>5}; k) А={x | хN{0} и х=2n}; l) Множество степеней числа 3; b) А={у | уZ и у(у-1)(у+1)=0}; m) Множество простых чисел; c) А={x | хZ и х=х}; n) Множество названий месяцев d) А={x | хZ и хх}; года, не содержащих «а»; e) А={x | хZ и х=0 и х=12 и х=27}; o) Множество имен, начинающихся f) А={у | уZ и у>0 и у=2k+1 и kZ }; с буквы «Ы»; g) ; p) А={x | х=3m и mN0}; h) {1, 2}; q) А={x | хZ и 10х17}; i) {1, 2, …, n}; j) {0, ±2, ±4, ±6, …}; 1.1.2. Отношения между множествами Равенство множеств А и В. Множества А и В называют равными, если каждый элемент одного из них является элементом другого и обозначаются А=В. Включение множеств. Говорят, что множество А включается в множество В, если каждый элемент множества А является элементом множества В и обозначают АВ. Множество А называют подмножеством множества В, а множество В называют надмножеством множества А. Если А подмножество В и АВ, то А называют собственным подмножеством множества В. Свойства: А. АА. Если АВ и ВС, то АС. Если АВ и ВА, то А=В. Примеры решения задач 8) Выясните, равны ли множества: a) А={1, 2, 3}; В={2, 3, 1}. b) А – множество всех равносторонних треугольников; В – множество всех равноугольных треугольников. c) А={1, 5, 8}; В={2, 8}. d) А={0, 1}; В={{0, 1}}. Решение. a) А={1, 2, 3}; В={2, 3, 1}. Множества состоят из одних и тех же элементов, следовательно, А=В. b) А – множество всех равносторонних треугольников; В – множество всех равноугольных треугольников. Т.к. в равностороннем треугольнике все углы равны, то А=В. c) А={1, 5, 8}; В={2, 8}. АВ, т.к. в этих множествах различное количество элементов. 8 d) А={0, 1}; В={{0, 1}}. АВ, так как первое – двухэлементное, а второе одноэлементное. 9) Даны множества N, Z, R. Укажите, какие из них являются подмножествами. Решение: NZ, где N-множество натуральных чисел, а Z- целых чисел. Z R, где R- множество действительных чисел. Задачи для самостоятельного решения 10) Даны три множества А={0, 1}, B={{0,1}, С={{{0,1}, 2}, 3}. Верно ли, что: АВ, BC, но АС? Верно ли, что: 11) a) b) c) d) 12) a) b) c) d) e) f) 1{1,2}; 3{0,1}; 3; ; e) f) g) h) {}; {0,1}{{{0,1},2}, {1,2}, 0, 1}; {1,2}{{1,2}, 1, 2}; {1,2}{{1,2}}. Привести примеры таких множеств А, В, С, D, что: АВ, BD, DC, AD, BС; АВ, D; BC, CD; АВ, BС, СD; АС, BC, АВ; АС, BC, АВ, BС; A={B}, BA. 13) Укажите все подмножества данных множеств: a) b) c) d) {0,1} {0,1,2}; {a,b,c}; {∆,◊,□}; 9 1.1.3. Операции над множествами Объединением множеств А и В называется множество, которое состоит из тех и только тех элементов, которые содержатся хотя бы в одном их множеств А или В. Объединение множеств обозначают АВ. Пересечением множеств А и В называется множество, состоящее из элементов, которые содержатся как во множестве А, так и во множестве В. Пересечение множеств обозначают АВ. Разностью множеств А и В называют множество, состоящее из элементов, которые содержатся в множестве А и не содержатся в множестве В. Разность множеств А и В обозначают как А\В. Симметрической разностью множеств А и В называют множество, состоящее из элементов, которые содержатся в одном из этих множеств и не содержатся в другом. Симметрическую разность обозначают АВ. Из определения симметрической разности множеств следует, что А∆В=(А\В) (В\А) и А∆В=(АВ) \ (АВ). Дополнением множества А называется универсальное множество, не включающее элементы исходного множества. Дополнение множества А обозначают Ā. По определению Ā=U\А. Примеры решения задач 14) Заданы два множества. Выполните над ними все известные операции. А=x| xR и 1x3, B=x| xR и 2x4. Решение: AB=x|xR и 1x4; AB=x|xR и 2x3; A\B=x|xR и 1x<2; A∆B=x|xR и 1x<2 и 3<x4; Ā=x|xR и x<1 и x>3; 15) Пусть А – множество всех женщин, универсальное множество U – множество всех людей. Тогда Ā – это множество всех мужчин. 16) Задачи для самостоятельного решения Опишите на словах элементы следующих множеств: АВС; (АВ) C . 17) Пусть А={1,3,5,7}; А С , В С , А \ С , ВС . 18) В={2,4,6,8}; С={1,2,3,4,5}. Найдите: Пусть U={1,2,3,4}; A={1,3,4}; В={2,3}, С={1,4}. Найдите: A B, A B, A B, ( B \ A) C. 19) Изобразите на числовой прямой пересечение, объединение и разность следующих множеств: X1=x|xR и x2-10} и X2={x| |x|<1. 20) a) b) c) Выполните все известные вам операции над заданными множествами: А={1,2,3,4}; В={1,3,5}; С={5,6}. А={a,b,d}; В={b,d,e,h}; U={a,b,c,d,e,f,g,h}. А={2,4,6,8}; В={3,6,9}; С={1,2,3,…,10}. 21) Выразите операцию разности двух множеств и симметрической разности двух множеств через операции объединения, пересечения и разности. 10 22) В качестве универсального множества данной задачи зафиксируем U={p,q,r,s,t,u,v,w}. Пусть А={p,q,r,s}, В={r,t,v}, С={p,s,t,u}. Найдите элементы следующих множеств: e) A B ; a) ВС; f) BC ; b) АС; g) ( A B) ( A C ) ; c) C ; h) В\С. d) АВС; 23) 24) Пусть U={a,b,c,d}, X={a,c}, Y={a,b,d}, Z={b,c}. Найдите множества: a ). X Y ; б ). ( X Z ) Y ; в ). X (Y Z ); г ). ( X Y ) ( X Z ); д). X Y ; е). X Y ; ж ). X Y ; з ). ( X Y ) Z ; и ). X (Y Z ); к ). X \ Z ; л). ( X \ Z ) (Y \ Z ). Пусть a ). A \ C ; U={1,2,3,4,5,6}, б ). В \ С ; в ). С \ В; A={1,2,3}, г ). А \ В; B={1,3,5,6},C={4,5,6}. Найдите д). А В; е). В А; ж ). А С ; з ). (С А) \ (С А). множества: 25) Рассмотрим подмножества целых чисел: А={3n | nZ и n4}; B={2n | nZ} и С={n | nZ и n2100}. Используя операции на множествах, выразите следующие подмножества через А, В и С: a) множество всех нечетных целых чисел; b) {-10, -8, -6, -4, -2, 0, 2, 4, 6, 8, 10}; c) {6n | nZ и n2}; d) {-9, -7, -5, -3, -1, 1, 3, 5, 7, 9}. e) Задайте множество А\В с помощью задания свойств элементов. 26) Пусть А={x | х – целое четное число и 1х12}; В={x | х – целое число, кратное 3 и 1х12}. Убедитесь, что A B A B . 27) Пусть А1 – множество четных натуральных чисел; А2 – множество, состоящее из числа 10 и всех нечетных натуральных чисел, не делящихся на 5; А3 – множество натуральных чисел, делящихся на 5. Найдите: А1А2А3. 28) Пусть М множество всех параллелограммов на плоскости; А1 – множество квадратов на плоскости; А2 – множество прямоугольников на плоскости; А3 – множество ромбов на плоскости. Найдите AiAj; AiAj; Ai Āj, где i,j=1,2,3. 1.1.4. Основные свойства операций Теорема: для любых множеств А, В, С выполняются следующие равенства: 1. АА=А; АА=А; 2. АВ=ВА; АВ=ВА; 3. А(ВС)=(АВ)С; А(ВС)=(АВ)С; 4. А(ВС)=(АВ)(АС); А(ВС)=(АВ)(АС); 5. А(АВ)=А; А(АВ)=А; 6. А=А; А=; 11 АU=U; AU=A; 8. А А =U; A А =; 9. А =А; 10. А В = А В ; А В = А В – законы де Моргана. Один из алгоритмов доказательства любого тождества А=В состоит в следующем: 1). Доказать, что АВ, то есть любой элемент из А принадлежит В. 2). Доказать, что ВА то есть любой элемент из В принадлежит А. 7. Примеры решения задач Доказать, что А(АВ)=А. 29) Решение: А(АВ)= (АU)(АВ)=А(BU)=AU=A. Задачи для самостоятельного решения 30) Пусть А={x | х – целое четное число и 1х12}; В={x | х – целое число, кратное 3 и 1х12}. Убедитесь, что A B A B . 31) Опираясь на законы алгебры множеств, докажите, что произвольные множества А и В удовлетворяют свойству: AB ( A B) ( A B) . 32) Считая, что Х1, Х2, Х3 являются подмножествами множества Х, упростите выражения: a) (Х1Х2)\Х1; d) (Х1Х2Х3) (Х1Х2) (Х1Х3); b) (Х1Х2)\Х1; e) ((Х1Х2) (Х1Х3))\ (Х2Х3); c) (Х1Х2) Х1; f) ((Х1\Х2) (Х1Х2)). Докажите с помощью законов алгебры множеств следующие тождества: 33) a) b) c) d) A B B A B; ( A B C ) ( A B C ) ( A C ) ; ( A \ B) \ C A \ ( B C ) ; AAA A . Пусть А и В – конечные множества. Доказать, что: a) | АВ|=|A|-|A\B|; b) | АВ|=|A|+|B|-| АВ|; c) | АВ|=|A|+|B|-2| АВ|. 34) 1.1.5. Диаграммы Эйлера-Венна Диаграммы Эйлера-Венна удобно применять для иллюстрации операций над множествами. Сами исходные множества изображаются фигурами (в данном случае кругами), а результат графически выделяется. Теорема о пяти положениях: два множества могут быть по отношению друг к другу в следующих пяти положениях. А В В А А В В Рис. 1 12 А=В А Теорема о пяти положениях используется для доказательства тождеств следующим образом. Пусть надо доказать тождество, в левую и правую часть которых входит только два множества. Тогда для каждого из пяти положений требуется доказать равенство левой и правой части. Примеры решения задач 35) Проиллюстрируйте тождества с помощью диаграмм Эйлера-Венна: Решение: А А А В В В А\В АВ АВ АВ Рис. 2 36) Запишите формулой графически заданное множество: Решение: заданное выделенное множество может быть представлено различными способами, например: А В D С (AB)(C\B\D)(D\C). Рис. 3 Задачи для самостоятельного решения 37) Проиллюстрируйте тождества с помощью диаграмм Эйлера-Венна: a) A ( B C ) ( A B) ( A C ) ; 3). А(ĀВ)=АВ; b) A ( BC ) ( A B)( A C ) . 4). (ВА)(В Ā)=В. 38) Определим операцию “*” по формуле: А*В= A B . Изобразите на диаграмме Эйлера-Венна множество А*В. С помощью законов алгебры множеств докажите тождества: a) A A A ; b) ( A A) ( B B) A B ; c) ( A B C ) ( A B C ) ( A C ) ; d) ( A B) ( A B) A B . 39) Запишите формулой графически заданные множества: А А В В D С С Рис. 4 13 1.1.6. Прямое произведение множеств Прямым (декартовым) произведением двух множеств А и В называется совокупность всех упорядоченных пар, первый элемент которых принадлежит А, а второй принадлежит В. Обозначают АВ. Говоря об упорядоченной паре, имеют ввиду, что два объекта расположены в определенном порядке. Один из них считается первым, другой – вторым. Декартово произведение множества само на себя (случай когда А=В) обозначают А2. В общем случае, АВВА. Но если А=В или одно из множеств пусто, то АВ=ВА. Декартовым (прямым) произведением множеств А, В, С называется совокупность всех упорядоченных троек, первый элемент которых берется из А, второй из В, третий из С. То есть АВС=(a,b,c)|aA, bB, cC. Можно определить декартово произведение любого числа множеств: А1А2…Аn=(х1,х2,…,хn)| хiAi, i=1,2,…,n. Рассмотрим множество действительных чисел R. Известно, что точка на плоскости может быть задана упорядоченной парой координат. Тогда декартово произведение RR=R2 определяет плоскость координат. Если А и В подмножества множества R (т. е. АR и ВR), то АВ можно изобразить на плоскости. 40) Примеры решения задач Даны множества А=1, 2; В=a, b. Найдите АВ, ВА. Решение: АВ=(1,a), (1,b), (2,a), (2,b). ВА=(a,1), (b,1), (a,2), (b,2). 41) Изобразить на плоскости декартово произведение множеств А и В. А=xR| x[1,2]; В=yR| y[2,3]. Решение: АВ=(x,y)R2| xA, yB y z 3 1 2 1 y 1 x 0 1 2 Рис. 6 x Рис. 5 42) Даны числовые множества: А=[0,1], В=[0,1], С=[0,1]. Изобразите декартово произведение АВС. 14 Решение: АВ=(x,y,z)R3|xA,yB,zC . Любую тройку можно представить точкой пространства (см. рис. 6). Задачи для самостоятельного решения 43) Дано два множества А={x,y} и В={1,2,3}. Найдите произведения: АВ, ВА, ВВ, АА, ВАВ, АВА. декартовы 44) Изобразите на плоскости декартовы произведения множеств: АВ, ВА, ВВ. a) А={x | x[0;1]}; B={y | y(-1;1)}; b) A={ x | xR и x2>1}; B={y | yR и y[1; )}. 45) Постройте множество А2, если : a) А= {0, 1}; b) A={x, y, z}; c) A={0, 2, 4, 6, 8}; d) A={1, 3, 5, 7}; e) A={день, ночь}; f) A={a, b, c, d}. Вопросы для повторения 1. Понятия множества, пустого и универсального множества. Отношение принадлежности элемента множеству, равенство множеств. Примеры. 2. Операции над множествами, определения, примеры. Теорема о пяти положениях. 3. Свойства операций над множествами. Примеры. 4. Понятие декартово произведение множеств. Примеры. 5. Способы задания множеств. Примеры 15 1.2. Отношения между множествами 1.2.1. Определение бинарных отношений Рассмотрим два множества: А=М1, М2, М3,М4 - множество точек; В=l1, l2, l3 - множество прямых. Зададим отношение между точками и прямыми. Точки находятся в отношении с прямой, если точка принадлежит прямой. Допустим, что M2 l1 и M3 l2. Обозначают M2 l1 или M3 l2. Пишут, что отношение включает в себя пары: =(M2,l1), (M3,l2). Бинарным отношением (соответствием) между множествами А и В называется любое подмножество декартова произведения множеств, то есть АВ. Например, пусть А – множество всех мужчин, а В – множество всех женщин. Тогда АВ – множество всевозможных пар. В этом множестве можно выделить подмножество супружеских пар, значит между исходными множествами А и В можно задать отношение “быть супругами”. n-местным отношением между множествами А1, А2,…,Аn называется любое подмножество декартового произведения этих множеств. Обозначают А1А2…Аn. Если n=2, то - бинарное отношение. Если n=3, то - тернарное отношение. Примеры решения задач 46) Пусть А=2, 8, 16, 18, а В=4, 6, 9, 12. Приведите примеры отношений между этими множествами. Решение: 1. 1=(16,6), (2,12) - множество пар чисел из А и В, оканчивающихся на одинаковую цифру, АВ; 2. 2=(8,4), (16,4), (18,6), (18,9) - множество пар чисел первое из которых, взятое из А, без остатка делится на второе из множества В. 47) Задайте бинарное отношение на множестве А=5,7,11,23, т.е. АА=А2. Решение: Элементы множества А находятся в отношении , если их разность без остатка делится на 3. =(5,11), (11,5) (5,23), (23,5), (11,23), (23,11), (5,5), (11,11), (23,23). Задачи для самостоятельного решения 48) Рассмотрим генеалогическое древо, изображенное на рисунке 7. Выпишите упорядоченные пары, находящиеся в следующих отношениях на множестве Р Федор & Мария Элла Дмитрий & Анна Николай & Софья Диана Фиона Михаил Полина Алексей Рис. 7 членов этой семьи: a) ={(x,y) | x – дедушка y}; 16 b) φ={(x,y) | x – сестра y}. 49) Выпишите упорядоченные пары, принадлежащие следующим бинарным отношениям на множествах А={1,3,5,7} и В={2,4,6}: a) ={(x,y) | x+y=9}; b) φ ={(x,y) | x<y}. 50) Множество ={(х,у) | х – делитель у} определяет отношение на множестве А={1,2,3,4,5,6}. Найдите все упорядоченные пары, ему принадлежащие. 51) Для каждого из следующих отношений на множестве натуральных чисел N опишите упорядоченные пары, принадлежащие отношениям: a) b) c) d) ={(x,y) | 2x+y=9}; ={(x,y) | x+y<7}; ={(x,y) | y=x2}; ={(x,y) | 4x=y2}. 52) Является ли множество пар отношением, заданным на множестве М: a) b) c) d) e) f) ={(1,3), (3,3), (4,1)}, M={1,3,4}; ={(1,1), (4,4)}, M={1,4}; ={(4,6), (4,5), (5,4)}, M={4,5,6}; ={(1,3,1), (0,1,3), (2,1,3)}, M={0,1,2,3}; ={(1,3,1),(1,3,2), (0,3,1), (2,3,2), (3,2,2)}, M={0,1,2,3}; ={(0,0), (,), (,), (,)}, M={0, , , }. 53) На множествах А=R, В=R и С=R задано отношение s=(x,y,z)|x2+y2+z2=1. Определите геометрический смысл отношения s. 54) Даны множества Х={-2, -1, 4, 5} и Y={-2, 0, 6}. Известно, что xX, yY. Составьте отношения и их постройте графики. a) b) c) d) e) f) x+y>0; x-y<0; x+y0; x-y0; xy>0; xy<0. 17 1.2.2. Представление бинарных отношений в виде графа, матрицы b e а d f c Рис. 8 Под графом понимают некоторую совокупность точек плоскости, пары которых могут быть соединены стрелками. Оказывается, любое бинарное отношение на конечном множестве можно представить графом и наоборот, каждому графу можно сопоставить некоторое бинарное отношение на множестве его вершин. Алгоритм предельно прост: если некоторая пара (a,b) принадлежит отношению, то соответствующие точки на плоскости соединяются стрелкой, которая выходит из a и заходит в b. Обратная операция очевидна. Бинарные отношения между конечными множествами можно представить в виде таблиц или матриц. Примеры решения задач 55) Даны два множества А=a, b, c, B=1, 2, 3 и отношение =(а,1),(а,2),(с,3). Задайте данное отношение графом и матрицей. Решение: 1 2 3 a 1 1 0 b 0 0 0 c 0 0 1 1 а 2 b c 3 Рис. 9 Построенная таблица есть таблица бинарного отношения. Задачи для самостоятельного решения 0 0 1 56) Какое отношение задается матрицей 0 1 0 ? Постройте для него граф. 0 1 1 57) Составить матрицы отношений, заданных на множестве всех подмножеств множества М={a,b,c}: a) 1 – «пересекаться с»; b) 2 – «являться строгим включением ». 58) Изобразите граф и матрицу, представляющие отношение ={(х,у) | х – делитель у} на множестве А={1,2,3,4,5,6}. 59) 18 Отношение на множестве А={a,b,c,d} задается матрицей, 0 0 0 1 1 1 0 0 1 1 , 1 0 0 1 0 1 порядок строк и столбцов в которой соответствует порядку выписанных элементов множества А. Назовите упорядоченные пары, принадлежащие R. 60) Отношение на множестве А={1,2,3,4} 1 представлено графом. Перечислите 4 упорядоченные пары, принадлежащие R, выпишите соответствующую матрицу и определите это отношение с помощью характеристического свойства. 2 3 61) Пусть – это отношение на множестве {1,2,3,4}, определяемое условием: u v тогда и только тогда, когда u+2v – нечетное число. Представьте каждым из способов: a) как множество упорядоченных пар; b) в графической форме; c) в виде матрицы. 62) Задайте отношения графами: a) {(a,b), (b,c), (a,c), (a,a), (c,a)}; b) {(1,a), (2,a), (1,2), (a,2), (3,b), (b,a), (4,a), (5,5)}; c) {(n,m)N2| m=n+1}. 63) Для отношений, заданных на множестве элементов структуры, изображенной на рис. 10, привести примеры пар, для которых выполняются отношения, и пар, для которых отношения не выполняются. Постройте соответствующие матрицы отношений. a) b) c) d) 1 – «быть частью целого»; 2 –«быть непосредственно связанным с»; d 3 – «быть начальником»; 4 – «быть непосредственным начальником». а с b e f g h Рис. 10 1.2.3. Свойства бинарных отношений Бинарное отношение на множестве А (А2) называется рефлексивным, если для любого элемента множества А пара (а,а) . Бинарное отношение на множестве А (А2) называется транзитивным, если из того, что (а,b) и (b,c) следует, что (a,c). Бинарное отношение на множестве А (А2) называется симметричным, если из того, что (а,b) следует, что (b,a). В приведенном выше примере отношение 1 обладает тремя вышеперечисленными свойствами. Бинарное отношение на множестве А (А2) называется антирефлексивным, если никакая пара вида (а,а) не находится в отношении . 19 Бинарное отношение на множестве А (А2) называется антисимметричным, если из того, что (а,b) и аb следует, что (b,а). Примеры решения задач Каковы свойства отношений, заданных на множестве людей: 64) a) 1 – «быть сыном»; b) 2 – «жить в одном городе». Решение: a). 1={(a,b) | a сын b}: не рефлексивно, антирефлексивно, так как ни для каких а не выполняется: а – сын а; не симметрично, антисимметрично, поскольку ни для каких ab не выполняется: a - сын b и b - сын a; не транзитивно, так как если: a - сын b и b - сын с, то a – не сын с. b). 2={(a,b) | a живет в одном городе с b}: рефлексивно, не антирефлексивно, так как (а,b)R2 для всех а; симметрично, не антисимметрично, поскольку для любых a,b, если (a,b)R2, то (b,a)R2; транзитивно, так как если: (a,b) 2 и (b,с) 2 , то (a,с) 2. Задачи для самостоятельного решения 65) Определите свойства отношений: a) ={(1,1), (a,a), (a,2), (2,2)}; b) φ={(1,2), (2,3), (3,2), (4,4)}; c) ={(1,2), (2,1), (1,1), (2,2), (3,3)}. 66) Какими свойствами обладают следующие отношения: a) «x делит у» на N; b) «x≠у» на Z; c) «количество лет х совпадает с возрастом у» на множестве людей. 67) Определите, какие из следующих отношений на множестве людей рефлексивны, симметричны или транзитивны: a) b) c) d) e) «иметь тех же родителей»; «быть братом»; «быть старше» или «быть младше»; «быть знакомым»; « быть не выше». 68) Определите, какие из приведенных ниже отношений на Z являются рефлексивными и симметричными, а какие только рефлексивными? a) «x+y –нечетное число»; b) «x+y –четное число»; 20 c) «xy – нечетное число»; d) «x+xy – четное число». 69) Определите, какими свойствами обладают следующие отношения на множестве {1,2,3,4,5}. a) 1={(a,b) | |a-b|=1}; b) 2={(a,b) | 0<a-b<3}; c) 3={(a,b) | ab2} 70) Определите, какими свойствами обладают следующие отношения на множестве точек R. a) «находиться на одинаковом расстоянии от начала координат»; b) «находиться на разном расстоянии от начала координат»; c) «быть симметричным относительно оси х»; d) «находиться на одной и той же окружности с центром в (0,0)». 71) Найдите все отношения на двухэлементном множестве {a, b}. Укажите среди них: a) все рефлексивные; b) все симметричные. 1.2.4. Отношение эквивалентности Отношение называется отношением эквивалентности, если оно обладает свойствами рефлексивности, транзитивности и симметричности. Обычно отношение эквивалентности обозначают . Разбиением множества М называется совокупность непустых подмножеств М1, М2, …Мn множества М, удовлетворяющих следующим требованиям: М=М1М2…Мn и МiМj=, ij. Отношение эквивалентности на множестве М задает на нем разбиение. Например, отношение “проживания в одном доме” на множестве жителей России является отношением эквивалентности. Этот пример иллюстрирует основное свойство любого отношения эквивалентности: с помощью этого отношения можно разбить соответствующее множество на непересекающиеся подмножества. При этом все элементы каждого подмножества находятся между собой в отношении эквивалентности (эквивалентны друг другу) и не находятся в этом отношении ни с одним из элементов другого подмножества. В данном случае все население России разбивается на множества людей, живущих в одном доме. Пусть - отношение эквивалентности на множестве М и хМ. Подмножество элементов множества М, эквивалентных х, называется классом эквивалентности для х. Множество классов эквивалентности называется фактормножеством множества М и обозначается М/. Примеры решения задач 72) На множестве целых чисел Z задано отношение ={(a,b) | (a-b) делится на 3}. Является ли заданное отношение отношением эквивалентности? Укажите классы эквивалентности. Решение: 1. Для любого целого а пара (а,а), т.к. (a-a)=0, а 0 делится на 3, следовательно отношение рефлексивно. 2. Если пара (a,b), то (a-b) делится на 3, тогда и (b-a) делится на 3, т.е. (b,а). Это значит, что отношение симметрично. 3. Если пара (a,b), то (a-b) делится на 3, следовательно, a-b=3k1, k1Z. Если пара (b,с), то (b-c) делится на 3, следовательно, b-c=3k2, k2Z. 21 Сложив почленно эти два равенства, получим a-b+b-c=3k1+3k2. Упростив, получим а-с=3k, где kZ. А это значит, что пара (а,с). Значит, отношение транзитивно. Так как отношение обладает свойствами рефлексивности, симметричности и транзитивности, значит оно является отношением эквивалентности. Отношение разбивает множество Z на три класса эквивалентности: {0,3,6,9,…} – множество чисел без остатка делящихся на 3; {1, 4, 7,…} - множество чисел, делящихся на 3 с остатком 1; {2, 5, 8,…} - множество чисел, делящихся на 3 с остатком 2. Получили три класса эквивалентности. Задачи для самостоятельного решения 73) Для каждого из следующих отношений эквивалентности на данном множестве А опишите классы эквивалентности, на которые разбивается множество А. a) А – множество книг в библиотеке; xy, если цвет переплета х совпадает с цветом у; b) A=Z; ху тогда и только тогда, когда х-у – четное число; c) А – множество людей, и ху, если х имеет тот же пол, что и у; d) А=2, задается по правилу: (a,b) (c,d) в том случае, когда a2+b2=c2+d2. 74) Имеется множество A = {1,2,3,4} и его разбиение {{1,2}, {3,4}}. Задайте отношение эквивалентности ρ. 75) Имеется множество A = {1,2,3,4} и его разбиение {{1}, {2, 3}, {4}}. Задайте отношение эквивалентности ρ. 76) Отношение на множестве Z определяется так: xy тогда и только тогда, когда х2-у2 делится на 3. покажите, что является отношением эквивалентности и опишите классы эквивалентности. 77) Являются ли заданные отношения отношениями эквивалентности? a) b) c) d) e) f) g) 22 Отношение “быть одного цвета”; Отношение равенства множеств; Отношение равенства чисел; Отношение равенства фигур; Отношение подобия на множестве всех треугольников; Отношение параллельности на множестве прямых Отношение перпендикулярности на множестве прямых. 78) Какие из отношений, представленных графами на рис. 11, являются отношениями эквивалентности. а b d g c e f h i Рис. 11 79) На множестве Х=лягушка, уголь, елка, апельсин, крокодил, “Фанта”, сажа задано отношение “быть одного цвета”. Укажите классы эквивалентности. 80) Заданы отношения эквивалентности. Выпишите классы эквивалентности и фактор-множество. a) ρ = {(4, 4), (4, 2), (2, 4), (2, 2), (3, 3)}; b) φ = {(1, 1), (1, 3), (3, 1), (3, 3)}; c) τ = {(1, 1), (1, 3), (3, 1), (3, 3), (2, 2), (4, 4), (4, 2), (2, 4)}. 81) По заданным разбиениям установить, для каких множеств они заданы и Найдите соответствующие отношения эквивалентности. a) {{0,1}, {2}, {3,7}, {4,6}, {5}}; g b) {{0}, {1,2,3}}; c) {{0,1,2,3}}. h 23 1.2.5. Отношение порядка Бинарное отношение на множестве А (А2) называется отношением порядка, если оно обладает свойствами транзитивности и антисимметричности. Множество А, на котором задано отношение порядка называется упорядоченным. Виды порядка: 1). Порядок называется нестрогим, если он обладает свойством рефлексивности. 2). Порядок называется строгим, если он обладает свойством антирефлексивности. 3). Порядок называется полным, если, каковы бы ни были два элемента из множества, (а,b) или (b,а) . 4). Порядок называется частичным, если найдутся два элемента из множества такие, что(а,b) и (b,а) . Если - отношение частичного порядка на множестве А, то при ab и (a,b) будем называть x предшественником или предшествующим элементом, а y –последующим. У произвольно взятого элемента y может быть много предшествующих элементов. Если x предшествует y, и не существует таких элементов z, для которых (x,z) и (z,y), то x называется непосредственным предшественником y и обозначается x y. Непосредственных предшественников можно изобразить с помощью графа, известного как диаграмма Хассе. Алгоритм построения такой диаграммы следующий: вершинами графа изобразить элементы частично упорядоченного множества А, и если x y, то вершину x поместить ниже вершины y и соединить с ней ребром. Примеры решения задач 82) Отношение « x делитель y»определяет частичный порядок на множестве А={1,2,3,6,12,18}. Составьте таблицу предшественников и непосредственных предшественников, после чего постройте соответствующую диаграмму Хассе. Решение. Построим таблицу следующего вида: элемент предшественник непосредственный предшественник 12 18 1 нет нет 6 2 1 1 3 1 1 3 2 6 1,2,3 2,3 12 1,2,3,6 6 Рис. 12 1 18 1,2,3,6 6 Справа на рис.12 изображена соответствующая диаграмма Хассе. Задачи для самостоятельного решения 83) Являются ли следующие отношения отношениями порядка? Если да, то укажите вид порядка. a) ={(a,a), (b,b), (c,c), (a,b), (b,c), (a,c)} на множестве {a,b,c}; b) ={(a,a), (b,b), (c,c), (b,a), (c,b), (c,a)} на множестве {a,b,c}; c) ={(x,y)N02 | kN0, y=kx}. 84) На множестве 1, 2, 3, 4, 5, 6, 7 заданы следующие отношения: 1 () и 2 (делимость). Являются ли данные отношения отношениями порядка? 85) Является ли множество концентрических упорядоченным? Частично упорядоченным? 24 кругов на плоскости 86) Нарисуйте диаграмму Хассе для каждого из следующих упорядоченных множеств. Определите вид порядка. a) множество {1,2,3,5,6,10,15,30} с отношением «х делит у»; b) множество всех подмножеств {1,2,3} с отношением «х – подмножество у»; c) множество натуральных чисел с отношением «х меньше либо равен у»; d) множество натуральных чисел с отношением «х делится на у»; e) множество натуральных чисел без единицы с отношением «х делится на у». 87) Диаграмма Хассе частичного порядка на множестве А={a,b,c,d,e,f,g,h} показана на рисунке 13. Перечислите элементы и найдите минимальный и максимальный элементы частично упорядоченного множества А. g h e d a b f c Рис. 13 88) Задано отношение делимости на множестве 1, 2, 3, 4, 5, 6, 7. Представьте данное отношение в виде графа. 89) Лексикографический (алфавитный) порядок работает следующим образом: у данных слов х и у сравниваем букву за буквой, оставляя без внимания одинаковые, пока не найдем пару разных. Если в этой паре буква слова х стоит раньше, то х предшествует у. Если все буквы слова х совпадают с соответствующими буквами слова у, но оно короче, то х предшествует у, в противном случае, х предшествует х. Упорядочьте следующие слова: бутылка, банан, бисквит, бивень, банджо. Объясните, почему выбран именно такой порядок. 25 1.3. Функциональные отношения между множествами 1.3.1. Определение функции (отображения) Пусть заданы множества А и В. Рассмотрим некоторое бинарное отношение АВ. Говорят, что задана функция (отображение) с областью определения А и областью значений В, если каждому элементу аА ставится в соответствие по некоторому правилу единственный элемент bB и записывают :АВ или (a,b)f или bf(a). При этом элемент b будем называть образом элемента a, а элемент a прообразом элемента b. Иногда для обсуждения этих вопросов удобно пользоваться диаграммами (см. рис. 1012). Примеры решения задач 90) Даны множества А=1, 2, 3, 4; В=3, 4, 6, 7. Укажите отношения 1 и 2, одно из которых было бы функцией, а другое нет. Решение: 1=(1,3), (2,3), (3,3), (4,3) - функция, 2=(1,3), (2,3), (2,4), (3,3), (4,3) - не является функциональным. 91) Какие из данных отношений являются отображениями? В А А Рис. 14 В А Рис. 15 В Рис. 16 Решение: Отношение , изображенное на рис. 15, является функциональным по определению. Отношение на рис. 14 не является отображением, т.к. не для всех элементов множества А имеются образы. Отношение на рис. 16 не является отображением, т.к. один из элементов множества А имеет два образа. Задачи для самостоятельного решения 92) Определите, какие из следующих отношений между множествами A={a,b,c} и B={1,2,3} являются функциями из множества A в B. a) f={(a,1), (a,2), (b,3), (c,2)}; b) g={(a,1), (b,2), (c,1)}; c) h={(a,1), (c,2)}. 93) Какие из отношений являются функциями? a) «х – брат или сестра у» на множестве всех людей; b) отношение на множестве Z, заданное парами: {(x,x2) | xZ}; c) отношение на множестве R, {(x,y) | x=y2}. 26 94) Найдите область определения и область значения заданного отношения. Является ли оно функцией? a) {(1,1), (2,3), (3,2)}; b) {(1,2), (2,2), (пешка, ферзь), (ладья, слон)}; c) {(x,y)R2 | y=x2+x+3}; 95) Пусть А={0,2,4,6} и В={1,3,5,7}. Какие из нижеперечисленных отношений между множествами А и В являются функциями, определенными на А со значениями в В? a) {(6,3), (2,1), (0,3), (4,5)}; c) {(2,1), (4,5), (6,3)}; b) {(2,3), (4,7), (0,1), (6,5)}; d) {(6,1), (0,3), (4,1), (0,7), (2,5)}. 96) Пусть f=sin x, fR2. Найдите образ элемента прообраз образа элемента . 3 , прообраз отрезка [0, ½], 6 1.3.2. Обратное отображение Пусть некоторое отображение из А в В (АВ). Построим симметричное отношение такое, что *=(b,a)| aA, bB и (а,b) . Говорят, что отображение обратимо, если симметричное ему отношение так же является отображением. Если обратимо, то симметричное отображение обозначают *=-1 и называют обратным отображением или обратной функцией для . Алгоритм построения симметричного отображения для y=f(x): 1. Выразить x через y. 2. Заменить в полученной формуле x на y, а y на x. Алгоритм определения обратимости отображения f: АВ: 1. Определить А и В, если они не заданы. 2. Построить f*: ВА. 3. Выяснить, является ли f* - функцией. 4. Если да, то f обратима и обратная функция -1=*. Если нет, то f обратной не имеет. * Примеры решения задач 97) На рис. 17 представлены три отображения: 1:АВ, 2:CD и 3:EF. Какие из них являются обратимыми? А В С D E F Рис. 17 Решение: 1 является обратимым, для него существует 1-1. 2 и 3 не являются обратимыми, так как 2* и 3* не являются отображениями. 27 98) Задачи для самостоятельного решения Какие из функций, изображенных на рис. 18 обратимы? a 1 a 1 a b 2 b 2 b 1 a 1 2 2 b c 3 c c 3 a 3 c b d Рис.18 99) Задана функция. Обратима ли она? Если да, то найдите обратную. a) f={(1,2), (2,3), (3,4), (4,2)}; b) g={(x,y)Z2 | y=x-1}; c) h={(1,a), (2,b), (3,c)}. 1.3.3. Композиция отображений Пусть дана функция :АВ и функция g:ВС. Тогда композицией этих функций называется функция =○g с областью определения А и областью значений С такая, что для любого aA g((а))=с, сС. Таким образом, =○g= g((а)) не что иное, как сложная функция. В А g ○g С Рис.19 Примеры решения задач 100) Рассмотрим две функции: f: RR, f(x)=sin x и g: RR, g(x)=x+1. Вычислить g○f. Решение: g○f= (g(a))=sin (x+1). Задачи для самостоятельного решения 101) Пусть R – отношение “a сестра b”, а S обозначает отношение “b – мать c” на множестве всех людей. Опишите на словах композиции: SR и SS. 102) Предположим, что отношения R и S заданы орграфами, представленными a 1 1 2 2 3 b x 3 R y S Рис. 20 на рисунке 20. Найдите орграф, соответствующий композиции SR. 28 103) Пусть R – отношение между множествами {1,2,3} и {1,2,3,4}, заданное перечислением пар: R={(1,1), (2,3), (2,4), (3,1), (3,4)}. Кроме того, S – отношение между множествами {1,2,3,4} и {1,2}, состоящее из пар: S={(1,1), (1,2), (2,1), (3,1), (4,2)}. Вычислите R-1, S-1 SR. Проверьте, что (SR)-1=R-1S-1. 104) Пусть R – отношение “…родитель…”, а S – отношение “…брат…” на множестве всех людей. Дайте краткое словесное описание отношениям: R-1, S-1, RS, S-1R-1, RR. 105) ОтношениеR на множестве А ={1,2,3,4,5} задается матрицей Вычислить матрицу композиции RR и объяснить, почему отношение R не обладает свойством транзитивности. 106) Отношения R и S заданы матрицами M и N соответственно. 1 0 0 M 1 0 1 0 0 0 0 0 0 1 0 0 1 1 0 0 1 0 1 0 1 0 0 0 1 0 0 0 1 0 1 1 N 1 1 0 0 0 1 1 1 Вычислите RS. 107) Заданы две функции: f: RR, f(x)=x2 и g: RR, g(x)=4x+3. Вычислить gf, fg, ff и gg. 108) Пусть f=ln x, g=sin x, h=x3. Найдите: fg, gf, fh, hf, gh, hg, fgh, ghf, gfh. 109) Функции f: RR и g: RR заданы условием: 2 x 1, если х 0, f ( x) x 2 и g ( x) х, если х 0. Выразите формулами композиции: fg, gf, и gg. 29 1.3.4. Виды отображений Отображение из множества А в множество В называется сюръективным, если для любого элемента bB существует элемент аА и (а)=b. Отображение из множества А в множество В называется инъективным, если различным элементам из А соответствуют различные элементы из В. То есть, если (а1)=b и (а2)=b, то а1=а2. Отображение из множества А в множество В называется биективным, если оно является инъекцией и сюръекцией. Функция имеет обратную тогда и только тогда, когда она является биекцией. Алгоритм определения сюръективности: 1. Возьмем любой у из области значений. 2. Запишем равенство f(x)=у. 3. Выразим х через у. 4. Если х существует в множестве А для любого у из множества В, то вывод: f сюръективна, иначе – нет. Алгоритм определения инъективности: 1. Возьмем любые х1, х2 и предположим, что х1≠х2. 2. Найдем f(x1) и f(x2). 3. Запишем равенство f(x1)=f(x2) и упростим его. 4. Если получим х1=х2, то вывод: f инъективна, иначе – нет. Чтобы доказать, что отображение не является инъективным или сюръективным, достаточно привести контрпример. Примеры решения задач 110) Пусть А=R=(-;+), xA. B=[0; +), yB. Зададим отношение =(x,y)| y=x2, АВ. Является ли данное отношение сюръекцией? y Решение: Данное отношение является отображением. Кроме того для любого y>0 существует x такой, что х2=y. Следовательно, заданное отображение является сюръекцией. 0 111) Какого вида отображения изображены на рис. 22-24? А В Рис. 22 С D Рис. 23 Рис. 21 E x F Рис. 24 Решение: АВ – инъективное отображение (см. рис. 22), но не сюръекция, так как один из элементов множества В не имеет прообраза; CD – отображение, но не инъективное, т.к. различным элементам из C соответствует один и тот же элемент из D (см. рис. 23) и не сюръективное; EF – данное отношение не является отображением (см. рис. 24). 30 112) Пусть заданы множества А=(-/2; /2), xA и В=R=(-;+), yB. Зададим отношение =(x,y)| y=tg x, АВ. Является ли оно биекцией? Решение: Данное отношение является биективным отображением, так как оно является инъекцией и сюръекцией. Придумайте биективное отображение : АВ, где А=(0;1) и В=(-;+). y -/2 0 /2 x Рис. 25 Задачи для самостоятельного решения 113) Определите, какие из функций, изображенных на рисунке 14, инъективны, а какие сюръективны. Перечислите все биекции. 114) Существует ли биекция между: a) Множеством букв и множеством звуков русского языка; b) Множеством чисел, записанных в арабской и двоичной системах счисления; c) Множеством чисел и множеством студентов вашей группы; d) Словом русского языка и его значением; e) Автором и литературным произведением; f) Названием и музыкальным произведением. 115) Покажите, что функция h: ZZ, заданная формулой h(x)=x2 не инъективна, и не сюръективна. 116) Покажите, что функция k:RR, заданная формулой k(x)=4x+3, является биекцией. 117) Про каждую из трех функций, чьи области определения и значений совпадают с Z, скажите, являются ли они инъекциями, сюръекциями или биекциями. a) f(n)=2n+1; n b) g (n) 2 , если n четно, 2n, если n нечетно; n 1, если n четно, n 1, если n нечетно; c) h(n) 118) Изобразите графики функций. Назовите их множество значений и скажите, какие из них инъективны, а какие сюръективны. d) j:RR, a) f: ZZ, f(x)=x2+1; 2 x 1, если x 1, j ( x) x 1, если x 1; b) g:NN, g(x)=2 ; x c) h:RR, h(x)=5x-1; e) ; k:RR, k(x)=x+|x|; 31 l:RR, l(x)=2x-|x|; f) 119) Функция, называемая целой частью числа, сопоставляет вещественному числу х наибольшее целое число, не превосходящее х, и обозначается так: х . a) Пусть А={-1,0,1,2} и функция f: AZ определяется условием: x 2 1 f ( x) . Найдите множество значений f. 3 n b) Определите, является ли функция g: ZZ, заданная формулой g (n) 2 инъективной, сюръективной или биективной. 120) Пусть А={x | xR и x1} и f: RR задается формулой f ( x) x . x 1 Покажите, что f биективна и найдите обратную ей функцию. 121) Функция f: AB задана формулой: f ( x) 1 2 , где А обозначает x множество вещественных чисел, отличных от 0, а В – множество вещественных чисел без 1. Покажите, что f биективна и найдите обратную к ней функцию. 122) Пусть f: AB и g: BC – функции. Докажите, что a) если f и g инъективны, то gf тоже инъективна; b) если f и g сюръективны, то gf тоже сюръективна; c) если f и g обратимые функции, то (gf)-1=f-1g-1. 123) Найдите область определения и область значения заданного отношения. Является ли оно функцией? Если да, то какого вида (сюръекция, инъекция или биекция)? Обратима ли функция? Если да, то Найдите обратную. {((x,y), x+y) | (x,y) R2}; {((x,y,z), x+2y-z) | (x,y,z) R3}; {(x,y) R2 | y=x2}; {(x,y) R2 | y=5}; {(x,y) Z2 | y=2x+1}; {(x,y) Z2 | y=2x-1}; {(0,1), (1,0), (2,1)}; g={(n,m) Z2 | m=n2+1}; a) b) c) d) e) f) g) h) i) j) k) l) m) n) h={(x,y) R2 | y= x }; s={(x,y) R2 | y=ex}; t={((n,m),r) Q2×Q | r=nm}; h1:R→R, где h1(x)=x3; h2:R→R, где h2(x)=lg(x2 +1); s1={(x,y) R2 | 0<x<1 и y= 1 x 2 }; o) s2={(x,y) R2 | -1<x≤2 и y= 124) Установить взаимнооднозначное соответствие между: a) b) c) d) e) N и множеством четных целых чисел; N и {mN | n (m 2 n ) }; N и множеством простых натуральных чисел; N и Z; N и {xQ | 0≤x≤1 }. 125) Пусть для каждой пары (х1,х2) из R2 заданы функции: f1(x1,x2)=x1-3x2; f2(x1,x2)=5x1+7x2; f3(x1,x2)= 32 2 x1 ; f4(x1, x2)=4x1x2. x 22 1 x }; x 1 Найдите: a) f1(x1,f3(x1,x2)); b) f2(f1(x1,f3(x1,x2)), x2); c) f3(x1, f2(x1, f4(x2,x3))). Вопросы для повторения 1. Понятие отношения. Примеры. 2. Свойства отношений. Примеры. 3. Понятие отношение эквивалентности. Алгоритм задания отношения эквивалентности с помощью графа и матрицы. Примеры. 4. Понятия класс эквивалентности и фактор-множество. Примеры. 5. Понятие отношение порядка. Алгоритм задания отношения порядка с помощью графа и матрицы. Примеры. 6. Понятие бинарного отношения на множестве. Примеры. 7. Понятие отображения. Примеры. 8. Виды отображений. Определения. Примеры. 33 1.4. Алгебры 1.4.1. Понятие алгебры. Алгебра подстановок Пусть дано некоторое непустое множество А. Бинарной операцией на множестве А называется любое отображение декартова квадрата множества А в себя, т. е. : ААА. Иначе говоря, любой паре (a,b), принадлежащей А2, ставится в соответствие единственный элемент с из А. Обозначают a b=c. Пусть М – конечное множество а1, а2, … аn. Любую биекцию удобно задавать следующей таблицей: a2 ... an a . 1 (a1 ) (a2 ) ... (a n ) Такая таблица называется подстановкой степени n множества М. Часто М записывают в виде номеров, если оно конечно, т.е. М=1,2,…,n. Тогда 2 ... n 1 . (1) (2) ... (n) Если аргументы расположены в порядке возрастания, запись подстановки такого вида называют канонической и записывают =(1, 2, …n). Переставляя столбцы (при этом сама подстановка не меняется), можно верхнюю строку привести к упорядоченному виду. Число подстановок n-ой степени определяется формулой |Sn|=n!. Подстановка вида =(1, 2, …, n)= e называется тождественной, так как аМ, е(х)=х. Под алгеброй понимают упорядоченную пару <А,О>, где А – непустое множество (носитель алгебры), а О – некоторое множество операций, заданных на этом множестве А. Рассмотрим на этом множестве операцию композиции: =2◦1=2(1). Данная операция будет являться бинарной на этом множестве. Т.е. какие бы два элемента множества Sn мы не взяли, их композиция окажется элементом этого множества. Sn=<Sn, ○> - алгебра подстановок. Натуральной степенью подстановки называется подстановка n = ◦◦ … ◦1, т.е. произведение п функций, каждая из которых есть . Очевидно, что степень подстановки не зависит от порядка множителей. Свойства композиции подстановок. 1. Умножение выполняется только для подстановок одинаковой степени. 2. 2◦1≠1◦2. 3. 1◦(2◦3)=(1◦2)◦3. 4. ◦е=е◦=. 5. Поскольку любая подстановка — биекция, для нее существует единственная обратная функция -1 , тоже являющаяся подстановкой, т.е. ◦ -1= -1◦=е= 0. 6. е-1=е; en=e, nZ. 7. m◦ n= m+n, m,nZ; mn=( m)n=( n)m, m,nZ. Для нахождения обратной подстановки необходимо верхнюю строку поменять с нижней и привести её к каноническому виду. Порядком подстановки назовем наименьшее натуральное число , такое что =е. Инверсией подстановки называется перемещение (рокировка) двух соседних значений в нижнем ряду канонической записи. При этом подстановка меняется. Пусть n - число инверсий, приводящих подстановку к единичной. Тогда функция :=(-1)n называется четностью (знаком) подстановки. Если ()=1, то подстановка называется четной, если ()=-1, то подстановка называется нечетной. Примеры решения задач 126) Пусть А множество натуральных чисел, А=N. Рассмотрим операцию “+” и “-”. Являются ли они бинарными? 34 Решение: (5,7)12, т. е. 5+7=12, 12N. Известно, что при сложении двух натуральных чисел получим натуральное число, следовательно операция бинарная. Операция “-” не является бинарной операцией на множестве А=N, т. к. 5-7=-2, а -2N. 127) Рассмотрим множество М=1,2,3. Сколько на этом множестве можно задать биективных функций, отображающих М в М. Решение: Это множество всех подстановок третьего порядка S3. 1 2 1 2 S3= 3 1 2 , 3 1 3 3 1 2 , 2 2 1 3 1 2 , 3 2 3 3 1 2 , 1 3 2 3 1 2 , 1 3 1 3 . 2 128) Даны две подстановки: 1 и 2. Приведите подстановки к канонической записи и найдите их композицию 1◦2 и 2◦1. 1 5 4 3 2 1 2 3 4 5 , 2 . 1 3 5 2 4 1 2 5 4 3 1 Решение: Вторая подстановка записана в каноническом виде, а первая- нет. Поэтому в верхней строке запишем числа от 1 до 5, а в нижней 1(1) = 3, 1 2 3 4 5 3 1 4 2 5 1(2) = 1, 1(3)=4, 1(4)=2, 1(5) = 5. Итак, 1 Найдем 2◦1. Сначала выполняется первая подстановка 1(1) = 3, а затем 1 2 3 4 5 . 4 2 3 5 1 вторая 2(3)=4 и т. д. Получим следующую матрицу: 2 1 Аналогично найдем 1◦2: 2(1) = 2, а 1(2) = 1, и т. д. В итоге получим 1 2 3 4 5 2 1 . 1 2 1 5 2 4 3 1 2 3 4 5 6 129) Найдите число инверсий и четность подстановки 6 4 3 1 2 5 Решение: 1 2 3 4 5 6 1 2 3 4 5 6 1 2 3 4 5 6 1 2 3 4 5 6 1 2 3 4 6 4 3 1 2 5 6 4 1 3 2 5 6 1 4 3 2 5 1 6 4 3 2 5 1 4 1 1 8 1 2 3 4 5 6 5 1 2 3 4 5 6 6 1 2 6 4 2 3 5 1 6 2 4 3 5 1 2 2 3 4 5 6 9 1 2 3 4 5 6 10 1 2 2 3 6 4 5 1 2 3 4 6 5 1 2 3 4 5 6 7 1 2 3 4 5 6 8 6 4 3 5 1 2 6 3 4 5 3 4 5 6 . 3 4 5 6 Получили n=10, поэтому =(-1)10=1, т.е. подстановка четная. Задачи для самостоятельного решения 130) Найдите 1-1, 2-2, 1◦2 и 2◦1, 13, 24, 155, 2-99, порядок, число инверсий и четность каждой из подстановок: 35 1 a ) 1 2 1 b) 1 5 1 c) 1 2 2 3 4 5 1 , 2 1 3 5 4 5 2 3 4 5 1 , 2 4 3 2 1 5 2 3 4 5 1 , 2 4 1 5 3 1 2 3 4 5 ; 1 2 3 4 2 3 4 5 ; 4 3 2 1 1 2 3 d ) 1 2 1 3 1 2 3 e) 1 1 2 5 4 5 1 2 3 4 5 , 2 ; 5 4 4 1 2 5 3 4 5 1 2 3 4 5 , 2 ; 4 3 3 2 1 5 4 2 3 4 5 ; 2 4 3 5 1 2 3 4 5 1 2 3 4 5 , 2 ; f ) 1 1 3 5 2 4 5 4 2 3 1 1.4.2. Алгебра отношений. Реляционная алгебра и её операции Частным случаем алгебраической системы является алгебра отношений и её расширение – реляционная алгебра. Алгеброй отношений называется алгебра, в которой носителем является множество всех отношений, а операциями являются операции объединения, пересечения, разности и декартова произведения. Предполагается, что отношения имеют одинаковую арность. Тогда смысл операций состоит в следующем: 1 2=(а1,а2,…аn)| 1(а1,а2,…аn) или 2(а1,а2,…аn); 1 2=(а1,а2,…аn)| 1(а1,а2,…аn) и 2(а1,а2,…аn); 1\2=(а1,а2,…аn)| 1(а1,а2,…аn) – выполняется, а 2(а1,а2,…аn) – не выполняется; операция 12 состоит в том, что каждому набору, удовлетворяющему первому отношению, приписывается набор, удовлетворяющий второму отношению. В реляционной алгебре основой являются таблицы. Каждый столбец соответствует домену (множество допустимых значений) и называется атрибутом, а каждая строка представляет собой набор значений атрибутов - кортеж. Считается, что они находятся в некотором отношении. Реляционная алгебра обладает важным свойством – она замкнута относительно понятия отношения. Это означает, что операции реляционной алгебры выполняются над отношениями и их результатом также является отношение. Отношения по определению обладают несколькими свойствами: 1). В нем не может быть два одинаковых кортежа; 2). Изменение порядка следования кортежей или атрибутов не изменяет само отношение, т.е. кортежи не упорядочены сверху вниз, а атрибуты не упорядочены слева направо. 3). Значения атрибутов это элементы заранее заданных множеств – доменов. Рассмотрим некоторые операции реляционной алгебры. 1. Выборка отношения (по значению одного или нескольких атрибутов). Результатом выборки отношения по некоторому условию является отношение, которое включает только те кортежи первоначального отношения, которые удовлетворяют этому условию. 2. Проекция отношения на заданный набор атрибутов. Операция проекции определяет построение «вертикального» подмножества отношения, т.е. множества подмножества кортежей, получаемого выбором одних и исключением других доменов. Эти две операции (выборки и проекции) являются унарными, т.е. выполняются над одним отношением. Операции, которые выполняются над двумя отношениями, называются бинарными. 3. Объединением двух отношений называется отношение, включающее все кортежи, входящие хотя бы в одно из участвующих в операции отношений. 4. Пересечением двух отношений называется отношение, включающее все кортежи, входящие в оба первоначальные отношения. 5. Разностью двух отношений называется отношение, включающее все кортежи, входящие в первое отношение и одновременно такие, что ни один из них не входит во второе отношение. Операции объединения, пересечения и разности могут быть выполнены только над совместимыми отношениями. Два отношения называют совместимыми тогда и только тогда, когда они обладают одинаковыми заголовками. Понятно, что результатом операций объединения, пересечения и разности двух совместимых отношений будет являться отношение с заголовком, совпадающим с заголовком каждого из отношений-операндов. 36 6. Расширенным прямым произведением двух отношений называется отношение, каждый кортеж которого формируется слиянием одного кортежа первого отношения и одного кортежа второго отношения. А Г А Д Г Б Г Д Б Д В Г В Д Из схемы видно, что два отношения, над которыми производится операция расширенного декартова произведения, не должны иметь одинаковых имен атрибутов, иначе заголовок результирующего отношения будет сформирован не корректно. 7. Естественным соединением двух отношений называется операция, производимая над отношениями, имеющими общий атрибут, т.е. атрибут с одним и тем же именем и определенный на одном и том же домене. А Б В А Б В Г Г Д Г Д Е Ж З И А Б В Г Г Д Ж Ж З Данная операция очень важна, так как она особо часто встречается на практике, и для нее существуют эффективные алгоритмы реализации в системах управления базами данных. Примеры решения задач 131) Данная таблица определяет отношение реляционной модели данных. Это отношение R5 является подмножеством декартова произведения D1 D2 D3 D4 D5, в котором сомножители Di являются соответствующими доменами. Первый домен D1 – номера групп. D1=2812, 3812, 3822. D2 – названия изучаемых предметов. D2=ВМ, ДМ, ОСиС, БД. D3 – фамилии преподавателей. D3=Иванов, Петров, Сидоров. D4 – даты экзаменов. D4=3 янв., 5 янв., 9 янв., 10 янв.. D5 – номера аудиторий. D5=229, 405. Тогда эти данные можно свести в таблицу, называемую базой данных. Группа Предмет Фамилия Дата Аудитория R5 1 2 3 4 5 6 3812 4812 4822 3812 4812 4822 ДМ ВМ ОСиС ОСиС ДМ ДМ Иванов Петров Сидоров Сидоров Иванов Иванов 3 янв. 3 янв. 5 янв. 9 янв. 9 янв. 10 янв. 229 405 229 405 229 229 Выполните над данным отношением следующие операции: выборки (расписание экзаменов профессора Иванова), проекции на атрибуты D2, D3. Решение: Следует обратить внимание на то, что все значения каждого атрибута взяты из соответствующего домена, причем некоторые значения домена могут не присутствовать в отношении. 37 Результатом операции выборки являются строки, в которых домен D3 представлен значением «Иванов». Получим в итоге следующее отношение: 1 5 6 3812 4812 4822 ДМ ДМ ДМ Иванов Иванов Иванов 3 янв. 9 янв. 10 янв. 229 229 229 Проекция порождает множество пар, каждая из которых определяет дисциплину и экзаменатора. Проекцией исходного отношения на атрибуты D2, D3 является таблица вида: D2 ДМ ВМ ОСиС D3 Иванов Петров Сидоров Задачи для самостоятельного решения 132) Найдите по двум заданным таблицам результат операции соединения по домену D1. R5 1 2 3 R5 4 5 6 D1 3812 4812 4822 D2 ДМ ВМ ОСиС D3 Иванов Петров Сидоров D4 3 янв. 3 янв. 5 янв. D5 229 405 229 D1 3812 4812 4822 D2 ОСиС ДМ ДМ D3 Сидоров Иванов Иванов D4 9 янв. 9 янв. 10 янв. D5 405 229 229 133) Даны отношения R1, R2, R7, R8, R10, R13, R15. Выполните над ними следующие операции и словесно описать результат: a). R1R2=R3; e). R7R8=R9; b). R1R2=R4; f). R13[Цех]=R14; c). R1\R2=R5; g). R10[Шифр детали = «0011003»]=R12; d). R2\R1=R6; h). R10[Название детали = «Болт М1»]=R13; i). (R15[(R15.Шифр детали=R10.Шифр детали) R10.Цех= «Цех1» R15.Материал= «сталь-ст1»]R10)[Название 38 детали]. R1 Шифр 00011073 00011075 00011076 00011003 00011006 00013063 00013066 Название Гайка М1 Гайка М2 Гайка М3 Болт М1 Болт М3 Шайба М1 Шайба М3 R2 Шифр 00011073 00011076 00011077 00011004 00011006 Название Гайка М1 Гайка М3 Гайка М4 Болт М2 Болт М3 R7 Шифр 00011073 00011075 00011076 00011003 00011006 00013063 00013066 00011077 00011004 00011005 00011006 00013062 Название Гайка М1 Гайка М2 Гайка М3 Болт М1 Болт М3 Шайба М1 Шайба М3 Гайка М4 Болт М2 Болт М5 Болт М6 Шайба М2 R8 Цех Цех1 Цех2 Цех3 R10 Шифр 00011073 00011075 00011076 00011003 00011006 00013063 00013066 00011077 00011004 00011006 00013063 00013066 00011077 00011004 00011006 00013062 00011073 00011075 00011076 00011003 00011006 00013063 00013066 00011077 00011005 00011006 00011005 00011006 00013062 Название Гайка М1 Гайка М2 Гайка М3 Болт М1 Болт М3 Шайба М1 Шайба М3 Гайка М4 Болт М2 Болт М3 Шайба М1 Шайба М3 Гайка М4 Болт М2 Болт М6 Шайба М2 Гайка М1 Гайка М2 Гайка М3 Болт М1 Болт М3 Шайба М1 Шайба М3 Гайка М4 Болт М5 Болт М6 Болт М5 Болт М6 Шайба М2 Цех Цех1 Цех1 Цех1 Цех1 Цех1 Цех1 Цех1 Цех1 Цех1 Цех2 Цех2 Цех2 Цех2 Цех2 Цех2 Цех2 Цех3 Цех3 Цех3 Цех3 Цех3 Цех3 Цех3 Цех3 Цех3 Цех3 Цех1 Цех1 Цех1 R15 Шифр 00011073 00011075 00011076 00011003 00011006 00013063 00013066 00011077 00011004 00011005 00013062 Название Гайка М1 Гайка М2 Гайка М3 Болт М1 Болт М3 Шайба М1 Шайба М3 Гайка М4 Болт М2 Болт М5 Шайба М2 Материал сталь-ст1 сталь-ст2 сталь-ст1 сталь-ст3 сталь-ст3 сталь-ст1 сталь-ст1 сталь-ст2 сталь-ст3 сталь-ст3 сталь-ст1 R13 Шифр 00011003 00011003 Название Болт М1 Болт М1 Цех Цех1 Цех3 39 134) В период вступительных экзаменов были сформированы три отношения R1, R2 и R3 со следующими схемами: R1=(ФИО, Паспорт, Школа); R2=(ФИО, Паспорт, Школа); R3=(ФИО, Паспорт, Школа). Отношение R1 содержит список абитуриентов, сдававших пробные экзамены. Отношение R2 содержит список абитуриентов, сдававших экзамены на общих условиях. Отношение R3 содержит список абитуриентов, принятых в институт. Предполагается, что при неудачной сдаче пробных экзаменов абитуриент мог делать вторую попытку и сдавать экзамены в общем потоке, поэтому некоторые абитуриенты могут присутствовать как в первом, так и во втором отношении. Найдите отношение, которое будет содержать список абитуриентов, которые: a). Поступали два раза и не поступили в вуз. b). Поступили в вуз с первого раза. c). Поступили в вуз только со второго раза. d). Поступали только один раз и не поступили. 1.4.3. Отношение сравнимости Теорема о делении с остатком. Если a и b>0 целые числа, то существуют единственные целые числа q и r такие, что a=bq+r, 0 r<b. Алгоритм Евклида (алгоритм нахождения НОД(a,b)). Его содержание сводится к последовательному вычислению следующих равенств: a=bq1+r1, 0<r1<b; Действие алгоритма прекращается тогда, когда b=r1q2+r2, 0<r2<r1; полученный остаток равен нулю; последний ненулевой r1=r2q3+r3, 0<r3<r2; остаток (rn) равен наибольшему общему делителю. ………………… Из алгоритма Евклида следует, что для любых целых чисел rn-2=rn-1qn+rn, 0<rn<rn-1; а и b всегда существуют числа m и n такие, что НОД(a,b) rn-1=rnqn+1, rn=НОД(a,b); представляется в виде линейной комбинации этих чисел: НОД(a,b)=rn=ma+nb. Кроме того, отношение a/b можно представить в виде цепной дроби: a 1 q1 1 b q2 1 q3 ... Определим на множестве целых чисел бинарное отношение сравнимости Z2 следующим образом: для того, чтобы два целых числа были сравнимы по модулю m необходимо и достаточно, чтобы их разность (a-b) делилась на m или другими словами, если при делении на m они дают один и тот же остаток. Записывают (a,b) или a b(mod m). Свойства отношения сравнимости на множестве Z: 1). Если a b (mod m) и kZ, то a+k b+k (mod m). 2). Если a b (mod m) и с d (mod m), то ac bd (mod m). 3). Если a b (mod m) и с d (mod m), то ac bd (mod m). 4). Если a b (mod m), kZ и nN, то ak bk (mod m) и an bn (mod m). 5). Если ak bk (mod m) и (k,m)=1 (т.е. k и m взаимно простые), то a b (mod m). 6). Если ak bk (mod mk) и kN, то a b (mod m). 7). Если a b (mod m) и - общий делитель a и m, то b . 40 Примеры решения задач 135) Заданы два числа а=1656 и b=1150. Найдите НОД(a,b), составить цепную дробь и линейную комбинацию. Решение. 1656=11501+506, 1150=5062+138, 506=1383+92, 138=921+46, 92=462; НОД(a,b)=46; 46=138-92=138-(506-1383)=1384-506= =4(1150-5062)-506=41150-5069=41150-9(1656-1150)=131150-91656. 1656 1 1150 1 . 1 2 3 1 1 1 2 136) Верно ли, что a) b) c) d) 6 2 (mod 2); 18236 18218 (mod 3); 21 7 (mod 2) 3 1 (mod 2); 20 14 (mod 6)10 7 (mod 6). Решение. а) 6 2 (mod 2), верно по определению т.к. 6-2=4, 4 2. b) 18236 18218 (mod 3), по определению т.к. 18236-18218=18, 18 3. c) 21 7 (mod 2)37 17 (mod 2). Т.к. (7,2)=1, то по свойству 5 можем сократить сравнение, т.е. 3 1 (mod 2). d) 20 14 (mod 6)102 72 (mod 6). Вывод 10 7 (mod 6) неверен, т.к. (107) не делится на 6. Чтобы получить эквивалентное сравнение, необходимо было воспользоваться свойством 6: 20 14 (mod 6)102 72 (mod 32) 10 7(mod 3). По определению это сравнение верно. Задачи для самостоятельного решения 137) Найдите пары чисел q и r для пар a и b: a) b) c) d) 123 и 15; 218 и 7; -8 и 11; 26 и -16; 138) Доказать, что эквивалентности. e) 115 и 8; f) 12 и 211; g) -48 и -23; h) -56 и -127. отношение сравнения является отношением 139) Доказать свойства отношения сравнимости. 140) Поделить с остатком, используя алгоритм Евклида. Найдите НОД(a,b), составить цепную дробь и линейную комбинацию. a) 218 на 43; f) 156 на 33; b) 57 на 13; g) 68 на 97; c) -114 на 32; h) -213 на 48; d) 93 на –15; i) 84 на –15; e) -131 на –17. j) -112 на -25. 41 141) Верно ли, что: a) b) c) d) 6 3 (mod 2); 654321 654317 (mod 4); 140 95 (mod 9) 28 19 (mod 9); 625 30 (mod 5)125 6 (mod 5). 1.4.4. Алгебра вычетов Фактормножество множества целых чисел по отношению сравнимости обозначают Z/mod m=Zm. Фактормножество это множество классов эквивалентности Zm= 0 , 1 ,…, m 1 , где 0 =mk| kZ - множество чисел кратных m; 1 =mk+1| kZ - множество чисел, которые при делении на m дают остаток 1; … m 1 =mk| kZ - множество чисел кратных, дающих остаток m-1. Эти классы называют классами вычетов по модулю m. Множество Zm носит название полной системы вычетов. Определим на множестве Zm три операции: : a , b Zm полагаем, что a b = a b ; : a , b Zm полагаем, что a b = a b ; степени: a Zm полагаем, что ( a )n= a n . Рассмотрим только такие классы вычетов, элементы которых взаимно просты с m и обозначим Z m* - подмножество Zm. (Числа а и b называются взаимно простыми, если их наибольший общий делитель равен 1). Z m* -приведенная система вычетов. Число элементов s в приведенной системе вычетов зависит от m. Функция (m)=| Z m* | называется функцией Эйлера. Значение этой функции равно количеству элементов множества Z m* , т.е. количество натуральных чисел взаимно простых с m. Например, (6)=2, (9)=6. Основная теорема арифметики. Любое натуральное число n>1 представляется в виде произведения простых чисел единственным образом: n p11 p2 2 ... pk k . Такое разложение называется каноническим. Если р - простое число, то (p)=р-1, и вообще, (m)<m. Справедливо равенство 1 1 m ( p1 1) ... ( pk 1) (m) m1 ... 1 , p1 ... pk p1 pk где p1,..., pk — все простые делители m. Теорема. Если х1,х2, …, хs - приведенная система вычетов и имеется целое число a, взаимно простое с m, то ах1,ах2, …, ахs - также является приведенной системой вычетов. Теорема (Эйлера). Если mN и m>1, (a,m)=1, то a Z m* a ( m ) 1 (mod m). Однако при больших m использовать эту формулу неудобно. Теорема (малая теорема Ферма). Если р>1 — простое число и (a,p)=1, то a Z *p a p 1 1 (mod p). Теорема. Если числа n1,..., nk попарно взаимно простые, число n =n1n2…nk —их произведение, х и а — целые числа, то х a (mod n) i 1...k x a(mod ni ) . Примеры решения задач 142) Найдите количество элементов в полной и приведенной системе вычетов a) b) 42 по модулю 6; по модулю 9. Решение. Z6={0,1,2,3,4,5}; Z 6* {1,5}; т.е. (6)=2. Z9=0,1,2,3,4,5,6,7,8, Z 9* {1,2,4,5,7,8}; .(9)=6. Конечно, можно воспользоваться и формулой для вычисления (m): (6) 6 (2 1) (3 1) 2, (9) 9 (3 1) 6. 23 3 143) Найдите остаток от деления: a) b) c) d) числа 123∙176 на 15; числа 46-289 на 15; числа 1423 на 19; числа 2123 на 11. Решение. а) В данном случае можно, конечно, перемножить два числа, потом разделить на 15 и Найдите остаток. Но проще воспользоваться определением операции умножения: (123∙176) (mod15)=123(mod15)∙176(mod 15) =(3∙11) (mod 15)=33 (mod 15)=3. b) Воспользуемся определением операции степени: 46-289 (mod 15)=(46 mod 15)-289=1-289=1. c) Известно, что 14 -5 (mod 19), кроме того, (-5)23(mod 19)= =(-5)20+2+1(mod 19)=((-5)4)5 (mod 19)(-5)2 (mod 19)(-5) (mod 19)= =(625 (mod 19))5(25 (mod 19))(-5 (mod 19)) (17 (mod 19))56(mod 19)(-5 (mod 19)) (-2)5(mod 19)6 (mod 19) (-5 (mod 19))=(-32(mod 19))(-30 mod 19)) (13(mod 19))(11(mod 19))=143 (mod 19) 10(mod 19). d) m=11 – простое число, 2 и 11 взаимно просты. Тогда по теореме Ферма 211-1 (mod 11) 1, т.е. 210 (mod 11) 1. Следовательно, ((210)12∙23) (mod 11)=(210(mod 11))12∙23 (mod 11)=112∙8(mod 11)=8(mod 11). Задачи для самостоятельного решения 144) Записать каноническое разложение числа на простые множители: a) b) 261360; 123456 145) Найдите количество элементов в полной и приведенной системе вычетов a) b) c) d) e) по модулю 60; по модулю 81; по модулю 5; по модулю 5040; по модулю 1294700. 146) Запишите приведенную систему вычетов по модулю 42. 147) Найдите остатки от деления чисел: a) b) c) 7500 на 5; 7308 на 9; 7422 на 11; d) 1785 на 5; e) 8146 на 13. 43 148) Найдите остатки от деления чисел: a) b) c) 2123 на 11; 1197 на 13; 1913 на 6; 149) Найдите остатки от деления чисел: g) 5226 на 17; a) 7347 на 23; h) 2449 на 13; b) 4237 на 7; i) 8197 на 3; c) 2197 на 13; j) 1587 на 4; d) 13257 на 6; k) 2749 на 10; e) 2757 на 8; l) 13291 на 9. f) 12371 на 9; 150) Найдите остатки от деления (1237156+34)28 на 111. Вопросы для повторения 1. 2. 3. 4. 5. 6. 44 Теоретико-множественные операции реляционной алгебры. Определения, примеры. Специальные операции реляционной алгебры. Определения. Примеры. теорема о делении с остатком. Алгоритм Евклида. Отношение сравнимости по данному модулю. Свойства отношения сравнимости. Классы вычетов по данному модулю. Свойства. Примеры. Применение алгебры вычетов для шифрования информации. Примеры. 1.5. Индукция. Комбинаторика 1.5.1. Метод математической индукции Метод математической индукции применяется для доказательств утверждений, зависящих от натурального числа n. В основе этого метода лежит принцип полной индукции, который гласит: если какое-либо утверждение доказано для n=1 (в случае, если при п=1 утверждение не имеет смысла, то проверку производят для наименьшего значения n, при котором оно имеет смысл) и если из допущения, что оно справедливо для натурального n, вытекает, что оно верно для следующего за n натурального числа n+1, то это утверждение верно для любого натурального числа k. Проверка утверждения при n=1 составляет базис индукции, доказательство утверждения при k=п+1, в предположении его справедливости при k=n (шаг индукции). Примеры решения задач 151) Доказать, что для любого натурального числа п справедлива формула 13+ 33+ 53 + … + (2n - 1)3 = п2(2п2 - 1). Доказательство. Доказательство состоит из 3 этапов: 1. Докажем истинность данного утверждения для n=1. При п = 1 имеем: 1 3 = 1 2 – равенство верно. 2. Допустим, что данная формула справедлива при некотором п = k > 0, т.е. 13+ 33+ 53 + … + (2k - 1)3 = k2(2k2 - 1) - истина. 3. Докажем справедливость формулы для n=k+1: 13+ 33+ 53 + … + (2k - 1)3 + (2(k + 1) - 1) 3 =(k + 1) 2 (2(k + 1) 2 - 1) k штук слагаемых k-ое слагаемое Опираясь на сделанное допущение, в результате простых алгебраических преобразований получаем: 13+ 33+ 53 + … + (2k - 1)3 + (2k + 2 - 1) 3 = k 2 (2k 2 - 1) + (2k + 1) 3 = = k 2 ( 2 k 2 - 1 ) и з р а в ен ст в а п унк т а 2 =2k 4 – k 2 + 8k 3 + 12k 2 + 3k + 1 = (k 2 + 2k +1)(2k 2 + 4k + 1) = =(k + 1) 2 (2(k + 1) 2 - 1). Теперь, на основании принципа математической индукции, можно утверждать, что формула (*) верна для любого натурального п. 152) Докажите, что для любого натурального числа n число 7n-1 делится на 6. Доказательство: 1. n=1 число 7n-1=71-1=6 делится на 6 – утверждение истинно. 2. n=k: допустим, что утверждение «число 7k-1 делится на 6» - истинно. 3. Докажем, что высказывание справедливо и при n=k+1, т.е. верно, что 7k+1-1 делится на 6. Выполним преобразование числа 7k+1-1 = 7k 7-1 = 7k 7 - 7+6 = 7(7k-1) +6. Рассмотрим число 7(7k-1) +6. 7k-1 делится на 6 по индуктивному предположению; 7(7k-1) делится на 6, т.к. один из множителей делится на 6; 45 7(7k-1) +6 делится на 6, т.к. оба слагаемых делятся на 6. Теперь, на основании принципа математической индукции, можно утверждать, что для любого натурального числа n число 7n-1 делится на 6. Задачи для самостоятельного решения 153) Доказать, что для любого натурального числа п справедливы формулы: n(n 1) 1 1 1 n . b). ... . 2 1 2 2 3 n(n 1) n 1 1 1 1 n с) ... ; 1 3 3 5 (2n 1)( 2n 1) 2n 1 a ).1 2 ... n d) 1 1 1 1 n ... ; 1 4 4 7 7 10 (3n 2)(3n 1) 3n 1 e) 11!+22!+...+nn!=(n+1)!-1; n(n 1) f) 1 2 ... n . 2 2 3 3 3 g) 1+5+9+…+(4n-3)=n(2n-1) для всех nN; 12 2 2 ... n 2 h) 1 n(n 1)( 2n 1) для всех nN; 6 154) Доказать, что сумма кубов трех последовательных натуральных чисел делится на 9. 155) Доказать, что разность между кубом какого-либо натурального числа и самим этим числом всегда делится на 3. 156) Докажите, что nN число n2-n – четное. 157) Докажите, что число n3-n делится на 3 для всех nN. 158) Доказать, что 62n-1 кратно 35. 1.5.2. Формула включения и исключения Комбинаторика тесно связана с теорией конечных множеств. Если множества А и В конечны, причем А∩В=, то |AВ|=|A|+|B|. Это очевидное утверждение называют в комбинаторике правилом суммы. Если пересечение множеств А и В непусто, имеет место равенство: A B A B A B. Для трех множеств: A B C A B C A B A C B C A B C . Теорема. (Принцип включения и исключения). n n A A i i 1 i 1 i A A 1i j n i j A A 1i j k n i j Ak ... (1) n1 A1 ... An . Примеры решения задач 159) Приехало 100 туристов. Из них 10 человек не знали ни немецкого, ни французского. 75 человек знали немецкий, и 83 - французский. Сколько туристов знали французский и немецкий языки? 46 Решение: Введем обозначения: N – множество туристов, знающих немецкий; F - множество туристов, знающих французский. Далее имеем: |N|=75, |F|=83 – по условию. 10 человек не знают ни одного языка, следовательно, знают хотя бы один язык 100-10=90 человек. Применяя формулу включения и исключения для двух множеств, получим: 90=75+83-NF , откуда NF =75+83-90=68, а NF и есть количество туристов, знающих французский и немецкий языки. 160) Каждая из 30 невест красива, воспитана или умна. Обладают только хорошим воспитанием 21 невеста, только красотой – 18, а умом – 15. 12 невест красивы и воспитаны, 9 – воспитаны и умны и 7 – красивы и умны. Сколько невест обладает всеми тремя качествами? Решение: Обозначим: множество А – хорошо воспитанные невесты, В – умные, С – красивые. |A|=21, |B|=15, |C|=18, |A∩C|=12, |A∩B|=9, |B∩C|=7, |ABC|=30. A B C A B C A B AC B C A B C. A B C A B C A B AC B C A B C . |A∩B∩C|=30-21-15-18+12+9+7=4. Задачи для самостоятельного решения Решите следующие задачи: 161) Каждый ученик либо девочка, либо классе 20 девочек, из них 12 блондинок. Всего в классе 24 ученика блондина, из учеников, любящих математику – 17, из классе? блондин, либо любит математику. В Одна блондинка любит математику. них 12 любят математику. А всего них 6 девочек. Сколько учеников в 162) Рассмотрим множество студентов. Из них 28% знают французский язык, 30% - немецкий, 42% - английский. Английский и немецкий знают 8%, английский и французский – 10%, французский и немецкий – 5%. Все три языка знают 3%. Ответьте на вопросы: а). Какой процент студентов не знает ни одного языка; б). Сколько процентов студентов знают не более двух языков? 163) В некоторой возрастной группе 60% читают регулярно только различные журналы, 50% - только газеты, 50% - романы о любви. Журналы и газеты читают 30%, газеты и романы – 20%, а журналы и романы – 40%. Все три вида изданий читают 10% людей рассматриваемой группы. Сколько процентов не читает ничего? 164) В группе студентов из 15 человек английский язык знают 10 человек, немецкий знают 7 человек, французский – 6 человек. Два языка: английский и немецкий знают 5 человек, английский и французский – 4 человека, немецкий и французский – 3 человека. 13 человек знают хотя бы один из этих языков. Выясните: а). Сколько человек не знают ни одного из этих языков? 47 б). Сколько студентов знают все три языка? в). Сколько студентов знают не более двух языков? г). Сколько человек знают английский, но не знают немецкий и французский? 165) Найдите количество натуральных (положительных целых) чисел из первой тысячи, не делящихся нацело ни на 3, ни на 5, ни на 7. 166) Найдите количество натуральных (положительных целых) чисел из первой тысячи, не делящихся нацело ни на 6, ни на 10, ни на 15. 167) На первом туре олимпиады школьникам были предложены 4 задачи, и на второй тур допускали только тех, кто все их решил. На первый тур пришло 200 школьников. Первую задачу решили 180 школьников, вторую—-170, третью — 160, а четвертую—150. Поместятся ли школьники, допущенные.на второй, тур в классной комнате, вмещающей не более 50 человек? 168) В классе 35 учеников, каждый из которых любит футбол, волейбол или баскетбол. 24 из них любят футбол, 18 — волейбол и 12 — баскетбол. Дело в том, что 10 учеников одновременно любят и футбол и волейбол, 8 —футбол и баскетбол, а 5 — волейбол и баскетбол. Сколько учеников этого класса любят все три вида спорта? 169) Группа пятиклассников отправилась в поход. На привале разговорились о предстоящем первенстве школы по футболу, баскетболу и волейболу. Оказалось, что семеро из ребят хотят участвовать в первенстве по футболу, шестеро — по баскетболу, а пятеро.— по волейболу. Сколько ребят принимало участие в этом разговоре, если четверо из них хотели участвовать в первенстве по футболу и баскетболу, трое — по футболу и волейболу, двое — по баскетболу и волейболу, а один хотел участвовать во всех трех видах игр? 170) Из 35 студентов, побывавших на каникулах в Москве, все, кроме двоих, делились впечатлениями. О посещении Большого театра с восторгом вспоминали 12 человек, Кремля – 14, а 16 – о концерте, по три студента запомнили посещение театра и Кремля, а также театра и концерта, а четверо – концерта и пребывания в Кремле. Сколько студентов сохранили воспоминания одновременно о театре, концерте и Кремле? 171) Из 100 студентов специальности ПО ВТ и АС 42 человека посещают спортивные секции, 30 – занятия студенческого научного общества (СНО), а 28 – школу актива. На занятия СНО и спортом успевают ходить 5 студентов, спортом и школы актива -10, СНО и школы актива -8. Сразу все три увлечения имеют три студента. Сколько студентов: a) b) c) d) e) f) 48 Не посещают ни одно из этих объединений по интересам; Занимаются только спортом; Занимаются либо в СНО, либо в школе актива; Занимаются либо спортом, либо в школе актива, но не в СНО; Занимаются спортом или в школе актива, но не в СНО; Занимаются или в СНО, или в школе актива, но не спортом? 172) Инспектор курса составил отчет, в котором сказано, что из 100 абитуриентов английский язык в школе изучали 50 человек, немецкий -23, а французский – 30. С английским и французским языками знакомы 8 абитуриентов, с французским и немецким – 10, а с английским и немецким 20. Все три языка изучали 5 человек. Докажите, что в отчете имеется ошибка. Укажите, каких данных, по вашему мнению, не хватает. 1.5.3. Правила суммы и произведения. Комбинаторные формулы Комбинаторика представляет собой область математики, занимающейся подсчётом элементов конечных множеств. Правило суммы гласит, что если А и В - несвязанные события, и существует n1 возможных исходов события А, и n2 возможных исходов события В, то возможное число исходов события «А или В» равно сумме n1 + n2. Правило произведения утверждает, что если дана последовательность k Событий с n1 возможными исходами первого, n2 — второго, и т. д., вплоть до nk возможных исходов последнего, то общее число исходов последовательности k событий равно произведению n1 • n2 •…•nk. Чтобы различать на терминологическом уровне тип конкретной задачи, введем несколько определений. Начнем с вспомогательных терминов. Предположим, что мы берем элементы х1, х2, …, хk из множества Х мощности n. Каждый такой набор принято называть выборкой объема k из n элементов или, иначе, (n,k)-выборкой. Выборка называется упорядоченной, если порядок следования элементов в ней задан. При этом две упорядоченные выборки, различающиеся лишь порядком следования элементов, считаются разными. Если же порядок следования элементов в выборке не имеет значения, то выборка называется неупорядоченной. В таблице собраны все формулы для подсчета количества выборок k элементов из nэлементного множества. Порядок существенен Порядок не существенен Сочетания с повторениями Размещения с повторениями Элементы (n k 1)! C nk C nk k 1 повторяются Аnk n k k!(n 1)! Элементы не повторяются Размещения без повторений n! Ank (n k )! Сочетания без повторений n! C nk (n k )!k! Рассмотрим теперь различные упорядочивания данного множества Х из n элементов. Получаемые при этом упорядоченные множества отличаются друг от друга лишь порядком входящих в них элементов. Их называют перестановками без повторений из n элементов, а их число рассчитывают по формуле: Pn Ann n(n 1)...(n n 1) n! В общей ситуации справедлива следующая теорема о перестановках. n! Теорема. Существует различных перестановок n объектов, n1 из которых n1!n2 !... nr ! относятся к типу 1, n2 — к типу 2, и т. д. вплоть до nr объектов типа r. Коэффициенты носят название мультиномиальных. Они стоят в разложении степени n1 n2 nr (х +х +…+х )n при произведениях x1 x 2 ...x r . 1 2 r n1 n2 nr В этом легко убедиться, поскольку член вида x1 x 2 ...x r . получается, когда мы перемножаем переменные х1, выбранные из n1 скобок, х2, выбранные из n2 скобок, и т. д. n n n Таким образом, коэффициент при x1 x 2 ...x r . в точности равен числу перестановок n объектов, n1 из которых относятся к первому типу, n2 — ко второму и т. д. 1 2 r 49 Примеры решения задач 173) Сколько трехзначных чисел начинаются с 3 или 4? Решение: Трехзначные числа, о которых идет речь в задаче, естественным образом разбиваются на два непересекающихся класса. К одному из них относятся числа, начинающиеся с 3, а ко второму — с 4. Для подсчета чисел в первом классе заметим, что существует один возможный исход для первой цифры (она должна быть равна 3), 10 исходов для второй и 10 исходов для последней цифры. По правилу произведения получаем, что всего чисел в первом классе насчитывается ровно 1•10•10 = 100. Аналогично можно подсчитать количество чисел во втором классе. Оно тоже равно 100. Наконец, по правилу суммы получаем, что существует 100 + 100 = 200 трехзначных чисел, начинающихся с 3 или 4. 174) Сколько различных вариантов можно получить, бросая пять игральных костей? Решение: На каждой из костей может выпасть от одного до шести очков, т.е. каждая кость дает шесть вариантов. Если бросили пять костей, то каждый вариант можно рассматривать как неупорядоченный набор пяти объектов (для каждого из которых есть 6 возможностей) с повторениями, т. е. сочетания с повторениями. С 66511 С105 10! 252. 5!5! 175) Двенадцать человек, включая Марию и Петра, являются кандидатами в комитет пяти. Сколько разных комитетов можно набрать из 12 кандидатов? Сколько из них а) включают как Марию, так и Петра; б) не включают ни Марию, ни Петра; в) включают либо Марию, либо Петра, но не обоих? Решение. Существует С125 12! 792 возможных комитета. 7!5! а) Если Мария и Петр уже выбраны в комитет, нам остается отобрать в него только трех членов из оставшихся десяти кандидатов. Это можно сделать 10! 3 С10 7!3! 120 способами. Значит, Мария и Петр могут быть членами 120 разных комитетов. б) Если Мария и Петр не участвуют в комитете, то мы выбираем всех его членов из десяти кандидатов. Поэтому у нас есть возможности для разных комитетов, не включающих ни Марию, ни Петра. С105 50 10! 252 5!5! в) Один из способов дать ответ на этот вопрос заключается в подсчете 4 комитетов, включающих Марию, но без Петра. Их ровно С10 . То же число комитетов включают Петра, но без Марии. Значит, 2 С комитета имеют в качестве члена либо Марию, либо Петра, но не обоих сразу. 4 10 176) Найдите коэффициент при x3y2z4 из разложения степени (x+y+z)9 Решение. В данной задаче речь идет о мультиномиальном коэффициенте, который стоит в разложении степени (х+y+z)n при произведении x3y2z4. Данный коэффициент вычислим по формуле 9!/(3! 2! 4!)=1260. Задачи для самостоятельного решения 177) Вычислите следующие величины: a) A72 , A85 , A64 , Ann 1 ; b) C107 , C 92 , C 86 , C nn 1 . nk c) Убедитесь, что C n C n k . 178) Необходимо выбрать смешанную команду, которая будет представлять местный теннисный клуб на соревнованиях. В спортивном клубе состоят 6 женщин и 9 мужчин. Сколько различных пар можно выбрать для участия в соревнованиях? 179) Я хочу взять с собой для ланча два фрукта. У меня есть три банана, четыре яблока и две груши. Сколькими способами я могу выбрать два фрукта разного вида из имеющихся у меня? 180) Государственный регистрационный знак легкового автомобиля состоит из трех цифр и трех букв русского алфавита (не считая когда города). Будем считать, что в номере можно задействовать любую последовательность букв и цифр. Сколько различных автомобильных номеров может выдать ГИБДД? 181) У человека есть пять пиджаков, восемь рубашек и семь галстуков. Сколько различных костюмов можно составить из этих предметов? 182) У женщины в шкафу висит шесть платьев, пять юбок и три блузки. Сколько различных нарядов она может составить из своей одежды? 183) В холодильнике стоит мороженое шести различных наименований. На десерт можно взять одно, две или даже три порции мороженого сразу. Сколько возможностей есть у Вас для различных десертов? 184) Целые числа в компьютере представляются строчкой из N двоичных знаков. Первый из них отведен на знак (+ или -), а остальные N – 1 отвечают за модуль целого числа. Сколько различных целых чисел может использовать компьютер? 185) Сколько различных четырехбуквенных “слов” можно написать, используя буквы: a, c, п, o, и e, если под “словом” мы будем понимать любую последовательность неповторяющихся букв, даже если эта последовательность не несет в себе никакого смысла. 51 186) Меню в китайском ресторане дает Вам возможность выбрать ровно три из семи главных блюд. Сколькими способами Вы можете сделать заказ? 187) Перевертыш – это многозначное число, которое не поменяет своего значения, если все его цифры записать в обратном порядке. Сколько существует шестизначных перевертышей? А сколько семизначных? 188) Сколько четырехзначных чисел, не составить, используя только нечетные цифры? превосходящих 6000, можно 189) Пароль, открывающий доступ к компьютеру, состоит из шести символов. Первые два из них – строчные буквы алфавита (всего 26 букв), а оставшиеся четыре могут быть как цифрами, так и строчными буквами. Сколько можно придумать различных паролей? 190) Пусть S – множество четырехзначных чисел, в чьей десятичной записи участвуют цифры: 0,1,2,3, и 6, причем 0 на первом месте, естественно, стоять не может. a) Какова мощность множества S? b) Сколько чисел из S в своей десятичной записи не имеют повторяющихся цифр? c) Как много четных среди чисел пункта (b)? d) Сколько чисел из пункта (b) окажутся больше, чем 4 000? 191) Сколько существует возможностей для присуждения первого, второго, третьего мест семнадцати участницам соревнований по икебане? 192) Комитет из 20 членов избирает председателя и секретаря. Сколькими способами это можно сделать? 193) Пароль, открывающий доступ к компьютеру, составляется по правилам задачи 189. Сколько разных паролей можно написать из не повторяющихся символов? 194) Хоккейная команда насчитывает 18 игроков. Одиннадцать из них входят в основной состав. Подсчитайте количество возможных основных составов. 195) Жюри из 5 женщин и 7 мужчин должно быть выбрано из списка в 8 женщин и 11 мужчин. Сколько можно выбрать различных жюри? 196) Предстоит выбрать команду четырех игроков в гольф из пяти профессиональных игроков и пяти любителей. Сколько разных команд может состоять из трех профессионалов и одного любителя? Сколько команд состоит только из профессионалов или только из любителей? 197) В один из комитетов парламента можно отобрать трех членов, причем выбирать надо из пяти консерваторов, трех лейбористов и четырех либерал демократов. a) Сколько разных комитетов можно составить? b) Сколько разных комитетов можно составить, если в него должен входить по крайней мере один либерал –демократ? 52 c) Сколько разных комитетов можно составить, если лейбористы и консерваторы не могут быть его членами одновременно? d) Сколько разных комитетов можно составить, если в него должен войти по крайней мере один консерватор и хотя бы один лейборист? 198) В небольшой фирме девять человек работают на производстве, пятеро - в отделе сбыта, и трое - в бухгалтерии. Для обсуждения новой продукции было решено пригласить на совещание шестерых работающих. Сколькими способами это можно сделать, если a) Необходимо пригласить по два представителя от каждого отдела; b) Необходимо пригласить, по крайней мере, двоих представителей производства; c) Необходимы представители каждого из трех отделов? 199) Ресторан в своем меню предлагает пять различных главных блюд. Каждый из компании в шесть человек заказывает свое главное блюдо. Сколько разных заказов может получить официант? 200) Цветочница продает розы четырех разных сортов. Сколько разных букетов можно составить из дюжины роз? 201) Вы покупаете пять рождественских открыток в магазине, который может предложить четыре разных типа приглянувшихся Вам открыток. a) Как много наборов из пяти открыток Вы можете купить? b) Сколько наборов можно составить, если ограничиться только двумя типами открыток из четырех, но купить все равно пять открыток? 202) Сколькими способами можно распределить 15 студентов по трём учебным группам по пять студентов в каждой? 203) Сколько разных «слов» можно составить из букв слова «КОЛОБОК». a. Сколько из них начинаются с буквы “Л? b. В скольких из них три буквы “О” стоят рядом? 204) Сколько разных “слов” можно получить из слова “АБРАКАДАБРА”? a) Сколько из них начинаются с буквы “К”? b) В скольких из них обе буквы “Б” стоят рядом? 205) Сколькими способами можно расставить белые фигуры на первой линии шахматной доски? 206) Пользуясь полиномиальной теоремой, вычислить (x+y+z)3. 207) Найдите коэффициент при a) b) c) d) x2y3z2 в выражении (x+y+z)7; x3y2 из разложения степени (x+y+3)7; xy3z4 после раскрытия скобок в выражении (x+y+z)8; xy2z после раскрытия скобок в выражении (x+2y+z-1)5. 53 1.5.4. Треугольник Паскаля. Формула бинома n Числа C nk возникают как коэффициенты при раскрытии скобок в выражении (а+b) . Например, (a+b)2= (a+b)(а+b) =aa+ab+ba+bb =a2+2ab+b2; (a+b)3= (a+b)(а+b)(а+b) =aaa+aab+aba+abb+baa+bab+bba+bbb= =a3+3a2b+3ab2+b3. Можно заметить, как получаются коэффициенты этого выражения: С 30 1, С 31 3, С 32 3 и С 33 1. В общем случае, раскрывая скобки в биноме (a b) n C n0 a n C n1 a n 1b C n2 a n 2 b 2 ... C nn b n . Эта формула называется биномом Ньютона. Поэтому её коэффициенты называют биномиальными коэффициентами. Биномиальные коэффициенты полезно выстроить в так называемый треугольник Паскаля ( рис. 26). 1 С 00 0 1 1 1 С1 С1 0 1 2 1 2 1 С2 С2 С2 1 3 3 1 С 30 С 31 С 32 С 33 1 4 6 4 1 1 5 10 10 5 1 С 40 С 41 С 42 С 43 С 44 0 1 2 3 4 5 С5 С5 С5 С5 С5 С5 Рис. 27 Рис. 26 Каждая (n+1)-ая строка этого треугольника состоит из биномиальных коэффициентов, получающихся при раскрытии скобок в выражении (a+b)n. Есть некоторые закономерности, которые бросаются в глаза, при взгляде на треугольник Паскаля (рис. 27). Например, сложив два последовательных числа, стоящих в строке треугольника, мы получим число из следующей строки, которое стоит между двумя сложенными. Это свойство известно как формула Паскаля, справедливая при 0<k<n.: C nk11 C nk1 C nk , Примеры решения задач 208) Найдите коэффициент при а7 после раскрытия скобок в выражении (a+3)11. Решение. Данное выражение представляет собой бином вида (a+b)n, где коэффициент при а7 b11-7 равен С117=С114=11!/(4! 7!)=330. Т.к. b=3, то 330 а7 b4= =330 а7 34=330 а7 81=26730. Задачи для самостоятельного решения 209) Вот восьмая строка треугольника Паскаля: 1 7 21 35 35 21 7 1 . a) Найдите девятую и десятую его строки. b) Проверьте, что если a, b, c – три последовательных числа в восьмой строке треугольника Паскаля, то одно из чисел десятой строки можно получить как сумму: a+2b +с. c) Воспользуйтесь формулой Паскаля для доказательства равенства: C nk 2C nk 1 C nk 2 C nk22 , при 0 k n-2. 54 (Эта формула обобщает факт (b) на весь треугольник Паскаля.) 210) Положив в биноме Ньютона а=b=1, покажите, что для любого n=0,1,2,…справедлива формула: C n0 C n1 ... C nn 2 n . Выведите отсюда, что во множестве S из n элементов содержится ровно 2n различных подмножеств. (Указание: определите сначала ,сколько подмножеств мощности k содержится в S) 0 1 2 n n 211) Покажите, что C n C n C n ... (1) C n 0. 212) Найдите коэффициент при a3b5 после раскрытия скобок в выражении (a+b)8. 213) Найдите n, если известно, что в разложении (1+x)n коэффициенты при x5 и x12 равны. 214) Сколько рациональных членов содержит разложение ( 2 4 3 )100 ? Вопросы для повторения 1. Метод математической индукции. Пример использования данного метода для доказательств. 2. Формула включения и исключения. Пример её применения при решении задач. 3. Комбинаторные объекты. Формула для подсчета числа сочетаний с повторениями и без. Пример и условия её использования. 4. Комбинаторные объекты. Формула для подсчета числа размещений с повторениями и без. Пример и условия её использования. 5. Комбинаторные объекты. Формула для подсчета числа перестановок с повторениями и без. Пример и условия её использования. 55 Глава 2. Элементы математической логики 2.1. Высказывания и операции над ними 2.1.1. Понятие высказывания Основным объектом математической логики является высказывание. Высказыванием называется повествовательное предложение, про которое можно сказать истинно оно или ложно, но не то и другое вместе. Высказывание обозначают большими латинскими буквами: А, В, С… Не являются высказываниями предложения, содержащие определения (геометрической фигурой называется множество точек плоскости), призывы (храните деньги в сберегательной кассе!), вопросы (который час?). Содержание высказывания не существенно: лишь бы это предложение могло быть либо истинным, либо ложным. Если высказывание истинно, будем говорить, что его значение истинности – истина; если ложно, то значение истинности – ложь. Примеры решения задач 215) Являются ли предложения высказываниями? А: «Сегодня идет снег»; В: «5>3»; С: «3 делится на 8»; D: « 1010 +1 – простое число»; Е: «Который час?»; F: «Число 13 - несчастливое»; G: «Существуют внеземные цивилизации»; 10 Решение. А: высказывание, может быть либо истинно, либо ложно; В: всегда истинное высказывание; С: всегда ложное высказывание; D: высказывание, либо истинно, либо ложно, проверить нет возможности; Е: не высказывание, т.к. предложение не является повествовательным; F: не высказывание, так как судить о его истинности или ложности невозможно; G: высказывание, хотя в настоящее время неизвестно истинно оно или ложно. Задачи для самостоятельного решения 216) Какие из следующих предложений являются высказываниями? Какие из высказываний истинные, а какие — ложные? 1) Москва — столица СССР. 2) Студент физико-математического факультета педагогического института. 3) Треугольник ABC подобен треугольнику А'В'С'. 4) Луна есть спутник Марса. 2 33 5. 5) 6) Кислород — газ. 7) Каша — вкусное блюдо. 8) Математика — интересный предмет. 56 9) 10) 11) 12) равны. 13) 14) 15) 16) Картины Пикассо слишком абстрактны. Железо тяжелее свинца. Да здравствуют музы! Треугольник называется равносторонним, если все его стороны Если в треугольнике все углы равны, то он равносторонний. Сегодня плохая погода. В романе А. С. Пушкина «Евгений Онегин» 136 245 букв. Река Ангара впадает в озеро Байкал. 217) Какие из следующих высказываний истинны, а какие ложны? a) b) c) d) «Сумма внутренних углов любого треугольника равна 180.»; «У всех кошек есть хвост.»; «Найдется целое число х, удовлетворяющее соотношению х2=2.»; «Существует простое четное число». 2.1.2. Операции над высказываниями Для того, чтобы из высказываний получать новые высказывания применяются специальные операции – логические связки. Рассмотрим пять основных логических связок. Отрицание высказывания А– это высказывание, которое истинно, если А ложно, и ложно, если А истинно. Обозначают А или А. Составим истинностную таблицу для операции отрицания: А А И Л Л И Конъюнкцией высказываний А и В называется высказывание, которое истинно, если истинны А и В, и ложно во всех остальных случаях. Конъюнкцию обозначают АВ или А&В и называют логическим умножением. Таблица истинности выглядит следующим образом: А В АВ Л Л Л Л И Л И Л Л И И И Дизъюнкцией высказываний А и В называют высказывание, которое ложно, когда ложны оба высказывания А и В, а во всех других случаях истинно. Дизъюнкцию обозначают АВ и называют логическим сложением. Соответствующая этому высказыванию таблица истинности выглядит следующим образом: А В АВ Л Л Л Л И И И Л И И И И Импликацией высказываний А и В называют высказывание, которое ложно, когда А истинно, а В ложно, и истинно во всех остальных случаях. То есть из истины не может следовать ложь. Импликацию обозначают АВ или АВ и читают «из А следует В» или «если А, то В». А В АВ Л Л И Л И И И Л Л И И И 57 Эквиваленцией высказываний А и В называется высказывание, которое истинно лишь в тех случаях, когда А и В имеют одинаковые истинностные значения. Эквиваленцию обозначают АВ или АВ и читают «А тогда и только тогда, когда В» или «Для того, чтобы А необходимо и достаточно, чтобы В». А В АВ Л Л И Л И Л И Л Л И И И Примеры решения задач 218) Рассмотрим предложение: «Если 22=5, то 7делится на 8». Определите его истинность. Решение. Обозначим высказывание «22=5» буквой А, а высказывание «7делится на 8» буквой В. Тогда исходное предложение С=АВ. А – ложно, В – ложно, а С – истинно. 219) Составное высказывание V: «Если в треугольнике медиана не является высотой и биссектрисой, то этот треугольник не равнобедренный и не равносторонний.» запишите символически, введя буквенные обозначения для простых их составляющих: Решение. Выделим и следующим образом обозначим простейшие составляющие высказывания: А: «В треугольнике медиана является высотой»; В: «В треугольнике медиана является биссектрисой»; С: «Этот треугольник равнобедренный»; D: «Этот треугольник равносторонний». Тогда данное высказывание символически записывается так: ( А В) (С D) . Задачи для самостоятельного решения 220) Что можно сказать об истинности составного высказывания: “либо луна делается из зеленого сыра, и Генрих VIII имел шесть жен, или не верно, что динозавры вымерли”? 221) Пусть Р – высказывание “1=5”, Q – высказывание “3=7” и R – утверждение “4=4”. Покажите, что условные высказывания: “если P, то Q” и “если P, то R”, оба истинны. 222) Установите, какие из высказываний в следующих парах являются отрицаниями друг друга и какие — нет (объясните почему): а) 2 <0, 2>0. б) 6 < 9, 6 9. в) «Треугольник ABC прямоугольный», «Треугольник ABC тупоугольный». г) «Натуральное число n четно», «Натуральное число n нечетно». д) «Функция f нечетна», «Функция f четна». е) «Все простые числа нечетны», «Все простые числа четны». 58 ж) «Все простые числа нечетны», «Существует простое четное число». з) «Человеку известны все виды животных, обитающих на Земле», «На Земле существует вид животных, не известный человеку». и) «Существуют иррациональные числа», «Все числа рациональные». 223) Обозначим через Р высказывание “логика - забава”, а через Q – “сегодня пятница”. Требуется выразить каждое из следующих составных высказываний в символьной форме. a) Логика – не забава, и сегодня пятница. b) Сегодня не пятница, да и логика - не забава. c) Либо логика – забава, либо сегодня пятница. 224) Пусть P, Q, R определенные следующим образом высказывания: Р: “Я умираю от жажды.” Q: “Мой стакан пуст.” R: “Сейчас три часа.” Запишите каждое из следующих высказываний как логическое выражение, включающее P, Q, R. a) b) c) d) e) «Я умираю от жажды и мой стакан не пуст.»; «Сейчас три часа, а я умираю от жажды.»; «Если сейчас три часа, то я умираю от жажды.»; «Если я умираю от жажды, то мой стакан пуст.»; «Если я не умираю от жажды, то мой стакан не пуст.». 225) Обозначив через А высказывание: «розы красные», а через В – «фиалки синие», запишите каждое из следующих высказываний как логическое выражение: a) «Если розы не красные, то фиалки не синие»; b) «розы красные или фиалки не синие»; c) «либо розы красные, либо фиалки синие (но не одновременно)»; 226) Пусть С= «Сегодня ясно», R= «Сегодня идет дождь», S= «Сегодня идет снег», Y= «Вчера было пасмурно». Перевести на русский язык следующие высказывания: 1. С (RS); 3. Y(CR); 2. YC; 4. YRC. 227) Запишите высказывания на языке логики с помощью логических связок и определите их истинность. 1. 2. 3. 4. 5. 6. 7. 8. Завтра не пойдет дождь. Дважды два – четыре или Париж – столица Англии. Сегодня четверг и Шекспир – это группа авторов. Если функция взаимно однозначна, то красный конь купается. Если 2+2=5, то 3+3=10. Если Аннушка пролила масло, то будет дорожное происшествие. Если 7 – простое число, то 2х2=4. Если 8 – простое число, то 2х2=4. 59 9. Если 8 – простое число, то 2х2=5. 10. Если 7 – простое число, то 2х2=5. 11. Треугольники подобны тогда и только тогда, когда их углы равны. 12. Луна живое существо тогда и только тогда, когда Маккартни поет колыбельную. 13. 7 – простое число тогда и только тогда, когда 2х2=4. 14. 8 – простое число тогда и только тогда, когда 2х2=5. 15.Если завтра будет дождь или снег, то я возьму зонт и надену пальто или свитер. 228) Запишите высказывания на языке логики с помощью логических связок и определите их истинность. 1. Идет дождь или кто-то не выключил душ. 2. Если вечером будет туман, то Сергей или останется дома, или должен будет взять зонт. 3. Петр сядет, и он или Сергей будет ждать. 4. Ни Север, ни Юг не победил в гражданской войне. 5. Если я устал или голоден, я не могу заниматься. 6. Если Маша встанет и пойдет в школу, она будет довольна, а если она не встанет, она не будет довольна. 7. Если мыши живут на Марсе, а мыши, читающие Толкиена, говорят поанглийски, то мыши не живут на Марсе. 229) Пусть через А обозначено высказывание «9 делится на 3», а через В — высказывание «8 делится на 3». Определите значения истинности следующих высказываний: а). А В; б ). В А; в ). А В; г ). В А; д). А В; е). В А; ж ). А В; з). В А; и ). А В; к ). А В; л). А В; м). А В. 230) Найдите отрицание каждой из следующих формул: a) ( X (Y Z )) ( X Y ); c) ((( X (Y Z )) P) Q) ( R ( S T )); b) (( X Y Z ) R) U V W ; d ) (( X (Y ( Z P))) Q) R. 2.1.3. Понятие формулы в математической логике Условимся называть высказывательной переменной высказывание p, которое не выражается через другие посредством операций над высказываниями. Будем обозначать их малыми латинскими буквами. Символы И и Л будем называть логическими константами. Определим понятие формулы логики: 1). Все высказывательные переменные считаем формулами. 2). Логические константы считаем формулами. 3). Если А и В – формулы, то формулами считаем: А , АВ, АВ, АВ и АВ. При записи формул используются скобки, чтобы однозначно определить порядок выполнения операций. Для упрощения записи формул определим приоритет операций друг перед другом: отрицание, конъюнкция и дизъюнкция, импликация, эквиваленция. 60 Таблицей истинности формулы называется таблица, в которой каждому набору истинности высказывательных переменных, входящих в формулу, сопоставляется истинностное значение высказывания, заданного этой формулой. Такая таблица содержит 2 n строк, где n – количество высказывательных переменных. Примеры решения задач 231) Построить таблицу истинности для формулы: =pq p Решение. p Л Л И q p pq Л И Л И И И И И Л Л И Л И И Л И Л Задачи для самостоятельного решения 232) Составить таблицы истинности для следующих высказываний: 1. P ( P Q); 2. ( P Q) P Q; 3. P (Q R); 4. ( P Q R) ( P Q); 5. ( A B C ) ( A B); 6. A (( B A) B); 7. ( A B) A). 2.1.4. Отношение равносильности логических формул Две формулы логики высказываний А и В называются равносильными, если при любых наборах истинностных значений переменных, входящих в эти формулы, они принимают одинаковые истинностные значения. Равносильные формулы обозначают А В. Теорема. Имеют место следующие равносильности: 1. АВ ВА; АВ ВА – коммутативный закон; 2. А(ВС) (АВ)С; А(ВС) (АВ)С – ассоциативный закон; 3. (АВ)С (АС)(ВС); (АВ)С (АС)(ВС) - дистрибутивный; А В А В ; А В А В - законы де Моргана; 4. 5. А(АВ) А; А(АВ) А – законы поглощения; 6. АА А; АА А; 7. А А И; А А Л; 8. АИ И; АИ А; 9. АЛ А; АЛ Л; 10. А А. Легко заметить аналогию со свойствами операций над множествами. Так, высказываниям поставим в соответствие множества, отношению равносильности высказываний - отношение равенства множеств, операциям дизъюнкции, конъюнкции и отрицания – соответственно операции объединения, пересечения и дополнения, а тавтологии и противоречию – соответственно универсальное и пустое множества. Как и для множеств, справедлив принцип двойственности: если два высказывания логически равносильны и в них заменить дизъюнкцию на конъюнкцию, тавтологию на противоречие и наоборот, полученные высказывания также будут равносильны. 61 Теорема. Формулы А и В равносильны тогда и только тогда, когда формула АВ является законом логики. Следующая теорема дает еще один способ получения законов логики. Теорема. Пусть в формулу А, являющуюся законом логики, входят высказывательные переменные p, q, …, r. Если в этой формуле заменить переменные любыми формулами В, С, …, D, то вновь полученная формула будет также законом логики. Примеры решения задач 233) Убедиться, что p p(q q ). Решение. Доказательство всех равносильностей истинности. Построим таблицу истинности: p q q q . p(q q ) Л Л И Л Л И И Л И Л И И И И И следует из таблиц И Сравним в таблице столбцы со значениями левой и правой частей заданной формулы. Они совпадают, следовательно, p p(q q ). Задачи для самостоятельного решения 234) Покажите, что высказывание ( P Q) логически эквивалентно утверждению PQ. 235) Докажите следующие равносильности. а). P P 1; P P 0; b). P(QR) (PQ)(PR); c). P Q P Q; d). PQPQQP; e). ( P Q) P Q. 236) Применяя равносильные преобразования, приведите следующие формулы к возможно более простой форме: a ) ( P Q ) (( P Q ) P ); b) ( P Q ) (( P Q ) P ); c) ( P Q ) (Q P ) ( P Q ); d ) ( P Q ) (Q P ) ( R P ); e) ( P R ) ( P R ) (Q R ) ( P Q R ); f ) ( P Q ) (Q P ). 237) Следующие формулы преобразуйте равносильным образом так, чтобы они содержали только операции отрицания и конъюнкции: 62 a) ( X Y ) ( X Z ); d ) (( X Y ) Z ) X ; b) ( X Y ) ( X Y ); c) (( X Y Z ) X ) Z ; e) ( X (Y Z )) X . 238) Следующие формулы преобразуйте равносильным образом так, чтобы они содержали только операции отрицания и дизъюнкции: a ) ( X Y ) (Y Z ); b) ( X Y ) ( X Y ); c) (( X Y ) Z ) ( Z Y ); d ) (( X (Y Z )) (Y X )) Y ; e) (( X Y ) (Y Z )) ( X Z ). 239) Следующие формулы преобразуйте равносильным образом так, чтобы отрицание было отнесено только к пропозициональным переменным и не стояло бы перед скобками: a) (( X (Y Z )) Z ; b) (( X Y ) Z ) X Z ; c) U Z Y X ; d ) X Y Y ( X Z ); e) X (Y Z ) Z (Y Z ). 240) Следующие формулы преобразуйте равносильным образом так, чтобы они содержали только операции , , : a ) (( X Y ) (Y X )) ( X Y ); b) (( X Y ) (Y X )) ( Z X ); c) (( X Y ) ( X Y )) (( X Y ) ( X Y )); d ) (( X Y ) Z ) ( X Z ); e) ( X (Y Z )) (( X Y ) Z ). 2.1.5. Законы логики Формула логики называется законом логики, если она принимает значение «истина» при любых истинностных значениях входящих в нее высказывательных переменных. Законы логики называются общезначимыми формулами или тавтологиями. Формула называется тождественно ложной или противоречием, если ее отрицание тождественно истинная формула. Примеры решения задач A=(pq)( q p ). 241) Дана формула: тавтологией. Решение. p q Л Л Л И И Л И И pq И И Л И p q q p И И Л Л И Л И Л И И Л И Убедиться, что она является A И И И И 63 Так как для любых наборов переменных значение формулы «истина», то формула является законом логики или тавтологией. 242) :С помощью равносильных преобразований докажите, что следующая формула является тождественно ложной (противоречием): ( X Y ) (Y X ) (( X Y ) ( X Y )). Решение: а) Покажем, что эта формула равносильна 0 (ложному высказыванию): ( X Y ) (Y X ) (( X Y ) ( X Y )) ( X Y ) ( X Y ) (( X Y ) ( X Y )) (( X Y ) ( X Y ) ( X Y )) (( X Y ) ( X Y ) ( X Y )) (( X Y ) ( X Y ) ( X Y )) (( X Y ) ( X Y ) ( X Y )) (0 ( X Y )) (0 ( X Y )) 0 0 0 Задачи для самостоятельного решения 243) С помощью равносильных преобразований докажите, что следующие формулы являются тождественно ложными (противоречиями): a) (( X Y ) ( X ( X Y ))) (( X ( X Y )) ( X Y )); b) (( X Y ) (Y Z )) ( X Z ); c) ( X Y ) ( X Y ) X ; d ) (( X Y ) ( X Z )) (( X Y ) ( X Z )). 244) Составив таблицы истинности, докажите, что следующие формулы являются тавтологиями: 1). P P ( закон исключенного третьего); 2). ( P P) ( закон отрицания противоречия ); 3). P P ( закон двойногоотрицания ); 4). P P ( закон тождества); 5). ( Р Q) ( P Q) ( законконтрапозиции ); 6). (( P Q) (Q R)) ( P R) (правилоцепногозаключения ); 7). ( P Q) ( P Q) ( закон противоположности ); 8).( P Q) (Q P) (коммутативность конъюнкции ); 9). ( P Q) (Q P) (коммутативность дизъюнкции ); 10). (( P Q) R) ( P (Q R)) (ассоциативность конъюнкции ); 11). (( P Q) R) ( P (Q R)) (ассоциативность дизъюнкции ); 64 12). ( P (Q R)) (( P Q) ( P R)) (дистрибутивность конъюнкции относительно дизъюнкции ); 13). ( P (Q R)) (( P Q) ( P R)) (дистрибутивность дизъюнкции относительно конъюнкции ); 14). ( P P) P (идемпотентность конъюнкции ); 15). ( P P) P (идемпотентность дизъюнкции ); 16). ( P Q) ( P Q); 17). ( P Q) (( P Q) (Q P)); 18). ( P (Q P)) P (первый закон поглощения ); 19). ( P (Q P)) P (второй законе поглощения ); 20). ( P Q) ( P Q) (первый закон де Моргана); 21). ( P Q) ( P Q) (второй закон де Моргана); 22). ( P Q) ( P Q). 23). ( P Q) (( P (Q R )) ( P R )); 24). P (Q ( P Q)); 25). ( P (Q R )) (( P Q) ( P R )); 26). (( P Q) ( P Q)) P; 27). ( P R ) ((Q R ) (( P Q) R )); 28). ( P Q) (( P Q) P ); 29). ( P Q) ((Q P ) ( P Q)); 30). ( P R ) (( P Q) ( R Q)); 31). ( P (Q R )) (( P Q) ( P R )); 32). ( F1 ( F2 G )) (( F1 F2 ) G ); 33). ( P (Q R )) (Q ( P R )). 2.1.6. Правило логического вывода Задача математической логики – дать принцип рассуждения, т.е. теорию вывода, критерии для решения механическим путем вопроса о том, можно ли некоторую цепочку рассуждений считать правильной. При этом важна только форма высказываний, составляющих цепочку, а не их содержание и смысл. Высказывание В называется логическим следствием высказываний А1, А2, …, Аm, если В истинно всякий раз, когда каждое Аi, i=1, 2, … m, истинно. Это записывается так: А1, А2, …, Аm╞B. Высказывания А1, А2, …, Аm называются посылками логического следствия, а высказывание В – заключением. Большинство теорем в математике имеют именно такую структуру. Доказать теорему – значит доказать, что заключение действительно является логическим следствием посылок. Самый простой способ – составить совместную таблицу истинности посылок и заключения, Найдите в ней строки, в которых все посылки имеют значение «истина», и убедиться, что заключение в этих строках также имеет значение «истина». Примеры решения задач 245) Покажите, что A, C, AB С ╞ B . 65 Решение. Для доказательства построим таблицу истинности: А В С AB С B Л Л Л И И Л Л И И И Л И Л И Л Л И И И Л И Л Л И И И Л И И И И И Л И Л И И И Л Л В таблице есть только одна строка (выделена), в которой все посылки принимают значение «истина». Видно, что заключение при этом также истинно. Таким образом, логическое следствие доказано. 246) Решите логическую задачу. Один из трех братьев Витя, Толя, Коля разбил окно. В разговоре участвуют еще двое братьев — Андрей и Дима. —Это мог сделать только или Витя, или Толя, — сказал Андрей. — Я окно не разбивал, — возразил Витя, — и Коля тоже. — Вы оба говорите неправду, — заявил Толя. — Нет, Толя, один из них сказал правду, а другой сказал неправду, — возразил Дима. — Ты, Дима, неправ, — вмешался Коля. Их отец, которому, конечно, можно доверять, уверен, что трое братьев сказали правду. Кто разбил окно? Решение. Введем обозначения для высказываний: В: «Витя разбил окно»; . Т: «Толя разбил окно»; К: «Коля разбил окно». Тогда высказывания братьев можно записать в символической форме следующим образом: A B T; V B K; L A V B T B K B T ( B K ) T (( B B) ( B K )) T B K ; D ( A V ) ( A V ) (( B T ) B K ) ( B T ( B K )) (( B T ) ( B K )) ( B T K ) B (T K ) ( B T K ) ( B B) ( B T ) ( B K ) B (T K ); 0 M D B (T K ) B (T K ). Образуем из высказываний А, V, L, D, М всевозможные конъюнкции по три A V L, A V D, A L D, A L M , A D M , высказывания: V L D, V L M , V D M , L D M . Поскольку из высказываний А, V, L, D, М только три истинны, то из десяти конъюнкций истинна лишь одна. Проверьте самостоятельно, что конъюнкции A L, V L и L D ложны, а 66 поэтому восемь из перечисленных конъюнкций ложны. Остаются две конъюнкции A V D и A V M . Рассмотрим их: A V D ( B T ) B M ( B (T M )) ( B (T T M )) B M B B M 0; A V M ( B T ) B M (T M ) T B M T T B M . Итак, заключаем, что истинно высказывание T B M , т. е. истинны высказывания T, B, M . Следовательно, окно разбил Толя. Задачи для самостоятельного решения 247) Докажите, что заключение действительно является логическим следствием посылок: 1. A, A(СD) В , В ╞ С D . 2. Пусть х – делится на 5 и на 4. Известно, что нечетные числа, кратные 5, не делятся на 4. Значит х – четно. 3. АВ, В С ╞ А . 4. Пусть ∆ АВС – равнобедренный и равносторонний. Если равнобедренный треугольник является прямоугольным, то он - не равносторонний. Значит, ∆ АВС не прямоугольный. 248) Правильно ли выполнено умозаключение? Про некоторое число известно, что оно делится на 6 или на 15. Но если это число делится на 15, то оно делится на 5. А если число делится на 6, то оно делится на 2. Если же это число делится и на 2, и на 5, то оно делится и на 10. Значит, это число делится на 10. Решите «логические» задачи: 249) На вопрос, кто из трех учащихся изучал логику, был получен правильный ответ: если изучал первый, то изучал и второй, но не верно, что если изучал третий, то изучал и второй. Кто из учащихся изучал логику? 250) При составлении расписания уроков на один день учителя математики, истории и литературы высказали следующие пожелания: математик просил поставить ему или первый, или второй урок; историк—или первый, или третий; учитель литературы — или второй, или третий. Как составить расписание уроков, чтобы учесть все пожелания? 251) Андрей, Ваня и Саша собрались в поход. Учитель, хорошо знавший этих ребят, высказал следующие предположения: а) Андрей пойдет в поход только тогда, когда пойдут Ваня и Саша; b) Андрей и Саша друзья, а это значит, что они пойдут вместе или же оба останутся дома; c) чтобы Саша пошел в поход, необходимо, чтобы пошел Ваня. Когда ребята пошли в поход, оказалось, что учитель немного ошибся: из трех его утверждений истинными оказались только два. Кто из названных ребят пошел в поход? 67 252) Некий остров населен жителями, каждый из которых либо всегда говорит правду, либо всегда лжет и которые отвечают на вопросы только посредством «да» или «нет». К развилке дорог, из которых одна ведет в столицу острова, а другая туда не приводит, подходит путешественник. Никаких знаков, указывающих, какая из дорог куда ведет, у развилки нет. Но здесь стоит местный житель, некто N. Какой вопрос, предусматривающий ответ «да» или «нет», должен задать ему путешественник, чтобы определить, какая дорога ведет в столицу острова? Вопросы для повторения Понятия высказывание, истинностное значение высказывания. Примеры. Операции над высказываниями. Приоритет выполнения операций. Определения. Примеры. Свойства операций над высказываниями. Примеры их применения. Понятия формула, равносильные формулы. Примеры. Способы доказательства равносильности формул. 5. Понятия тавтология и противоречие. Примеры. 6. Правило логического вывода. Пример. 1. 2. 3. 4. 68 2.2. Предикаты 2.2.1. Понятие предиката В математике и других науках наряду с высказываниями приходится иметь дело с различными утверждениями (предложениями), зависящими от одной или нескольких переменных. В логике их называют предикатами. Уравнения и неравенства также являются такого рода предложениями. Предикаты будем обозначать A(n), B(x), C(x,y) и т.д. Для каждого предложения должно быть указано, на каком множестве оно рассматривается или, как еще говорят, на каком множестве оно определено или задано. A(n), B(x) будем называть одноместными предикатами, а C(x,y) – двуместным. Предложение А(х), хМ, не является высказыванием, если оно рассматривается на всем множестве М. Но если А(х) рассмотреть при некотором конкретном значении х=х0, то утверждение А(х0) будет либо истинно, либо ложно, т.е. будет высказыванием. Множество М, На котором задано предложение А(х), можно разбить на два подмножества. Одно содержит те элементы М, для которых А(х) истинно. Оно называется множеством истинности предиката А(х). Будем обозначать его М+. Другое подмножество содержит те и только те элементы М, для которых А(х) ложно. Обозначим его М- и очевидно, что М+М-=М, а М+М-=. Примеры решения задач 253) Приведите примеры предикатов. Решение. 1. Неравенство x-2>0 можно рассматривать как предложение, зависящее от переменной x. Истинность или ложность этого предложения зависит от того, какое именно значение переменной x выбрать. Если x=3, то предложение истинно, если х=0, то ложно. 2. Уравнение x+y=1 является предложением, зависящим от двух переменных x и y. При x=y=½ предложение x+y=1 истинно, при x=y=0 оно, очевидно, ложно. 254) Дан предикат А(х): «х2-х<0». Найдите его множество истинности. Решение. М=R, М+=(0;1), М-=(-;0][1;+). Задачи для самостоятельного решения 255) Какие из следующих выражений являются предикатами, а какие высказываниями? Определите значение истинности там, где это возможно. 1) х 5; 2) х2+2х+4; 3) х2+2х+4=0; 4) Крокодилы живут в Африке; 5) Красота! 6) Река х впадает в озеро Байкал; 2 2 2 7) (x+y) =x +2xy+y ; 8) ctg 45=1; 2 2 10) Который час? 9) (x) (y) (x +y =1); 11) Если слоны живут в Антарктиде, то пингвины в Африке. 256) Найдите множество истинности предиката «x делится на 3», заданного на указанных множествах: a) М=1,2,3,4,5,6,7,8,9; 69 b) М=3,6,9,12; c) М=2,4,8. Изобразите множество истинности предикатов: 6. |x|=|y|; x2y; 7. x2+y2-4x+6y+120; 2x+6y<13; xy=0; 8. y=|sin x|; 2 2 x y 9. (|x|<3) (|x|4); 4. x y; x y 10.(|x|<3) (|x|4). 5. |x>5||x<6|. 257) 1. 2. 3. 258) a) b) c) d) e) f) Найдите множества истинности предикатов: x-2>0; g) x2-2x-8 0. x+y=1; h) (|x-1|3) (|x+1|3); x2+y2=9; i) (x5) (|x|10); |x|<6; j) (x+3)(4-x)>0. |x|<-3; |x-3|<5; 259) Найдите множества истинности предикатов: a) b) c) d) e) f) g) x2+y2 4; |y|>12; |x+2|>3; |x+4|>3; x2+2x+1 0; x2+y2+z2-9 0. |3x+18|<6; h) sin x>0; i) j) x 1 0; 7x x2 1 0; x2 1 k) (x2+y2=1) (|x|<1). 260) На множестве всех действительных чисел даны два предиката: 1 t 1. А(х): уравнение t x имеет решение (относительно переменной t), 2. В(х): равенство x 2 6 x 9 3 x верно. Найдите множества истинности для предикатов А(х), В(х), А(х) В(х), A(x)B(x). 2.2.2. Операции над предикатами Два предложения А(х) и В(х), заданные на одном и том же множестве, называются равносильными, если их множества истинности совпадают. Для предикатов, как и для высказываний, можно ввести логические операции. Отрицанием предиката А(х), хМ, называется предикат, определенный на том же множестве М и обращающийся в истинное высказывание для тех и только тех значений х, для которых А(х) ложно. Отрицание А(х) обозначается А(х ) . Ясно, что если М+ множество истинности А(х), то множеством истинности А(х ) будет М-. Аналогично определяются и другие логические операции. 70 Примеры решения задач 261) Даны два предиката А(х): х-2>0, B(x): x+2 0, зависящие от переменной х, хR. В чем заключаются предикаты А(х)В(х) и А(х)В(х)? Решение. Предикат А(х)В(х) заключается в том, что верно по крайней мере одно из двух данных неравенств. Очевидно, что множеством истинности А(х)В(х) является промежуток [-2;+). Для импликации А(х)В(х) М+=R. 262) Являются ли равносильными следующие предикаты? Решение. Предикаты «х2(х-1)>0» и «х-1>0» равносильны, так как множеством истинности каждого из них является промежуток (1;+). Задачи для самостоятельного решения 263) Даны два предложения: А(х): х-2>0, B(x): x+2 0, зависящие от переменной х, хR. В чем заключаются предикаты а) А(х)В(х); b) А(х)В(х). 264) Даны два предложения: А(х): х-2>0, B(x): x+2 0, зависящие от переменной х, хR. В чем заключаются предикаты а) A(x)B(x); c) A(x) В(х) ; b) B(x)A(x); d) В(х) А(х ) . 265) Являются ли предикаты равносильными? 1. x-1>0 и -2x<-2; 3. x2+2x-8 0 и |x+1|>3; 2. x2-2x-8 0 и |x-1| 3; 4. x2+y2=1 и y 1 x 2 . 266) Являются ли равносильными предикаты P(x): sin2 x+cos2 x=1 и Q(x): x2+x4>0? 2.2.3. Кванторы С предложениями, зависящими от переменной, связаны два вида часто встречающихся утверждений. 1. Предикат А(х), хМ, обращается в истинное высказывание для всех элементов множества М. 2. Предикат А(х), хМ, обращается в истинное высказывание хотя бы для одного элемента множества М, другими словами, существует элемент х0М, для которого А(х0) – истинное высказывание. В математике принято записывать такие утверждения кратко, используя для этого специальные знаки: квантор общности (перевернутая первая буква английского слова All все) и квантор существования (перевернутая первая буква английского слова Exists существует). Используя кванторы общности и существования, утверждения 1 и 2 можно записать следующим образом: 1. ( х)А(х), 2. ( х)А(х), хМ. В этих формулах подформула А называется областью действия квантора по х. 71 Обычно связки и кванторы упорядочивают по приоритету следующим образом: Лишние , , , , , , скобки при этом опускают. Переменные, к которым относится квантор, называются связанными, остальные переменные – свободными. Формула, не содержащая свободных вхождений переменных, называется замкнутой. Необходимо подчеркнуть, что для того, чтобы опровергнуть высказывание вида ( х)А(х), хМ, достаточно указать только один элемент хМ (контрпример), для которого А(х) ложно. Примеры решения задач 267) Дан предикат А(х): х2>0, хR. Оцените истинность высказываний ( х)А(х) и ( х)А(х). Решение. Высказывание ( х)А(х) ложно, т.к. при х=0 высказывание ложно.А высказывание ( х)А(х) истинно, например, х=5. Задачи для самостоятельного решения 268) Обозначим через х слово «кошка», а через Р(х) предикат «у х есть усы». Запишите каждое из высказываний в символьной форме: a) «усы есть у всех кошек.»; b) «найдется кошка без усов»; c) «не бывает кошек с усами». 269) Обозначим через Р(х) предикат «х – целое число и х2=16». Выразите словами высказывание: х : Р( х) и определите его истинностное значение. 270) Пусть Р(х) предикат «х – вещественное число и х2+1=0». Выразите словами высказывание: х : Р( х) и определите его истинностное значение. 271) Пусть А(х) означает «х высокий», а В(х) – «х - толстый», где х – какой-то человек. Прочитайте высказывание х ( А( х) и В( х)) . Найдите его отрицание среди следующих утверждений: а) «найдется некто короткий и толстый.»; b) «нет никого высокого и худого.»; c) «найдется некто короткий или худой.». 272) Предположим, что х и у – вещественные числа, а В(х,у) обозначает предикат «х+у=0». Выразите каждое из высказываний словами и определите их истинность. а) х у : В( х, у) ; b) у : х В( х, у) . Определите истинность высказываний: (x) (sin x>3), xR; f) (x) (y) (x+y=7), (x,y)R2; (x) (x2+x+1>0), xR; g) (x) (y) (x+y=7), (x,y)R2; (x) (x2=11), xQ; h) (x) (y) (x+y=7), (x,y)R2; x5 i) (x) (y) (x+y=7), (x,y)R2; 0 , xR; d) (x) 2 x 4 j) (x) (y) (xy>0), (x,y)R2. e) (x) (2 sin 3y>-3), (x,y)R2; 273) a) b) c) 72 274) 1. 2. 3. 4. Определите истинность высказываний: (x) (cos x<1), xR; (x) (x2>x8), xR; (x) (y) (xy>0), (x,y)R2; (x) (y) (xy0), (x,y)R2; 5. 6. 7. 8. (x) (y) (xy>0), (x,y)R2; (x) (y) (xy<0), (x,y)R2; (x) (y) (xy0), (x,y)R2; (x) (y) (xy0), (x,y)R2. 275) Определите истинность следующих высказываний: 1) (b) (a) (x) (x2+ax+b>0); 7) (b) (a) (x) (x2+ax+b=0); 2) (x) (x2-4x+3=0 x<0); 8) (x) (x>0 x2-3x+2<0); 3) (x) (x>0 sin x>0); 9) (x) (100x2>27x3); 4) (x) ((x>0)(sin x>0)); 10) (x) (y) (xy); 5) (y) (x) (xy); 11) (x) (y) (y=x2); 6) (y) (x) (y=x2); 12) (y) (x) (x2>y). 276) 1. 2. 3. Определите значение истинности следующих высказываний: (x) (x>0 x2-3x+2<0); 4. (x) (y) ( x y ); 2 (x) (x -4x+3<0 x=3); 5. (y) (x) ( x y ). 2 (x) ((x >1) (x>1)); 277) Даны предикаты на множестве всех четырехугольников плоскости: Р1(х): “четырехугольник является параллелограммом”; Р2(х): “четырехугольник является ромбом”; Р3(х): “четырехугольник является квадратом”; Р4(х): “четырехугольник является прямоугольником”. Найдите значения утверждений: а). (х) (Р2(х) Р1(х)); b). (х) (Р3(х) Р2(х)); c). (х) (Р3(х) Р4(х)). 2.2.4. Формулы логики предикатов Формулой называется выражение (слово), составленное из переменных предикатов с помощью логических операций и кванторов и обращающееся в конкретный предикат при подстановке вместо переменных конкретных предикатов. Формула исчисления предикатов называется тавтологией если при подстановке вместо переменных предикатов любых конкретных предикатов она всегда обращается в тождественно истинный предикат. Значение формулы логики предикатов определено тогда, когда задана какая-то интерпретация входящих в нее символов. При заданной интерпретации считают, что переменные пробегают множество М, а логические символы и символы кванторов имеют свой обычный смысл. Говорят, что формулы Z и F равносильны в данной интерпретации, если они принимают одинаковые значения на любом наборе значений свободных переменных. Рассмотрим правила перехода от одних формул к другим, им равносильным (во всех интерпретациях). 1. Перенос квантора через отрицание. Пусть Ф(х) — формула, содержащая свободную переменную х. Тогда справедливы равносильности: (х)Ф( х) (х)Ф( х), (х)Ф( х) (х)Ф( х). 2. Вынос квантора за скобки. Пусть Ф(х) — формула, содержащая свободную переменную х, а формула В не содержит переменной х; Ф(х) и В удовлетворяют третьему правилу создания формул. Тогда справедливы равносильности: (х)(Ф( х) В) (х)Ф( х) В; (х)(Ф( х) В) (х)Ф( х) В; (х)(Ф( х) В) (х)Ф( х) В; (х)(Ф( х) В) (х)Ф( х) В. 73 3.Перестановка одноименных кванторов. Имеем (х)(у )Ф( х, у ) (у )(х)Ф( х, у ); (х)(у )Ф( х, у ) (у )(х)Ф( х, у ). 4.Переименование связанных переменных. Заменяя связанную переменную формулы Ф другой переменной, не входящей в эту формулу, в кванторе и всюду в области действия квантора получим формулу, равносильную Ф. Примеры решения задач 278) Дана формула (x)( P( x) (y )Q( x, y )) . Является ли она замкнутой? Решение. Рассмотрим формулу (x)( P( x) (y )Q( x, y )) и её подформулы. В подформулу переменная х входит свободно, а оба вхождения переменной у связаны (квантором существования). Таким образом, эта подформула не замкнута. С другой стороны, то же самое вхождение переменной х в подформулу Q(x,y) является связанным вхождением в исходной формуле. В ней все вхождения всех переменных связаны, а потому формула замкнута. 279) Дана формула (x1 )(x2 ) A1 ( x1 , x2 ) A2 ( x1 , x2 ) Является ли она замкнутой? Решение. Выражение не является формулой. Задачи для самостоятельного решения 280) Какие из следующих формул тождественно истинны? a) b) c) d) e) x (( x) P( x)) (x ( x) x P( x)); x (( x) P( x)) (x ( x) x P( x)); x (( x) P( x)) (x ( x) x P( x)); x (( x) P( x)) (x ( x) x P( x)); x (( x) P( x)) (x ( x) x P( x)). Вопросы для повторения 1. Понятие предикат. Операции над предикатами, их определения. Примеры. 2. Понятие множество истинности предиката. Примеры. 3. Виды кванторов. Определения. Примеры. 74 Глава 3. Булева алгебра 3.1. Булевы функции 3.1.1. Понятие булевой функции Булевой функцией от n аргументов называется функция f из n-ой степени множества {0, 1} в множество {0, 1}. Конечность области определения функции имеет важное преимущество – такие функции можно задавать перечислением значений при различных значениях аргументов. Для того, чтобы задать значение функции от n переменных, надо определить значения для каждого из 2n наборов, т.е. достаточно выписать значения f(0,0,...,0,0), f(0,0,...,0,1), f(0,0,...,1,0), f(0,0,...,1,1),..., f(1,1,...,0,0), f(1,1,...,0,1), f(1,1,...,1,0), f(1,1,...,1,1). Этот набор называют вектором значений функции. Таким образом, значений функций n переменных столько, сколько различных двоичных наборов длины n. А их 2n. Количество различных функций n переменных будет определяться 2n x1 x1 x2 x1 | x2 1 0 1 0 0 х2 x1 0 0 1 1 x2 0 0 1 0 x1 x2 0 0 0 1 0 0 0 0 x1 x2 0 1 0 1 x1 x2 0 0 1 1 x1 x2 1 1 x2 1 0 x1 0 1 x1 & x2 0 0 x2 о x 0 1 x1 0 x 1 x по формуле 2 . Функций от одной переменной четыре (таблица 1). Функций от двух аргументов шестнадцать. Приведем их в следующей таблице (таблица 2): Таблица 1 Таблица 2 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 x1 & x2=х1 х2 называется конъюнкцией, x1 x2 – дизъюнкцией, x1 x2 – импликацией, x1 x2 – эквивалентностью, x1 x2 – суммой по модулю 2 (или суммой Жегалкина), x1 | x2 – штрихом Шеффера, x1 x2 – стрелкой Пирса. Как видим, функции от некоторого числа переменных можно рассматривать как функции от большего числа переменных. При этом значения функции не меняется при изменении этих «добавочных» переменных. Такие переменные называются фиктивными, в отличие от остальных – существенных. Переменная xi называется фиктивной (несущественной) переменной функции f(x1,···,xn), если f (x1,···,xi-1,0,xi+1,···,xn) = f (x1,···,xi-1,1,xi+1,···,xn), для любых значений x1,···, xi-1, xi+1,···, xn. Иначе переменная xi называется существенной. Операция равенства функций осуществляется с точностью до существенных переменных (т.к. фиктивные переменные можно добавлять в любом количестве). Примеры решения задач 281) Даны функции: f1(x1, x2)=(0,1,1,1), f2(x1, x2, x3)=(0,1,1,1,0,1,1,1) f3(x1, x2, x3)=(0,0,1,1,1,1,1,1). Какие из этих функций можно считать равными? и Решение. Добавим к f1(x1, x2) фиктивную переменную х3. Построим для всех трех функций одну таблицу значений и сравним значения данных функций на одних и тех же наборах переменных. Из таблицы видно, что f1≠ f2, но f1= f3. 75 x1 x2 x3 0 0 0 f1(x1, x2) 0 f2(x1, x2, x3) 0 f3(x1, x2, x3) 0 0 0 1 0 1 0 0 1 0 1 1 1 0 1 1 1 1 1 1 0 0 1 0 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 282) Какие переменные функции f = (1,1,1,1,0,0,0,0) являются фиктивными, а какие существенными? Решение. Задана функция трех переменных. Чтобы легче было определять значение функции на наборе, построим таблицу. x1 x2 x3 f Переменная x1 будет фиктивной (несущественной) переменной функции f(x1,х2,x3), если f(0,x2,x3) = 0 0 0 1 f(1,x2,x3), для любых значений x2, x3. Иначе 0 0 1 1 переменная x1 будет существенной. Проверим 0 1 0 1 следующие равенства: 0 1 1 1 x2=0, x3=0: f (0,0,0) = f (1,0,0)1=0 – равенство 1 0 0 0 неверно, следовательно, переменная x1 – 1 0 1 0 существенная. Проверять остальные значения x2, x3 в 1 1 0 0 данном случае не нужно, т. к. условие «для любых 1 1 1 0 значений x2, x3» не выполнилось уже на первом шаге. Переменная x2 будет фиктивной переменной функции f(x1,х2,x3), если f(x1,0,x3) = f(x1,1,x3), для любых значений x1, x3. х1=0, x3=0: f (0,0,0) = f (0,1,0)1=1 Все полученные равенства х1=0, x3=1: f (0,0,1) = f (0,1,1)1=1 верны, следовательно, х1=1, x3=0: f (1,0,0) = f (1,1,0)0=0 переменная x2 фиктивная х1=1, x3=1: f (1,0,1) = f (1,1,1)0=0 Переменная x3 будет фиктивной переменной функции f(x1,х2,x3), если f(x1,x2,0) = f(x1,x2,1), для любых значений x1, x2. х1=0, x2=0: f (0,0,0) = f (0,0,1)1=1 Все полученные равенства х1=0, x2=1: f (0,1,0) = f (0,1,1)1=1 верны, следовательно, х1=1, x2=0: f (1,0,0) = f (1,0,1)0=0 переменная x3 фиктивная х1=1, x2=1: f (1,1,0) = f (1,1,1)0=0 Задачи для самостоятельного решения 283) a) b) c) 76 Какие переменные являются фиктивными, а какие существенными? f = (1,1,1,1,0,0,0,0); d) f = (0,1,0,1,0,1,0,1); f = (0,0,1,1,0,0,1,1); e) f = (1,1,0,0,1,1,0,0); f = (0,0,1,1,1,1,0,0); f) f = (1,1,1,0,1,0,1,1). 284) Укажите существенные и фиктивные переменные функции f(x,y,z), заданной вектором значений: a. f = (1,1,0,0,0,0,1,1); c. f = (0,0,0,1,1,0,0,0); b. f = (1,0,0,1,1,0,0,0); d. f = (1,0,0,1,1,0,0,1); 285) Постройте таблицу функции f: a. f ( x, y) ( x y) & ( y x); b. f ( x, y, z ) ( x & y) ( x & z ) ( y & z ); c. f ( x, y, z ) ( x & y ) ( x & z ) ( y & z ); d. e. f. f ( x, y, z ) ( x & y ) ( x & z ) ( y & z ); f ( x, y) ( x | y) ( x | y). f ( x, y) x | ( x y). 286) Найдите количество функций n переменных, принимающих значение 1 ровно на одном наборе. 287) Найдите количество функций n переменных, противоположных наборах* одинаковые значения. принимающих на 3.1.2. Суперпозиция функций Суперпозицией булевых функций f0 и f1, ..., fn называется функция f(x1,...,xm) = f0(g1(x1,...,xm), ..., gk(x1,...,xm)), где каждая из функций gi(x1, ..., xm) либо совпадает с одной из переменных (тождественная функция), либо – с одной из функций f1, ..., fn. Другими словами, суперпозиция – это подстановка функции в функцию. Например, функция f(x,y) = (x & y) является суперпозицией функций и &. Одна и та же функция может быть реализована различными формулами, которые будем называть равносильными. Следующие равносильности могут быть проверены прямым сравнением значений функций в левой и правой части соотношения на всевозможных наборах аргументов. 1. x & y = y & x; x y y x ; x y y x ; 2. x & (y & z) = (x & y) & z; x ( y z ) ( x y ) z ; x ( y z ) ( x y ) z ; 3. x ( y & z ) ( x y ) & ( x z ) ; x & ( y z ) ( x & y ) ( x & z ) ; 9. x 0 x ; x 1 1; 4. x x ; 10. x y ( x & y ) ( x & y ) ; 5. ( x & y ) x y ; ( x y ) x & y ; 11. x y x y ; 6. x & x x ; x x x ; 12. x y ( x & y ) ( x & y ) . 7. x & x 0 ; x x 1 ; 8. x & 0 = 0; x & 1 = x; Примеры решения задач 288) Упростить выражение: ( x & y ) y . Решение. ( x & y ) y ( x y ) y x ( y y ) x 1 1. Задачи для самостоятельного решения 289) Проверьте, справедливы ли следующие соотношения: a. x ( y z ) ( x y) ( x z ); e. x & ( y z ) ( x & y ) ( x & z ); b. x ( y z ) ( x y) ( x z ); f. x ( y z ) ( x y ) ( x z ); c. x ( y & z ) ( x y) & ( x z ); g. x ( y z ) ( x y) ( x z ). d. x (y & z) = (x y) & (x z) 77 290) Докажите равенства: a. x ( y & z ) ( x y) & ( x z ) ; b. x y ( x & y ) ( x & y ) . 291) Упростите выражение: a. ( x & y) y ; b. x ( x & y) ; c. x & y & z x & y & z x & y & z x & y & z . c. d. x y ( x & y) ( x & y) ; x & ( y z) ( x & y) ( x & z) . 292) По функциям f и g, заданным векторно, построить векторное задание функции h: a) f = (1,1,1,0), g = (1,0,1,1), h(x,y,z) = f (x,y) & g (z,y); b) f = (0,0,1,0), g = (0,1,0,0), h(x,y,z) = f (g (x,y),z). c) f = (1,1,1,0), g = (1,0,0,0), h(x,y,z) = f(g(x,y),g(y,z)) 3.1.3. Двойственные функции Симметрия элементов 0 и 1 в множестве B приводит к понятию двойственности. Функция g ( x1,..., xn ) f ( x1,..., xn ) называется двойственной функцией к функции f и обозначается f *. Двойственными являются, например, x y и x ↔ y, задаваемые векторами (0,1,1,0) и (1,0,0,1). Теорема. Функция, двойственная к двойственной функции f равна самой функции f. Теорема. (Принцип двойственности). Функция, двойственная к суперпозиции функций, равна суперпозиции двойственных функций. Функция f называется самодвойственной, если она равна своей двойственной: f=f*. Например, самодвойственны функции: х, x, xy xz yz , xy xz yz . А функции: 0, 1, x | y, x y, x y, x y , x & y, x y, x y не являются самодвойственными. Примеры решения задач 293) Построить функцию, двойственную данной. Решение. Рассмотрим, что происходит с таблицей двойственной функции. Замена набора (x1,...,xn) на ( x1,..., xn ) соответствует «переворачиванию» таблицы. Действительно, наборы (x1,...,xn) и ( x1,..., xn ) расположены симметрично относительно середины таблицы. Теперь остаётся применить операцию отрицания к результату функции, т.е. поменять 0 на 1 и 1 на 0. Т.о. вектор значений функции, двойственной к исходной, получается из вектора исходной функции переворачиванием и заменой 0 на 1, а 1 на 0. 294) Является ли функция f(x, y, z)=(0,0,0,1,0,1,1,1) самодвойственной? Решение. Действуем по следующему алгоритму: 1. Строим в одной таблице функции f(x, y, z), f ( x, y, z ) и f 78 * f ( x, y , z ) . x y z f f ( x, y , z ) 0 0 0 0 1 0 0 1 1 0 0 1 0 1 0 0 0 0 1 0 1 1 1 0 1 f * f ( x, y , z ) 0 0 0 1 0 2. Убедимся, что на одинаковых 1 0 1 1 1 1 0 1 наборах f = f*. В данном примере, как видно из таблицы, функция является 1 1 1 1 самодвойственной. 0 0 1 1 0 1 Задачи для самостоятельного решения 295) Найдите функции, двойственные к функциям: c) (x & (y z)) x; а) ( x y) ( y | z) ( x & z). d) х | y. b) ху 296) Являются ли функции самодвойственными? а) f(x, y, z)=(0,0,0,1,0,1,1,1) b). f(x, y, z)=(1,1,0,1,0,1,0,0)? 3.1.4. Разложение функций по переменным. Нормальные формы Часто при разработке устройств инженер получает задание: вот таблица входных и выходных значений, нужно создать схему устройства. Существует два стандартных способа представления функций: СДНФ, СКНФ и полином Жегалкина. Одну и ту же булеву функцию можно задать различными формулами. Нормальная форма – это синтаксически однозначный способ записи заданной функции. Введём обозначение: x, если 0, x х, если 1 Элементарной конъюнкцией называется произведение переменных или их отрицание, где переменные не повторяются. Например, x y, x z t даже если функция f(x,y,z,t). Дизъюнктивная нормальная форма это дизъюнкция элементарных конъюнкций, где слагаемые не повторяются. Например, x yz , xyz yz z . Теорема. (Совершенная дизъюнктивная нормальная форма). Любую функцию f(x1,...,xn)≠ 0 для любого n можно представить в виде: по в сем наборам 1 ,...., n , на которых f (1 ,..., n ) 1 x11 & x2 2 & ... & xn n x11 x2 2 ... xn n Теорема. (Совершенная конъюнктивная нормальная форма). Любую функцию f(x1,...,xn)≠1 для любого n можно представить в виде & по в сем наборам 1 ,...., n , на которых f (1 ,..., n ) 0 x11 x2 2 ... xn n . Таким образом, любая булева функция может быть представлена суперпозицией конъюнкции, дизъюнкции и отрицания. Разложение по всем переменным в дизъюнкцию называется совершенной дизъюнктивной нормальной формой (СДНФ) функции, а в конъюнкцию – совершенной конъюнктивной нормальной формой (СКНФ). Алгоритм приведения к СДНФ: 1. Построить таблицу значений функции. 2. Выделить все наборы переменных, где f=1. 79 3. Для каждого такого набора построить произведение x1 1 & x2 2 & ... & xn n . 4. Полученные конъюнкции объединить знаком дизъюнкции. Алгоритм приведения к СКНФ: 1. Построить таблицу значений функции. 2. Выделить все наборы переменных, где f=0. 3. Для каждого такого набора построить дизъюнкции x1 1 x2 2 ... xn n . 4. Полученные дизъюнкции объединить знаком конъюнкции. Примеры решения задач 297) Построить совершенную дизъюнктивную нормальную форму функции, заданной следующей таблицей. x y z f 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 1 1 0 0 0 1 0 1 1 x0&y1&z1= x & y & z 1 1 0 1 1 1 1 1 x0&y1&z1= x & y & z x0&y1&z1= x & y & z x0&y1&z1= x & y & z Решение. Наборы, на которых функция равна 1 – это (0,1,1), (1,0,1), (1,1,0), (1,1,1). Первый набор даёт конъюнкцию x & y & z , второй – x & y & z , третий x& y& z. – четвёртый – В результате получаем x& y& z, x & y & z x & y & z x & y & z x & y & z x yz x yz xy z xyz . Задачи для самостоятельного решения 298) Найдите совершенную дизъюнктивную нормальную форму следующих функций: a) f1(x,y,z) = (1,1,0,1,0,0,0,0); d) f1(x,y,z) = (0,0,0,1,0,1,0,1); b) f2(x,y,z) = x & y & z; e) f3(x,y,z) = x y z . c) f4(x,y,z) = ( x & y ) z . 299) : Найдите совершенную конъюнктивную нормальную форму следующих функций: a) f1(x,y,z) = (1,1,0,1,0,0,0,0), c) f1(x,y,z) = (0,1,0,1,0,0,1,0), b) f3(x,y,z) = x y z . d) f2(x,y,z) = x y z . 300) Найдите количество дизъюнктивных членов дизъюнктивных нормальных формах следующих функций: a) f1(x1,...,xn) = x1 x2 ... xn . b) f1(x1,...,xn) = x1 x2 ... xn , c) f2(x1,...,xn) = ( x1 x2 ... xn ) & ( x1 x2 ... xn ) . 80 в совершенных 3.1.5. Минимизация нормальных форм. Карты Карно Зачем минимизировать схемы? Обычно на предприятиях микросхемы производятся огромными тиражами. Если сэкономить хотя бы один элемент, то весь тираж удешевляется ощутимо. Минимальная или сокращенная ДНФ получается из совершенной нормальной формы удалением некоторых элементарных конъюнкций. Для представления булевой функции таком виде необходимо сначала представить ее в совершенном виде и только затем минимизировать. Карты Карно являются одним из наиболее удобных способов минимизации. Это специальные таблицы, дающие возможность упростить процесс поиска минимальной формы булева выражения с помощью графического представления для п 6. Они имеют вид прямоугольника, разделенного на 2n клеток, в каждой из которых — двоичный n-мерный набор значений функции F из таблицы истинности. Для n = 2 карта Карно имеет вид таблицы, состоящей из 22 = 4 клеток. Логическая функция на карте Карно представлена совокупностью клеток, x1 x1 заполненных единицами (1) или пустотами (0), если известны ее значения при всем наборе аргументов, т.е. известна таблица истинности или x2 СДНФ. При п = 3 карты Карно имеют вид таблицы с 23 = 8 = 2 • 4 x2 клетками. Для построения минимальной ДНФ производится «склеивание» единиц. Склеиваются только соседние клетки, которые отличаются значением только одной переменной. Процесс сводится к объединению в группы единичных клеток карт Карно. При этом общие переменные сохраняются, а различные опускаются. Алгоритм «склеивания» с помощью карт Карно. 1. Нанести единицы на карту Карно. 2. Объединить соседние единицы контурами, охватывающими 2т клеток, где т = 0, 1, 2, 3. При этом может оказаться, что единица попадает одновременно в два контура. Если контур охватывает более одной пары единиц одновременно, то предпочтительнее его не дробить на пары, а рассматривать как единый целый контур, например квадрат. 3. Провести упрощения, т.е. исключить члены, дополняющие друг друга до 1 внутри контура, следя за тем, чтобы переменные внутри контура были связаны операцией конъюнкции. 4. Объединить оставшиеся члены (по одному в каждом контуре) функцией дизъюнкцией. 5. Записать полученное упрощенное булево выражение в ДНФ. \ Примеры решения задач 301) Найдите минимальную ДНФ для булевой функции с помощью карт Карно. f(x,y,z)= Решение. Нанесем единицы на карту (рис. 28) и обведем их сначала попарно двумя контурами. Такое действие соответствует заключению в скобки слагаемых ( x y z x yz ) и ( xy z xyz). Вынося за скобки одинаковые конъюнкции согласно распределительному закону, в скобках получаем дизъюнкцию противоположных значений одной из переменных. В данном примере этому шагу соответствуют конъюнкции x y ( z z ) и xy( z z ). . Поэтому объединение двух соседних единиц всегда приводит к закону инверсии, согласно которому дизъюнкция противоположных значений переменной равна 1. Поэтому при записи ответа после применения карты Карно переменные, заключенные в общий контур, связываются конъюнкцией (как и общий множитель при вынесении за скобки), а такие отдельные конъюнкции, т.е. различные контуры, объединяются между собой дизъюнкцией. Если записать полученный результат, то, очевидно, к нему вновь можно применить то же правило: f ( x, y, z ) x y xy y . 81 xy xy xy z 1 1 z 1 1 xy Рис. 28 Однако в данном примере удобнее рассмотреть целиком весь квадрат из четырех единиц и сравнить переменные, записанные на горизонтальных и вертикальных клетках. Очевидно, общие множители сохранятся после упрощения (ведь их можно было вынести за скобки), а инвертируемые уйдут согласно закону инверсии. Задачи для самостоятельного решения 302) Найдите минимальную ДНФ для булевой функции с помощью карт Карно. a) f ( xyzt) x y zt x y zt x y zt x yzt x yzt x y zt; b) f ( x1 x2 x3 x4 ) x1 x2 x3 x4 x1 x2 x3 x4 x1 x2 x3 x4 x1 x2 x3 x4 ; c) f ( x1 x2 x3 x4 ) x1 x2 x3 x4 x1 x2 x3 x4 x1 x2 x3 x4 x1 x2 x3 x4 ; d) f ( x1 x2 x3 x4 ) x1 x2 x3 x4 x1 x2 x3 x4 x1 x2 x3 x4 x1 x2 x3 x4 ; e) f ( x1 x2 ) x1 x2 x1 x2 x1 x2 ; f) f ( x1 x2 x3 ) x1 x2 x3 x1 x2 x3 x1 x2 x3 x1 x2 x3 ; g) f ( xyzt) x y zt x y zt x yzt x yz; Вопросы для повторения 1. Понятие булева функция. Булевы функции от двух переменных, их таблицы истинности. 2. Способы задания булевых функций. Определения эквивалентных формул. Примеры. 3. Основные тождества булевой алгебры. Примеры их использования. 4. Понятие функции, двойственной к данной. Пример нахождения функции, двойственной к данной. 5. Понятие самодвойственной функции. Алгоритм проверки, является ли функция самодвойственной. Пример. 6. Понятие элементарной дизъюнкции. Теорема о представлении функции в виде СКНФ. Алгоритм приведения булевой функции к СКНФ. Пример. 7. Понятие элементарной конъюнкции. Теорема о представлении функции в виде СДНФ Алгоритм приведения булевой функции к СДНФ. Пример. 8. Понятие минимальной ДНФ. Способы получения минимальной ДНФ. Пример. 82 3.2. Полные системы функций 3.2.1. Полнота множества функций. Примеры полных систем Система функций {f1, f2, …, fn} называется полной, если любую функцию булевой алгебры можно реализовать в виде формулы над этой системой функций. Система ,&, - полная. Это следует из теоремы о представлении функции в виде СДНФ. Теорема. Пусть даны две системы функций: F={f1, f2, …} и G={g1, g2, …}. Если система F полна и все функции из F можно выразить в виде суперпозиции функций системы G, то система G тоже полна. Примеры решения задач 303) Доказать, что система функций , - полная. Доказательство: Известно, что F= ,&, G= , - полна. Чтобы доказать, что - полна, нужно выразить любую функцию f i F через функции системы G: x & y x y , а дизъюнкция и отрицание из F есть в системе G. 304) Доказать, что система функций x | yполна. Решение. Известно, что F= &, -полная. Выразим конъюнкцию и отрицание через штрих Шеффера: x x | x, x & y x | y ( x | y ) | ( x | y ). Задачи для самостоятельного решения 305) Доказать, что следующие системы функций полные: a) 1, &, ; c) 0, 1, &, . b) , ; d) , . 3.2.2. Базисы Полная система функций F={f1, f2, …} является базисом, если она минимальная, то есть F – полная, а F/=F\{fi} – не полна для любой Например, fi F . ,&, - полна, но не базис, так как , - также полна. Примеры решения задач 306) Выясните, является ли система функций &, базисом. Решение. &, - базис. Так как &, - полна и и & не полны. Задачи для самостоятельного решения 307) Выясните, являются ли системы функций базисами. a) 1, &, ; c) , ; d) x y ; ; b) , ; e) ,&, . 83 3.2.3. Полиномы Жегалкина. Алгоритмы их построения для произвольных функций Алгебру <M, F>, где M={x1, x2, x3, …} и F= 0, 1, &, будем называть алгеброй Жегалкина. В алгебре Жегалкина выполняются следующие тождества: 4. x & x x ; x x 0 1. x & y = y & x; x y y x ; 5. x 0 x ; x & 0 = 0 2. x & ( y z ) ( x & y ) ( x & z ) ; 6. x1= x ; x & 1 = x. 3. x & (y & z) = (x & y) & z; x ( y z) ( x y) z ; Полиномом в булевой алгебре называют любое выражение, состоящее из суммы произведений переменных, где слагаемые не повторяются, переменные записаны без степеней и в произведениях не повторяются. Теорема. Любую функцию булевой алгебры можно выразить в виде полинома Жегалкина. Представление функции в виде полинома Жегалкина единственно. Алгоритм нахождения полинома Жегалкина для произвольной функции с помощью СДНФ: 1) Построить СДНФ для данной функции. 2) Произвести в СДНФ следующую замену: xi x j xi x j ; xi ( xi 1) . 3) Раскрыть скобки и привести подобные слагаемые. Алгоритм нахождения полинома Жегалкина для произвольной функции методом неопределенных коэффициентов: 1) Записываем общий вид полинома Жегалкина: f ( x1 , x 2 ) a0 a1 x1 a 2 x 2 a3 x1 x 2 для двух переменных; f ( x1 , x 2 , x3 ) a 0 a1 x1 a 2 x 2 a3 x3 a 4 x1 x 2 a5 x1 x3 a 6 x 2 x3 a 7 x1 x 2 x3 . для трех переменных. 2) Берем нулевой набор (0,0,0) и находим а0. 3) Рассматриваем все наборы с одной единицей: (1,0,0), (0,1,1), (0,0,1) и находим а1, а2, а3. 4) Рассмотрим все наборы с двумя единицами: (1,1,0), (1,0,1), (0,1,1) и находим а4, а5, а6.. 5) Рассматриваем набор (1,1,1) и находим коэффициент а7. Примеры решения задач 308) Построить полином Жегалкина неопределенных коэффициентов. для функции xy методом Решение. x y a0 a1 x a2 y a3 x y . (0,0): 0 0 1 a 0 a1 0 a 2 0 a3 0 0 a 0 1. (1,0): 1 0 0 1 a1 1 a 2 0 a3 1 0 a1 1. (0,1): 0 1 1 1 1 0 a 2 1 a3 0 1 1 1 a 2 a 2 0. (1,1): 1 1 1 1 1 1 0 1 a3 1 1 a3 1. Следовательно, x y 1 x x y . Задачи для самостоятельного решения 309) По заданной СДНФ функций построить полином Жегалкина: a) x y x y x y ; b) x y z x y z x yz xyz . 310) Построить полином Жегалкина с помощью СДНФ для функций: x y; a) c) ( x y ) z ; x y; b) d) (( x y ) ( x z )) ( x y ) . 84 Построить полином Жегалкина двумя способами для функций: c) x1x2 ( x1 x2 ) ; ( x1 x2 ) x1 ; d) f(x, y, z)=(1,0,0,1,0,0,0,1). (( xy) | ( x z )) ( x y ); Заданы следующие функции: 1) f(x,y)=(0,1,0,1); 2) ( x y ) z ; 3) (( x y ) ( x z )) ( x y) . a) Построить для них полином Жегалкина методом неопределенных коэффициентов. b) Выясните, имеют ли построенные полиномы следующий вид: а0+а1х1+а2х2+…+аnxn, ai 0, 1 . c) Построить для заданных функций двойственные им. Выясните, являются ли они самодвойственными. 311) a) b) 312) Вопросы для повторения 1. Алгебра Жегалкина. Свойства операций. Пример. 2. Алгоритмы представления булевой функции в виде многочлена Жегалкина. Примеры. 3. Понятие полная система функций. Теорема о полноте системы функций. Примеры полных и неполных систем. 4. Понятие базис полной системы функций. Примеры. 85 3.3. Пять важнейших замкнутых классов. Теорема Поста 3.3.1. Понятие замкнутых классов Пусть дано множество функций F={f1, f2, …}. Замыканием этого множества называют множество [F], полученное из данного с помощью операции суперпозиции. Множество функций К называют замкнутым классом, если K=[K]. Например, класс {0,1} – замкнут. Замкнуты классы: {0,1,x}, x, x , множество всех функций булевой алгебры. Незамкнуты классы: x , 0, x, x , x | y . 3.3.2. Классы Т0, Т1, L, S, М Класс Т0. Будем говорить, что функция f{х1, х2, …, хn} сохраняет ноль, если f(0,0,…,0)=0. В класс Т0 включим все функции, сохраняющие ноль. Чтобы выяснить, принадлежит ли функция классу Т0, нужно убедиться, что значение этой функции на нулевом наборе равно нулю. Теорема. Класс Т0 замкнут. Сохраняют ноль функции: 0, х, x y, x & y, x y . Не сохраняют ноль функции: 1, x, x y, x y, x | y, x y . Класс Т1. Будем говорить, что функция f{х1, х2, …, хn} сохраняет единицу, если f(1,1,…,1)=1. В класс Т1 включим все функции, сохраняющие единицу. Чтобы выяснить, принадлежит ли функция классу Т1, нужно убедиться, что значение этой функции на единичном наборе равно единице. Теорема. Класс Т1 замкнут. Сохраняют единицу функции: 1, х, x y, x & y, x y, x y . Не сохраняют ноль функции: 0, x, x | y, x y, x y . Класс L. В класс L включим все функции булевой алгебры, для которых полиномы Жегалкина не содержат произведения переменных, то есть полином Жегалкина имеет вид: а0+а1х1+а2х2+…+аnxn, a i 0, 1 . Чтобы выяснить вопрос принадлежности заданной функции классу L, нужно построить полином Жегалкина и посмотреть, имеет ли он нужный вид. Теорема. Класс L замкнут. Принадлежат данному классу L: 1, 0, x, x , x y, x y . Не принадлежат данному классу: x & y, x y, x | y, x y, x y . * Класс S. Функция f называется самодвойственной, если она равна своей двойственной: f=f . В класс S включим все самодвойственные функции. Алгоритм проверки принадлежности функции к классу S состоит в нахождении функции, двойственной к данной (этот алгоритм был рассмотрен ранее) и проверке равенства f=f*. Теорема. Класс S замкнут. К самодвойственным функциям относятся: х, x, xy xz yz, xy xz yz . А функции: 0, 1, x | y, x y, x y, x y , x & y, x y, x y не являются таковыми. Класс М. На множестве всех двоичных наборов введем частичный порядок. Будем ~ ~ говорить, что набор ~ (1 , 2 , ..., n ) предшествует набору (1 , 2 , ..., n ) (т.е. ~ ), если 1 1 , 2 2 , ..., n n . Функция f(x1, x2, …, xn) является монотонной, если для любых наборов ~ ~ ~ ~ (1 , 2 , ..., n ) и (1 , 2 , ..., n ) из того, что ~ следует, что f (~ ) f ( ) . В класс М включим все монотонные функции. Теорема. Класс М замкнут. 86 Алгоритм выяснения факта монотонности некоторой функции неэффективен. Но если ~ ~ указать на два набора ~ , для которых f (~ ) f ( ) , то можно сделать вывод, что заданная функция не монотонна. Принадлежат данному классу M: 1, 0, x, x & y, x y . Не принадлежат данному классу: x, x y, x y, x y, x | y, x y . Задачи для самостоятельного решения 313) Даны функции. Принадлежат ли заданные функции классам Т0, Т1, L, S, M? a) f=(1,1,0,1,1,1,1,0); c) f=(0,1,1,1,1,1,1,1); d) ( x1 x2 )( x2 x1 ) x3 . b) x1x2 ( x1 x2 ) ; 314) Принадлежат ли функции классам T0 T1, T0 T1, T0 \ T1, T1 \ T0 , T0 , T1 ? a) ( x y)( y z) ( z y) b) (( x y) ( x | yz )) (( y z ) x) 3.3.3. Теорема Поста Возникает вопрос, можно ли с помощью определенного набора логических элементов реализовать требуемую схему? На языке алгебры логики эту задачу можно сформулировать следующим образом: можно ли любую функцию выразить через имеющиеся или существует ли минимальный набор функций, с помощью которого можно выразить любую функцию? Эту задачу в 1921 году решил Пост. Теорема. Система булевых функций F полна тогда и только тогда, когда она содержит хотя бы одну функцию, не сохраняющую ноль, хотя бы одну функцию, не сохраняющую единицу, хотя бы одну не самодвойственную функцию, хотя бы одну не монотонную функцию и хотя бы одну нелинейную функцию. Примеры решения задач 315) Выясните, полна ли система функций x y, x y z? Решение данной задачи будем оформлять в виде таблицы. В соответствующей ячейке будем ставить *, если функция не принадлежит указанному классу. Т0 Т1 L S M x y * * * * x yz * * * * * Получили, что в каждом столбце есть хотя бы одна звездочка, т. е. нашлась хотя бы одна функция, не сохраняющая ноль, хотя бы одна функция, не сохраняющая единицу, хотя бы одна не самодвойственная функция, хотя бы одна не монотонная функция и хотя бы одна нелинейная функция. Следовательно, по теореме Поста, система функций полна. Задачи для самостоятельного решения 316) Пользуясь теоремой Поста, Выясните: полна ли система, является ли она базисом, если нет, то выделить базис. x y , x yz ; a) x y, x y z; c) d) (0,1,1,0,1,0,0,1), (1,0,0,0,1,1,0,1), (0,0,0,1,1,1,0,0) b) 0, 1, x( y z ) x( y z ); 87 Вопросы для повторения 1. Понятия класс функций, замкнутый класс. Примеры. 2. Класс функций, сохраняющих ноль: Понятия, примеры функций, сохраняющих и не сохраняющих ноль, алгоритм проверки на принадлежность функции данному классу. Теорема о замкнутости данного класса. 3. Класс функций, сохраняющих единицу: Понятия, примеры функций, сохраняющих и не сохраняющих единицу, алгоритм проверки на принадлежность функции данному классу. Теорема о замкнутости данного класса. 4. Класс самодвойственных функций: Понятия, примеры функций, принадлежащих и не принадлежащих данному классу, алгоритм проверки на принадлежность функции данному классу. Теорема о замкнутости данного класса. 5. Класс линейных функций: Понятия, примеры функций, принадлежащих и не принадлежащих данному классу, алгоритм проверки на принадлежность функции данному классу. Теорема о замкнутости данного класса. 6. Класс монотонных функций: Понятия, примеры функций, принадлежащих и не принадлежащих данному классу, алгоритм проверки на принадлежность функции данному классу. Теорема о замкнутости данного класса. 7. Теорема Поста. Пример её применения для определения полноты системы функций, для нахождения базиса данной системы. 3.4. Анализ и синтез -схем 3.4.1. Понятие -схемы Рассмотрим как разновидность булевой алгебры – алгебру параллельнопоследовательных контактных схем (так называемых -схем). Контактная схема – математическая модель реального управляющего устройства, которое в зависимости от значений управляющих сигналов обладает или не обладает электрической проводимостью, т.е. устройство, также как и каждый его управляющий сигнал принимают одно из двух возможных состояний. Т.о., устройство такого рода реализует функциональное преобразование, сопоставляя любому набору значений двоичных управляющих сигналов двоичный выходной сигнал. Каждая -схема реализует функцию алгебры логики. Всей схеме ставится в соответствие булева переменная y, которая равна 0, если схема не проводит ток и 1 –если проводит, т.о y является функцией от переменных х1, x2, …, хn, соответствующих контактам. Эта функция называется функцией проводимости схемы, а её таблица – условиями работы. Две схемы называются равносильными, если при одинаковых наборах значений управляющих сигналов они имеют одинаковые значения проводимостей. Из двух равносильных схем более простой считается та, в которой меньше контактов. Булева алгебра и алгебра переключательных схем одинаково устроены (изоморфны). Этот изоморфизм может быть использован при решении задач следующих двух типов, которые условно назовем анализ схем и синтез схем. Примеры решения задач 317) Найдите функции проводимости следующих схем: а 88 x b x y c Рис. 29 y d Решение. Объекты на рис. 29, a-d - -схемы. Они имеют по два полюса а и b, соединенные непосредственно (рис. 29,а) или не соединенные (рис.29, b). Эти две схемы не имеют управляющих переменных, им соответствуют две логических константы: 0 и 1. Схема на рис.29,с проводит ток только в одном случае, когда оба контакта замкнуты, что соответствует функции xy. Схема на рис. 29,d проводит ток тогда, когда хотя бы один контакт замкнут, что соответствует функции xy. Задачи для самостоятельного решения 318) Найдите функции проводимости следующих -схем: x x a z v z y y b z t y x x c u z y y d x z x y z s e x y y z y x x t y y z Рис. 30 319) Построить -схемы с заданными условиями проводимости. x( yz x y ); a) ( x y ) ( x( y z )). b) (( x y )( yz x)) uz; c) ( x ( y z )) (( xy) z ). d) 320) Проверить равносильность следующих схем (рис. 31): x x x x x y y y y y z z z z z x и x z Рис. 31 3.4.2. Задача анализа Анализ схем заключается в следующем. Для данной схемы составляется соответствующая формула, которая на основании законов логики упрощается и для нее строится новая более простая схема, которая (в силу отмеченного выше изоморфизма алгебр) обладает теми же электрическими свойствами, что и исходная схема. 89 Примеры решения задач 321) Минимизировать схему (рис. 32): x x y x y Рис. 32 Решение. Запишем соответствующую ей формулу и преобразуем ее равносильными преобразованиями. ( x ( x y )) ( x y ) x x y xy x xy x y x x y ( x x)( x y ) 1( x y ) x y. Таким образом, исходная схема равносильна изображенной на рис. 33: x y Рис. 33 Задачи для самостоятельного решения 322) Построить наиболее простые релейно-контактные схемы по заданным условиям работы: a) f(0;0;0)=f(1;0;1)=1; b) f(1;1;0)=f(0;0;0)=f(1;0;0)=1. 323) Постройте наиболее простую РКС, реализующую формулы: ( z x) ( x y ) . a) (( x y ) x) y . b) (( x y ) z ) ( xz y ). c) 324) Упростите релейно-контактную схему: x y z z y x y x z x z y z y x 3.4.3. Задача синтеза Синтез схем заключается в построении схем с заданными электрическими свойствами. Это делается так. На основании заданных электрических свойств строится формула алгебры высказываний, а по ней соответствующая схема. 90 Примеры решения задач 325) Актив студенческой группы, состоящий из трех человек, хочет применить электрическую схему для регистрации тайного голосования простым большинством голосов. Требуется построить такую схему, чтобы каждый голосующий "за" нажимал свою кнопку, а каждый голосующий "против" не нажимал соответствующей кнопки. В случае принятия решения должна загораться сигнальная лампочка. Решение. Пусть x, y, z — обозначают соответственно высказывания "1 - ый за", "2 - ой за", "3 - ий за". Составим таблицу истинности формулы f(x,y,z), которой будет соответствовать искомая схема. x y z f(x,y,z) 0 0 0 0 1 1 1 0 0 1 1 0 0 1 0 1 0 1 0 1 0 0 0 0 1 0 1 1 Т.к. в условии задачи задан принцип большинства, то сигнал должен загораться, если будет нажато две или три кнопки. В соответствии с этим, мы составим столбец значений функции: ставим 0, если в все значения аргументов нули или среди них есть одна единица, во всех остальных случаях ставим -1. 1 1 1 1 Выпишем функцию в виде СДНФ: f xyz xy z x yz x yz. И, наконец, составим схему, которая соответствует построенной формуле x y z x y z x y z x y z Рис. 34 (см. рис. 34.) Полученную в этом примере схему можно упростить, осуществляя ее анализ. Равносильными преобразованиями упрощаем формулу: f xyz xy z x yz x yz xy( z z ) ( x x)( x y )( x z )( y x)( y y )( y z )( z x)( z y ) ( z z ) xy z ( x y )( x z )( y z )( x z )( y z )( x y ) xy z ( x y )( x y ) xy z ( x y )( xy) ( xy z )( xy x y )( xy xy) ( xy z )( x y ). Так как нам известен вектор значений функции, то упрощение можно было проводить, используя карты Карно: yz x x yz 1 yz 1 1 yz 1 Рассматривая выделенные контуры, получим минимальную ДНФ, f xz xy yz . Преобразуем: f xz xy yz xy z ( x y ) ( xy z )( xy x y ) ( xy z )( x y ) . Упрощенная схема приведена на рис. 35 91 x y z x y Рис. 35 Задачи для самостоятельного решения 326) Постройте наиболее простую РКС с тремя переключателями, которая проводит ток тогда и только тогда, когда замыкается ровно 1 выключатель. 327) Постройте наиболее простую РКС с тремя переключателями, которая проводит ток тогда и только тогда, когда замыкается ровно два выключателя. 328) Постройте схему для машины голосования комитета из 4-х человек. Решение принято тогда и только тогда, когда не менее 3 членов комитета голосуют «за». 329) В распоряжении двух играющих имеется по одному пульту. На каждом установлен переключатель. Каждый игрок переводит выключатель в одно из положений «включено-выключено». Если оба переключателя находятся в одинаковом положении – выигрывает первый игрок, в противном случае – второй. Изобразить схему цепи, в которой бы при выигрыше первого игрока зажигалась бы лампочка h1, в другом случае – h2. 330) Комитет состоит из 4-х человек, один из которых председатель. Предложите схему цепи для «машин голосования». Каждый член комитета нажимает кнопку, если с решением согласен. Лампочка должна зажигаться, если за предложение подано большинство голосов или голоса разделились поровну, но «за» проголосовал председатель. 331) Жюри состоит из председателя и 4–х членов. Решение принято, если за него проголосовало не менее 3-х человек. Председатель имеет право «вето». Это значит, что решение не будет принято, если председатель проголосует «против». Построить схему цепи для машины голосования. 332) Имеется одна лампочка в лестничном пролете двухэтажного здания. Постройте схему так, чтобы на каждом этаже своим выключателем можно было бы гасить и зажигать лампу независимо от положения другого переключателя. 333) Необходимо, чтобы в большом зале можно было включать и выключать свет при помощи любого из трех переключателей, расположенных на трех стенах. Составьте такую схему. 334) Группа студентов сдает зачет, состоящий из 4-х вопросов, требующих установить истинность или ложность каких-то утверждений. Построить схему, позволяющую отвечать на каждый вопрос нажатием или ненажатием 92 соответствующей кнопки. Схема должна при этом показывать количество правильных ответов. 335) Составьте схему с четырьмя переключателями, которая проводит ток тогда и только тогда, когда замыкаются не все переключатели, а только некоторые из них. 336) Начертите схему с 5 переключателями, которая замыкается, если и только если замкнуты ровно 4 из этих переключателей. 3.4.4. Логические схемы В курсе дискретной математики мы рассматриваем функции, значения которых на определенных наборах 0 или 1. На самом деле в реальных устройствах различают сигналы различного уровня напряжения: сигнал менее 0.6 вольт расценивается как логический ноль, а сигнал более 2.5 вольт как логическая единица. В соответствии с ГОСТом элементарные функции изображаются следующим образом: При построении схемы по формуле нужно придерживаться некоторых правил. Схема строится слева направо или сверху вниз. Все линии на схеме должны быть прямыми и пересекаться или преломляться под прямым углом. Если на схеме линии пересекаются, но контакта нет, то пересечение обозначается так, как на рисунке 36. Если контакт есть, то изображают так, как показано на рисунке 37. Примеры решения задач 337) Построить логическую схему для функции xyz yz z . Решение. Можно построить схему так, как показано на рисунке 38, но в реальных схемах отрицание не отдельный элемент. Поэтому аккуратнее схема будет выглядеть так, как показано на рисунке 39. Вопросы для повторения 1. Применение булевых функции при синтезе и анализе релейно-контактных схем. Пример построения РКС по заданным условиям работы. 93 Глава 4. Элементы теории графов 4.1. Основные понятия теории графов 4.1.1. Способы задания графов. Основные понятия графов Способы задания графов: 1. Явное задание графа как алгебраической системы. 2. Геометрический 3. Матрица смежности 4. Матрица инцидентности 1.Граф проще определять как модель, носителем которой является множество вершин, а отношение – бинарное отношение смежности вершин. Тогда данный граф запишется как <{a,b,c,d}; {(a,b), (b,a),(b,c),(c,b),(a,c),(c,a),(c,d),(d,c)}>. В таком представлении ребру соответствуют две пары вершин (v1,v2) и (v2,v1), инцидентных данному ребру. Чтобы задать такое представление, достаточно для каждого ребра указать двухэлементное множество вершин – его мы и будем отождествлять с ребром. Для данного графа рёбра задаются множеством {{a,b},{b,c},{a,c},{c,d}} и граф мы будем записывать как пару (V,Х), где V – множество вершин, а Х – множество рёбер. 2. Геометрический 3.Матрица смежности 4. Матрица инцидентности a b c d u v w x 0 1 1 0 1 0 0 0 a a 1 0 1 0 1 1 1 0 b b 1 1 0 1 0 1 0 1 c c 0 0 1 0 0 0 1 1 d d Рис. 40 Две вершины графа vi и vj называют смежными, если существует ребро их соединяющее. Степенью вершины назовём удвоенное количество петель, инцидентных этой вершине плюс количество остальных инцидентных ей рёбер. Степень вершины будем обозначать deg v. Если deg v=1, то эта вершина называется висячей. Если deg v=0, то вершина называется изолированной. Теорема Эйлера (о сумме степеней вершин графа). Сумма степеней всех вершин графа равна удвоенному числу ребер deg vi 2m . Следствие: Число нечетных вершин любого графа четно. Это следствие имеет немало любопытных приложений. 1. Нечетное число знакомых в любой компании всегда четно. 2. Число вершин многогранника, в которых сходится нечетное число ребер, четно. 3. Число всех людей, когда-либо пожавших руку другим людям, нечетное число раз, является четным. Граф называется связным, если любые его две вершины можно соединить маршрутом. Компонентами связности графа называются подграфы данного графа, вершины которых являются классами эквивалентности отношения связанности в данном графе. Пустым называется граф без рёбер. Полным называется граф, в котором каждые две вершины соединены единственным ребром и обозначается Кn. К5 К3 К4 Рис. 41 Граф называется взвешенным, если каждому ребру приписаны веса (стоимости). 94 Если в множестве Х разрешается повторять пары и разрешаются пары вида (vi, vi) – петля, то такой граф называется псевдографом. Если в графе есть кратные ребра, но петли запрещены, то такой граф называют мультиграфом. Граф называется регулярным степени R (рис. 42), если степень каждой его вершины равняется R. Граф называется двудольным (рис. 43), если множество его вершин можно разбить на 2 подмножества так, что никакие две вершины одного подмножества не связаны. Рис.43 Рис. 42 Теорема. Граф будет двудольным тогда и только тогда, когда в нем нет циклов нечетной длины. (7,7) ; (7,1) 1 1 0 0 0 1 1 (6,7) 0 0 0 1 1 0 1 (4,5) , (4,6) , (5,6) 0 0 1 1 0 1 0 (4,4) 0 0 1 1 1 1 0 (3,5) 0 1 0 1 1 0 0 (3,4) 1 0 1 0 0 0 1 (2,7) 0 1 0 0 0 0 1 (1,2) , (2,3) Примеры решения задач 338) Граф G(V,X) с множеством вершин V={1,2,3,4,5,6,7} задан списком дуг: X={(1,2), (2,3), (2,7), (3,4), (3,5), (4,4), (4,5), (4,6), (5,6), (6,7), (7,1), (7,7)}. Постройте реализацию графа G. Постройте матрицы смежности и инцидентности. Укажите степени вершин и найдите цикломатическое число графа. 2 Решение. Графическая реализация G показана на рис. 44. Определим 1 3 степени вершин: deg V1=2, deg V2=3, deg V3=3, deg V4=5, deg V5=3, deg V6=3, deg V7=5. 7 4 Цикломатическое число графа равно 1+12-7=6. Матрица смежности и матрица 5 6 инцидентности будет выглядеть Рис. 44 так: 1 1 0 0 0 0 0 0 1 0 0 0 0 1 0 0 1 1 0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 1 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 1 1 0 Задачи для самостоятельного решения 339) Изобразите граф, чья матрица смежности имеет вид: 0 1 0 1 0 1 1 0 1 0 1 0 0 1 0 1 0 1 1 0 1 0 1 0 0 1 0 1 0 0 1 0 1 0 0 0 95 Опишите матрицу смежности полного графа Кn. 340) Задайте различными способами графы G1-G2, определенные ниже: a) G1 – тетраэдр; b) G3 – куб; 341) Введя подходящие обозначения вершин, для каждого из графов на рис. 45 подберите соответствующую матрицу смежности из перечисленных ниже. 0 1 1 0 1 0 0 1 1 0 0 1 0 1 1 0 0 1 1 0 1 0 1 1 1 1 0 1 0 1 1 0 0 1 0 0 1 0 1 1 0 1 0 1 0 1 1 0 Рис. 45 342) Граф G(V,X) с множеством вершин V={1,2,3,4,5,6,7} задан списком дуг: Постройте реализацию графа G. Постройте матрицы смежности и инцидентности. Найдите степени вершин. а) X= {(1,2), (1,4), (1,7), (2,2), (2,3), (2,6), (3,4), (4,5), (5,5), (6,7)}; б) X= {(1,5), (2,3), (2,7), (4,5), (4,6), (5,5), (5,6), (5,7) (6,6), (6,7)}; в) X= {(1,1), (1,5), (2,2), (2,3), (2,5), (2,7), (3,5), (4,6), (4,7), (5,6), (5,7)}; г) Х= {(1,1), (1,3), (2,5), (2,6), (3,6), (3,7), (4,4), (4,6), (5,6)}; д) X= {(1,3), (1,4), (2,3), (2,4), (2,7), (3,5), (3,6), (4,6), (6,6), (6,7)}. 4.1.2. Числовые характеристики графов Цикломатическим числом графа называется число связных компонент графа плюс число ребер минус число вершин: (G)=p+m-n. Смысл этого понятия заключается в следующем: это количество ребер, которые надо удалить, чтобы циклов в графе не осталось. Если граф связный, то формула такова: (G)=1+m-n, так как в связном графе одна компонента связности. Независимое внутренне-устойчивое множество вершин графа- это множество вершин, в котором: 1. никакие две вершины не соединены ребром; 2. это множество максимально, т.е. не содержится в другом внутренне устойчивом множестве этого графа. Независимое внутренне-устойчивое множество вершин графа – это наибольшее независимое (по количеству вершин) множество. Количество вершин во внутренне-устойчивом множестве называется числом внутренней устойчивости (G). На определенном этапе проектирования схем определяется множество внутренней устойчивости, сначала размещаются эти элементы, а потом все остальные. Множество вершин в графе называют внешне устойчивым, если: 1. любая вершина, которая не вошла в это множество, связана ребром хотя бы с одной из вершин этого множества. 96 2. Множество вершин минимально, т.е. нельзя удалить вершину, чтобы свойство минимальности не потерялось. Количество вершин во внешне-устойчивом множестве называется числом внешней устойчивости (G). Примеры практических задач, сводящихся к этой задаче: 1. В некотором закрытом учреждении имеется система коридоров. Каково минимальное количество камер слежения, чтобы они просматривали все коридоры. 2. Имеется некоторый набор стратегических пунктов. Какое минимальное число солдат надо расставить, чтобы контролировать все пункты. Примеры решения задач 343) Определить множества внутренней устойчивости графа на рисунке 46. 1 2 3 5 4 Рис. 46 Рис. 47 Решение. Алгоритм для нахождения внутренне устойчивого множества приближенный (жадный). Он заключается в следующем: сначала отсортировать вершины в порядке неубывания степеней, а потом просматривать отсортированный список и последовательно пытаться включить вершины по порядку в соответствии с требуемыми условиями. Множества внутренней устойчивости: {1, 5}, {3, 4}, {2, 3}. 344) Определить множества внешней устойчивости графа и число внешней устойчивости графа на рисунке 47. Решение. Алгоритм для нахождения внешне устойчивого множества также приближенный (жадный). Он заключается в следующем: сначала сортируют вершины в порядке невозрастания степеней, а потом просматривать отсортированный список и последовательно пытаться включить вершины по порядку в соответствии с требуемыми условиями. Внешне устойчивые множества: {5, 3}, {6, 5}, {4, 2, 6}. (G)=2. Задачи для самостоятельного решения 345) Для заданного графа определить его числовые характеристики: цикломатическое число, числа внешней и внутренней устойчивости, а также укажите по 3 множества внешней и внутренней устойчивости. 97 4.1.3. Операции с графами Дополнением графа G(V,X) называется граф G (V,X/) с теми же вершинами V, что и граф G, и имеющий те и только те ребра X/, которые необходимо добавить к графу G, чтобы он стал полным. Дополнением полного графа будет пустой граф, и наоборот. Объединением графов G1 = (V1, X1) и G2 = (V2, X2) называется граф G= G1G2, множество вершин которого V= V1 V2, а множество ребер Х=X 1 X 2 . Пересечением графов G1 и G2 называется граф G=G1G2, для которого Х= X1Х2 — множество ребер, a V=V1 V2 — множество вершин. Подграфом графа G=<V,X> называется граф G1=<V1,X1>, такой, что V1V, а Х1Х. Иначе говоря, подграф содержит некоторые вершины исходного графа и некоторые рёбра (только те, оба конца которых входят в подграф). Подграфом, порождённым множеством вершин V’ называется подграф, множество вершин которого – V’, а множество ребер – это все ребра, соединяющие вершины в графе G. Подграф называется остовным подграфом, если множество его вершин совпадает с множеством вершин самого графа, т.е. V1=V, а Х1Х Два последних определения дают два вида максимальности подграфов: максимальность множества вершин и максимальность множества рёбер. Примеры решения задач 346) Найдите дополнение заданного графа G. G Решение. В заданном графе пять вершин. Чтобы построить его дополнение, поступим в соответствии с определением следующим образом: отмечаем все пять вершин и проводим только те ребра, которых нет в исходном графе. G 347) Даны графы G1 и G2. Найдите объединение и пересечение этих графов. Решение. Придерживаясь следующие графы. соответствующих определений, Задачи для самостоятельного решения 348) Изобразите дополнение, если задана матрица смежности графа: 98 получаем 0 1 0 1 0 1 1 0 1 0 1 0 0 1 0 1 0 1 1 0 1 0 1 0 0 1 0 1 0 0 1 0 1 0 0 0 Опишите матрицу смежности дополнения полного графа Кn. 349) Какие из графов на рис. 48 могут являться подграфами графа из (предыдущей) задачи 348? Рис. 48. Кандидаты в подграфы 350) Найдите объединение, пересечение и дополнение графов G1 и G2 (рис. 49). Рис. 49 351) Изобразите граф на 6 вершинах и с 16 ребрами и выполните с ним следующие упражнения: 1) Изобразите подграф на 3 вершинах и с 10 ребрами. 99 2) Изобразите остовный подграф. 3) Изобразите подграф, порожденный множеством вершин V1, V3, V5, V6. 4.1.4. Изоморфизм графов Понятие изоморфизма для графов имеет наглядное толкование. Представим рёбра графов эластичными нитями, связывающими узлы – вершины. Тогда, изоморфизм можно представить как перемещение узлов и растяжение нитей. Изоморфные графы будем считать неразличимыми. Чтобы доказать, что соответствующие графы G1 и G2 изоморфны, достаточно указать соответствующий изоморфизм. Если же требуется доказать, что графы не изоморфны, то приходится перебирать все возможные взаимнооднозначные соответствия между множествами вершин (при |V1|=|V2|=n таких соответствий будет n!) или же находить устойчивые характеристики графов, не совпадающие у G1 и G2. Если дополнения графов изоморфны между собой, то исходные графы также будут изоморфны. При сложном изображении графов легче установить изоморфизм их дополнений. Свойства графа, сохраняющиеся при изоморфизмах (число вершин, число ребер, число вершин заданной степени, число циклов заданной длины и т.д.) называются инвариантами. К сожалению, полная система инвариантов (такой их набор, что совпадение всех инвариантов из этого набора для G1 и G2 гарантирует, что они изоморфны) до сих пор неизвестна. Примеры решения задач 352) Покажите, что следующие два графа изоморфны. Решение. Отображение, являющееся изоморфизмом легко представить как модификацию первого графа, передвигающую вершину d в центр рисунка. Рис. 50 353) Изоморфны ли следующие два графа? V1 V1 V2 V3 V4 V6 V2 V4 100 V5 V6 G V3 V5 Решение. Заданные графы изоморфны. Один из возможных в данном случае изоморфизмов задан нумерацией вершин и для наглядности показан стрелками. Задачи для самостоятельного решения 354) Проверьте, изоморфны ли графы. 355) Какие графы на рисунке 51 изоморфны между собой? а) б) в) г) Рис. 51 б а в Рис. 52 356) Постройте изоморфизм графов. 357) Определите, изоморфны ли графы на рис. 52. Построить их матрицы смежности. 358) Изоморфны ли графы, представленные на рис.53 между собой. Если да, 101 то укажите изоморфизм. Рис. 53 4.1.5. Маршрут. Виды маршрутов Маршрутом в графе G = <V,Х> называется последовательность вершин вида v0, v1, ..., vn-1, vn, где viV, i [0,n]. Вершины v0, vn называются связанными данным маршрутом (или просто связанными). Вершину v0 называют началом, а vn – концом маршрута. Если v0 = vn, то маршрут называют замкнутым. Число n называется длиной маршрута. Маршрут, в котором все рёбра попарно различны, называется цепью. Замкнутый маршрут, являющийся цепью, называется циклом. Маршрут, в котором все вершины попарно различны, называется простой цепью. Цикл, в котором все вершины, кроме первой и последней, попарно различны, называется простым циклом. Примеры решения задач 359) Приведите пример маршрута, цепи, простой цепи, цикла, простого цикла. Решение. Маршрут a,b,c,a,d в графе является цепью, но не является простой цепью и циклом. Маршрут d,c,a,b – простая цепь, но не цикл. Маршрут a,b,c,d – простой цикл, но не цепь. d c a b Рис. 54 Задачи для самостоятельного решения 360) Задан граф и последовательности вершин (рис. 55). Определите, какие из этих последовательностей являются маршрутами, цепями, простыми цепями, циклами, простыми циклами? 4 a) b) c) d) e) f) g) h) 102 (1, 2, 3, 4, 5,2,1,7,6,2,1,7,6); (6,7,1,2,6); (1,2,3,4,5,2,1,7,6); (1,2,3,4,5,2,6); (1,2,6); (1,7,6); (1,2,3,4,5,2,3,4,5,2,6,7,1,2,6,7,1); (1,2,3,4,5,2,6,7,1); 3 5 2 1 8 9 7 6 Рис. 55 i) (1,2,6,7,1); 361) На рис. 56 задан граф G. Выполните следующие упражнения: Составьте матрицу смежности. Постройте матрицу инцидентности. Укажите степени вершин графа и его цикломатическое число. Составьте три маршрута длины 5, различные цепь и простую цепь, соединяющие вершину V2 и вершину V5. e) Постройте простой цикл, содержащий вершину V4. a) b) c) d) Рис. 56 4.1.6. Расстояния в графе. Центры графа Расстоянием между двумя вершинами в графе G = <V,Х> называется длина кратчайшего маршрута, их связывающего. Матрица расстояний – квадратная матрица nn вида: V1 … Vj … Vn V1 : … : d(Vi, Vj) –расстояние между Vi . . . d(Vi, вершинами Vi и Vj . Vj) … Vn Диаметром графа D называется наибольшее из расстояний между вершинами графа. циклом. 103 Вершина, наибольшее из расстояний от которой до остальных вершин графа является наименьшим, называется центром графа, а расстояния – радиусами R. Если D=R, то все вершины центры. Примеры решения задач 362) Постройте матрицу расстояний, определите диаметр, радиус, центры графа, изображенного на рисунке 57. 1 2 3 4 5 6 Рис. 57 Решение. Строим матрицу расстояний 66. max В 1 2 3 4 5 6 каждой строке находим максимальное 0 1 2 2 3 4 4 расстояние и выписываем его в столбец max. 1 0 1 1 2 3 3 Максимальное число в столбце max – диаметр. 2 1 0 1 1 2 2 Минимальное число в столбце max – радиус. 2 1 1 0 2 3 3 Вершины, где в столбце max минимум – центры. 3 2 1 2 0 1 3 В данной задаче: D=4, R=2, центр – вершина 3. 4 3 2 3 1 0 4 Задачи для самостоятельного решения 363) Постройте матрицу расстояний, определите диаметр, радиус, центры графов, изображенных на рисунке 58. Рис. 58 4.1.7. Эйлеровы циклы Цикл, проходящий по каждому ребру графа ровно один раз, называется Эйлеровым. Граф, имеющий эйлеров цикл, тоже будем называть эйлеровым. Эйлеровых графов почти нет. Теорема. (Критерий эйлеровости графа). Связный граф является эйлеровым тогда и только тогда, когда степени всех его вершин – чётные числа. Кроме понятия эйлерова цикла, в задачах часто возникает необходимость нахождения цепи, проходящей по каждому ребру ровно один раз (снимается требование замкнутости). Такие цепи будем называть эйлеровыми цепями. Задачи на проведение эйлеровых линий без повторений и без отрыва карандаша от бумаги являются одним из математических развлечений. Теорема. В связном графе существует эйлерова цепь тогда и только тогда, когда граф содержит не более двух вершин нечётной степени. 104 Примеры решения задач 364) Построить эйлеров цикл для заданных графов. Решение. Для первого графа (Рис. 59) это a, ,b, e,d, c, f, a. Для второго графа (Рис. 60) это h, l, i, m, h, i, j, m, l, k, h. j a b i m h l c f e d k Рис. 59 Рис. 60 Задачи для самостоятельного решения 365) Какие из графов, упоминающихся в задачах и примерах, являются эйлеровыми? 366) Имеют ли пятиугольник и пятигранник-пирамида с петлями в некоторых вершинах эйлеров цикл (цепь)? 4.1.8. Алгоритм построения Эйлерова цикла Алгоритм построения эйлерова цикла: 1. Выберем в графе произвольный простой цикл и удалим его из графа. 2. В оставшемся графе снова выберем простой цикл, удалим его и т.д., в результате чего, исходный граф будет разобран на простые циклы. 3. Склеим полученные циклы в одно целое, отправляясь от некоторого цикла и приклеивая каждый новый цикл ровно в одной точке. 4. Выпишем эйлеров цикл в исходном графе. Примеры решения задач 367) Найдите эйлеров цикл для графа G, изображенного на рис. 61. 1 2 3 4 5 6 7 Рис. 61 8 Решение. Воспользуемся алгоритмом построения эйлерова цикла в графе. 105 1. Выберем цикл (1,2,3,5,4,1) и удалим его из графа, при этом удалятся вершины степени 2, ребра выбранного цикла, а степени вершин, входивших в этот цикл, уменьшатся на 2. 2. Из оставшегося графа выбираем простой цикл (1,5,8,7,1). 3. Следующие простые циклы: (7,4,6,7), (2,4,8,2) и (7,2,5,7). 2 1 3 4 5 1 5 7 8 4 2 7 6 2 4 8 7 5 4. Склеим полученные циклы и выпишем эйлеров цикл в исходном графе: (1,5,2,7,5,8,7,1,2,4,8,2,3,5,4,6,7,4,1). 8 7 7 5 2 4 1 7 4 2 8 6 5 3 Задачи для самостоятельного решения 368) Найдите эйлеровы циклы в графе на рис. 62, 63. Найдите в нем циклы длины 3,4,5,6, и 7. A 5 4 2 B 5 3 8 4 D 2 3 4 8 5 3 Рис.62 106 2 C E 1 6 7 Рис. 63 5 369) Укажите эйлеров цикл в графах на рис. 64 и 65, если он имеется. Рис. 64 Рис. 65 4.1.9. Гамильтоновы циклы Гамильтоновым называется цикл, проходящий по каждой вершине графа ровно один раз. Интуитивно ясно, что если граф содержит много ребер и эти ребра достаточно равномерно распределены, то граф скорее всего будет гамильтоновым. Вообще, почти все графы Гамильтоновы. Теорема (Дирака). В связном графе G=(V,E), |V|=n3, гамильтонов цикл существует, если степень каждой вершины не менее n/2. Данная теорема является достаточным условием, т.е. если степень вершины окажется меньше n/2, то нельзя сделать вывод, что граф гамильтоновым не является. Теорема (Оре). Если для любой пары u и v несмежных вершин графа G порядка n3 выполняется неравенство deg u+deg vn, то G-гамильтонов граф. Примеры решения задач 370) Построить гамильтоновы циклы, цепи графов на рис. 66. Решение. В графе G1 сущест-вует G1 G2 гамильтонов цикл (a,b,c,d, b h l n q e,f,g,q,n,m,l,h,a). В G1 сущест-вует m и гамильтонова цепь, для чего в g f гамильтоновом цикле достаточно d удалить одно ребро. e b f a c d g a e c В графе G2 гамильтонова цикла нет: чтобы пройти через вершины Рис. 66 a,b,c внешнего треугольника графа G2 гамильтонов цикл должен содержать все лежащие на этих сторонах ребра, но тогда он не проходит через расположенную в центре треугольника вершину d. Однако гамильтонова цепь в графе G2 существует, например, a,f,b,g,c,e,d. Задачи для самостоятельного решения 371) Все ли графы, упоминающиеся в задачах и примерах, содержат гамильтонов цикл? 107 372) Содержит ли гамильтонов цикл граф ромбического додекаэдра? Если да, то найдите его. 373) Имеют ли пятиугольник с петлями в некоторых вершинах и пятигранникпризма гамильтонов цикл (цепь)? 374) Найдите гамильтоновы циклы в графе на рис. 62, 63. 375) Укажите гамильтонов цикл в графах на рис. 64 и 65, если он имеется. 4.1.10. Алгоритм построения гамильтонова цикла в графе Задача коммивояжера принадлежит к классу задач математического программирования. Требуется найти такой путь коммивояжера, по которому необходимо посетить n-1 городов и вернуться домой, причем протяженность пути должна быть минимальной. Т.о. задача коммивояжера сводится к задаче нахождения гамильтонова цикла с наименьшим весом. Эффективные алгоритмы решения этой задачи неизвестны. Например, решение этой задачи для 50 городов на самых перспективных ЭВМ потребовало бы миллиарды лет. Алгоритм 1 (жадный): 1. Выбираем ребро минимального веса и включаем его в цикл. 2. У каждого из концов построенной цепочки просматриваем ребра, выбираем ребро минимального веса, которое не образует цикл. 3. Если цепочка построена на всех вершинах, то замыкаем её оставшимся ребром. Гамильтонов цикл всегда есть в полном графе. Если граф не полный, то его дополняют ребрами очень большой дины до полного. И если такое ребро попадет в построенную цепочку, это будет означать, что гамильтонова цикла в графе нет. Так как алгоритм жадный, то построенный обход может отличаться от оптимального на любую! величину. Алгоритм 2: решение задачи коммивояжера с помощью остовного дерева: 1. Находим в графе минимальное остовное дерево (с помощью алгоритмов Краскала или Прима). 2. В минимальном остовном дереве дублируем каждое ребро (получаем мультиграф). 3. В полученном мультиграфе степень каждой вершины четна, следовательно, в нем есть эйлеров цикл. 4. Находим эйлеров цикл. 5. Строим гамильтонов цикл по эйлерову: рассматриваем эйлеров цикл и включаем каждую вершину в гамильтонов цикл, если она ещё не вошла в него. В противном случае – её пропускаем. Продолжаем до тех пор, пока все вершины не будут соединены. Для данного алгоритма есть оценка. Найденная длина может быть хуже, чем длина оптимального обхода, но не более, чем в два раза. 108 Примеры решения задач 376) Найти гамильтонов цикл минимального веса в заданном графе. Решение. Очевидный обход: 1,6,2,3,4,5,7,8,1. Вес этого цикла 22. Жадный алгоритм работает так: 1. 1,2 2. 1,2,3 8,1,2,3 7,8,1,2,3 7,8,1,2,3,4 7,8,1,2,3,4,5 7,8,1,2,3,4,5,6. 3. Замыкаем цепочку: 7,8,1,2,3,4,5,6,7 . 4. Считаем вес: 2+1+1+1+2+2+9+1000=1018. Задачи для самостоятельного решения 377) Докажите, что графы на рис.67, 68 не имеют гамильтоновых циклов. d c e b f a Рис. 67 g Рис.68 378) Покажите, что граф на рис. 69 не имеет гамильтонова цикла. Рис. 69 379) Используя алгоритм ближайшего соседа, найдите гамильтонов цикл в нагруженном графе (рис. 62), взяв за исходную а). вершину А; б). вершину D. 109 4.1.11. Алгоритмы поиска в графе Алгоритм 1: Поиск в ширину. Подобно тому как, согласно принципу Гюйгенса, каждая точка волнового фронта является источником вторичной волны, мы, отправляясь из заданной вершины A, посещаем все смежные с ней вершины (т.е. вершины, в которые ведут стрелки из A). Каждая посещенная вершина становится источником новой волны и т.д. При этом необходимо позаботиться о том, чтобы не вернутся в ту вершину, в которой уже были. Для программной реализации алгоритма понадобятся: матрица m[1..n, 1..n] - матрица смежности графа; вспомогательный массив q[1..n], в котором будет формироваться очередь, т.е. тип данных первый вошел – первый вышел (FIFO). Размер его достаточен, так как мы не посещаем вершины дважды. С массивом q связаны две переменные - head и tail. В переменной head будет находиться номер текущей вершины, из которой идет волна, а при помощи переменной tail новые вершины помещаются в "хвост" очереди q; вспомогательный массив visited[1..n], который нужен для того, чтобы отмечать уже пройденные вершины (visited[i]=TRUE <=> вершина i пройдена); вспомогательный массив prev[1..n] для хранения пройденных вершин. В этом массиве и будет сформирован искомый путь; переменная f, которая примет значение TRUE, когда путь будет найден. Алгоритм 2: Поиск в глубину. Идея поиска в глубину проста: отправляясь от текущей вершины, мы находим новую (еще не пройденную) смежную с ней вершину, которую помечаем как пройденную и объявляем текущей. После этого процесс возобновляется. Если новой смежной вершины нет (тупик), возвращаемся к той вершине, из которой попали в текущую, и делаем следующую попытку. Если попадем в вершину B, печатаем путь. Если все вершины исчерпаны - такого пути нет. Заметим, что построенный таким образом алгоритм способен находить все пути из A в B, но первый найденный необязательно должен быть кратчайшим. Как обычно, алгоритм с возвратами легче всего оформить с помощью рекурсивной процедуры. Для ее программной реализации нам понадобятся: матрица m[1..n, 1..n] - матрица смежности графа; вспомогательный массив visited[1..n], который мы будем для того, чтобы отмечать уже пройденные вершины (visited[i]=TRUE <=> вершина i пройдена); переменная f, которая примет значение TRUE, когда путь будет найден. Примеры решения задач 380) Дан граф (см. рис. 70). Занумеруйте вершины согласно очередности, в которой они посещаются в процессе поиска в ширину. Решение. Рис. 70 110 4.2. Деревья 4.2.1. Основные определения Связный граф без циклов называется деревом. Висячие вершины за исключением корневой, называются листьями. Алгоритм выявления корня дерева: 1. из дерева Т удаляют листья вместе с инцидентными им ребрами, получают дерево Т1. 2. из дерева Т1 удаляют листья и получают дерево Т2 и так до тех пор, пока не останется одна вершина (или две, соединенные ребром), которая (которые) и называется корнем дерева. Любое дерево с n вершинами имеет n-1 ребро. Число различных деревьев, которые можно построить на n нумерованных вершинах, равно nn-2. Пусть G1, G2, ..., Gk — непересекающиеся деревья, т.е. i,j (1, ..., k) G1 G2=. Тогда упорядоченное объединение деревьев G = Gi, представляет собой несвязный граф, называемый лесом. Компонентами связности леса являются деревья. Матричная теорема о деревьях. Если G – связный неориентированный граф, то все алгебраические дополнения элементов матрицы М равны между собой и равны числу различных остовов графа G. (Матрицу М получают следующим образом: в матрице смежности заменяют все единицы на -1 и каждый (i,i)-й элемент на deg Vi.) Каждая вершина дерева называется узлом. Если каждый узел ориентированного дерева имеет полустепень исхода не больше 2, то такой вид деревьев называется бинарными деревьями. Бинарные деревья применяются в информатике для операции бинарного поиска, который основан на методе половинного деления. Бинарное дерево уровня n называется полным, если каждый его узел уровня n является листом, а из каждого узла уровня меньше, чем n, исходит ровно две дуги. Примеры решения задач 381) Подсчитать число остовов данного графа. Решение. Составим матрицу смежности данного графа и заменим 1 на -1 и элементы главной диагонали на значения степени соответствующих вершин. Deg(V1)=2, Deg(V2)=3, Deg(V3)=3, Deg(V4)=3, Deg(V5)=1. 0 1 A= 1 0 0 1 0 1 1 0 1 1 0 1 0 0 1 1 0 1 0 2 -1 -1 0 0 0 -1 3 -1 -1 0 0 ; M= -1 -1 3 -1 0 1 0 -1 -1 3 -1 0 0 0 0 -1 1 Найдем алгебраическое дополнение (2,2) –го элемента этой матрицы: 2 -1 -1 0 3 -1 0 0 = 3 -1 0 -1 0 0 111 0 -1 0 3 -1 0 -1 1 Рис. 71 Рис. 72 Рис. 73 Рис. 74 2 -1 3 -1 + -1 0 -1 1 3 -1 0 -1 1 =2(9-1-3)- 3 -1 -1 1 =10-(3-1)=8. Задача о нахождении остовов заданного графа часто возникает в приложениях, например, при рассмотрении возможных способов соединения нескольких городов в единую энергетическую сеть. 382) На рис. 71-74 представлены четыре графа. Определите, являются ли они деревьями. Какие из них являются бинарными, полными бинарными деревьями уровня n. Решение. Все четыре графа являются деревьями, причем бинарными из них являются только два (рис. 71, 73). Дерево на рис. 74 не бинарное, т.к. есть узлы, не являющиеся листьями и не образующие два поддерева. Дерево на рис. 72 не бинарное, т.к. есть узлы, из которых исходит три дуги. Бинарное дерево на рис. 73 является полным. Задачи для самостоятельного решения 383) Определите корни предложенных деревьев. Каково их цикломатическое а число? 112 б 384) Найдите корни деревьев. Являются ли эти деревья бинарными? а б в Рис. 75 Выясните, являются ли графы, задаваемые следующими матрицами смежности, деревьями: 385) 0 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0 1 1 0 1 0 0 1 0 0 0 1 1 0 0 1 1 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 1 0 1 0 0 1 0 1 0 0 0 0 1 0 0 1 0 1 0 0 0 Для графа, не являющегося деревом, найти количество остовов, используя матричную теорему о деревьях. 4.2.2. Алгоритмы построения минимального остовного дерева Остовом (остовным деревом) связного графа G называется любой его подграф, содержащий все вершины графа G и являющийся деревом (говорят: «покрывающим его деревом»). Минимальное остовное дерево – это остов с наименьшей суммой весов ребер. Алгоритм Прима. 1. Выбираем любую вершину и включаем её в дерево V1={v}. В этот момент X1=. 2. Среди вершин, соседних с v, выбираем вершину w так, чтобы вес ребра (v,w) был минимальным. V1= V1{v,w }, X1= X1{(v,w)}. 3. Просматриваем ребра, выходящие из вершин построенного множества V1 и выбираем минимальное ребро. Добавляем найденное ребро в множество Х1 и соответствующую вершину во множество V1. 4. Процедура повторяется, пока все вершины графа не будут включены в дерево. Алгоритм Краскала. 1. Сортируем ребра в порядке неубывания веса. 2. Берем первое ребро из списка, его концы помечаем меткой 1. 3. Просматриваем отсортированный список, при этом ребро включается в дерево, если оно не образует цикл с предыдущими. a. если концы добавляемого ребра помечены одинаковыми ненулевыми метками, то ребро образует цикл, его не включаем. b. если концы добавляемого ребра помечены меткой 0, то включаем это ребро, помечая вершины меткой, на единицу больше текущей метки. c. если концы добавляемого ребра помечены разными ненулевыми метками, то включаем его в список, помечая все вершины с меньшей меткой меткой другой вершины. d. если одна из меток рассматриваемого ребра 0, а другая не 0, то включаем это ребро, при этом нулевая вершина помечается меткой второго конца. 4. Повторяем пункт 3 до тех пор, пока все ребра не кончатся. При построении дерева алгоритмом Прима дерево строится из корня. При построении дерева алгоритмом Краскала дерево строится кусками. 113 Реальная задача, сводящаяся к построению минимального остовного дерева: имеется набор населенных пунктов. Требуется связать их телефонными линиями, если известна стоимость прокладки линии от одного населенного пункта до любого другого. Примеры решения задач 386) Дан взвешенный граф. Построить минимальное остовное дерево с помощью алгоритма Краскала. Решение. 1. Сортируем ребра в порядке неубывания: (E,I), (B,C), (B,E), (B,F), (D,L), (E,G), (F,H), (F,I), (G,L), (A,D), (C,D), (E,H), (A,C), (C,F), 5 10 10 10 10 10 10 10 15 15 15 15 20 20 (D,G), (G,F), (L,I), (H,I), (H,M), (A,B), (D,E), (I,M), (L,M). 20 20 20 20 20 30 30 30 40 2. Помечаем все вершины меткой 0 (рис.76). 3. Просматриваем список ребер, включаем их в дерево, изменяя метки вершин в соответствии с алгоритмом до тех пор, пока не включим 11-1 ребер (для 11 вершин). Метка Вес № Рассматрива вершин, ребра, Новые метки вершин Графич реб-емое образующих включен(те, что изменились) иллюстр ра ребро это ребро ного в дерево 1 (E,I) (0,0) m(E)=1, m(I)=1 5 Рис. 77 2 (B,C) (0,0) m(B)=2, m(C)=2 10 Рис. 78 3 (B,E) (2,1) m(E)=2, m(I)=2 10 Рис. 79 4 (B,F) (2,0) m(F)=2 10 Рис. 80 5 (D,L) (0,0) m(D)=3, m(L)=3 10 Рис. 81 6 (E,G) (2,0) m(G)=2 10 Рис. 82 7 (F,H) (2,0) m(H)=2 10 Рис. 83 (F,I) (2,2) Ребро образует цикл, не включаем m(G)=3, m(E)=3, m(B)=3, m(C)=3, 10 Рис. 84 8 (G,L) (2,3) m(F)=3, m(H)=3, m(I)=3 9 (A,D) (0,3) m(A)=3 15 Рис. 85 (C,D) (3,3) Ребро образует цикл, не включаем (E,H) (3,3) Ребро образует цикл, не включаем (A,C) (3,3) Ребро образует цикл, не включаем (C,F) (3,3) Ребро образует цикл, не включаем (D,G) (3,3) Ребро образует цикл, не включаем 114 10 (G,F) (L,I) (H,I) (H,M) (3,3) (3,3) (3,3) (3,0) Ребро образует цикл, не включаем Ребро образует цикл, не включаем Ребро образует цикл, не включаем m(M)=3 Рис. 76 Рис.77 Рис. 78 Рис.79 Рис.80 Рис. 81 Рис. 82 Рис. 83 20 Рис. 85 115 Рис. 84 Таким образом, минимальное 5+10+10+10+10+10+10+10+15+20=110. Рис. 85 остовное дерево построено. Его вес: 387) Для взвешенного графа предыдущей задачи построить минимальное остовное дерево с помощью алгоритма Прима. Решение. Действуем по описанному алгоритму. Результаты работы алгоритма занесем в таблицу. Итак, берем произвольную вершину, например, А, добавляем эту вершину к множеству вершин (строка 1, столбец 2 в таблице) Рассматриваем все ребра, выходящие из этой вершины (столбец 3), выбираем ребро наименьшего веса AD и добавляем его к списку ребер строящегося дерева (столбец 4), одновременно добавляем вершину D к списку множества вершин (строка 2, столбец 2). Теперь рассматриваем все ребра, выходящие из вершин A и D, выбираем из них наименьшее и включаем его в множество ребер и т.д. Одной чертой будем вычеркивать ребра, которые уже включены в дерево, двумя чертами – ребра, которые образуют цикл с уже включенными в дерево. 1 2 3 Множест Рассматриваемые ребра, во № выходящие из множества вершин вершин и их веса V1 1 А AB(30), AC(20), AD(15) 2 D DC(15), DE(30), DG(20), DL(10) 3 L LG(15), LI(20), LM(40) 4 G GE(10), GF(20) 5 E EB(10), EI(5), EH(15) 6 I IH(20), IF(10), IM(30) 7 F FB(10), FC(20), FH(10) 8 B BC(10) 9 H HM(20) 10 C 11 M 116 4 AD DL LG GE EI IF EB FH BC HM 5 Вес включенно го в дерево ребра 15 10 15 10 5 10 10 10 10 20 Вес 110 Множество ребер 6 Графич иллюстр Рис. 86 Рис. 87 Рис. 88 Рис. 89 Рис. 86 Рис. 87 Рис. 88 Рис.89 Задачи для самостоятельного решения 388) Найдите два остовных дерева в графе, изображенном на рис. 90. 389) Найдите минимальный остов графа (рис. 91). 3 а 4 2 b c 3 2 e d 4 5 f 2 1 3 g 6 Рис. 90 Рис. 91 5 390) Изобразите граф на 7 вершинах и с 12 ребрами и постройте три различных остовных дерева. 391) В таблице дано расстояние (в милях) между пятью деревнями А, B, C, D и E. Найдите кратчайшее соединение (минимальное остовное дерево). A B C D E A 13 3 9 9 B 13 11 11 13 C 3 11 9 7 D 9 11 9 2 E 9 13 7 2 117 392) В таблице приведены расстояния (в милях) между шестью городами Ирландии. Используя алгоритмы поиска минимального остовного дерева, найдите сеть дорог минимальной общей длины, связывающую все шесть городов. Атлон 78 56 73 71 114 Атлон Дублин Голуэй Лимерик Слайго Уэксфорд Дублин 78 132 121 135 96 Голуэй 56 132 64 85 154 Лимерик 73 121 64 144 116 Слайго 71 135 85 144 185 Уэксфорд 114 96 154 116 185 - 393) Расстояние между потребителями электроэнергии А, Б, В, Г, Д, Е в десятках километров дано в таблице. Требуется построить сеть линий электропередач так, чтобы количество затраченных проводов было минимальным и можно было передать энергию из каждого города в любой другой. А 0 7 11 6 8 15 А Б В Г Д Е Б 7 0 9 12 6 7 В 11 9 0 3 7 3 Г 6 12 3 0 2 4 Д 8 6 7 2 0 1 Е 15 7 3 4 1 0 394) Расстояние между городами А, Б, В, Г, Д, Е, Ж в сотнях километров дано в таблицах. Требуется построить сеть железных дорог так, чтобы количество затраченных рельсов было минимальным, и пассажир мог из каждого города попасть в любой другой. Укажите число возможных деревьев. А А 0 Б 5 В 11 Г 6 Д 8 Е 15 Ж 8 Б 5 0 9 12 6 7 2 а) В 11 9 0 3 6 3 7 Г 6 12 3 0 2 4 13 Д 8 6 6 2 0 1 5 Е 15 7 3 4 1 0 4 Ж 8 2 7 13 5 4 0 А 0 5 11 6 8 3 8 Б 5 0 9 12 5 7 2 г) В 11 9 0 2 6 3 7 Г 6 12 2 0 2 4 13 Д 8 5 6 2 0 1 5 Е 3 7 3 4 1 0 4 Ж 8 2 7 13 5 4 0 А Б В Г Д Е Ж 118 А Б В Г Д Е Ж А 0 5 11 6 3 15 8 Б 5 0 7 12 6 7 2 б) В 11 7 0 3 6 3 7 Г 6 12 3 0 2 4 13 Д 3 6 6 2 0 1 5 Е 15 7 3 4 2 0 4 Ж 8 2 7 13 5 4 0 А А 0 Б 6 В 11 Г 6 Д 8 Е 8 Ж 8 Б 6 0 9 12 6 7 2 в) В 11 9 0 3 6 3 7 Г 6 12 3 0 2 3 13 Д 8 6 6 2 0 1 5 Е 8 7 3 3 1 0 3 Ж 8 2 7 13 5 3 0 А Б В Г Д Е Ж А 0 5 1 3 8 15 8 Б 5 0 9 12 6 7 2 д) В 1 9 0 3 5 3 7 Г 3 12 3 0 2 4 11 Д 8 6 5 2 0 1 5 Е 15 7 3 4 1 0 4 Ж 8 2 7 11 5 4 0 А А 0 Б 5 В 11 Г 6 Д 3 Е 15 Ж 8 Б 5 0 9 12 4 7 2 е) В 11 9 0 3 6 3 7 Г 6 12 3 0 2 4 13 Д 3 4 6 2 0 11 5 Е 15 7 3 4 11 0 1 Ж 8 2 7 13 5 1 0 395) На рис. 92 показаны расстояния между телевизионными центрами США. Найдите конфигурацию кратчайшей кабельной сети, которой их можно было бы соединить. 4.2.3. Обходы дерева Основные операции на деревьях: поиск элемента, добавление элемента, удаление элемента. Для поиска элемента в произвольном бинарном дереве необходимо обойти все элементы этого дерева. Существует два основных способа обхода дерева: в глубину и в ширину. 710 1720 2430 2270 LA 1360 Рис. 92 940 CH 593 NY 207 DC 1410 1220 NO Алгоритм обхода дерева в глубину. Обход в глубину производится рекурсивно либо с использованием стека. В обоих случаях можно обходить узлы дерева в различной последовательности. Обход начинается от корня. Выделяют три наиболее важных порядка обхода в глубину: - префиксный (прямой, левосторонний) обход — сначала обрабатывается текущий узел, затем левое и правое поддеревья; - инфиксный (симметричный) обход — сначала обрабатывается левое поддерево текущего узла, затем корень, затем правое поддерево; - постфиксный (обратный, от листьев к корню) обход — сначала обрабатываются левое и правое поддеревья текущего узла, затем сам узел. Алгоритм обхода дерева в ширину. Обход в ширину производится с помощью очереди. Первоначально в очередь помещается корень, затем, пока очередь не пуста, выполняются следующие действия: Из очереди выталкивается очередной узел; Этот узел обрабатывается; В очередь добавляются оба потомка этого узла. Заметим, что перечисление узлов происходит в порядке удаления от корня, что делает поиск в ширину удобным, например, для поиска узла дерева со значением k, наиболее близкого к корню, и т.д. Примеры решения задач 396) Дан граф в виде дерева (рис. 93). Определите последовательности вершин при префиксном, инфиксном и постфиксном обходах графа в глубину. Рис. 93 119 Решение. Префиксный обход: I. A B D M N E C II. B D C E R Инфиксный обход: I. M D N B E A C II. D B E C R Постфиксный обход: I. M N D E B C A II. D E R C B 397) Для графа на рис. 93 укажите обход данного дерева в ширину. Решение. Узлы дерева на рисунке перечисляются в порядке обхода в ширину следующим образом: I. A, B, C, D, E, M, N; II. B, D, C, E, R. Задачи для самостоятельного решения 398) Для графов на рисунках 71-75 укажите последовательность вершин при обходе графа в глубину тремя способами: префиксным, инфиксным и постфиксным. 399) Для графов на рисунках 71-75 укажите последовательность вершин при обходе графа в ширину. 4.3. Ориентированные графы Если все пары (Vi, Vj) во множестве X являются упорядоченными, т. е. кортежами длины 2, то граф называется ориентированным, орграфом. В таком случае ребра принято изображать стрелками. Началом ребра называется вершина, указанная в кортеже первой, концом — вторая вершина этой пары (графически она указана стрелкой). Ребра называются дугами. Степенью входа (выхода) вершины ориентированного графа называется число ребер, для которых эта вершина является концом (началом). Степень входа вершины V будем обозначать deg+( V), а степень выхода – deg-(V). Дуги орграфа называются кратными, если они имеют одинаковые начальные и конечные вершины, т. е. одинаковые направления. Матрица смежности для орграфа в общем случае не будет симметричной. В матрице инцидентности ставится 1, если дуга исходит из вершины, и -1, если дуга заходит в неё. Путем в орграфе называется маршрут, который является ориентированным. Контур - это ориентированный цикл в орграфе. Теорема. Связанный орграф содержит эйлеров контур тогда и только тогда, когда для каждой вершины число входящих дуг равно числу выходящих. При установлении изоморфизма между ориентированными графами следует помнить, что ребро является упорядоченным множеством, и надо быть особенно внимательным, соблюдая порядок. Примеры решения задач 400) Дан ориентированный граф (рис. 94). Определите степени входа и выхода вершин. 120 Рис. 94 Решение. deg+(V1) = 1, deg+(V2) = 1, deg+(V3) = 2, deg-(V1) = 1, deg-(V2) = 2, deg-(V3) = 1. 401) В графе на рис. 92 укажите путь, контур, эйлеров контур, если он имеется. Решение. (и, s, r, t) — путь, (r, и) — путь, (s, r, t, u) путем не является, (s,r,t) и (u, s, r) — контуры. Согласно теореме эйлерова контура в данном графе нет (в вершину V2 входит одно ребро и выходит два). Задачи для самостоятельного решения 402) Пусть орграф задан матрицей смежности. Постройте изображение этого графа, укажите степени его вершин deg+ и deg-. По матрице смежности постройте матрицу инцидентности этого графа. а) 0 1 0 0 1 1 г) 2 0 0 1 0 0 1 0 1 0 1 0 0 1 2 0 0 0 0 0 0 2 0 0 1 1 0 0 0 1 1 0 0 0 1 0 0 0 1 0 0 1 0 1 0 1 1 0 1 0 1 0 0 1 0 0 1 0 0 1 0 1 0 1 1 0 б) 0 0 1 1 0 0 д) 0 0 0 0 1 1 0 0 0 1 0 1 1 0 0 0 1 1 1 1 0 0 1 0 0 0 1 1 2 0 0 1 1 0 0 0 0 2 0 0 0 1 0 0 0 1 0 0 0 0 1 0 1 1 1 0 0 1 0 0 1 1 0 1 0 0 в) 0 0 1 1 0 1 е) 0 0 1 1 0 0 0 2 1 0 0 1 1 1 0 1 0 0 1 0 1 0 1 1 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0 0 1 1 1 0 0 1 0 1 1 0 1 0 1 0 0 1 0 1 0 0 0 1 1 0 0 2 121 403) Для заданных ориентированных графов (рис. 95) построить матрицу смежности, матрицу инцидентности. Определите степени входа и выхода вершин. Выясните, имеется ли в них эйлеров контур. Имеются ли среди графов а-е изоморфные? 4.4. Раскраска. Планарные графы 4.4.1. Раскраска графов Раскраской графа будем называть приписывание вершинам графа цветов (натуральных чисел). Раскраску графа G будем называть правильной, если любые две его смежные вершины имеют различный цвет. Наименьшее возможное число цветов, в которые можно правильно раскрасить граф G, будем называть его хроматическим числом и обозначать (G). Поиск хроматического числа графа задача переборная. Граф называется k – раскрашиваемым, если существует его правильная раскраска не более, чем в k цветов. Правильная раскраска графа в наименьшее возможное число цветов называется оптимальной. Алгоритм нахождения правильной раскраски графа минимальным числом краски. ж з к л Рис. 95 122 и м 1. Находим в графе наибольшее внутренне устойчивое множество вершин и красим его первым цветом. 2. Среди оставшихся вершин находим наибольшее внутренне устойчивое множество вершин и красим его вторым цветом и т.д. Если в графе есть полный подграф на k вершинах, то (G)≥k. С другой стороны (G)≤max degV+1. Примеры решения задач 404) Выполните правильную раскраску графа. Решение. 2 3 1 1 3 Рис.96 2 405) Предположим, что n пользователям требуются для работы некоторые из k ресурсов, причем один и тот же ресурс может использоваться в течение дня только одним пользователем. Необходимо таким образом составить расписание работы пользователей, чтобы за наименее возможное число дней все пользователи могли выполнить свою работу. Решение. Рассмотрим граф с n вершинами, соответствующими пользователям, причем две вершины соединены ребром тогда и только тогда, когда соответствующими пользователям требуется для работы один и тот же ресурс. Группы пользователей, которые могут работать одновременно, соответствуют множествам вершин графа, не содержащим смежных вершин. Из определения правильной раскраски следует, что множество вершин, окрашенных в один цвет, смежных не содержат. Т.о., данная задача сводится к оптимальной раскраске соответствующего графа. Задачи для самостоятельного решения 406) Найдите хроматические числа графов, упоминающихся в задачах и примерах. 407) Раскрасить граф правильным образом, Определите хроматическое число, построить матрицу смежности данного графа. 123 4.4.2. Планарные и плоские графы Планарный граф – это граф, допускающий укладку на плоскости, т.е. он может быть изображен на плоскости так, чтобы никакие два ребра не имели общих точек, кроме, быть может, своих вершин. Изображение графа на плоскости с соблюдением этого условия будем называть плоским графом. Грань плоского графа – часть плоскости, ограниченная ребрами данного графа и не разделенная никакими цепями (в частности у графа без циклов ровно одна грань). Для любого связного плоского графа справедлива формула Эйлера: В-Р+Г=2, где В – количество вершин, Р – количество ребер, Г – количество граней. Теорема. Графы К5 и К3,3 не планарны. Непланарность того или иного графа объясняется по существу непланарностью только двух графов: К5 и К3,3. Примеры решения задач 408) Является ли граф планарным? Решение. Граф, изображенный на рисунке 97 слева является планарным, так как его можно изобразить на плоскости без пересечения ребер (смотреть его плоскую укладку на рис. 97 справа). Задачи для самостоятельного решения 409) Являются ли графы планарными? (см. рис. 98-103) Рис. 98 Рис. 99 Рис. 100 Г2 Г4 Рис. 101 Рис.103 Г1 Рис. 102 Г3 Рис. 97 4.4.3. Гомеоморфизм (подобие) графов Под изъятием (добавлением) проходных вершин (вершин степени 2) в графе будем 124 а Рис. 104 б понимать удаление (или включение) в любое ребро графа вершины степени 2 (см. рис. 104). Два графа гомеоморфны (подобны), если один из них получается из другого при помощи подходяще выбранных операций изъятия или добавления проходных вершин. Например, графы G1 и G2 подобны (см. рис. 105). Два подобных графа планарны или нет одновременно. Теорема (критерий планарности Куратовского-Понтрягина). Граф планарен тогда и только тогда, когда он не содержит подграфа, подобного К3,3 или К5. Под операцией стягивания ребра е={v1, v2}, будем понимать операцию удаления ребра е и отождествления вершин v1, v2 (из получаемой одной вершины выходят все старые ребра V2 V1 V2 V4 V3 V1 G1 V3 G2 V2 V2 V4 V1 V3 Рис. 105G2 V3 V1 G1 обеих вершин, за исключением ребра е). Граф G стягиваем к графу H, если H может быть получен из G применением (возможно, несколько раз) операции стягивания. Теорема (критерий планарности Куратовского-Понтрягина). Граф планарен тогда и только тогда, когда он не содержит подграфа, стягиваемого к К3,3 или К5. Примеры решения задач 410) Покажите, что граф Петерсена не планарен. Решение. Изобразим граф подругому. Теперь видно, что с 1 2 3 4 помощью операции изъятия проходных вершин, получим граф гомеоморфный К3,3. 6 5 411) Покажите, что граф Петерсена стягиваем к К5. Решение. На рис. 107 видно, что второй граф получается из первого с помощью операции стягивания ребер е1, е2, е3, е4, е5. Рис. 106 е2 е3 е4 1 3 5 2 4 6 е1 е5 Рис. 107 Задачи для самостоятельного решения 412) Планарны ли графы, изображенные на рис. 108 и 109? Ответ обосновать. Рис. 108 Рис. 109 125 4.4.4. Проблема четырех красок. Двойственные графы Исторический интерес к планарным графам был связан с проблемой четырех красок. Данная проблема возникла в связи с задачей раскрашивания географических карт. На языке графов: раскрасить грани так, чтобы грани, имеющие общую границу, имели разные цвета при минимальном числе различных цветов. Этой задаче соответствует задача о раскраске вершин двойственного графа. Двойственный граф образуется так: Граням, в том числе и бесконечной, сопоставляются вершины. Вершины, соответствующие граням, имеющим общую границу, соединяются ребром. Картам соответствуют только планарные графы. Гипотеза о четырех красках состояла в том, что любой планарный граф может быть правильно раскрашен в четыре цвета. Гипотеза оставалась недоказанной свыше 100 лет и лишь недавно (Аппель и Хакен) с применением ЭВМ удалось рассмотреть (перебрать) необходимые для доказательства случаи проблемы и подтвердить гипотезу. Для этого потребовалось более 1200 часов машинного времени. Попытки простого доказательства теоремы продолжаются по настоящее время с 1879 года. Теорема (о пяти красках). Любой планарный граф 5-раскрашиваемый. Примеры решения задач 413) Построить граф, двойственный графу куба. Решение. Для многогранников существует очень наглядный способ получения двойственных графов. Он состоит в следующем. В центре каждой грани ставится точка – такие точки будут вершинами двойственного графа. Рёбрами надо соединить те вершины, грани которых разделены рёбрами в исходном графе. В результате получается многогранник, вписанный в исходный. Причём, если исходный граф правильный многогранник, то и двойственный тоже будет правильным. Рис. 110 Задачи для самостоятельного решения 414) Построить графы, двойственные представленным на рисунке 111. G1 G2 G3 G4 G6 G5 Рис. 111 126 415) Построить граф, двойственный графу тетраэдра. Какой многогранник у вас получился? 416) Какой многогранник двойственен додекаэдру (двенадцатиграннику, рёбра которого являются правильными пятиугольниками)? Задачи для повторения 417) По рис. 112 выполните следующие упражнения: 1. 2. 3. 4. 5. 6. 7. Выясните, является ли граф двудольным? Постройте матрицу инцидентности. Постройте матрицу смежности. Построить три остовных дерева. Выясните, является ли граф планарным? Укажите Эйлеров путь в графе, если он существует. Изобразите три клики. 418) Дан граф G (см. рис. 113). Для него построить: a) b) c) d) e) f) g) дополнение G ; матрицу смежности; матрицу инцидентности; цикл Эйлера; цепь Эйлера; цикл Гамильтона; цепь Гамильтона. 1 1 2 8 7 3 4 6 2 8 5 6 3 5 7 4 Рис. 112 Рис. 113 419) Изобразите граф по заданной матрице смежности и ответьте на следующие вопросы: V1 V2 V3 V4 V1 0 1 0 0 V2 1 1 1 0 V3 0 1 0 1 V4 0 0 1 0 V5 1 0 0 0 V6 1 1 0 2 V7 0 0 0 0 127 V5 V6 V7 1 1 0 0 1 0 0 0 0 0 2 0 0 2 0 2 0 1 0 1 0 1) Является ли полученный граф связным, полным, планарным, двудольным, 2) 3) 4) 5) 6) 7) 8) 9) мультиграфом, псевдографом? Ответ объясните. Для полученного графа построить матрицу инцидентности. Найдите степени вершин данного графа. Какие из вершин являются висячими, изолированными? Указать два произвольных маршрута из V3 в V5, не являющихся цепями. Указать цепь и простую цепь из V4 в V5. Указать цикл и простой цикл. Существует ли в графе Эйлеров цикл? Если да, укажите его. Если нет, объясните почему. Существует ли в графе Эйлерова цепь? Если да, укажите её. Если нет, объясните почему. Является ли полученный граф Эйлеровым? Объясните ответ. 420) Изобразить граф, состоящий из 10 вершин и 16 ребер, и ответьте на следующие вопросы: 1) Выясните, является ли он псевдографом, мультиграфом, орграфом? 2) Выписать: a) пары смежных вершин; b) висячие вершины; c) изолированные вершины. 3) Определите степень каждой вершины. 4) Укажите три маршрута из V1 в V7 и выясните, являются ли они цепью, простой цепью, Найдите их длину. 5) Выясните, является ли граф связным? Если нет, укажите компоненты связности. 421) По рис. 114 и 115 ответьте на следующие вопросы: 1 3 2 V8 8 V2 10 9 11 V7 V9 V5 V6 V3 5 6 Рис. 114 12 4 V1 Рис. 115 V4 7 a) является ли данный граф связным? Если да, то укажите компоненты связности. 128 b) Сколько вершин в данном графе? c) Сколько ребер? d) Найдите степени всех вершин графа. e) Перечислите изолированные вершины. f) Перечислите висячие вершины. g) Укажите два произвольных маршрута, не являющихся цепью и циклом. h) Укажите цепь, не являющуюся циклом и цикл. i) Укажите простую цепь и простой цикл. j) Является ли граф полным? k) Является ли граф регулярным? l) Изобразите два остовных подграфа. m) Изобразите подграф, порожденный вершинами V1 , V2 , V4 , V5 , V7 . 422) Изобразите граф К6 – полный граф на 6 вершинах. 423) Раскрасьте графы на рис. 98 - 103. Определите их хроматическое число. 424) a) b) c) d) e) f) g) Изобразите для графов на рис. 98 - 103: Дополнение графа; Матрицу смежности; Матрицу инцидентности; Эйлерову цепь; Эйлеров цикл; Гамильтонов цикл; Остовное дерево. 425) Решите задачу, используя графы. Из пункта А в пункт В выехали пять машин одной марки разного цвета: белая, черная, красная, синяя и зеленая. Черная едет впереди синей, зеленая – впереди белой, но позади синей, красная впереди черной. Какая машина едет первой, какая последней? Вопросы для повторения 1. Понятия граф, орграф, мультиграф, полный и связный граф, степень вершин. Способы задания графов. Примеры. 2. Способы задания графов. Изоморфизм графов и операция дополнения графа. Примеры. 3. Понятия неориентированный граф, маршрут, цепь, цикл в графе, длина маршрута в неориентированном графе. Примеры. 4. Понятие ориентированный граф, путь и контур в ориентированном графе. Примеры. 5. Понятия граф, подграф, остовный подграф, подграф, порожденный заданным множеством вершин, дерево, остовное дерево. Примеры. Алгоритмы Прима и Краскала 6. Понятие Эйлеров граф. Необходимое и достаточное условие существования Эйлерова цикла и Эйлеровой цепи в графе. Алгоритм построения эйлерова цикла в графе.Пример. 7. Понятия матрица смежности, матрица инцидентности и матрица достижимости. Примеры их построения для заданного графа и построения графа по заданной матрице. 8. Понятия полный и регулярный графы, двудольный граф. Критерий двудольности графа. Раскраска двудольного графа. Пример. 9. Задача коммивояжера и её приложение к теории графов. Алгоритмы её решения. 129 10. Понятие планарный граф, плоский граф, грань графа. Формула Эйлера для планарных связных графов Теорема о планарности графов К3,3 и К5. Примеры. 11. Операция изъятия и добавления вершин. Гомеоморфные графы. Критерий планарности Куратовского-Понтрягина. Примеры. 12. Операции стягивания и разбиения ребра. Примеры. Теорема Куратовского-Понтрягина. 13. Понятия раскраска, правильная раскраска, хроматическое число, k-раскрашиваемые графы, оптимальная раскраска. Практическое применение оптимальной раскраски (задача о пользователях и ресурсах). 14. Проблема четырех красок. Понятие графа, двойственного данному. Раскраска географических карт. Теорема о пяти красках. Примеры. 130 4.5. Алгоритмы на графах 4.5.1. Алгоритмы нахождения расстояний между двумя вершинами В ненагруженном графе можно считать вес каждого ребра равным единице. Если v и v’ две вершины графа, то определим расстояние ( v, v’ ) между ними как число ребер в минимальной цепи, соединяющей вершины v и v’. Алгоритм определения минимального расстояния в ненагруженном графе: 1. Присваиваем вершине V1 метку 0, а всем вершинам, смежным с ней метку 1. 2. Присваиваем вершинам, смежным с вершинами, имеющими метку 1 и еще не помеченными метку 2 и т.д. Рассмотрим 2 алгоритма определения минимального расстояния в нагруженном графе (с неотрицательными весами). Алгоритм Форда. Считается, что каждой вершине графа сопоставляется метка m(v). Часть I. Расстановка меток. 1. Вершине s приписывается метка 0, а всем остальным - . 2. В цикле по всем вершинам идет пересчет меток по следующему правилу: v: m(v):=min( m(v), m(w)+l(v, w) ), где l(v, w)- длина ребра, w – вершина, смежная с v. В орграфе при таком пересчете вершину w такую, что в вершину v есть дуга (w,v). 3. Эта процедура повторяется до тех пор, пока ни одна из меток не изменится. Если метки перестали меняться, то метка вершины t и есть кратчайший маршрут из s в t. Часть II. Поиск пути (производится только в обратном порядке). 1. Пусть получена метка вершины t: m(t). Вершину t включаем в путь. 2. Найдем вершину w, за счет которой получена метка вершины t: m(w)+l(w,t)=m(t). 3. Найдем вершину v1, за счет которой получена метка вершины w: m(v1)+l(v1,w)=m(w). 4. Продолжаем этот процесс до тех пор, пока не достигнем начальной вершины s. Таким образом, получим путь: s, …, v1, w, t. Алгоритм Дейкстры. Этот алгоритм является улучшенным алгоритмом Форда (эффективнее). Если, например, в графе n вершин, то он будет работать в n раз быстрее. Отличие этих алгоритмов состоит в том, что в алгоритме Форда пересчитываются все метки, а в алгоритме Дейкстры нет. Метки в алгоритме Дейкстры делятся на две категории: временные (как в алгоритме Форда) и постоянные (равные длине кратчайшего пути). Постоянные метки не пересчитываются. Часть I. Расстановка меток (текущую вершину обозначим р). 1. Вершине s приписывается метка 0, а всем остальным - +. Текущая вершина на первом шаге s (p=s). Метка вершины s: m(s) –постоянная. 2. Пересчитываем метки (только у вершин, соседних с s с временными метками) по правилу: v: (p,v): m(v):=min( m(v), m(p)+l(p,v) ) 3. Среди всех вершин с временными метками находится вершина с минимальной меткой. Вершина становится текущей, а её метка постоянной. 4. Процедура продолжается до тех пор, пока вершина t не получит постоянную метку (причем у других вершин могут остаться временные метки). Часть II. Поиск пути происходит также, как в алгоритме Форда. Примеры решения задач 426) Пользуясь алгоритмом определения минимального расстояния в нагруженном графе (алгоритм Дейкстры), Найдите кратчайший путь из А в В (см. рис. 116,а) Решение. На рис. 116, б-ж показан процесс решения задачи о длине кратчайшего пути из А в В. Постоянные метки заключены в квадрат, метка 131 текущей вершины отмечена знаком +. Рассуждения в соответствии с описанным алгоритмом могут быть следующие: 1. Отмечаем начальную вершину меткой 0, а все остальные . Текущая вершина на первом шаге А (p=А). Метка вершины А: m(А) –постоянная, заключаем её в квадрат. 2. Пересчитываем метки (только у вершин, соседних с А, имеющих временные метки) по правилу v: (p,v): m(v):=min( m(v), m(p)+l(p,v) ). Т.о., временные пересчитаны метки вершин V1 и V2: m(V1)=0+2=2, m(V2)=0+5=5 (см. рис. 116, б) 3. Среди всех вершин с временными метками - вершина с минимальной меткой V2. Эта вершина становится текущей (p= V2), а её метка постоянной. Пересчет вершин, смежных с V2: m(V4)=2+3=5 (см. рис. 116, в). 4. Среди всех вершин с временными метками - вершина с минимальной меткой V3 и V4. Делаем (на выбор) текущей вершиной (p= V3), её метка становится постоянной. Пересчет вершин, смежных с V3: m(V5)=5+1=6 (см. рис. 116, г). 5. Среди всех вершин с временными метками - вершина с минимальной меткой V4. Делаем текущей вершиной (p=V4), её метка становится постоянной. Пересчет вершин , смежных с V3:m(V6)=5+5=10 (см. рис. 116, д). 6. Среди всех вершин с временными метками - вершина с минимальной меткой V5. Делаем её текущей вершиной (p=V5), её метка становится постоянной. Пересчет вершин, смежных с V5:m(V6)=6+2=8 (см. рис. 116, е). 7. Осталась одна вершина с временной меткой, делаем её постоянной. Так как это вершина, до которой мы ищем расстояние, то действие первой части алгоритма на этом завершено (см. рис. 116, ж). 132 В данном случае кратчайший путь, начинающийся в V1=А и заканчивающийся в V6=B, соответствует (в обратном порядке) списку вершин, начинающемуся вершиной В, в котором каждая предыдущая вершина смежна с последующей, причем разность между метками соседних вершин равна весу ребра (или дуги), соединяющему эти вершины. На рис. 114,ж кратчайший путь выделен жирными линиями. 427) Пользуясь алгоритмом Форда найдите кратчайший путь из А в L (см. рис. 117) Решение. На рис. 118-121 показан процесс решения задачи о нахождении длины кратчайшего пути из А в L. Рассуждения в соответствии с описанным алгоритмом могут быть следующие: Рис. 117 Часть 1. 1. Отмечаем начальную вершину меткой 0, а все остальные (см. рис 118). Рис. 118 Рис. 119 Рис. 120 Рис. 121 133 2. Пересчитываем метки всех вершин: m(B)=0+3=3; m(C)=0+1=1; m(D)=0+2=2; m(E)=1+4=5 (данная метка получена за счет вершины С, но она же могла быть получена за счет вершины В, тогда бы её метка равнялась 3+5=8. Как будут меняться метки зависит от способа обхода графа и не имеет значения); m(G)=3+4=7; m(F)=2+1=3; m(I)=7+1=8; m(L)=7+5=12. Данный этап проиллюстрирован на рис.119. 3. Ещё раз пересчитываем метки всех вершин: m(B)=1+1=2; m(G)=2+4=6; m(I)=3+2=5; m(L)=6+5=11 (см. рис. 120). 4. Ещё раз пересчитываем метки всех вершин: m(L)=5+4=9 (см. рис. 121). Дальнейшая попытка пересчитать метки приводит к тому, что ни одна из меток не изменятся, следовательно, часть первая алгоритма закончена. Часть 2. Поиск пути производим в обратном порядке от вершины L. Метка этой вершины получена за счет вершины I. Она в свою очередь получена за счет вершины D, а она за счет вершины А. Следовательно, искомый кратчайший путь: A, D, I, L. Задачи для самостоятельного решения. 428) Найдите кратчайший путь из А в В в невзвешенном графе, изображенном на рис. 122. A B F 5 4 2 E 3 9 A 5 J 8 7 4 G 1 2 6 C 3 3 5 3 7 8 H D Рис.123 Рис. 122 1 2 I B 429) Найдите кратчайший путь из A в J во взвешенном графе (см. рис. 123) 430) Найдите минимальные расстояния от вершины А до остальных вершин 11 2 А 3 2 7 1 8 1 1 4 2 5 5 Рис.124 134 10 5 графа на рис. 124. 431) Даны взвешенные графы (рис. 125 и рис. 126). В них выделены две B 1 D 2,5 V C 3 W 1,5 2 3,5 A 2 1 F 1 1,5 3 2 2 1 1 G 2 1 3 E M Рис.125 12 5 1 2 1 1 2,5 V 3 8 5 12 6 1,5 0,5 0,5 14 3,5 7 W 8 0,5 Рис.126 1 вершины V и W. Найдите кратчайшие расстояния между ними. 432) Найдите расстояние от вершины W до всех остальных вершин во 6 5 12 8 9 4 W 3 5 2 7 4 6 17 12 5 Рис. 127 взвешенном графе (рис. 127). 433) Найдите расстояние от вершины V до всех остальных вершин во взвешенных графах на рис. 128-129. 135 8 6 1 18 4 8 11 6 7 13 4 5 4 V 3 1 8 5 2 2 V 3 3 1 9 12 7 5 7 5 2 7 4 7 5 2 2 Рис.128 Рис.129 4.5.2. Алгоритм построения максимального потока Транспортная сеть – связный ориентированный взвешенный граф, каждой дуге u которого приписана величина c (u ) , называемая ее пропускной способностью. Кроме того, в нем существует единственная вершина s, из которой все дуги выходят и точно одна вершина t, в которую все дуги входят. Эти вершины называются источником и стоком соответственно. Потоком в сети называется функция φ( u ), определенная на множестве дуг и удовлетворяющая следующим свойствам: 1. 0 φ( u ) c (u ) для любой дуги , т.е. поток через любую дугу не отрицателен и не превышает ее пропускной способности 2. (u ) (u ) , поток "входящий" в любую вершину V (отличную от источника и стока) uDV uDV равен "исходящему" из нее потоку ( Dv , Dv -множество всех дуг, которые входят в V и выходят из V соответственно). В любой сети существует по крайней мере один поток (нулевой). Величиной потока назовем количество вещества, вытекающего из источника или равное ему количество вещества, втекающего в сток. (u ) (u ) . uDs uDt Нас будут интересовать потоки, имеющие наибольшее значение, эти потоки называются максимальными. Реальные задачи, сводящиеся к поиску максимального потока в транспортной сети: Задача 1. Имеется производитель электроэнергии, например, электростанция и потребители этой энергии. Требуется определить максимальное количество электроэнергии, которое можно передать. Задача 2. Имеется сеть дорог, пропускные способности которых ограничены во времени. Определить минимальное время доставки груза от производителя к потребителю. Разрезом сети N называется множество вершин А, где sA и tА, причем А А =V, A А . Обозначим множество всех дуг, начало которых лежит в А, а конец не принадлежит А - U A . | U A |=3 136 Пропускной способностью разреза А называется сумма пропускных способностей дуг из множества U A . Минимальным называется такой разрез, у которого пропускная способность принимает наименьшее значение. Лемма 1. Величина любого потока φ не превосходит суммы пропускных способностей дуг любого разреза: φс(А). Лемма 2. Если нашелся поток φ и разрез А такие, что φ=с(А), то поток φ – максимальный, а разрез А – минимальный. Назовем дугу насыщенной, если поток, идущий по ней равен её пропускной способности: φ( u )=с( u ). Поток называется полным, если на любом пути из источника в сток существует хотя бы одна насыщенная дуга. Очевидно, что φполн. φмакс. Любой максимальный поток является полным, но не любой полный поток является максимальным. Теорема (Форда-Фалкерсона). Во всякой сети величина максимального потока равна пропускной способности любого минимального разреза. Алгоритм построения максимального потока: Часть 1. Нахождение полного потока. 1. Находим произвольный поток в сети φ, например, нулевой поток: u : φ( u )=0. 2. Находим путь из источника в сток по ненасыщенным дугам, например, волновым алгоритмом. Увеличим поток по этому пути, для этого найдем следующую величину: =min(с( u )-φ( u )) по всем дугам пути . 3. Увеличиваем поток следующим образом: для любой дуги поток увеличивается на : φ( u ):=φ( u )+. Очевидно, что при таком увеличении хотя бы одна дуга станет насыщенной. 4. Пункты 2 и 3 повторяем до тех пор, пока не останется путей из s в t с ненасыщенными дугами. Т.о. найдем полный поток, но максимальный ли? Часть 2. Нахождение максимального потока. 1. Находим пути из источника в сток такие, что ориентация дуг уже не учитывается, но любая дуга, которая проходится по ориентации (назовем её правильной) должна быть ненасыщенной, а по любой дуге, которая проходится против ориентации (назовем её неправильной) должен течь ненулевой поток. 2. Предположим, что такой путь нашли. Находим по правилам: а) Для правильных дуг из : 1=min(с( u )-φ( u ))>0. б) Для неправильных дуг из : 2=min(φ( u )). в) =min(1,1)>0. 3. Меняем поток следующим образом: а) Для правильных дуг из : φ( u ):=φ( u )+. (*) б) Для неправильных дуг из : φ( u ):=φ( u )-. (**) 4. Пункты 2 и 3 повторяем до тех пор, пока существуют требуемые пути. Алгоритм построения минимального разреза: 1. Вершину s отмечаем +. 2. Предположим, что часть вершин уже помечено «+». Тогда на следующем шаге будем помечать вершины «+» в двух случаях: а) когда дуга правильная и ненасыщенная; б) когда дуга неправильная и по ней течет ненулевой поток. 3. Повторяем пункт 2 до тех пор, пока множество помеченных вершин не перестанет изменяться. Это и будет минимальный разрез А. Примеры решения задач 434) Пользуясь алгоритмом Форда-Фалкерсона найти максимальный поток в сети и минимальный разрез. 137 Решение. Часть 1. Нахождение полного потока. 1. Пусть в сети течет нулевой поток. Выбираем путь s, V4, V5, V6, V3, V1, V2, t. Внизу подписаны длины всех ребер, входящих в 10 9 8 8 10 10 10 него. Вычисляем : =min(10-0, 9-0, 8-0, 8-0, 10-0, 10-0, 10-0)=8. Увеличиваем поток по этому пути с 0 до 8 и отмечаем насыщенные дуги (см. рис. 130). 2. Выбираем путь s, V4, V5, V3, V1, V2, t. 10 9 1 10 10 10 Вычисляем : =min(10-8, 9-8, 1-0, 10-8, 10-8, 10-8)=1. Увеличиваем поток по этому пути на +1 и отмечаем насыщенные дуги (см. рис. 131). 3. 3. Выбираем путь s, V1, V2, t. 10 10 10 Вычисляем : =min(10-0, 10-9, 10-9)=1. Увеличиваем поток по этому пути на +1 и отмечаем насыщенные дуги (см. рис. 132). 4. Путей из s в t с ненасыщенными дугами больше нет, поэтому первая часть алгоритма закончена и найден полный поток полн=10. Часть 2. Нахождение максимального потока. 1. Выбираем путь s, V4, V3, V6, t. Вычисляем величину увеличения потока : 1=min (10-9, 1-0, 10-0)=1. Ребро V3, V6 пропускаем, т.к. оно неправильное. 2=min (8)=8, где 8 – поток по неправильным дугам выбранного пути. =min(1, 2)=min(1,8)=1. Увеличиваем поток по этому пути на 1 по правильным ребрам и уменьшаем на 1 по неправильным (см. рис. 133). 2. Выбираем другой путь s, V1, V3, V6, t. Вычисляем величину увеличения потока : 1=min (10-1, 10-1)=9. Ребра V1, V3 и V3, V6 пропускаем, т.к. они неправильные. 2=min (9, 7)=7, где 7 – поток по неправильным дугам выбранного пути. =min(1, 2)=min(9,7)=7. Увеличиваем поток по этому пути на 7 по правильным ребрам и уменьшаем на 7 по неправильным (см. рис. 134). Построение разреза. В соответствии с алгоритмом последовательно включаем в множество А следующие вершины: А={s, V1, V3, V4, V5} (см. рис. 135). V1, V2 – правильное ребро, поток 10 V3,V6 – неправильное ребро, поток 0 V5, V6 – правильное ребро, поток 8 Итого: 18 – максимальный поток в сети и пропускная способность минимального разреза. 138 Рис. 130 Рис. 131 Рис. 132 Рис. 133 Рис. 134 Рис. 135 Для более компактной записи решение будем оформлять в виде таблицы: Выбираемый путь Расчет Часть 1. Нахождение полного потока. 1. s,V4,V5,V6,V3,V1,V2,t =min(10-0,9-0,8-0,8-0,10-0,10-0,10-0)=8 2. s,V4,V5,V3,V1,V2,t =min(10-8, 9-8,1-0,10-8,10-8,10-8)=1 3. s, V1, V2, t =min(10-0,10-9,10-9)=1 Величина увеличения потока Список насыщенных дуг +8 +1 +1 V6,V3 и V5,V6 V4,V5 и V5,V3 V1,V2 и V2,t 1 s,V4 и V4,V3 7 - полн=8+1+1=10 Часть 2. Нахождение максимального потока. 1. s,V4,V3,V6,t 1=min (10-9, 1-0, 10-0)=1, 2=min (8)=8, =min(1, 2)=min(1,8)=1. 2. s,V1,V3,V6,t 1=min (10-1, 10-1)=9, 2=min (9, 7)=7, =min(1, 2)=min(9,7)=7. макс=полн +1+7=10+8=18 Разрез Пропускная способность разреза А={s, V1, V3, V4, V5} с(А)=60 139 Задачи для самостоятельного решения 435) Найдите максимальный поток в сети, приведенной на рис. 136, в которой пропускные способности всех дуг равны единице. s t Рис. 136 436) Найдите поток максимальной мощности в сети (рис. 137). 3 1 2 s 2 1 6 t 3 5 Рис. 137 437) Постройте полный и максимальный потоки в транспортной сети (рис. 138). 6 7 9 3 2 2 s t 8 7 2 Рис. 138 438) Найдите максимальный поток в сети. V –источник, W –сток (рис. 139, 140). 6 2 3 V 0 2 1 0 2 7 3 W V 2 2 4 2 4 1 7 9 1 Рис. 139 W 5 6 Рис. 140 439) Найдите максимальный поток в транспортной сети и соответствующий минимальный разрез (рис. 141). 140 2 5 s 5 5 5 5 3 1 7 5 7 1 t 1 5 3 Рис. 141 440) Найдите максимальную пропускную способность сети между её сток 4 1 источник 15 13 14 7 10 3 2 11 5 8 9 6 12 Рис. 142 источником и стоком (рис. 142). 441) Найдите максимальный поток от х1 к х9 (рис. 143). 10 18 14 8 х1 11 9 12 х9 25 7 23 26 20 15 4 Рис. 143 Вопросы для повторения 1. Алгоритм нахождения кратчайшего маршрута между заданными вершинами в невзвешенном графе и его длины. Пример. 2. Алгоритм Форда нахождения кратчайшего маршрута между заданными вершинами во взвешенном графе и его длины. Пример. 3. Алгоритм Дейкстры нахождения кратчайшего маршрута между заданными вершинами во взвешенном графе и его длины. Пример. 4. Основные понятия транспортной сети. Реальные задачи, сводящиеся к поиску максимального потока в транспортной сети 141 5. Алгоритм нахождения максимального потока в сетях. Глава 5. Элементы теории автоматов 5.1. Основные понятия и определения 5.1.1. Преобразователи информации. Автоматы Теория автоматов имеет широкие возможности применения: проектирование систем логического управления; обработка текстов и построение компиляторов; спецификация и верификация систем взаимодействующих процессов; языки описания документов и объектноориентированных программ; оптимизация логических программ др. 80 или даже 90 % информатики будет в будущем основываться на теории конечных автоматов. Простейший преобразователь информации (рис.144 а) отображает некоторое множество элементов информации Х, поступающее на вход, в некоторое множество на выходе Y. Если множества Х и Y являются конечными и дискретными, то есть преобразование осуществляется в дискретные моменты времени, то такие преобразователи информации называются конечными преобразователями. Элементы множеств Х и Y в этом случае предварительно кодируют двоичными кодами и строят преобразование одного множества в другое. Результат преобразования F: XY зачастую зависит не только от того, какая информация в данный момент появилась на входе, но и от того, что происходило раньше, то есть от предыстории преобразования. Например, один и тот же вход - извинение соседа после того, как он вам наступил на ногу в переполненном автобусе - вызовет у вас одну реакцию в первый раз и совсем другую - в пятый раз. Рис. 144 Таким образом, существуют более сложные преобразователи информации (ПИ), реакция которых зависит не только от входных сигналов в данный момент, но и от того, что было раньше, от входной истории. Такие ПИ называются автоматами (схемами с памятью). В этом случае говорят об автоматном преобразовании информации (рис.144 б). На один и тот же входной сигнал автомат может реагировать по-разному, в зависимости от состояния, в котором он находился. Автомат меняет свое состояние с каждым входным сигналом. Примеры решения задач 442) Смоделируйте автомат, описывающий поведение "умного" отца. Решение: Опишем поведение отца, сын которого учится в школе и приносит двойки и пятерки. Отец не хочет хвататься за ремень каждый раз, как только сын получит двойку, и выбирает более тонкую тактику воспитания. Зададим такой автомат графом, в котором вершины соответствуют состояниям, а дуга из состояния s в состояние q, помеченное x/y, проводится тогда, когда автомат из состояния s под воздействием входного сигнала х переходит в состояние q с 142 выходной реакцией y. Граф автомата, моделирующего умное поведение родителя, представлен на рис.145. Этот автомат имеет четыре состояния {S0, S1, S2, S3}, два входных сигнала – оценки {x2, x5} и выходные сигналы {y0, y1, y2, y3, y4, y5} , которые будем интерпретировать как действия родителя следующим образом: y0- брать ремень; y1- ругать сына; y2- успокаивать сына; y3- надеяться; y4- радоваться; y5- ликовать. Сына, получившего одну и ту же оценку - двойку, ожидает дома совершенно различная реакция отца в зависимости от предыстории его учебы. Например, после Рис. 145 третьей двойки в истории (х2, х2, х2) сына встретят ремнем, а в истории (х2, х2, х2, х5, х2) будут успокаивать и т.д. 443) Постройте Задачи для самостоятельного решения граф автомата, моделирующего поведение студента и преподавателей, используя следующие данные: {S0, S1, S2, S3, S4, S5} – состояния, {х1, x2, x5} - входные сигналы: "н", "2" и "5", {y0, y1, y2, y3, y4, y5, у6, у7} выходные реакции: у1- отмечаем "н"; у2- успокаивать; у3- хвалим студента; у4- поощряем; у5- надеемся; у6- предупреждаем; у7- отчисляем. 5.1.2. Абстрактные автоматы Итак, с одной стороны, АВТОМАТ - устройство, выполняющее некоторые действия без участия человека. С другой стороны, АВТОМАТ - математическая модель, описывающая поведение технического устройства. В данном случае реальное устройство, система и т.д. рассматривается как некоторый "чёрный ящик" (рис.146). Рис. 146 143 Абстрактный автомат - это математическая модель, описывающая техническое устройство совокупностью входных, выходных сигналов и состояний, кроме того: имеет множество внутренних состояний A={a1(t), a2(t), a3(t), am(t)}, называемых состояниями автомата; на вход автомата поступает конечное множество Z={z1(t), z2(t), z3(t), …, zf(t)} входных сигналов; имеется конечное множество выходных сигналовW={w1, w2, w3, …, wg}; задана функция перехода (a,z); задана функция формирования выходов автомата (a,z); определено начальное состояние автомата a1A. Для описания автомата нужно использовать шестёрку вида S={A, Z, W, , , a1}, где A={a1, a2, a3, …, aM}; Z={z1, z2, z3, …, zF}; W={w1, w2, w3, …, wG}; : AZA(as=(am, zi) | asA); : AZW(ws=(am, zi) | asA, wW; a1A. Автомат реализует некоторое отображение множества слов входного алфавита Z в множество слов выходного алфавита W. Автомат называется конечным, если множество его внутренних состояний и множество значений входных сигналов есть конечные множества. Автомат называется синхронным, если интервал временной дискретизации постоянен, в противном случае говорят об асинхронном автомате. Автомат называется детерминированным, если поведение автомата в каждый момент времени однозначно определено (zi, ai). В зависимости от способа определения выходного сигнала в синхронных автоматах различают: Автомат первого рода (Автомат Мили) - выходной сигнал W(t) однозначно определяется входным сигналом Z(t) и состоянием a(t) автомата в предшествующий момент времени (t-1). Математической моделью таких автоматов служит система уравнений: a(t+1)=(a(t), Z(t)); где t=0, 1, 2, … W(t)=(a(t), Z(t)); Автомат второго рода (Автомат Мура) - в автоматах Мура выходной сигнал W(t) однозначно определяется входным сигналом Z(t) и состоянием A(t+1) в данный момент времени t. Математической моделью таких автоматов является система: A(t+1)= (a(t), Z(t)), W(t)=(a(t)), где t=0, 1, 2, … W(t+1)=(a(t+1))= ((a(t), z(t))). В таких автоматах функция выхода зависит только от состояний автомата в данный момент времени и не зависит от входного сигнала. Таким образом, входная строка такого автомата однократно считывается слева направо, осуществляя поочередный просмотр символов. В определенный момент времени конечный автомат находится в некотором внутреннем состоянии, которое изменяется после считывания очередного символа. Новое состояние можно охарактеризовать считанным символом и текущим состоянием. 5.1.3. Методы задания автоматов Для задания конечного автомата S требуется описать все элементы множества S={A, Z, W, , , a1}, наиболее часто используемой формой описания элементов множества S является табличный, графический, матричный способы. Теоретико-множественное представление автоматов. Для задания конечного автомата S={A, Z, W, , , a1}, все элементы множества должны быть заданы явно. Так для автомата Мили: A={a1, a2, a3, …, aM}; - алфавит состояний; W={w1, w2, w3, …, wG}; - выходной алфавит; Z={z1, z2, z3, …, zF};- входной алфавит; 144 : AZA(as=(am, zi) | asA); : AZW(ws=(am, zi) | asA, wW; a1A - начальное состояние автомата. Табличная форма. Табличная форма для автомата Мили иллюстрируется Таблицей 1 (переходов) и Таблицей 2 (выходов). Таблица 1 Таблица 2 z f \a m a 1 … aM z f\a m a1 … aM z1 (a1, z1) z1 (aM, z1) (a1, z1) (aM, z1) … … … … … … … … z F (a1, zF) zF (aM, zF) (a1, zF) (aM, zF) Строки этих таблиц соответствуют входным сигналам, а столбцы - состояниям, причем крайний левый столбец обозначен начальным состоянием a1 . На пересечении столбца amи строки zf в таблице переходов ставится функция перехода (am, zf) , то есть состояние, в которое автомат переходит из состояния am под действием входного сигнала zf , а в таблице выходов - выходная функция (am, zf) , то есть соответствующий этому переходу выходной сигнал wg. Автомат называется частично заданным, если он определен не для всех пар переходов (am, zf) . Для частично заданного автомата на месте отсутствующего перехода ставится прочерк как в таблице переходов, так и в таблице выходов. Таблица 3 Таблица 4 z f\ a m a 1 a2 a 3 a 4 z f\ a m a 1 a2 a 3 a 4 a2 a1 a3 w1 w 2 w 1 z1 z1 a3 a3 a- a1 w 2 w1 - w 2 z2 z2 - a4 a2 a4 - w1 w2 w1 z3 z3 Табличная форма задания автомата Мура представляет собой совмещенную Таблицу 5, в которой выходной сигнал, соответствующий состоянию am в автомате Мура размещен в верхней строке над соответствующими состоянием, а остальная информация аналогична представлению автомата Мили. Пример представления автомата Мура приведен в Таблице 6. Таблица 5 Таблица 6 \wG w1 wG \ wG w1 w3 w2 w1 w3 a1 … am zf\ am zf\ am a 1 a2 a3 a4 a5 a2 a1 a1 a1 a1 z1 z1 (a1, z1) (aM, z1) … … … a3 a5 a2 a5 a3 … z2 a4 a3 a5 a2 a4 zF z3 (a1, zF) (aM, zF) Графовая форма задания абстрактных автоматов. В данном случае автомат S={A, Z, W, , , a1}, представляется графом, в котором: 1. Множество A изображено вершинами графа; 2. Функция задана дугами графа, причем две вершины графа am и as соединяются дугой, если в автомате существует переход из am в as ; 3. множество Z изображено метками дуг: zf ставится на дуге из вершины am в вершину as , если в автомате существует переход из am в as под действием входного сигнала zf ; 4. функция задана метками дуг или вершин: для автомата Мили дуга из вершины am в вершину as помечается выходным сигналом wg, если в автомате существует переход из am в as и при этом вырабатывается выходной сигнал wg; а для автомата Мура выходным сигналом wg помечается вершина, определяющая as= (am ). На рис.147 приведены примеры описания автомата Мили и автомата Мура: 145 Рис. 147 Матричная форма. Для автомата Мили матричная форма состоит из матрицы С=|cms| размерностью MM, где каждый элемент матрицы cms=zf/wg, находящийся на пересечении mой строки и s-го столбца соответствует входному сигналу zf, вызывающему переход из состояния am в состояние as с выработкой выходного сигнала wg. Пример матричного описания автомата Мили показан ниже. C= Для автомата Мура матричная форма состоит из матрицы С=|cms| размерностью MM, где каждый элемент матрицы cms=zf, стоящий на пересечении m-ой строки и s-го столбца, соответствует входному сигналу zf, вызывающему переход из состояния am в состояние as . Так как выходной сигнал wg в автомате Мура зависит только от состояния, следовательно, выходные сигналы могут быть представлены матрицей-столбцом. Пример матричного описания автомата Мура показан на формуле, приведенной выше. Примеры решения задач 444) Автомат Мили представлен в табличной форме (рис. 148). Опишите автомат Мили в явной форме. Таблица 7 z f \a m a1 a2 a3 z1 a2 a1 a3 z2 a3 a3 a2 Таблица 8 z f \a m a1 a2 a3 z1 w1 w2 w1 z2 w2 w2 w2 Рис. 148 Решение: автомат Мили в явной форме описывается так: S={A, Z, W, , , a1}, A={a1, a2, a3}; Z={z1, z2}; W={w1, w2}; : a2=(a1, z1); a3=(a1, z2); a1=(a2, z1); a3=(a2, z2); a3=(a3, z1); a2=(a3, z2); : w1=(a1, z1); w2=(a1, z2); w2=(a2, z1); w1=(a2, z2); w1=(a3, z1); w2=(a3, z2). 445) Конечный автомат имеет алфавиты: Z={a,b} — множество входных символов, W={m,n,p} - множество выходных символов, A={1,2.3} множество 146 состояний. Задать автомат таблицами (матрицами). По таблицам составить систему команд автомата. Решение. В виду того, что не указаны конкретные функции, расставим значения произвольно, причем: для матрицы переходов значения берутся из множества A={1,2.3} для матрицы выводов значения берутся из множества W={a,b,c} Матрица перехода ai δ(ai, z) 1 2 3 3 3 1 a 2 3 3 b Матрица вывода ai λ(a, z) 1 2 3 n m n a p p p b Объединенная таблица ai δ(ai, z) и λ(a, z) 1 2 3 3, n 3, m 1, n a 2, p 3, p 3, p b Объединим обе получившиеся таблицы в одну общую таблицу: Выпишем команды преобразования, осуществляемые рассматриваемым автоматом: 1). 1,a ® 3,n 2). 1,b®2,p 3). 2,a ®3,m 4). 2,b®3,p 5). 3,a®1,n 6). 3,b®3,p Задачи для самостоятельного решения 446) Автомат Мура S={A, Z, W, , , a1} представлен на рис. 149 в табличной форме. Запишите его в явной форме. Постройте граф. \ wG w1 zf\ am a 1 z1 a2 z2 a3 z3 a4 w3 a2 a1 a5 a3 w2 a3 a1 a2 a5 w1 w3 a4 a5 a1 a1 a5 a3 a2 a4 Рис. 149 447) Конечный автомат имеет алфавиты: Z={a,b} — множество входных символов, W={d,h,k,t} множество выходных символов, A={1,2,3,4} множество состояний. Задать три автомата на заданных множествах таблицами (матрицами). Для каждого автомата записать систему команд преобразования и построить соответствующие им графы. 448) Автомат задан в табличной форме. Какой из двух графов соответствует этому автомату? w1 a1 z1 a2 z2 z3 Рис. 150 Рис.151 w2 a2 a2 a3 w3 a3 a4 w1 a4 a1 - a4 a1 a2 a2 Рис.152 147 449) Для автомата Мили заданы таблицы переходов (табл.9) и выходов (табл.10). Какие из построенных графов автомата и матриц соответствует заданному? Таблица 9 Таблица 10 a1 a2 a3 a1 a2 a3 z1 a2 a1 a1 z1 w3 w1 w4 z2 a3 a3 a2 z2 w2 w3 w2 - z1/w3 z2/w2 z1/w1 - z2/w3 z1/w4 z2/w2 - - z1/w3 z2/w2 z1/w1 - z2/w3 z1/w4 z2/w2 - 450) Автомат представлен в матричной форме. соответствующий граф и табличную форму. z\ a z1 z2 z\a z1 z2 a1 a2 a3 a3 a1 a1 a1 a2 a3 a1 a2 a3 w2 w1 w2 w1 w2 w1 z\a z1 z2 z\a z1 z2 a1 a2 a3 a3 a1 a1 a1 a2 a3 a1 a2 a3 w1 w1 w2 w1 w2 w1 - z1/w3 z1/w1 z1/w1 - z2/w2 z2/w2 z2/w2 - Выберите z\a z1 z2 z\a z1 z2 для него a1 a2 a3 a3 a1 a1 a1 a3 a2 a1 a2 a3 w1 w1 w2 w1 w1 w1 451) На рисунке дан граф автомата Мура. Какое из представленных ниже теоретико-множественных представлений подойдет для этого автомата? 148 A={a1, a2, a3}; Z={z1, z2, z3}; W={w1, w2 , w2}; : a3=(a1, z2); a1=(a2, z1); a3=(a2, z2); a2=(a3, z1); : w1=(a1); w1=(a2); w2=(a3). A={a1, a2, a3}; Z={z1, z2}; W={w1, w2}; : a3=(a1, z2); a1=(a2, z1); a3=(a2, z2); a2=(a3, z1); : w1=(a1); w1=(a2); w2=(a3). A={a1, a2, a3}; Z={z1, z2}; W={w1, w2}; : a2=(a1, z1); a1=(a2, z1); a3=(a2, z2); a1=(a3, z2); a2=(a3, z1); : w3=(a1); w1=(a2); w2=(a3). 452) Автомат представлен в теоретико-множественной форме. Какая из табличных форм описания подходит для этого автомата? A={a1, a2, a3}; Z={z1, z2}; W={w1, w2}; : a3=(a1, z2); a1=(a2, z1); a3=(a2, z2); a2=(a3, z1); a1=(a3, z2); : w1=(a1); w1=(a2); w2=(a3). \w z\a z1 z2 w1 a1 a3 w2 a2 a2 w2 a3 a2 a1 \w z\a z1 z2 w1 a1 a3 w1 a2 a1 a3 w2 a3 a2 a1 \w z\a z1 z2 w1 a1 a3 w2 a2 a1 - w2 a3 a2 - 5.2. Эквивалентные автоматы 5.2.1. Реакция автомата Реакцией автомата называется последовательность выходных сигналов автомата, полученная под воздействием некоторой последовательности входных сигналов, то есть реакция - это выходное слово автомата на конкретное входное слово. Так для автомата на рис.153 формирование реакции представлено в табл. 11. На вход автомата подается последовательность входных сигналов (z1, z2, z1, z2, z2). Автомат в исходном состоянии находится в состоянии A1. Поступающий входной сигнал z1 переводит автомат в состояние A2, причем на этом переходе в тот же самый дискретный момент времени формируется выходной сигнал w3. Во второй момент времени t2 на автомат действует входной сигнал z2, который переводит автомат в состояние A3, причем на этом переходе в тот же самый дискретный момент времени t2 формируется выходной сигнал w1 и так далее. В результате на входное слово = (z1, z2, z1, z2, z2) сформировано выходное слово (w3,w1, w1, w2, w2), которое и является реакцией автомата. Рис. 153 Для автомата Мура формирование Таблица 11 реакции происходит аналогично, с той лишь разницей, что в автомате Мура Моменты времени t t1 t2 t3 t4 t5 z1 z 2 z1 z2 z2 Входные сигналы выходной сигнал выдается не на a1 a2 a3 a3 a2 a1 Состояния переходе автомата из состояния Am в Выходные сигналы w3 w1 w1 w2 w2 149 состояние As как в автомате Мили, а после того, как автомат перешел в состояние As. Задачи для самостоятельного решения 453) Дан автомат Мили. Входное слово Какая из перечисленных реакций автомата на входное слово верная? 454) Дан автомат Мура. Входное слово Какая из перечисленных реакций автомата на входное слово верная? 455) Дан автомат Мура. Входное слово w w1 w2 w3 w4 z\a a1 a2 a3 a4 z1 a1 a2 a3 z2 a3 a2 a1 a2 z3 a4 a1 a1 Какая из перечисленных реакций автомата на входное слово верная? 456) 4. Дан автомат Мили. Входное слово a1 a2 a3 a1 a2 z1 a2 a1 a1 z1 w1 w3 z2 a3 a3 a2 z2 w2 w2 Какая из перечисленных реакций автомата на входное слово верная? 150 a3 w1 w2 457) Дан автомат Мили. Найти реакцию автомата на входное слово . 458) Дан автомат Мура. Найти реакцию автомата на входное слово 459) Дан автомат Мура. w z\a z1 z2 z3 w1 a1 a1 a3 a4 w2 a2 a2 a1 w3 a3 a2 a1 - w4 a4 a3 a2 a1 Найти реакцию автомата на входное слово 460) Дан автомат Мили. a1 a2 a3 z1 a2 a1 a1 z2 a3 a3 a2 a1 a2 a3 z1 w1 w3 w1 z2 w2 w2 w2 Найти реакцию автомата на входное слово . 5.2.2. Эквивалентные автоматы Автомат Мили на рис. 154 установлен в исходное состояние a1. На вход подается входное слово: = (z1, z1, z2, z1, z2, z2). В результате сформировано выходное слово (w1, w2, w1, w1, w1, w2), которое является реакцией автомата (табл. 12). Автомат Мура S2 , граф которого представлен рис. 155, установлен в исходное состояние a1. 151 Рис. 154 Рис. 155 На вход подается такое же входное слово: = (z1, z1, z2, z1, z2, z2). . В результате сформировано выходное слово (w1, w2, w1, w1, w1, w2), которое является реакцией автомата (табл. 13). Таблица 12 Таблица 13 Моменты Моменты t1 t2 t3 t4 t5 t6 t7 t1 t2 t3 t4 t5 t6 t7 времени времени Входное Входное z1 z1 z2 z1 z2 z2 z1 z1 z2 z1 z2 z2 слово слово Состояния a1 a2 a1 a1 a2 a3 a2 Состояния a1 a4 a2 a1 a4 a3 a5 Выходнoе w1 w2 w1 w1 w1 w2 Выходнoе w1 w1 w2 w1 w1 w1 w2 слово слово реакция автомата реакция автомата Два автомата S1 и S2 называются эквивалентными, если: входной и выходной алфавиты совпадают; их реакции из исходного состояния на любое входное слово совпадают; Теорема: для любого автомата Мура существует эквивалентный автомат Мили и наоборот. 5.2.3. Преобразование автоматов Мура в эквивалентные автоматы Мили При табличном задании таблица переходов автомата Мили совпадает с таблицей переходов автомата Мура. Таблица выходов автомата Мили получается из таблицы переходов заменой символа As, стоящего на пересечении строки zf и столбца Am, на символ wg, отмечающий столбец As в совмещенной таблице автомата Мура. Пусть задан автомат Мура (табл. 14). Таблица переходов эквивалентного автомата Мили (табл. 15) совпадает с совмещенной таблицей автомата Мура, представляющей переходы автомата, а таблица выходов 16 получена следующим образом. Считается, что на переходе из состояния Am в состояние As в эквивалентном автомате Мили должен быть сформирован такой же выходной сигнал, что и в автомате Мура, после того как автомат перешел в состояние as, то есть выходной сигнал wg. Таблица 14 Таблица 15 Таблица 16 w1 w2 w3 w2 w3 a1 a2 a3 a4 a5 a1 a2 a3 a4 a5 a1 a2 a3 a4 a5 z1 a2 a5 a5 a3 a3 z1 w2 w3 w3 w3 w3 z1 a2 a5 a5 a3 a3 z2 a4 a2 a2 a1 a1 z2 w2 w2 w2 w1 w1 z2 a4 a2 a2 a1 a1 152 Рассмотрим переход автомата из состояния a1 в состояние a2. В автомате Мура состоянию a2 соответствует выходной сигнал w2, следовательно в табл.16 на переходе из состояния a1 по входному сигналу z1 ставим w2 и так далее. При графическом задании автомата Мура переход к автомату Мили выполняется следующим образом: выходной сигнал wg, формируемый в состоянии AS, переносится на все дуги, входящие в эту вершину, графическая интерпретация этого показана на рис. 156, а пример трансформации автомата Мура в эквивалентный автомат Мили показан на рис. 157. Рис. 156 Рис. 157 5.2.4. Преобразование автоматов Мили в эквивалентные автоматы Мура Ограничение: В автомате Мили не должно быть переходящих состояний, т.е. состояний, в которых имеется хотя бы одна выходящая дуга и не имеется ни одной входящей дуги, так как показано на рис. 158. В автомате Мура выходной сигнал wI формируется как функция wi=(as), а в автомате Мили - wi=(am, zf). Причём As текущее состояние автомата, Am - предыдущее состояние автомата. Таким образом, состояние Am соответствует группе Рис. 158 {as}, число которых равно количеству различных выходных сигналов {wi}, расположенных на входящих дугах. Графическая интерпретация этого показана на рис. 159. 153 Рис. 159 Примеры решения задач 461) Пусть дан автомат Мили: SA=(AA, ZA, WA, A, A, a1A). Требуется перейти к эквивалентному автомату Мура SB, то есть требуется построить такой автомат Мура: SB=(AB, ZB, WB, B, B, a1B)., что ZB=ZA и WB=WA. Решение: Дан автомат Мили рис. 160-161. Построим множество состояний автомата AB. Для этого находим пары: A1={a1/w1, a1/w2}={b1, b2}; A2={a2/w1}=b3; A3={a3/w2, a3/w1}={b5, b4}; AB={b1, b2, b3, b4, b5}; Переобозначив bi соответственно как Ai, получим граф, изображённый на рис. 160-161. Рис. 160 154 Рис. 161 Задачи для самостоятельного решения 462) Дан автомат Мура (табл.17). w z\a z1 z2 z3 Таблица 17 w1 w2 w3 a1 a2 a3 a1 a3 a2 a3 a4 a1 a4 a1 a4 w1 a4 a1 a2 a1 Какие из представленных таблиц описывают эквивалентный ему автомат Мили? z\a z1 z2 z3 Таблица 18 a1 a2 a3 a1 a3 a2 a3 a4 a1 a3 a1 a4 a4 a1 a2 a1 z\a z1 z2 z3 Таблица 19 a1 a2 a3 w1 w1 w2 w1 w2 w1 w3 w1 w2 a4 w1 w2 w1 z\a z1 z2 z3 Таблица 20 a1 a2 a3 w1 w2 w2 w2 w2 w1 w3 w1 w3 a4 w1 w2 w1 463) На рисунке 162 дан граф автомата Мили. Рис. 162 Какой из графов описывает эквивалентный ему автомат Мура? Рис. 163 Рис. 164 Вопросы для повторения 1. Дайте определение автомата. 2. Поясните в чем заключается двоякий смысл автомата. 3. Перечислите виды автоматов. Дайте соответствующие определения. 4. Перечислите способы задания автоматов. 5. Опишите алгоритм при переходе от автомата Мили к эквивалентному автомату Мура. 6. Опишите алгоритм при переходе от автомата Мура к эквивалентному автомату Мили. 155 Список использованных источников Основные источники: 1. Спирина М.С., Спирин П.А. Дискретная математика : учебник для студентов СПО / М.: ОИЦ «Академия», 2012 Дополнительная литература: 2. Аляев Ю.А. Тюрин С.Ф.Дискретная математика: практическая дискретная математика и математическая логика. Учебное пособие. –М.: Финансы и статистика, 2010 3. Гринченков Д.В., Потоцкий С.И. Математическая логика и теория алгоритмов для программистов –М.: КНОРУС, 2010 4. Дискретная математика : учебн. пособие для вузов / В.Г. Данилов [и др.]. М. : Горячая линия-Телеком, 2008 5. Игошин В.И.. Задачи и упражнения по математической логике и теории алгоритмов –М.: ОИЦ «Академия, 2008 6. Игошин В.И.. Математическая логика и теория алгоритмов –М.: ОИЦ «Академия», 2010 7. Канцедал С.А. Дискретная математика. Учебное пособие. Гриф МО РФ. – М.: ФОРУМ, 2013. 8. Новиков Ф.А. Дискретная математика для программистов : учебник для вузов / Ф.А. Новиков. - 3-е изд. - М. [и др.] : Питер, 2009 9. Соболева Т.С., Чечкин А.В., Чечкин А.В. Дискретная математика. Учебник для студентов вузов. Гриф МО РФ. - М.: ОИЦ «Академия», 2012 10.Судоплатов С.В., Овчинникова Е.В. Математическая логика и теория алгоритмов. –М.: Инфра-М, 2008 11.Триумфгородских М. В. Дискретная математика и математическая логика для информатиков, экономистов и менеджеров. Учебное пособие для вузов. Диалог-МИФИ , 2009 156