Text
                    В. В. Тишин
Дискретная
математика
в примерах и задачах
Допущено учебно-методическим советом по прикладной математике
и информатике УМО по классическому университетскому образованию
в качестве учебного пособия для студентов высших учебных заведений,
обучающихся по специальности и направлению "Прикладная математика
и информатика" и по направлению "Информационные технологии"
Санкт-Петербург
«БХВ-Петербург»
2008


УДК 681.3.06(075.8) ББК 32.973.26-018.2я73 Т47 Тишин В. В. Т47 Дискретная математика в примерах и задачах. — СПб.: БХВ-Петербург, 2008. — 352 с: ил. — (Учебная литература для вузов) ISBN 978-5-9775-0232-0 Учебное пособие составлено на основании материалов лекцион- ного курса, содержит краткую теорию, варианты заданий и примеры решения по следующим разделам дискретной математики: множества, декартовы произведения, соответствия, отношения, булевы функции, теория алгоритмов, предикаты, комбинаторика, конечные автоматы. Даны основные определения, необходимые для выполнения заданий. Для каждого типа задач предлагается по 30 вариантов заданий, приво- дится подробный образец решения. Для преподавателей и студентов технических вузов и университетов, аспирантов, научных работников и инженеров УДК 681.3.06(075.8) ББК32.973.26-018.2я73 Группа подготовки издания: Главный редактор Екатерина Кондукова Зам. главного редактора Татьяна Лапина Зав. редакцией Григорий Добин Компьютерная верстка Натальи Караваевой Корректор Виктория Пиотровская Дизайн серии Инны Тачиной Оформление обложки Елены Беляевой Фото Кирилла Сергеева Зав. производством Николай Тверских Лицензия ИД № 02429 от 24.07.00. Подписано в печать 07.07.08. Формат 60х901Лв. Печать офсетная. Усл. печ. л. 22. Тираж 2500 экз. Заказ № 3332 "БХВ-Петербург", 194354, Санкт-Петербург, ул. Есенина, 5Б. Санитарно-эпидемиологическое заключение на продукцию № 77.99.60.953.Д.003650.04.08 от 14.04.2008 г. выдано Федеральной службой по надзору в сфере защиты прав потребителей и благополучия человека. Отпечатано с готовых диапозитивов в ГУП "Типография "Наука" 199034, Санкт-Петербург, 9 линия, 12 ISBN 978-5-9775-0232-0 © Тишин в. в., 2008 © Оформление, издательство "БХВ-Петербург", 2008
Оглавление Предисловие 1 Глава 1. Множества, графики, соответствия, отношения 5 1.1. Операции над множествами 5 1.2. Графики 36 1.3. Соответствия 45 1.4. Отношения 60 Глава 2. Булевы функции 73 2.1. Булевы функции. Суперпозиции 73 2.2. Булевы функции и теория множеств 83 2.3. Нормальные формы и полиномы 93 2.4. Классы Поста 102 2.5. Минимизация нормальных форм всюду определённых булевых функций 116 2.6. Частичные функции и схемы 126 Глава 3. Теория алгоритмов 163 3.1 Машины Тьюринга 163 3.2. Нормальные алгоритмы 179 3.3. Рекурсивные функции 189 Глава 4. Предикаты 197 4.1. Предикаты 197
IV Оглавление Глава 5. Комбинаторика 211 5.1. Сочетания, размещения, перестановки 211 5.2. Бином Ньютона и полиномиальная формула 217 5.3. Формула включений и исключений 226 5.4. Задачи о распределениях 231 5.5. Арифметический треугольник 235 5.6. Рекуррентные соотношения 243 Глава 6. Конечные автоматы 255 6.1. Автоматы Мили 255 6.2. Частичные автоматы 269 6.3. Реализация автоматов схемами 284 6.4. Распознавание множеств автоматами 300 Список литературы 337
Предисловие Дискретная математика — одно из самых динамично разви- вающихся направлений современной математики, и тотальная компьютеризация всех областей нашей жизни приводит к посто- янному росту спроса как на программистов, так и на специали- стов, разрабатывающих математические основы компьютерных технологий. Важным моментом усвоения математики и овладения её мето- дами является самостоятельная работа учащегося. Система ин- дивидуальных заданий активизирует самостоятельную работу студентов и способствует более глубокому освоению курса и от- работке приёмов решения задач. Всем, имеющим отношение к преподаванию дискретной ма- тематики, знакомы, ставшие классическими, задачники: "Зада- чи и упражнения по дискретной математике" Г. П. Гаврилова и А. А. Сапоженко, "Алгебра логики в задачах" С. Г. Гиндикина, а также "Задачи по теории множеств, математической логи- ке и теории алгоритмов" И. А. Лаврова и Л. Л. Максимовой, но в настоящее время ощущается потребность в задачниках по дис- кретной математике, содержащих серии однотипных задач для выполнения студентами индивидуальных заданий. Настоящий сборник отражает многолетний опыт работы авто- ра, приобретённый им в Самарском государственном аэрокосми- ческом университете им. С. П. Королёва при чтении лекций, а также при ведении практических занятий по курсам "Диск- ретная математика" и "Математическая логика и теория алго- ритмов".
2 Предисловие Система индивидуальных заданий, практикуемая в СГАУ с 80-х годов прошлого века, хорошо себя зарекомендовала. При проведении практических занятий студенты активно участвуют в решении и разборе задач, аналогичных тем, что им придётся вы- полнять индивидуально. Большинство разделов курса дискретной математики подкреплено и проиллюстрировано индивидуальны- ми заданиями, и самостоятельное решение студентами задач по- могает им лучше усвоить теорию и получить практические навы- ки работы с объектами, являющимися предметом изучения дискретной математики. Выполнение комплекса задач, вошед- ших в данное пособие, даёт возможность студентам освоить ба- зовые понятия дискретной математики, прочувствовать связи между ними и отработать приёмы решения основных типов задач данного предмета. Каждое задание даётся в 30 вариантах, и для каждого задания в сборнике приведён образец решения, что может помочь студен- там внимательно разобрать предлагаемые способы решения задач и грамотно оформить выполненные индивидуальные задания. Данное пособие может быть также полезно для вузов, практи- кующих заочную форму обучения, а также для всех энтузиастов, решивших изучить дискретную математику самостоятельно. Пособие состоит из 6 глав: □ Множества, графики, соответствия, отношения; □ Булевы функции; □ Теория алгоритмов; □ Предикаты; □ Комбинаторика; □ Конечные автоматы. В начале каждой главы вводятся понятия, даются определения и формулировки теорем, используемых при выполнении заданий, что практически исключает необходимость привлечения допол- нительной литературы по рассматриваемой тематике. Некоторые задачи, вошедшие в пособие, возникли "тиражиро- ванием" идей, встречавшихся в классических задачниках по дис- кретной математике, другие — в процессе чтения автором курсов
Предисловие 3 "Дискретная математика", "Основы дискретной математики" и "Математическая логика и теория алгоритмов" в Самарском государственном аэрокосмическом университете им. С. П. Ко- ролёва и общения со студентами. Приношу благодарность всем, вдохновившим меня на этот труд: авторам, идеи которых получили развитие в данной книге, и своим студентам, чья заинтересованность и свежесть взгляда повлияли на материал, представленный в данном сборнике.
Глава 1 Множества, графики, соответствия, отношения 1.1. Операции над множествами Запись xg А означает, что элемент х принадлежит множест- ву А. Если х не является элементом множеств А, то пишут х$ А или хе А. Два множества А и В считаются равными, ес- ли они состоят из одних и тех же элементов. Будем писать А = В, если А и В равны и А * В в противном случае. Множество называется пустым и обозначается 0, если оно не содержит элементов. Будем говорить, множество А включено в множество В, и пи- сать Л с В, если каждый элемент множества А является элемен- том множества В. В этом случае А называется подмножеством множества В. Считается, что для любого А справедливо вклю- чение 0 с Л. Если ЛсВи А* В,то будем писать А а В и говорить, что множество А строго включено во множество В. Семейство всех подмножеств данного множества А обозна- чается Р{А). Мощностью конечного множества А будем называть число его элементов. Мощность конечного множества А обозначает- ся | А |. Объединением множеств А и В называется множество АиВ = {х\хеА или хеВ].
6 Глава ' Пересечением множеств Aw В называется множество АпВ = {х\хе А и хеВ). Разностью множеств А и В называется множество А\В = {х\хе А и х£ В}. Если все рассматриваемые множества являются подмножест- вами некоторого универсального множества U , то разность U \А называется дополнением Л и обозначается А. Симметрической разностью множеств А и В называется мно- жество AaB = (A\B)v(B\A). Будем говорить, что множества А и В находятся в общем поло- жении, и писать AQDВ, если существуют такие элементы а,Ь,с, что ае Aw а£ В, йе В и Ь<£ В, се Л и се В. Задание 1.1.1 1. Справедливо ли в общем случае утверждение: если А ос Я и Й(ЗС и Су£>,то A5D? 2. Может ли при некоторых Л, В, С и D выполниться набор условий: АаВ и В$С и CyD и A8D? Таблица 1.1.1 № 11 12 13 14 15 16 17 18 19 1 20 а 6 с с с € С с G С g Р Е G С е е с € С С е Y с с с G € G С С С с ~8~| G G € С G С G G С G № 21 22 23 24 25 26 27 28 29 30 а G С G С С G G С G С Р С с G С G С С G С С Y с G С С G G С С С G ""*! с G С G С G G С С с № 1 2 3 4 5 6 7 8 9 110 а с G С G С G G G G G Р 1 G G С С С G С G С С Y с с G G G Е С С G j с 8| с G G С С с с с с с
Множества, графики, соответствия, отношения 7 Примеры решения задания 1.1.1 Пример 1. а) Справедливо ли в общем случае утверждение : если Ad В, BdC и С с D, то AdD ? Пусть хе А. Так как А с В, из определения включения сле- дует, что хе В. Так как хе Ви BdC, то хе С. Так как хе С и СсД то хе D. Итак, из того, что произвольный элемент хе А следует, что хе D. На основании определения заключаем, что АсД то есть данное утверждение верно. б) Может при некоторых А, В, С и D выполняться набор ус- ловий: Ad В, йсС и CdD, и AdD ? Да, может. Это следует из справедливости утверждения в пун- кте а). Примером могут служить множества А ~{х), В = С = {х,у], D = {x,y,z}. Тогда {x}d{x,y}, {х,у} с{х,у}, {х,у} d{x,y,z] и {x}Q{x,y,z}. Пример 2. а) Справедливо ли в общем случае утверждение: если Ас. В, ВеС и Се D, то AqD ? Пусть А = {х), В = {х,у}, C = {{x,y},z}, D = {{{x,y},z}M . Тогда {x}d{x,y} и {х,у}е {{x,y},z}e {{{x,y},z},w}. Но в то же время неверно, что {х} d{{{x,y}4z},w}, так как единственный элемент х множества А не является элементом множества D, состоящего из элементов {{х,у},г}и w. Итак, ут- верждение из нашего примера 2а) в общем случае неверно. б) Может ли при некоторых А, В, С и D выполняться набор условий: Ad В, ВеС, CeD и AdD? Да, может. Например, Л = 0, В = {х), С = {{х},у), D = {{{x},y},z}. Тогда 0с{х}, {х}е{{х},у}, {{х},у}е {{{x},y},z} и в то же время 0d{{{x},y},z}.
8 Глава 1 Задание 1.1.2 Для универсального множества U ={-5,-4,-3,-2,-1,1,2,3,4,5}, множества Л, заданного списком, и для В, являющегося множе- ством корней уравнения х + ох' + |3;с +ух + 5 = 0. 1. Найти множества: Дий, Вг\А, А\В, В\А, Лай, В, С = (ЛдЯ)дЛ. 2. Выяснить, какая из пяти возможностей выполнена для мно- жеств А и С: Д с С, или СсД, или Л = С, или ЛпС = 0, или Л С© В. 3. Найти Р(Я) и |P(fi)|. Таблица 1.1.2 № 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 А -1,1,4,3 -1,1,2,3 -1,1,3,4 -1,1,2,3 -2,1,3,4 -1,1,4,5 -3,-1,1,2 -4,-1,1,2 -2,-1,3,5 -3,-1,1,2 -2,2,3,4 -3,-1,2,4 -1,-3,2,3 -4,-3,1,2 -5,-1,1,3 ' а 1 7 -2 0 0 3 -2 0 3 5 2 -2 -5 1 6 Р -12 13 -12 -17 -11 -9 -7 -11 -7 1 -7 -15 1 I ~7 0 Y -28 -3 18 36 -18 -23 20 18 -15 -21 -20 -4 21 1-13 -22 5 1 -16 -18 27 -20 -8 -12 -12 -8 18 -18 -12 20 -18 -6 15 № 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 А -1,1,2,3 -1,1,3,2 -2,-1,2.4 -1,1,2,3 -1,1,2,3 -3,5,3,4 1,2,3,4 -1,-2,1,2 -1,2,5,4 -1,-2,-3,1 1,4,2,3 -1,1,2,4 -1,1,2,3 -1,4,2,3 -1,2,3,4 а -3 -7 -1 -4 -5 -11 -6 -3 0 -4 3 1 -2 -4 3 Р -з 12 -7 3 -3 39 8 -2 -9 -10 -3 -12 -4 -2 1 Y 7 4 13 4 13 -49 6 12 -4 28 -7 4 2 12 -з 8 1 6 -16 -6 -4 10 20 9 -8 12 -15 6 16 3 9 -2
Множества, графики, соответствия, отношения 9 Пример решения задания 1.1.2 Решим задание 1.1.2 для А = {1,-2,3,-4} и уравнения jc4-7x3+6jt2+32;t-32 = 0. Сначала найдём множество В корней данного уравнения. Подбором устанавливаем, что корнем исходного многочлена х -1х +6х + 32х- 32является 1; поделив этот многочлен на х-1, получим многочлен х -вх +32. Также подбором устанавливаем, что -2 является корнем мно- гочлена х -6х +32 и делим этот многочлен на х+2. Получим многочлен х -8х + 16. Его корни совпадают и равны 4. Итак, множество В найдено, # = {-2,1,4}.Теперь решаем пункты 1—3 данного задания. 1. Ли В = {-4-2,1,3,4}, В n А = {-2,1}, Л\Я = {-4,3}, В\А = {4}, Л д Я = {-4,3,4}, В = {-5,-4-3-1,2,3,5}, С=(ЛдВ)дЛ = {-4,3,4}д{1,-2,3,-4}={4}и{1,-2}={-2,1,4}. 2. Так как -4е А и -4ё С, 4е С и 4g Л, 1g А п С, значит, 3. Р(В) = {0,{-2},{1},{4},{-2,1},{-2,4},{1,4},{-2,1,4}}. Как видим, /*(#) содержит 8 элементов, т. е. | Р(В) |= 8. Задание 1.1.3 Пусть Л, В и С — множества точек плоскости, координаты которых удовлетворяют условиям а, (3 и у соответственно. Изо- бразите в системе координат хОу множество D, полученное из множеств Д, В и С по формуле 5.
10 Глава 1 Таблица 1.1.3 № 1 3 5 7 9 Условия а р Y 8 а Р Y S а Р Y 8 а Р Y 8 а Р Y 5 *2 + ;у2-6}><0 >> + jc2 + 1>0 |jc|<6; -3<>><-2 (ЛиЯ)дС 0<y<Jx 2<*<6; -Ъ<у<\ *2 + у2-18л:<0 (AvB)\C y-x2-l<0 y-x2+3>0 x>0 (AnB)\C x2 + y2-4x<0 x2 + y2+4x<0 |*|<2; \y\<2 (AuB)aC y + x2-5<0 x2 + y2-6y<0 x>0 A\(BuC) № 2 4 6 8 10 Условия а p Y 8 а P Y 8 а P Y 8 а P Y ПГ а P Y 8 1, 4 y--<0 X y2 + x2-25<0 \x\<h \y\<\ (AnB)\C \x\<5\ |у|<1 1 |*|<1; \y\<5 у2+х2-16<0 ЛиЯиС 4 y--<0 X 4 y + ->0 X y2 + x2-25<0 (AnB)\C .v-/-l<0 0<y<Jx~ x2 + y2-4x<0 (АпЯ)дС y2+x2-9<0 |v|<4; -6<jc<1 y<0 (AaB)\C
Множества, графики, соответствия, отношения 11 Таблица 7.7.5 (продолжение) № 11 13 15 17 19 L . Условия а Р Y б а р Y 5 а Р Y 5 а Р Y 5 а Р У 6 x-v>0 л + у<0 2 ° ^ л х +у <4 (АдЯ)иС у < sin .Т У>0,5 у>-2 (ДдЯ)пС у--<0 у + ->0 Л' у>1 (АпВ)\С х2 + у2-25<0 \ 4 у — <0 X х2 + у2-4<0 (А\В)иС |л-|<5; |у|<1 |дс|<1; |у|<5 jc2 + y2<16 1 (АиЯ)дС № 12 14 16 18 20 Условия а Р Y 5 а Р Y 5 а Р Y 5 а Р Y 5 а Р Y 8 у + л-2-6<0 |л-|>2; |у|>2 х< у АпВпС х < у + 3 х> у-3 |jc|<5; |у|<2 J (Ап#)\С 1 ;с2 + у2+6у <0 у + л-2 + 1>0 |х|<4; -4<у<-2 1 Ап(В\С) 1 0<y<V* 2<а'<6; -3<у<1 л-2 + у2-18л<0 (АдЯ)дС х2-у-2>0 л-2-у + 4>0 v > 1 ! (АпВ)\С
12 Глава 1 Таблица 1.1.3 (окончание) № 21 23 25 27 29 Условия а Р Y 8 а Р Y 8 а Р Y 8 а р Y 5 а Р Y 8 И<5; |v|<5 4 у + ->4 4 у — <0 X А\(ВпС) х2-у>0 х+у>0 \х\<2; \у\<2 (АдЯ)иС |*|<4; \у\<4 х2 + у2< 25 у>0 Ап(В\С) у-х2 + 4>0 \х\<2; -4<>><0 х2 + у2<\ (АиВ)\С 4 у — <0 X х2 + у2-25<0 |*|<4; \у\<3 Ап(В\С) № 22 24 26 28 30 Условия а Р Y 8 а Р Y 8 а Р Y 8 а Р Y 8 а Р Y 8 v + *2-5<0 x2 + r-6.y<0 v>0 (ДдЯ)пС y + jt2-6<0 х" + у" < 4 л-< у (МЯ)пС JC > cos у х < 0,5 у>0 1 (АдЯ)пС у-А'2-1<0 у-х2 + 3>0 х2 + у2<3 (АпВ)\С 2<х<6\ -3< v< 1 0<y<Jx х2-\2х + у2<0 (АаВ)аС
Множества, графики, соответствия, отношения 73 Пример решения задания 1.1.3 Пусть А, В и С — множества точек плоскости, координа- ты которых удовлетворяют условиям х + 2>у, х2 + у2<4 и | х |< 2; | v |< 2 соответственно. Изобразите в системе коорди- нат хОу множество D, полученное из множеств А, В и С по формуле Л\(5аС). Множество В представляет из себя множество точек круга радиуса 2 с центром в начале координат, включающего границу, Л - множество точек плоскости, расположенных выше и на пря- мой у = х+2, и С — множество точек, лежащих внутри и на границе квадрата | х |< 2; | у \< 2 . Отметим горизонтальной штриховкой множество ВдС, а вертикальной — множество А (рис. 1.1.3, а). Удалив из области, помеченной вертикальной штриховкой, точ- ки области, помеченной горизонтальной штриховкой, мы получим множество точек, образующих D. Изобразим результат, отметив точки множества D вертикальной штриховкой (рис. 1.1.3, б). Рис. 1.1.3 Задание 1.1.4 1. Существуют ли множества Л, В, X такие, что выполняется набор условий а? 2. Существуют ли множества /V, Е, Р такие, что выполняется набор условий (3?
14 Глава 1 Таблица 1.1.4 № I 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 а X\B = A\B = AkjB = 0, Вф0 B = AvB = X\B = 0y АпВФ0 В\А = АпХ = 0, ВпХФ0 В\Х=Х\А = 0у ВФ0 АпВ = АиХ = 0, Я\Х*0 А\Х=Я\Л = Х\А = 0, Я*0 Л\Х = Я\А = Л = 0, X Ф0 А\Х=(В\А)пХ=0, Х\АФ0 Х\В = (В\А)пХ=0, Х\АФ0 А = Х\В = В\Х=0, ВФ0 (Х\А)\В = В\А = ХиВ = 0у АФ0 В\Х=АпХ = 0уВФ0 А = Х =(В\А)\Х =0уВф0 АпХ =В\А = 0у X Ф0 | А\В = Х\А = 0у Х\ВФ0 АпХ = Хг<А = В\А = 0, АпВФ0 ВпХ=АиВ = 0у Х\АФ0 В\А = В\Х=Х\В = 0, ВФ0 ХпВ = (Х\В)\А = 0у Х\АФ0 АпВ = Х\А = 0у В\АФ0 Х\В = А\Х =0, А\ВФ0 А\В = А\Х=0у Х\ВФ0 Р N\E = N\P = 0, Е\Рф0 E\P = N\E = 0y И\РФ0 1 NnE = EuN = P = 0y /V*0 P\E = N\E = 0, (РпЕ)\ЫФ0 1 P\N = E = N\P = 0y ИФ0 PnN=(N\P)\E = 0y Ы\ЕФ0 1 NvE = EnP = 0y Р\ЫФ0 PnN = E\P = P\N = 0y ЕФ0 1 E\N = NnE = N\P = 0y ЫФ0 1 P\N = PuE = 0y ЫпЕФ0 N\E = E\P = P\E = 0y E\NФ0 1 PnNnE = N\P = 0y NnEФ0 1 N\P = EnP = 0y ЕФ0 P\E = N\E = NuE = 0y ЕФ0 Р\Ы = Ы\Р = Р\Е = 0уЕФ0 N\P = (NnP)\E = 0y Ы\ЕФ0 I | P\E = N\E = NnP = 0y РФ0 1 P\N = NnP = 0y РпЕФ0 EAP = NnE = 0, Р\ЫФ0 N\P = E\N=U = 0y ~РФ0 E = NuE = P\E = 0y ЫпЕФ0 E\P = N\P = NvP = 0, РФ0
Множества, графики, соответствия, отношения 15 Таблица 1.1.4 (окончание) 1 № 23 24 25 26 27 28 29 30 а #\х = д\л: = 0, (ВпХ)\аф0 В\А = Х =А\В = 0, АФ0 ЯпЛ = (А\#)\Х=0, Д\Х*0 АиХ = ХпВ = 0, В\АФ0 ВпА = Х\В = В\А = 0, ХФ0 Х\А = АпХ=А\В = 0, А±0 В\А = ВиХ =0, ЛпХ^0 . ДпХ=#иД = Я = 0, Д*0 Р N\E = E\P = 0y N*0 />nW = />u£ = 0, N\E*0 P\E = N\P = E\P = 0, N*0 P\E = N\P = ~P = 0, ~ЁФ0 P\E = (N\P)nE = 0, Е\РФ0 E\N=(N\P)nE = 0, Е\РФ0 lp = E\N = N\E = 0y N±0 N\P = PnE = 0, NnE±0 и Пример решения задания 1.1.4 1. Существуют ли мноэ/сества А, В, X такие, что выполня- ется набор условий: Л и В = 0, X д Д = 0, В\АФ0 ? Изобразим множества Л, В, X в ви- де прямоугольников, расположенных на " ^ плоскости в общем положении, и по- ставим в каждой области, на которые плоскость разбита прямоугольниками, по одному символу: символ 4, напри- мер, обозначает список всех элементов, попавших во множества А и В, но не попавших в X, и т. д. Теперь составим множества Д, В, X и универсальное множество U (рис. 1.1.4): £/={1,2Д4Д6,7,8}, Д = {1,2,4,5}, В = {4,5,6,7}, X -{2,3,5,7}. Изменим множества Д, В, X так, чтобы выполнились условия нашего задания. А 1 *- с 2 \. 4 U ) 3 В 6 7] х) Рис. 1.1.4 Из того, что А и В = 0, следует, что множество U\(AuB) не должно содержать элементов, т. е. из U удаляем 8 и 3.
16 Глава 1 Чтобы выполнилось условие X д А = 0, нужно удалить элемен- ты списков 1, 4, 7. Тогда получится, что множества Л, В, X и U имеют следующий вид: А = {2,5} = X, В = {5,6}, U ={2,5,6}. Заметим, что для этих множеств В\А = {6} Ф 0. Если под символами 2, 5 и 6 будем понимать соответствую- щие числа, то мы получим конкретный пример множеств А, В, X, для которых выполнены все условия заданного набора требо- ваний. 2. Существуют ли множества TV, £, Р такие, что выполняется набор условий: E\N = Р\Е = 0, P\N Ф01 Попробуем построить множества /V, £, Р так же, как мы это делали в п. 1. Пусть /V = {1,2,4,5}, £ = {4,5,6,7}, Р = {2,3,5,7}. Чтобы выполнилось условие £\/V = 0, удаляем элементы спи- сков 6, 7. Для выполнения условия Р\Е = 0 удаляем элементы из списков 2, 3. Но тогда множество P\N не будет содержать элементов. Итак, мы показали, что этот набор условий противо- речив, т. е. не существует множеств /V, Е, Р таких, что выпол- нены условия упражнения. Задание 1.1.5 Выяснить взаимное расположение множеств D, Е, F, если А, В, X — произвольные подмножества универсального мно- жества U. Таблица 1.1.5 1 3 D Е F D Е F биХ (ВпХ)и(Х\(Аг\В)) (ЯпХ)и(Яп(Х\Л)) (ЛдХ)и(ЯпА) АиХ (А\Х)и(ЯпХ)и(Х\Д) 2 4 D Е F D Е F (АпЯ)и(А\Х)и#иХ ЛийиХ (ЯпХ)и(ЯпЛ) (бпХ)иДиХ ((ВиХ)\Д)и(Хпй) ЛиХ
Множества, графики, соответствия, отношения 17 Таблица 1.J.5 (продолжение) 5 7 9 11 13 15 17 D Е F D Е F D Е F D Е F D Е F D Е F D Е F (X пб)и(Д\б)иЛиХ АиЯиХ (Ад#)и(ХпА)иХиЯ АдХи(Х\Я) (ЯпХ\А)и(ХпА) АиХиЯ ЛдХи(Дпб) (АпХ)и((А\Я)\Х) АиХ (АдЯ)и(Х\А) ((АиХ)\#)и((ХиЯ)\А) Аи(А\#) АдХи(Х\#) АиХ (АпХ)и(Хп(А\Й)) АиЯи(ХпА) AuB ((ХиА)\В)и(ХпД) (АпХ)и(Я\Х)иАиЯ (Хд£)и(ЯпА)иХиЯ XkjAuB 6 8 10 12 14 16 18 D E F D E F D E F D E F D E F D E F D E F АиЯи(ХпЯ) (ЯпА)и(Хп(Я\А)) АиХ (A\X)uAu£ (ЯпА)и((А\Я)\Х) (A\X)kjB (BnX\A)Kj(X\B) AuXu(XnB) AuX J АдХи(Хп(Я\А)) (АпЯ)и((Х\Д)\А) 1 AuB (АдЯ)и(ХпЯ) АиЯ (£\A)u(AnX)u(A\#) 1 (Xn#)u(#\A)uAuX (АпХ)и(ХпЯ) ДиХиЙ (ДпХ)иЙиХ ДиВ (ЯпХ)и(Ап(Х\Я))
18 Глава 1 Таблица 1.1.5 (окончание) 19 21 23 25 27 29 D Е F D Е F D Е F D Е F D Е F D Е F А~д~Ви(А\Х) ВиХиА (АпХ\В)и(Аг\В) АиВ (АпВ)и((В\Х)\А) АдВи(ХпВ) (В\Х)иВ (ВдХ)и(А\В) ((ВиА)\Х)и((ХиА)\В) fluX ((ХдВ)пВ)и(Хп(АиВ)) (ВпЛ)и(ВпХ) (ХпВ)и(В\А)иАиХ АиВиХ (ХпВ)иХиА (АдВ)и(ХпВ) ВиА (А\В)и(АпХ)и(В\А) 20 22 24 26 28 30 z>l Е F D Е F D Е F D Е F D Е F D Е F ХиВи(В\А) (В\А)иХ (ВпХ)и((В\Х)\А) АиВи(ХпА) Av(A\B) 1 (АпХ\В)и(А\Х) ВдХи(Ап(Х\В)) ВиХ 1 (BnX)(j((A\X)\B) 1 ((A\B)nX)\jA\jX (AnX)(j(A\(XnB)) AuX J AuBu(XnA) ((XuA)\B)u(XnA) ВиД (AnX)uXuB (BnX)u(An(X\B)) BuA Пример решения задания 1.1.5 Выяснить взаимное расположение множеств: D=(B\X)v(A\B), £ = (A\(fi\X)), F = AvB, если А, В, X —про- извольные подмножества универсального множества U .
Множества, графики, соответствия, отношения 19_ Возьмём множества Л, В, X, находящиеся в общем поло- жении: А = {1,2,4,5}, В = {4,5,6,7}, X ={2,3,5,7}. В нашем случае, как и при решении задания 1.1.3, цифры обозначают соответствую- щие списки переменных. Тогда #\Х={4,6}, А\й = {1,2}, Л\(Я\Х) = {1,2,5}, Ли В = {1,2,4,5,6,7}, (В\Х)и(Л\Я) = {1,2,4,6), то есть D = {1,2,4,6}, £ = {1,2,5}, F = {1,2,4,5,6,7}. Итак, видим, что включения Dq F и Ес F выполняются для произвольных множеств Л, В, X. Если символы 1,2,4,5,6,7 обозначают соответствующие числа, имеем, что 4е D и 4g Еч 5е Е и 5£ D, le DnE, то есть мно- жества DhE могут находиться в общем положении. Задание 1.1.6 Проверить, что для любых множеств Л, В, С выполнение включения а влечёт выполнение включения (3. Таблица 1.1.6 N° 1 2 3 4 5 6 7 8 9 1 10 а AnficC AnBQC AnBQC AnBQC AnBQC ДсЯиС AqBkjC AqBkjC AqB^jC AqBkjC P 1 ДиВс(ДдВ)и(ДпС) A\Cq(A\B)uC I ЛдСс(Д\Я)иС 1 (B\C)u(A\C)qAaB I Bq(B\A)uC I АдСс(АпЯ)иС A\BQAnC AvBqBuC (A\B)u(AnC)QC (A\C)u(B\C)qB
20 Глава 1 Таблица 1.1.6 (окончание) № 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 а ДсЯиС ДибсС АиВаС AkjBclC АиВаС АаВ\С АаВ\С ЛиЯсС А и Я с С АиЯсС B\CqA B\CqA B\CqA B\CqA B\CqA B\CqA BqC\A BqC\A BqC\A BqC\A P (A\B)\CdC\A ЛдВс(Дпб)иС AnCaAv(B\A) AnBd(BnC)u(AnC) B\Ac:BnC AnBczA\C CnBdB\A АдСсСЧА (#\С)и(А\Я)сАпС #cAu(C\A) Au#c(#nC)uA ДдСсСи(АпЯ) fl\Ac(C\A)u(Antf) ЯсСи(ЯпА) бдСсСиА ВсСи(А\С) Au(B\C)qA\B (А\Я)и((#\С)\А)сА (Я\С)и(Я\А)сЯпС СиВс(С\Д)и(С\5)
Множества, графики, соответствия, отношения 21 Пример решения задания 1.1.6 Доказать, что для любых множеств А, В, С выполнение вклю- чения А\В с С влечёт выполнение включения СдЛс(ЛпВ)иС. Возьмём множества А, В, С, находящиеся в общем положе- нии: А = { 1,2,4,5}, В = {4,5,6,7}, С = {2,3,5,7}. В нашем случае, как и при решении предыдущих заданий, цифры обозначают со- ответствующие списки переменных. Тогда Л\# = {1,2},из включения А \ В с С следует, что спи- сок 1 пуст, А = {2,4,5}. Рассмотрим СдЛ и (АпВ )иС. СдД = {3,4,7}, (ЛпВ)иС = {2,3,4,5,7}. Так как {3,4,7} с с {2,3,4,5,7}, имеем, что включение СдЛ с (AnВ)иСдоказано в предположении, что выполнено включение А\В <zC. Задание 1.1.7 Для произвольных множеств А, В, Н проверить, является ли выполнение включения а необходимым и достаточным условием выполнения равенства (3. Таблица 1.1.7 № 1 2 3 4 5 6 7 8 9 а AqB\H AqB\H AqB\H AqB\H AqB\H AqB\H AqB\H AqB\H AqB\H p H\A = Hu(A\B) H =(H\A)v((A\B)\H) AnB = (A\H)u(A\B) B = (AaB)u(A\H) AvB = (B\H)v(B\A) В\А = (АьВ)и(ВпН) AaH =Hu(AnB) AaB = (B\A)v(H nB) ДиЯ =(H\A)Kj«AnB)\H)
22 Глава 1 Таблица 1.1.7 (окончание) № 10 1 11 1 12 1 13 1 14 1 15 1 16 1 17 1 18 1 19 1 20 1 21 1 22 1 23 1 24 1 25 1 26 1 27 1 28 1 29 1 30 а AqB\H AqB\H AqB\H AQBnH AqB^H AaBnH АсЯпЯ AaBnH АаВпН АсвпЯ AQBnH AkjBqH AkjBqH АиЯсЯ AuBqH АиЯсЯ AuBqH AuBqH AnBQH AnBQH AnBQH P 1 AnB = (A\B)\H 1 A\H=An(BvH) 1 A\B = AnBnH 1 //-(АдЯ)и(ЯпА) 1 AuB-(BnH)u(B\A) 1 AbB-(B\H)\j(B\A) 1 B\H=(A\B)kj((B\A)\H) 1 (B\A)\H~(B\H)kj(A\B) 1 АпЯ-(А\Я)и(АпЯ) 1 A\H=(AnH)\B 1 Я\А = (Ад#)и(А\Я) 1 Я\А = (А\//)и((Яп//)\А) 1 АиН =Ни(В\А) 1 АпН =Аи(В\Н) 1 //\А = (Ад#)и(Я\А) 1 ВаН =(A\B)v(H\B) 1 АпВ = ((Ддб)\Я)и(Лпйп//) 1 АдЯ = (//п(АдЯ))и((Ап#)\#) Я \А = (Ад//)\(А\Я) В\Н=(В\А)\Н 1 АиЯ = (АдЯ)и(#п#)
Множества, графики, соответствия, отношения £3 Пример решения задания 1.1.7 Для произвольных множеств А, В, Я проверить, является ли выполнение включения ДибсЯ необходимым и достаточным условием выполнения равенства ЛдЯ = (В\Л)и(Я\Л). Рассмотрим множества А, В, Н : А = {1,2,4,5}, # = {4,5,6,7}, Я ={2,3,5,7}. В нашем случае, как и при решении предыду- щих заданий, цифры обозначают соответствующие списки пе- ременных. 1. Посмотрим, какие множества мы получим, если потребуем выполнения условия Л и 5 с Я. ЛиВ = { 1,2,4,5,6,7} и, чтобы было выполнено включение Ли fie Я, списки 1, 4, 6 должны быть пусты, и множества Л, В, Я будут таковы: Л = {2,5}, £ = {5,7}, Я ={2,3,5,7}. Тогда (В\ Л)и(Я \ Л) = {7}и{3,7} = = {3,7}, ЛдЯ={3,7} и равенство ЛдЯ =(В\ Л)и(Я \ А) вы- полнено. 2. Посмотрим, какой вид примут множества Л = {1,2,4,5}, В = {4,5,6,7}, Я = {2,3,5,7}, чтобы выполнилось равенство ЛдЯ=(В\Л)и(Я\Л). ЛдЯ ={1,3,4,7}, (Я\Л)и(Я\Л) = {6,7}и{3,7} = {3,6,7}. Для выполнения равенства ЛдЯ =(В\Л)и(Я\Л) нужно, чтобы списки 1, 4 и 6 были пусты, и мы приходим к тем же мно- жествам, что и в п. 1, т. е. Л ={2,5}, В = {5,7}, Я={2,3,5,7}. Видим, что в этом случае А и В = {2,5,7} с Я. Значит, доказано, что для любых множеств Л, В, Я выпол- нение включения АиВсЯ является необходимым и достаточ- ным условием выполнения равенства ЛдЯ =(В\Л)и(Я\Л). Задание 1.1.8 Решить систему соотношений относительно множества X и указать условия совместности системы.
24 Глава 1 Таблица 1.1.8 № 1 4 7 10 13 16 19 22 Система \ < 4 < ' н « биХ=С ДсйсС (АаС)=ХпВ Ш = А\С А^В^С ! гАпХ=В АаХ=С [AcficC Х\5 = С\4 СпХ=Д ДсЯсС ЯдХ=С\Д ДпХ=СпВ ЛсбсС С\Х=ДдЯ ХпА = Х AvBqC \СХХ=АпВ Х\А = ЯдС [AkjBqC \ВиХ=С ' \ХпВ = А [ДиВсС № 2 5 8 11 14 17 20 23 Система ■^ 4] •< - < •< 4 • УддХ)ия = с С\Х=ДиЯ Дс5сС С\Х = В\А B\jX=C ДсЯсС XW = (M ДдХ = СаВ ДсЯсС - В\Х =А ВиХ =С ДсЯсС АаХ =ОВ ДиХ =ВпХ АсДсС С\Х=Ди(С\Я) ХпВ = Х [ДиЯсС [с\х = дия \х\В = ОА АиЯсС V [(ДдХ)иЯ = С С\Х =АиВ [диЯсС № 3 6 9 12 15 18 21 24 Система < 4[ < < • < < В\Х =А ВиХ=С AqBqC ВаС = СХХ ХиД = С ДсЯсС rCXX=A\J(OS) АиХ=В AqBqC Хи(В\А) = С С\Х=АпВ ДсЯсС 'А\В = С\Х ЯиХ=С\Д AqBqC гС\Х=СУДи#) A\B = X [AuBqC \AnX=A\B ХдЯ = Д [ДиВсС (B\X = A ХиЯ = С [ДиЯсС
Множества, графики, соответствия, отношения 25 Таблица 1.1.8 (окончание) № 25 28 Система - ■ Хи(ВМ)=С С\Х =АпВ АиЯсС ОЛ=ХаВ (AaB)uX=C .AuBqC № 26 29 Система ч « С\А = ХаВ ХглА = ВпС AkjBqC 'АглХ =СаВ XVi = B\C AuflcC № 27 30 Система ■ «< ОА=ХдЯ ДийсС - ] СХХ=АаС AutfcC \ г А V V 1 Г 5 9 й G4 6W Ч 1 У 4 "Л 8 X В J Рис. 1.1.8 Пример решения задания 1.1.8 Решить задание 1.1.8 для системы В аС = X п А Х\С = А п В С с Л п В. I. Построим множества общего по- ложения А , В, X и множество С (рис. 1.1.8) такие, что CciAnB и CdDX . Символом 1 обозначим список элементов множества А, не попавших ни в одно из множеств В, С, X, символом 7 — список элементов, попавших в каждое из множеств А, В, С, X и т. д. Будем иметь: А = {1,2,3,5,6,7}, В = {2,3,4,6,7,8}, С = {3,7}, X ={5,6,7,8,9}. 1. SaC = {2,4,6,8}, ХпА = {5,6,7}. Эти множества равны в силу первого уравнения системы, значит, списки элемен- тов 2,4,5,7 и 8 пусты. Получили: А = {1,3,6}, В = {3,6}, С = {3}, Х={6,9}. 2. Х\С = {6,9}, АпВ = {3,6}. Данные множества равны в силу второго уравнения системы, следовательно, списки элементов 3 и 9 пусты, и наши множества примут вид: А = {1,6}, В = {6}, С = 0, Х={6}. Видим, что X = В , В с А , С = 0.
26 Глава 1 II. Проверим, что множество X - В является решением ис- ходной системы. Если С = 0и S с Л, то СсЛпВ и можно записать: В = {b), A = {a,b), где я, Ъ —списки элементов. Пусть X = В = {Ь}, тогда: ВаС = В\С = {Ь}, Х\С = Х ={Ь}, {Ь)[Ь} = А\Х9 СпХ={а,Ь} = АпВ. Видим, что все соотношения системы удовлетворяются, т.е. множество X = В является решением исходной системы при вы- полнении условий В с: А, С = 0. Ответ: X = Д, fie Л, С = 0. Задание 1.1.9 Решить систему уравнений относительно множества X и ука- зать условия совместности системы или доказать её несовмест- ность. Таблица 1.1.9 № 1 4 7 10 Система < - « < АиХ =ВпХ ЛпХ=СиХ Л\Х=С\Д АиХ=В\Х Ш = СиХ АС = Х\А В\Х=АпС А\Х=С\В Х\С = АиВ ВпХ=ХпС ВпС = В\Х А\(ВиС)=С\В № 2 5 8 11 Система 4 * < ГА\Х=Х\В Х\А = О0( BwX=XA АиХ =ВаС Х\С = ВиХ ВпХ =С\А BkjX = ВпС АиС = Сг\Х AKjB = XnC < Х\С = А\В А\С = ХпС (В\Х)\А = А\С № 3 6 9 12 Система < ч < гЛпХ=Я^ Х\Д = СиХ Х\С = АиВ В\С = АаХ В\Х=А\С СпХ=АпВ АпХ=ВпА С\Х=АиВ А = А\В ■ СиХ=А\В АпВ=ВиС В\А = ХпС
Множества, графики, соответствия, отношения 27 Таблица 1.1.9 № 13 16 19 22 25 28 Система < < < С\Х-А\В ВиС = Хг\С XKjB = XnB ВпХ =С\Х Х\В = АиХ Х\А = СиВ - С\А = ВьХ С\Х =В\А АпХ =Вг\С ч < ч ВпХ=СпВ А\Х =СиВ Ъ = в\с AkjX = B\C ВпС=АиС [С\В = ХпА \СиХ =А\Х \x\A = BkjX [С\В = Х\С № 14 17 20 23 26 29 Система \ 4 ч • ' ВиХ=СпХ ВпХ=АиХ Ъ\Х=А\В ВиХ=С\Х X\C = AkjX В\А = Х\В С\Х=ВпА В\Х =А\С X\A = BvC СпХ=ХпА АпС = С\Х В\(СиА) = А\С \А\Х =В\С \СиА = Аг\Х [XuC = XnC \А\Х =СпВ \С\Х =В\А [X\B = AkjC № 15 18 21 24 27 30 Система < < 1 в\х = х\с Х\В = А\Х Сп~Х = Х\В ЯиХ=СдЛ Х\Л = СиХ СпХ=А\В СиХ=СпА ЯиЛ=ЛпХ ВиС=ХпА • < < Х\А = В\С В\А = ХпА (С\Х )\В = В\А \С\Х=Х\А Х\С = В\Х [диХ = Х\С [ДиХ=С\Л \АпС = АиВ [А\С = ХпВ Решить задание 1.1.9 для системы Пример решения задания 1.1.9 'АаХ =В\С СпХ =ДиХ. В\Х = А\Х Построим множества общего положения Л, В, С, X, являю- щиеся подмножествами универсального множества U. Для этого выпишем все 16 различных двоичных наборов размерности 4.
28 Глава 1 Пусть разряды этих наборов слева направо соответствуют мно- жествам Л, Я, С, X (табл. 1.1.9). Символом 1 обозначим список элементов универсального множества U, не попавших ни в одно из множеств Л, В, С, X, символом 4 — список элементов, не попавших ни в Л, ни в В, но попавших в Си X, и т. д. Будем иметь: U = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}, Д = {9,10,11,12,13,14,15,16}, В = {5,6,7,8,13,14,15,16}, Таблица 1.1.9 С = {3,4,7,8,11,12,15,16}, X ={2,4,6,8,10,12,14,16}. 1. АаХ ={2,4,6,8,9,11,13,15}, В\С = {5,6,13,14}. Эти множе- ства равны в силу первого урав- нения системы, значит, списки эле- ментов 2, 4, 5, 8, 9, 11, 14 и 15 пус- ты. Получили: Л = {10,12,13,16}, В = {6,7,13,16}, С = {3,7,12,16}, X ={6,10,12,16}. 2. СпХ ={12,16}, ЛиХ ={6,10,12,13,16}. Данные множества равны в силу второго уравнения системы, следо- вательно, списки элементов 6, 10, 13 пусты, и наши множества при- мут вид: Л = {12,16},В = {7,16}, X ={12,16}, С = {3,7,12,16}. 3. £\Х={7}, АХХ =0, в силу третьего уравнения системы получаем, что список 7 пуст, и С = {3,12,16}, fi = {16}, Л = {12,16} = Х, U ={1,3,12,16}. Видим, что X = A, Я с Л с С с £/. № 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 А 0 0 0 0 0 0 0 0 В 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 с 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 X 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
Множества, графики, соответствия, отношения 29 II. Проверим, что множество X = А является решением ис- ходной системы. Если выполнены включения BcAcCct/, то можно запи- сать: B = {b}, A = {a,b}, С = {л,6,с}, U ={a,btc,u}9 где a,b,c,u — списки элементов. Пусть X=A = {a,b), тогда: АаХ =0 = В\С, B\X=0 = A\X, СпХ ={a,b} = AuX. Видим, что все уравнения системы удовлетворяются, т. е. множество X = А является решением исходной системы при вы- полнении включений 5сДсСс(/. Ответ: X = A, BqAqCqU. Задание 1.1.10 Для произвольных множеств Л, В, С, D проверить равно- сильность систем а и (3. Таблица 1.1.10 № 1 2 3 а 4 « « ДибсС СибсЛиО CuActfuD AnCQB СпЯсДиО ДиЯсСиО BnDQAAC АсЯиС ~BqDqA CuDqAuB P - « < AuDqA\B B\CqA\C AQBnC flcAuD AqCuD (BnCДДсСиО (BnA)\CQ(B\A)\D DnAQC\B D\BQAnD 1*qB\A 2 Зак. 3332
30 Глава 1 Таблица 1.1.10 (продолжение) № 4 5 6 7 8 9 10 а \А с ВаС | С с BaD [AnCQB\D lAnBQCnD lAnCQBuD [AqBkjC lAnDQBAC lAnBQCuD [DcC UaDqB\C ICnDQAuD [B\DqA\D [AuDcfinD lAnDQCuD [A\DqC\A UcCuD \B\DqA\C UnBcDnC |Dc£uA [AAficC ЬиОсЛиС P IflcCnD СЛОсЯ < i \AnCQD [A\BQCnB U\CqC\D lAnBQCnD [AqDkjC [CcD \a\CqA\B [AnCQBnC \DqAkjB JAcDuC \DnCQA |A\Dc# \DqAuB \A\BqC\D [AqD \AnDQBnCnD JAu£cCuD [BqD \CQAr\B \d\AqC CcAufi
Множества, графики, соответствия, отношения 31 Таблица 1.1.10 (продолжение) № 1 11 12 13 14 15 16 1 17 1 i а i 4 * tfuCcD ОиСсЯиЛ ОиЯсСиЛ BnDQC DnCQBuA BuCqDuA CnAQBAD #cCuD CqAqB DvAqCvB « « ' • BqCaD DqCaA BnDQC\A CnBQAnD BnDaCuA BqDuC AnBQCbD CnBQAuD AqD AaBqC\D AnDQAuB С\Ас#\Д P 4\ 4 < • ' « 4[ BvAqB\C C\DqB\D BQCnD CqBuA BqDkjA (CnD)\BQDuA (CnB)\DQ(C\B)nA BnAQD\C A\CQBnA CqC\B CQDnA D\AciC BnDQA B\CQDnC B\DqD\A CnBQAnD ScAuD DqA B\DqB\C BnDQDnC AqCuB ЯсЛиО AnDQB B\AqC
32 Глава 1 Таблица 1.1.10 (продолжение) № 18 19 20 21 22 23 24 а [ДиВсСпД JAnflcAuD [BAqD\B [BcAuD С\ЛсВ\0 |Cn£cDnA [AcDu5 jCuActfuD [d\Cc#\A [DuCcA jDuAcfluC JAuCcDufi [CnAcD [DnAcfiuC JDuCctfuA DnBcCAA V. 1 [CcAuD DcficC USuAcDuC [СсДдО |acDa£ CnAcD\B v. I P 1 [DcA JAcCutf £\CcD\A 1*£д [АпЯсАпСпО icutfcAuD [CqA |а\Яс/5 DcCufi J£uCcC\D \D\AqC\A IcqAi^D [DcfiuC СсВиД [(АпОДСсЯиА 1 |/CnD)\Ac(D\£AC \BnCQA\D \b\DqBc\C [DcD\C |Dc£nA < СпАсЯ [CADcDnA
Множества, графики, соответствия, отношения 33 Таблица 1.1.10 (окончание) № Г 25 26 27 28 29 30 а \Cr\DQAnB \cr\AQDvB [СсОиД [СпЯсОдД |спОсДи# |#сД {CaBqD\A [d\BqC\B {CuBQDnB IcnBQAuB [C\BaA\C [CcAufi \d\bqc\a \CnDQBnA [BqAuC 1 [Сд£>сД IduBqCuA \A\DqC\B p 1 [с\АсД\б |сп£сДпЯ [ссйиД \cmqc\d [CnAQDnA (BqCuD СсАиД \AnBQC [C\BqD 1 [Дев JtfcCuD |С\ОсД\Я 1е ^5 1 {CnBQBnDnA IduCqBuA [DqB [дсСпО Я\СсД UcCuD Пример решения задания 1.1.10 Проверить равносильность систем (BnDQAnC \В\А С Л\С BnAcDuC (*) и j S n D с А п С (**). [ficDuA IBcCuA
34 Глава 1 I. Возьмём множества общего положения Л, В, С, D, являю- щиеся подмножествами универсального множества £/, восполь- зовавшись техникой, описанной в решении примера 1.1.9. Будем иметь: [/={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}, А = {9,10,11,12,13,14,15,16}, В = {5,6,7,8,13,14,15,16}, С = {3,4,7,8,11,12,15,16}, D = {2,4,6,8,10,12,14,16}. 1. Рассмотрим включения, вошедшие в систему (*). BnD = {6,8,14,16}, ДпС = {11,12,15,16}. По условию, {6,8,14,16} с {11,12,15,16} => список 6,8,14 пуст. Значит, Л = {9,10,11,12,13,15,16}, Я = {5,7,13,15,16}, С = {3,4,7,11,12,15,16}, D = {2,4,10,12,16}. ВпА = {13,15,16}, DUC = {2,3,4,7,10,11,12,15,16}. Так как {13,15,16} с {2,3,4,7,10,11,12,15,16}, то {13} = 0. Множества А и В можно записать так: Л = {9,10,11,12,15,16}, В = {5,7,15,16}. И, наконец, BcDuA, то есть {5,7,15,16} с {2,4,9,10, 11,12,15,16}=» {5,7} = 0. Итак, множества А, В, С и D таковы: А = {9,10,11,12,15,16}, £ = {15,16}, С = {3,4,11,12,15,16}, D = {2,4,10,12,16}. Проверим при полученных А, В, С и D выполнение вклю- чений (**): В\А = 0, поэтому включение В\А с А\С выполняется незави- симо от вида множества А\С. BnD = {16}, ЛпС = {11,15,16}, значит, BnDQAnC и второе включение также выполнено. Наконец, А = {1,2,3,5,6,7,8,13,14}, СиЛ = {1,2,3,4,5,6,7,8,11,12,13,14,15,16} и ВсСиА. Получили, что все множества А, В, С и D, удовлетворяю- щие системе включений (*), удовлетворяют также системе (**).
Множества, графики, соответствия, отношения 35 2. Пусть теперь выполняется система (**). Так же, как и в первой части доказательства, возьмём множества U = \Х\,Х2гХЗ'Х4>х5>х6>х1'Х%*х9>х\0*х\ \>х\2>х\3>х\4>х\5>х\61> А — \Xq),X\q,X\ 1,Л'|2,^13»-^14'-^15'-^16 j » " = \x5tX6'Xl>x&>x\3>x\4tX\5>x\6 Ь С = {X2,X^,XltX^,Xu,X^2fXi5,X^}, D = {X2yX^X^X^,XiQ,X^2*X]^X^}. В\А = {х5,хв,х1,х%}, {А\С = {х9,х]0,х]3,хы}, и из выполнения включения В\А с Л\С следует, что {x5,x6,xltx%} = 0. Рассматриваемые множества примут вид: U = {X\tX2,X^,X^tX()fX\QtX]\tX\2tX\2tX]^,X\^tX\^}, А = [Xt),XiQ,XntXi2>X\3,Xi4,Xi5,Xib}, В - {-V|3,-Xi4»^15»x16i' С = {*3'*4»-*jl»A*12'*15»*16k ^ = {•*2»А4'*10»*12'*14'-%>Ь BC\D - {^14.-^16 К ^^С = {Л*] j, Л*| 2»*15»-*16 )• Из включения BnDczAnCследует, что {хн} = 0, значит, и = {Х],Х2,Х$,Х4,Х<),Х\$,Х\ \,Х\2>х\3*х\5>х\61* А = \Х(),Х]0,Хи,Х]2,Х]?),Х]5,Х]ь}, В = {x]Tt,Xi5,x]e}, С = {х2,х4,хп,х12,х15,х16}, D = {Х2,Х4,Х]0,Х\2,Х\()}. А = {^1,^2>Л3»-*4>-*5'*6>Л7'Л8 / ' С ^J А = {Xi,X2tX^tX^,X^tX^tX-jtXgfXi 1>А12>А15>А16 J ' Из включения В с С и Л следует, что {jc13} = 0, значит, С/ = {Xi^2>A3>A4>A9>A10>Al 1>А12'А15'А1бЬ А = {*9>А10'А11>А12'А15>А1бЬ В = {х^,хХ()), С — \Х^,Х^,Х\ i,-*|2f*i5>-*l6/» = 1А2'А4'А10>А12'А16/- Проверим для этих множеств выполнение включений систе- мы (*): BnD = {x]e}, { АпС = {xu,xl2,X\5,xie} и включение BnDczAnC выполнено. {ВпА = {х]5,х]6}, { DuC = {x2^v*4>AiO'Aii>Ai2'Ai5>Ai6b вклю- чение ВпДсОиС выполнено. И, наконец, DuА = {х2>А4>А9А10'А11»А12»А15'А1б} и BcDuA также верно. Итак, доказано, что системы (*) и (**) равносильны.
36 Глава 1 1.2. Графики Декартовым произведением множеств А]чА2,...,Ап называется множество Ах хА2х...хАп = {(а],а2,...,ап)\а] е Ах,...,ап еЛ„). Проекцией вектора (а],а2,...,ап) на ось / называется коорди- ната а{. Проекцией множества А векторов на ось будем назы- вать множество проекций векторов из А на эту ось. Графиком будем называть подмножество декартова произве- дения двух множеств. Инверсией графика Р будем называть график Р"1={(я,й)|(Ь,А)еР}. Композицией графиков Р и Q называется график Р°(2 = {(а9Ь)Ш(ъх)еР и(*,6)еб)}. Задание 1.2.1 1. Проверить справедливость равенства а для множеств А = {1,2}, 5 = {2,3},С = {1,3}. 2. Выяснить, верно ли равенство а для произвольных А, £, С. Таблица 1.2. J № 1 2 3 4 5 6 7 8 а АхС = (Ах(С\Я))и(Ах(СпЯ)) 1 АхС = (Ах(СпВ))и(АхС) 1 Ах(ЯдС) = (Ах(ЯиС)\(Ах(Сп#)) 1 АхС = (Ах(С\Я))и(АхС) Ax(BkjC) = (AxB)u(Ax(C\B)) Ах(С\В) = (АхС)а(Ах(СпВ)) AxC = (Ax(CKjB))n{AxC) Ах(Сп(ЯдС)) = (АхС)д(Ах(СпЯ))
Множества, графики, соответствия, отношения 37 Таблица 1.2.1 (окончание) № 9 10 11 12 13 14 15 16 1 17 18 1 19 1 20 1 21 1 22 1 23 1 24 1 25 1 26 1 27 1 28 1 29 1 30 а Ах(С\В) = (АхС)\(Ах(СпВ)) 1 Ах(ЯиС) = (Ах(ЯдС))и(Лх(ЯпС)) 1 А х С = (А х (С и 5)) \ (А х (5 \ С)) 1 Ах(ЯпС) = (ДхС)\(Ах(С\Я)) 1 Ах(ЯпС) = (Ах(ЯиС))\(Лх(ДдС)) 1 Ах(С\Я) = (Ах(ЯиС))\(АхЯ) 1 ВхЛ = (бх(Л\С))и(5х(ДпС)) 1 ЯхА = (Ях(АпС))и(ЯхА) 1 ЯхА = (#хА)и(Ях(А\С)) 1 Ях(АиС) = (#х(А\С))и(#хС) 1 BxA = (BxA)n(Bx(AKjC)) 1 Ях(Д\С) = (5хЛ)\(Ях(ДпС)) ЯхА = (Ях(АиС))\(Ях(С\А)) Вх(АпС) = (ВхА)\(Вх(А\С)) Ях(А\С) = (ЯхА)д(Ях(АпС)) Вх(А\С) = (Вх(АиС))\(ВхС) СхВ = (Сх(В\А))и(Сх(ВпА)) СхВ = (Сх(ВпА))и(СхВ) Сх(АдЯ) = (Сх(АиЯ)\(Сх(АпЯ)) СхВ = (Сх(В\А))и(СхВ) Сх(АиЯ) = (СхА)и(Сх(Я\А)) Сх(А\В) = (СхА)а(Сх(АпВ))
38 Глава 1 Пример решения задания 1.2.1 7. Проверить справедливость равенства Сх(5\Л) = (СхВ)д(Сх(ЛпВ)) для множеств А = {1,2}, Я = {2,3},С = {1,3}. 2. Выяснить, верно ли равенство Сх(В\А) = (СхВ)а(Сх(АпВ)) для произвольных Л, В, С. 1. Для нашего случая Сх(Д\А) = {1,3}x({2,3}\{U}) = {1,3}x{3} = {(1,3),(3,3)}. Сх(АпД) = {1,3}х({1,2}п{2,3}) = {1,3}х{2} = {(1,2),(3,2)}. Схв = {1,3}х{2,3} = {(1,3),(1,2),(3,2),(3,3)}. (СхВ)д(Сх(АпВ)) = ={(1,3),(1,2Х(3,2),(3,3)}Д{(1,2),(3,2)}={(1,3),(3,3)}. Итак, мы убедились, что в нашем примере равенство выпол- нено. Проверим это для общего случая. 2. Пусть A = {a4d], B = {b,d], С = {с}, где a,b,cyd —списки элементов. Тогда Cx(B\A) = {c}x{b} = {(c,b)}, где {(с,Ь)} —множество пар элементов, первая компонента которых входит в список с, а вторая — в список Ь. AnB = {d], (СхВ)А(Сх(ЛпВ)) = {(с,й),(с^)}д{(с,^)} = {(с,Ь)}. Как видно, множества Сх(В\А) и (СхВ)д(Сх(Апй)) со- стоят из пар одинакового вида, следовательно, равенство Сх(В\А) = (СхВ)а(Сх(АпВ)) для произвольных А, В, С. Задание 1.2.2 Для данного графика Р найти : Р~\ Р°Р, Р_1оР, пр2(Р"1оР)хпр1(РоР).
Множества, графики, соответствия, отношения 39 Таблица 1.2.2 № 1 2 3 4 5 1 6 1 7 1 8 1 9 1 10 1 П 1 12 1 13 1 14 1 15 1 16 1 17 1 18 1 19 1 20 1 21 1 22 1 23 1 24 Р 1 (1,2), (1,3), (4,2), (2,3), (3,3) 1 (2,2), (4,4), (1,2), (3,1), (3,4) 1 (1,2), (2,3), (3,1), (2,2), (3,2) 1 (3,3), (3,2), (2,2), (1,2), (3,1) (0,1), (1,1), (1,0), (0,2), (2,1) 1 (5,4), (2,4), (4,4), (3 2), (5,3) 1 (1,1), (1,2), (2,3), (3,1), (3,2) 1 (1,3), (3,1), (2,2), (1,2), (1,4) 1 (3,8), (8,4), (4,4), (8,3), (4,3) 1 (0,2), (2,3), (3,3), (3,0), (0,0) | (1,5), (5,2), (2,2), (1,1), (1,3) (0,2), (0,3), (0,0), (1,2), (2,3) 1 (a,b), (а,с), (d,b), (с,с), (Ь,с) (b,b\(d,d\ {а,Ъ)Аса)Лс4) (а,Ь), (Ь,с), (с,a), (b,b), (c,b) (с,с), (c,b), (b,b), (a,b), (с,а) (е,а), (а,а), (а,е), (e,b), (Ь,а) (/,<*), (М), (d,d), (c,b), (f,c) (а,а)у (a,b), (b,c)4 (с,а), (c,b) (<з,с), (с,а), (b,b), (a,b), (a,d) (c,g), (g,d)t (d,d), (g,c), (d,c) (e,b), (b,c)y (c,c), (c,e), (e,e) (a,f), (/,*), (b,b\ (a.a), (a,c) (e,b), (e,c), (e,e), (a,b), (b,c)
40 Глава 1 Таблица 1.2.2 (окончание) № 25 26 27 28 29 30 Р | (x,y),(x,z), (t,y), (z,z)Ay,z) (У*У\ (t,t), (х,у), (z,x),(z,t) (x.y)*(y,z), (z,x), (y,y),(z,y) (z,z), (z,v), (y>y)> (x,y\(z,x) (t,x),(x,x), (x,t), (t,y)Ay>*) (w,t),(y,t), (t,t), (z,v), (w,z) Пример решения задания 1.2.2 Для данного графика Р = {(1,1),(1,2),(2,3),(2,2)} найти: Р~1, Fop, р-1оР,Пр2(Р"1оР)хпр1(РоР). По определению инверсии, (2,1) е Р~\ так как (1,2)е Р. Итак далее, получаем : Р"1 = {(1,1),(2,1),(3,2),(2,2)}. По определению композиции, (1,3)е Р° Р, так как существу- ет 2, причём (1,2)е Р и (2,3) е Р. Продолжая дальше строить композицию, получим: Р° Р = {(1,1),(1,2),(1,3),(2,3),(2,2)}. Аналогично получаем р-,оР = {(1,1),(2,2),(1,2),(2,1),(2,3),(3,2),(3,3)}. Вспоминая определение проекции множества векторов на ось, получим: пр2(Р~ оР) = {1,2,3},аналогично найдём другую проекцию: пр,(Р° Р) = {1,2}, и, наконец, можем написать: пр2(р-] о Р) х nPl (Ро Р) = {(1,1),(1,2),(2,1),(2,2),(3,1),(3,2)}. Задание 1.2.3 Для данных графиков Р и Т решить относительно графика X уравнение ХоР = Т при условии, что | X |= 6, npi X = пр2Х = = {1,2,3,4,5,6}. Для каждого найденного X указать РоХ.
Множества, графики, соответствия, отношения 41 Таблица 1.2.3 № 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 1 30 Р (6,4), (2,4), (5,5), (3,2), (4,1) (2,4), (3,3), (4,1), (5,6), (6,4) (2,4), (3,2), (4,1), (5,5), (6,4) (1,2), (4,1), (2,6), (5,5), (3,2) (1,5), (6,6), (2,3), (3,5), (5,4) (3,3), (6,1), (2,1), (5,2), (1,4) (3,1), (6,5), (5,3), (2,2), (4,3) (6,2), (4,4), (3,6), (2,5), (1,2) (2,4), (5,5), (4,6), (3,4), (1,3) (4,2), (5,2), (1,4), (2,3), (6,6) (6,3), (5,6), (2,2), (3,4), (1,3) (2,1), (1,3), (4,2), (6,1), (5,5) (2,2), (1,4), (3,6), (4,5), (6,4) (5,1), (1,4), (3,3), (4,2), (6,4) (4,2), (3,2), (5,3), (2,1), (6,6) (6,1), (1,3), (2,2), (5,1), (4,6) (1,5), (2,5), (4,1), (5,3), (6,6) (2,6), (6,3), (4,4), (1,2), (5,6) (4,3), (5,4), (2,2), (1,3), (3.6) (2,2), (4,1), (3,4), (5,3), (6,4) (4,5), (5,2), (6,4), (3,3), (1,5) (3,1), (4,4), (6,1), (2,3), (1,5) (1,5), (5,2), (3,1), (6,6), (4,5) (2,2), (6,4), (1,3), (3,6), (5,6) (6,4), (3,5), (4,3), (1,1), (2,3) (2,6), (4,1), (3,3), (6,1), (1,5) (1,6), (5,5), (2,1), (4,6), (6,3) (3,4), (2,5), (1,1), (4,2), (6,2) (5,5), (2,1), (6,3), (3,4), (1,3) 1 (4,1), (3,1), (6,4), (2,2), (1,5) Т 1 (2,5), (3,2), (1,4), (6,1), (4,4) (6,3), (1,4), (5,6), (4,4), (2,1) (2,5), (4,4), (3,2), (1,4), (6,1) (2,2), (1,5), (4,1), (6,2), (3,6) (2,3), (1,4), (3,6), (4,5), (5,5) (2,3), (4,1), (6,4), (1,1), (5,2) (3,3), (4,1), (1,3), (6,5), (5,2) (6,4), (3,6), (1,5), (5,2), (2,2) (2,6), (4,4), (6,4), (1,3), (3,5) (2,2), (5,3), (1,4), (4,6), (3,2) (4,3), (5,6), (3,3), (6,2), (1,4) (2,5), (3,1), (4,2), (6,3), (1,1) (3,6), (1,5), (5,4), (4,4), (6,2) (4,4), (1,3), (5,1), (2,4), (6,2) (3,6), (1,2), (5,3), (4,1), (2,2) (1,1), (4,6), (5,3), (3,1), (6,2) (2,3), (3,5), (5,5), (1,6), (4,1) (6,6), (2,4), (5,3), (1,2), (3,6) (6,3), (1,6), (5,4), (3,3), (4,2) (6,1), (4,4), (5,3), (1,4), (3,2) (2,5), (1,2), (5,5), (4,3), (6,4) (1,1), (5,1), (6,5), (2,3), (3,4) (4,2), (1,6), (3,1), (5,5), (2,5) (1,3), (3,2), (4,5), (5,4), (6,6) (4,1), (6,4), (3,3), (2,5), (5,3) (4,5), (1,1), (2,6), (6,3), (5,1) (4,3), (1,5), (6,6), (3,6), (2,1) (6,5), (2,2), (5,2), (4,1), (3,4) (3,3), (2,1), (4,3), (1,5), (6,4) 1 (5,1), (4,2), (3,5), (1,1), (6,4)
42 Глава 1 Пример решения задания 1.2.3 Для данных графиков Р = {(5,3),(1,3),(4,4,),(2,1),(3,6)} и Т = {(1,4),(2,1),(6,3),(5,6),(3,3)} решить относительно графи- ка X уравнение X ° Р = Т при условии, что | X |= 6, пр\ X = = пр2Х = {1,2,3,4,5,6}. Для каждого найденного X указать РоХ. Для каждой пары (а,Ь)еТищем пару (х,Ь)е Р. Если такая пара существует, то (а,х) может принадлежать графику X. Запишем множество Л, составленное из пар вида (а,х): А = {(1,4),(2,2),(6Д),(6,5),(5,3),(ЗД),(3,5)}. Так как 4епр2^, то пара (4,х)е X. Очевидно, что х = 6, так как иначе в графике Т нашлась бы пара, начинающаяся на 4. Составим X, добавляя к паре (4,6) пары из графика А так, чтобы выполнилось условие задачи. Получим: Х1={(1,4),(2,2),(6,1),(5,3),(3,5),(4,6)}, Х2 = {(1,4),(2,2),(6,5),(5,3),(3,1),(4,6)}. Проверкой убеждаемся в том, что Х{ и Х2 являются реше- ниями исходного уравнения. Согласно определению композиции, выпишем РоХх и РоХх: РоХх ={(1,5),(2,4),(3,1),(4,6),(5,5)}, РоХ2 = {(1,1),(2,4),(3,5),(5,1),(4,6)}. Задание 1.2.4 Для графиков Ри Г из соотношения Р° X =Т найти гра- фик X наименьшей возможной мощности. Таблица 1.2.4 № 1 2 3 Р (a,b),(a,c),(b,b),(c,b) (atb),(b,c),(c,c)t(c,b) (b,a),(h,c),(a,c) Т (a,a),(a,c),(a,b)t(b,a),(b,c),(c,a),(c,c) (a,c),(b,a),(b,b),(c,a)f(c,b),(c,c) {b,b),{b,c)Xb,a)y(a,b),(a,a)
Множества, графики, соответствия, отношения 43 Таблица 1.2.4 (продолжение) № 4 5 6 7 8 9 10 1 П 1 12 1 13 1 14 1 15 1 16 1 17 1 18 1 19 1 20 1 21 1 22 1 23 1 24 1 25 1 26 Р 1 (a,b),(c,b),(a,c),(c>c) (c,b),(af b),(a, с) {Ь,с),ф,а),{с,с),(а,с) (b,c)t{c,a),(a,ci),(a,c) (c,b),(c,a),(b,a) (b,c),Ui>c),(b,a),(«,") {a,c),{bx),{b,ci) (c,a),(c,b),(a,a),(b,a) (c,a),{a,b),(b.b),(b,a) (a,c),(a>b),(c>b) (c,a)Xb,a),(c,b)Xb,b) (a,b),(c,b),(c,a) (c,b)Xc,a),(b,b)Xa,b) (c,b),(b,a),(a,a),(ci,b) (b,c),(b>a),(c,a) (c,b),(a,b),(c,a),(a,a) (b,c),(ci,c),(a>b) (a,c),(a,b),(c,c),(b,c) (atc),(c,b),(b,b),(b,c) (c,a),(c,b),{a,b) (a,c),(b,c),(«>b),(b,b) (c,a),(b,a),(b,c) (b,a),(b,c),(a,a),(c,a) T | (я,а)Дя,с)Дс,л),(с,с),(а,6).(с,6) (c,c),(c,a),(c,b),(a,c),(a,a)>("'b) {b,b),(b,a),{b,c),(c,b),{b,a)Xa,b),(a,a) (b,a),(c,b),(c,c)y(a,b),(a,c),(a,a) (c,c),(c,a),(c,b),(b,c),(b,b) (b,b)Xb,a)Xa,b),(a,a),(b,c),(a,c) (ata)Xa,b)Xa,c),(b,a)Xb,b)Xb,c) (c,c)Xcb)Xc,a)Xa,c)Xa,b)Xb,c)Xb,b) (c,b)Xa,c)Xa,a)i(b,c)Xb,a)Xb,b) (a,a)Xa,b)Xci>c)Xc,a)Xc,c) (c,c)Xc>b)Xb,c)Xb,b)Xcci)Xb,a) (a,a)Xa,c)X^'b)Xc,a)Xc,c)Xc,b) (c,c)Xc,a)Xc,b)Xb,c)Xb,a)Xa,c)Xa>a) (c,a)Xb,c)Xb,b)Xa,c)X",b)Xa,a) (b,b)Xb,a)Xb,c)Xcb)Xcc) (c,c)Xc,a)Xa>c)Xa>a)Xc,b)Xci,b) (b,b)Xb,a)Xbx)Xa'b)Xa,a)Xa>c) (a,a)Xa,b)Xa,c)Xc,a)Xc,b)Xb,a)Xb,b) (a,b)Xc,a)Xc,c)Xb,a)Xb,c)Xb,b) {c,c)Xc,b)Xc,a)Xa,c)Xa,a) (a,a)Xa,b)Xb,a)Xb,b)Xa,c)Xb,c) (c,c)Xc,b)Xc,a)Xb,c)Xb,b)Xb,a) \(b,b)Xb,c)Xb,a)Xa,b)Xa,c)Xcb)Xcc)
44 Глава 1 Таблица 1.2.4 (окончание) № 27 28 29 30 Р (Ь,а),(а,с),(с,с),(с,а) (a,b),(a,c),{b,c) (b,a),(c,a),(b,c),(c,c) (a,b)Xa,a),(c,a) Г (b,c),(a.b),(a,a),(c,b),(c,a),(c,c) (а,а),{а,с),{а,Ь),{Ь,а),(Ь,Ь) (b,bUbx),(c,b),(cc),(b,a),(c,a) {a,a),(a,c)Xa,b),{c,c)Ac>b),{c,a) Пример решения задания 1.2.4 Для графиков Р = {(Ь,а),(с,а)ч(с,Ь)} и Т = {(Ь, Ь), (Ь, с), ф,а), (с, Ь), (с, с), (с, а)} из соотношения Р о X = Т найти график X наименьшей возможной мощности. Найдём инверсию графика Р: Р~х = {(а,Ь),(а,с)ч(Ь,с)}. Пусть X — график наименьшей мощности, являющийся ре- шением уравнения Р°Х=Т. Из определения композиции гра- фиков и минимальности X следует, что пр2Р= пр, X = {а,Ь}. Найдём композицию графика Р_1с левой и правой частями равенства Ро X =Т . Получим: {(а,Ь),(а,с),(6,с)}о{(й,а),(с,й),(с^)}оХ=Р"1оГ,или {(a,a),(b,b),(a>b),(b,a)}o X = Р~] о Г, откуда {(a,a),(b,b)}o X и{(а,Ь)ЛЬ,а)}о X =Р~1 от . Из равенства пр2Р= пр{Х ={а,Ь] и определения композиции графиков следует, что {(a,a),(b,b)}° X = X . Значит, верно равенство X \j{(a,a)y(b,b)}° X = Р~] о Г . Итак, график Р~ °Т кроме пар графика X может содержать также пары графика {(a,a),(bfa)}o X , не попавшие в X . Выпи- шем все пары, попавшие в график Р~ °Т . = {(a,b)Xa,c),(a,a),(b,b),(b,c)Xb,a)}.
Множества, графики, соответствия, отношения 45_ Выберем из этого графика пары, образующие X . Для этого изобразим таблицу, в заголовках столбцов выписав пары графика Р~ °7\ а в заголовках строк — пары графика Т (табл. 1.2.4а). Таблица 1.2.4а Т ^\ ъъ be Ъа сЪ ее са аЪ * * ас * * аа • * * ъъ * Ъс * Ъа * Для каждой пары (w,v)e Р о Г звёздочкой отметим пары из Г, попавшие в композицию Р~ °{(m,v)}. Далее, выберем наимень- шее число столбцов таблицы так, чтобы для любой строки в вы- бранном наборе нашёлся столбец, имеющий символ "*" в данной строке, причём Р~ °{(w,v)} не должен иметь пар, не входящих в Г. В нашем примере видно, что такой набор образуют столб- цы, помеченные комбинациями ab,ac,aa, следовательно, X ={ab,ac,aa}. 1.3. Соответствия Соответствием между множествами X и Y будем называть тройку объектов: Г = (Х, K,G), где X — область отправления соответствия, Y — область прибытия соответствия, G — график соответствия, причём G с X х Y.
46 Глава 1 Областью определения соответствия будем называть пр, G. Областью значений соответствия будем называть пр^С Соответствие называется всюду определённым, если пр, G = X. Соответствие называется сюръективным, если np2G = Y. Соответствие будем называть функциональным, или функцией, если его график не содержит пар с одинаковыми первыми и раз- личными вторыми координатами. Соответствие называется инъективным, если его график не содержит пар с одинаковыми вторыми и различными первыми координатами. Соответствие называется отображением X в Y, если оно всюду определено и функционально. Соответствие называется отобраэ/сением X на Y, если оно всюду определено, функционально и сюръективно. Соответствие называется взаимно однозначным, если оно функционально и инъективно. Соответствие называется биекцией, если оно всюду определе- но, сюръективно, функционально и инъективно. Образом множества А при данном соответствии называется множество Г(В) = {у\(х,у)е G и хе А]. Прообразом мноэ/cecmea В при данном соответствии называ- ется множество Г~1 (В) = {х\(х,у\Е G и уе В}. Множества называются равномощными, если между ними можно установить биекцию. Множество называется счётным, если оно равномощно мно- жеству натуральных чисел. Множество называется континуальным, если оно равномощно множеству действительных чисел отрезка [0,1]. Задание 1.3.1 Дано соответствие Г = (X, Y,G). 1. Изобразить соответствие в виде графа. 2. Выяснить, какими из 4 основных свойств (всюду определён- ность, сюръективность, функциональность, инъективность) обла- дает Г.
Множества, графики, соответствия, отношения 47_ 3. Найти образ множества А и прообраз множества В при данном соответствии. 4. Построить соответствие между бесконечными множества- ми, обладающее тем же набором свойств, что и Г. 5. Построить соответствие между конечными множествами, обладающее набором свойств, противоположным данному. Замечание. Для данного и построенных соответствий отметить случаи отображений, указать их тип, отметить случаи биекций. Таблица 1.3.1 № 1 2 3 4 5 6 7 8 9 10 1 П 12 1 13 1 14 1 15 1 16 X a,b,c,d,e a,b,c,d a,b,c,d a,b,c,d,e a,b,c,d,e a,b,c,d a,b,c,d,e a,b,c,d a,b,c a,b,c a,b,c,d a,b,c,d,e a,b,c,d a,b,c,d a,b,c,d a,b,c,d,e Y 1,2,3 1,2,3,4 1,2,3,4,5 1,2,3,4 1,2,3 1,2,3,4 1,2,3,4,5 1,2,3,4 1,2,3,4,5 1,2,3 1,2,3,4,5 1,2,3,4 1,2,3 1,2,3,4 1,2,3,4 1,2,3 G (a,2),(W),(c,l),W,2),fel) (a,4)f(M),(c,2),(d,l) (a,3),(W),(c,4), (</,!) Ш)ЛЬ,2)ЛеА)Ла,Ъ) («),(c,l),(*,3),(a,3) (a,2),(M),(c,l),(a,4) (a,5),(W),W,l),(<?,2) (a,3),(M),(c,3),W,l) (a,2),(M),(c,5),(e,3) (a,l),(fl,3),(W),(c,3) (a,2),(c,l),W,5),(c,3) (M),(c,3),W,2),(c,l) (a,l),(W),(c,3),(6,2) («,4),(b,3),(W),(c,3),W,4) (fl,4),(c,4),(W),(a,3) (a,2),(M),W,3),W) Л e,c a,b а,с b,c e,c a,b d,e а,с a,b а,с b,c а,с b,d a,b a,b a,b В 1 2,3 1,3 1,4 1,2 3,1 1,2 1,3 1,3 3,4 2,3 1,2 1,2 1,3 3,4 2,4 Ь2
48 Глава 1 Таблица 1.3.1 (окончание) № 17 18 19 20 1 21 1 22 1 23 1 24 1 25 1 26 1 27 1 28 1 29 1 30 X a,b,c,d a,b,c,d a,b,c a,b,c,d a,b,c,d a,b,c,d a,b,c,d a,b,c a,b,c,d,e \a,b,c,d \a,b,c,d,e \a,b,c,d \a,b,c \a,b,c Y 1,2,3,4 1,2,3,4 1,2,3,4,5 1,2,3,4 1,2,3 1,2,3 1,2,3,4 1,2,3,4 1,2,3 1,2,3,4 1,2,3,4,5 1,2,3,4 1,2,3,4,5 1,2,3 G (£,3),(a,2),(c,2),W,l) | (a,3),(c,2),(</,l),(e,4) (я,2),(/?,5),(с,4),(«) (a,l),(W),(fl,2),(c,4) (я,3),(М),(<М),(</,2) (a,l),(W),(c,2),(a,2) (a,3),(M),(c,l),(</,2) (a,3),(M),(c,2),(c,l) (c,2), (</,!), (a,3),№,3) (M),(c,3),W,l),(M) (M),(c,3),W),(fl,2) (Z>,3),(c,4),(</,3),(a,l) (W),(c,l),(fl,5)f(b,3) (WMM),(c,2),(a,3) A а,с c,<i a,b a,b c,d с4 ayb a,c a,d b,c a,e b,d b,c a,b b\ 1,4 2,3 2,5 2,3 1,3 2,3 1,4 4,2 3,1 1,2 1,3 3,1 4,3 2,3 Пример решения задания 1.3.1 Решим задание 1.3.1 для соответствия r = (X,Y,G), если X={a,b,c,d}, Y = {1,2,ЗЛ5}, G = {(«,2),(b,l),(6,5),(J,4)}, А = {а,Ь), В = {3,4}. 1. Изобразим соответствие в виде графа (рис. 1.3.1, а). Рис. 1.3.1, а
Множества, графики, соответствия, отношения 49 2. Выясним, какими из свойств обладает данное соответствие, а) Соответствие не всюду определено, так как npjG -{a,byd} Ф X. Р) Соответствие не сюръективно, так как np2G = {1,2,4,5} Ф Y. у) Соответствие не функционально, так как его график содер- жит две пары (Ь,1)и (Ь,5) с одинаковыми первыми и различны- ми вторыми координатами. 8) Соответствие инъективно, так как его график G не содер- жит пар с одинаковыми вторыми и различными первыми коорди- натами. 3. Найдём образ Г(А)и прообраз Г~[(В). Г(А) = {1,2,5}, так как А = {а,Ъ) и ((а,2),(ЬД),(Ь,5))сС r~\B) = {d}, так как В = {3,4} и только <7/,4)eG. 4. Построим соответствие между бесконечными множествами, обладающее тем же набором свойств, что и данное соответствие. Пусть Х=[0,2], У = (-оо,+оо), G = {(x,y)\x2 +у2=1 и х>0}. Покажем, что это соответст- вие (рис. 1.3.1, б) обладает тем же набором свойств, что и данное. а) Построенное соответствие не всюду определено, так как nptG = [0,l]*X. Р) Построенное соответствие не сюръективно, так как np2G = [-l,l]*K. у) Построенное соответствие не функционально, т. к., напри- мер, (ОД)еС и (0,-1)eG. 8) Соответствие инъективно, так как его график не содержит пар с различными первыми и одинаковыми вторыми коорди- натами. Рис. 1.3.1,6
50 Глава 1 5. Построим соответствие между ко- нечными множествами, чтобы оно было всюду определено, сюръективно, функ- ционально и не инъективно, изобразим его в виде графа (рис. 1.3.1, в) и анали- тически: r = ({M,v},{w},{(w,w),(v,w)}). Покажем, что это соответствие об- ладает требуемым набором свойств, что и данное. а) Действительно, это соответствие всюду определено, так как np,G = X = {w,v}. Р) Соответствие сюръективно, так как np2G = {w} = Y. у) Соответствие функционально, так как в его графике нет пар с одинаковыми первыми и различными вторыми коорди- натами. 8) Соответствие не инъективно, так как его график состоит из двух пар (и,и>)и , (v,w) с различными первыми и одинаковыми вторыми координатами. Так как построенное соответствие всюду определено, сюръективно и функционально, оно является отображением X на Y. Задание 1.3.2 Для соответствия Г = (X, Y,G) 1. Определить набор свойств, которыми обладает данное со- ответствие. 2. Построить соответствие между конечными множествами с набором свойств, противоположным данному, изобразив соот- ветствие аналитически и в виде графа. Замечание. Отметить случаи отображений и биекций.
Множества, графики, соответствия, отношения 51 Таблица 1.3.2 № 1 2 3 4 5 6 7 8 1 9 10 11 12 1 13 14 * многочлены 2 степени от одной переменной с дей- ствительными коэффи- циентами множество кругов на плоскости (0, + оо) N R вузы вашего города (0, + ов) фамилии студентов ва- шей группы окружности на плоскости функции, определенные на [0,1] R2 имена студентов вашей группы N [0,1] у R множество то- чек плоскости HJ] R непрерывные на [а,Ь] функ- ции жители ваше- го города отрезки на прямой {1,2 100) Z я N буквы русско- го алфавита студенты ва- шего вуза {0,1} G (многочлен, его корень) (круг, его центр) (л\ v) | х2 < у (a-, ±lnjc) 1 ( \ maxf(x),f{x) ^ xE\a,h\ J (вуз; человек, окончивший этот вуз) (лг,отрезок длины х) (фамилия, число букв в фа- милии) (окружность, её длина) (функция, ордината её точ- ки максимума) (<- *,у),ух2 + у2 ) (имя, буква из имени) (/?, человек с годом рожде- ния п) и/и )), где 0, если хе R\Q 1, если хе Q
52 Глава 1 Таблица 1.3.2 (окончание) № 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 X Я окружности на плоскости [P(U)f [0,1] R P(U) {0,1,2} [1,3] пары окружностей на плоскости множество книг в биб- лиотеке вашего вуза (-4,4) мужчины вашего города IP(U)]2 политические партии вашего города P(U), где.£/={1,2....,40} пары прямых на плос- кости Y Я10 прямые на плоскости P(U) R2 функции, непрерывные на [0,1] IP(U)? N Р+ R2 Z [1,6] женщины ва- шего города Р(Ю жители вашего города N R G 1<;<ю (окружность, касательная к этой окружности) ((А,В,С),Ас\Вг\С) (л-,(х,у)|л-2 + v2 = 1) m,f(x)\minf(x) = m { <** ) (A(A,5,C)|Au#uC = D) (х, у)\х — остаток от деле- ния у наЗ (*,>0|U-2)2 + (v-2)2<l (пара окружностей, коорди- наты точки пересечения этих окружностей) (книга, число страниц в этой книге) {х,у)\ у = \х-2\+\ (х, у) | х и у состоят или когда-либо состояли друг с другом в законном браке \((А,В),А\В) ((партия), (человек, состоя- щий в этой партии)) (Л,|Д|),где AeP(U) (пара прямых, абсцисса точ- ки пересечения прямых)
Множества, графики, соответствия, отношения 53 Пример решения задания 1.3.2 Решим задание 1.3.2 для соответствия Г = (X,Y,G), если X = N, Y — множество непрерывных на [а,Ь] функций, а гра- фик G задан так: G = (JJ(x))\J=jf(x)dx 1. Определим набор свойств, которым обладает данное соот- ветствие. а) Для любого натурального числа п можно рассмотреть не- п прерывную функцию f(x) = . Тогда, вычисляя определён- Ь-а ный интеграл, будем иметь: dx- \dx-—- ib-a b-a{ b- a n(b - a) b-a n. Итак, доказано, что данное соответствие является всюду оп- ределённым. Р) Так как для некоторых непрерывных функций на [а,Ь] оп- ределённый интеграл не выражается натуральным числом, то данное соответствие не является сюръективным. у) Покажем, что две различные функции могут иметь на рас- сматриваемом промежутке одинаковое значение определённого интеграла. Для этого можно рассмотреть функции 2пх /00 = п b-а Ъ1-а Для f(x) определённый интеграл не отрезке [а,Ь]9 как мы уже выяснили, равен п. Найдём соответствующий интеграл для g(x): J g( х )dx =j —- dx - b2-a2 b2-a2 2 2n(b2-a2) lib2-a2) = n. Итак, доказано, что соответствие, описанное в условии зада- ния, не является функциональным.
54 Глава 1 8) Так как для каждой функции её определённый интеграл на данном промежутке находится однозначно, данное соответствие является инъективным. 2. Построим соответствие между конечными множествами, чтобы оно было не всюду определено, сюръективно, функцио- нально и не инъективно. Пусть Г = ({яДс},{1},{(а,1),(ЬЛ)} (рис. 1.3.2). Покажем, что построенное со- ответствие обладает требуемым набором свойств. а) Соответствие Г не всюду опреде- лено, так как элемент с, входящий в об- ласть отправления, не имеет образа при данном соответствии. (3) Соответствие /"сюръективно, так как его область прибы- тия {1} совпадает с областью значений. у) Соответствие /"функционально, так как его график не со- держит пар с равными первыми и различными вторыми коорди- натами. 5) Соответствие Г не инъективно. так как в его графике пары (а,1) и (ЬЛ) имеют различные первые и одинаковые вторые ко- ординаты. Задание 1.3.3 Установить биекцию между множествами Таблица 1.3.3 № 1 2 3 Множества {(х,у)\х2 + у2<\) и {(х,у)\х2 + у2<\} [0,1] и R [0,+~)и[0,1] № 4 5 6 Множества N и множество многочленов 3м степени с натуральными коэффициентами R И [0,+ оо) {(х,у)\х2 + у2=\}и[0А)
Множества, графики, соответствия, отношения 55 Таблица 1.3.3 (окончание) № 7 8 9 10 11 12 13 14 15 16 i i 17 1 18 Множества все окружности на плоскости и RxRx (0,+°о) {U>0|-f <*<f,0<.y<7t} и R2 еп[о,1]ие2п[о,1]2 (0,1) и*,*] [0, +оо) и (а,Ь) все интервалы на прямой и по- луплоскость, расположенная ниже линии у = х {(х,у)\х2 + у2<\) и {Uv)|jc2 + v2<100} Q и Qn[0,+oo) [0,1] и (2,5) полуокружность без концевых точек и луч (0, +«>) (-оо , 0) и R N и Q2 № 19 20 21 "22 23 24 25 26 27 28 29 30 Множества Q и множество всех много- членов с рациональными коэф- фициентами (0,1) и R Q"Q2 1 сфера с выколотой точкой и вся плоскость {(х,у)\х2 + у2<4) и {(jc,>0|a-2 + )>2>4} q и еп[о,п R и[1,+оо)и{-10) N и N2 все последовательности нату- ральных чисел и все возрас- тающие последовательности натуральных чисел N и множество всех много- членов с натуральными коэф- фициентами R и R\Q \ Q и N2
56 Глава 1 Пример решения задания 1.3.3 Установить биекцию между множествами [0,1] и (0,1). Будем считать, что Х=[0,1], К = (0,1). Пусть А=\ -,-,...,-,... [23 п В = \ 0дЛ,-,...,-,...[ = Аи{0,1}. Очевидно, что X\B = Y\A9 [ 2 3 п J X = Х\ВиВ, Y = Y\AuA. Установим биекцию между множествами Х\Ви У\А, как тождественное соответствие f(x) = х. Биекцию между множествами А и В зададим так: 1 1 v2, /(0)=-, /а) = з' 7 Таким образом, между X и К установлена биекция: !■/ v3, 5' 'J (1\ к'1; 1 п + 2 /м= 1 2' при х^О, *£ J — и neN при х = 0 1 при хе < — и + 2' I" neN[. Изобразим график этой биекции в декартовой системе коор- динат (рис. 1.3.3). > 1 1/2 vi 1 /Л xi-t 1/5 0 ь ^4- • 1 1 1 " 1 1/4 1/3 ' 1 —{- -< i i 1/2 г— 1 > Рис. 1.3.3 Задание выполнено.
Множества, графики, соответствия, отношения 57 Задание 1.3.4 Доказать, что множество: Таблица 1.3.4 № 1 2 3 4 5 1 6 1 7 1 8 1 9 1 10 1 П 1 12 1 13 1 14 1 15 16 Условие всех многочленов от х с рациональными коэффициентами счетно всех пар рациональных чисел счётно всех многочленов от дг с целыми коэффициентами счётно всех кругов на плоскости, радиусы которых и координаты центра являются рациональными числами — счётно попарно непересекающихся замкнутых кругов на плоскости не более чем счётно всех многочленов п -й степени от х с рациональными коэффициен- тами счётно всех многочленов п -и степени от х с целыми коэффициентами счёт- но попарно непересекающихся прямоугольников на плоскости не более чем счётно всех окружностей на плоскости, радиусы которых и координаты цен- тра являются целыми числами — счётно полученное объединением счётного числа конечных множеств — не более, чем счётно полученное объединением счётного числа счётных множеств — счётно рациональных чисел интервала (0,1) — счётно непересекающихся окружностей на плоскости может быть контину- ально всех действительных чисел интервала (0,1), в десятичном разложении которых на четвёртом месте стоит цифра 7 — континуально точек разрыва монотонно убывающей на [а,Ь] функции — не более чем счётно точек плоскости, расстояние между любыми элементами которого больше 3, не более чем счётно
58 Глава 1 Таблица 1.3.4 (окончание) № 17 18 19 20 21 22 23 24 1 25 | 26 1 27 1 28 29 1 30 Условие попарно непересекающихся открытых интервалов на прямой не более чем счётно полученное объединением счётного числа непустых попарно непе- ресекающихся конечных множеств, счётно всех конечных последовательностей натуральных чисел — счётно всех конечных подмножеств счётного множества — счётно попарно непересекающихся букв Г на плоскости может быть кон- тинуально попарно непересекающихся букв L на плоскости может быть кон- тинуально попарно непересекающихся букв Т на плоскости не более чем счётно А1хА2х...хАп— счётно, если каждое из множеств А{,А2,...,Ап — счётно чисел вида 2" -Уп —счётно, если не N и me N иррациональных чисел интервала (0,1) — несчётно всех бесконечных последовательностей, составленных из нулей и единиц — континуально всех корней многочленов третьей степени с натуральными коэффи- циентами — счётно функций вида /:£"->£, где £ = {0,1}, п = 1,2,3,... — счётно полученное объединением конечного числа счётных множеств — счётно Пример решения задания 1.3.4 Доказать, что множество всех конечных последовательнос- тей, составленных из элементов некоторого счётного мно- жества, счётно. Пусть множество А счётно, А = {а1,а2»—»л/|,...}. Обозначим через Вк множество конечных последовательностей длины к, составленных из элементов множества A, keN. Покажем для любого к, что множество Вк —счётно.
Множества, графики, соответствия, отношения 59 Пусть bx =a]>a],...,a] к 1 к b2 =a],al,...,a2 i к Ьъ = aXyaly...,ax ®к+\ ~ax,ax,...,ci2 сумма индексов у я, равна к, — сумма индексов у а, равна к +1, — сумма индексов у а, равна к+ 2 и т. д. Таким образом, любая конечная последовательность длины к, составленная из элементов счётного множества, получит свой номер. Выпишем элементы множеств Вк в виде бесконечной табли- цы, где kG /У(табл. 1.3.4). ъ\-+ь\ bf- 1 ь? ^bl Таблица ъ\-+ь\ t bl t -b] i bl \ f 1.3.4 . . . Будем обходить таблицу по маршруту, помеченному стрел- ками. По мере продвижения по этому маршруту будем наве- шивать номера: b\ -1, Ъ\- 2, b\ -3, Ьгх -4.ит. д. Имеем, что для любых индексов i,p последовательность bf получит когда-нибудь единственный номер. Таким образом, установлена биекция между множеством, со- ставленным из элементов bf, и множеством индексов N, то есть доказана счётность множества всех конечных последова- тельностей, составленных из элементов некоторого счётного множества А.
60 Глава 1 1.4. Отношения Бинарным отношением на множестве А называется пара 0 = (A,G), где А —область задания отношения, G —график отношения, причём G с Л . Если (x,y)sG, то будем писать хуу и говорить, что х и у вступают в отношение ф. Если хиуне вступают в отноше- ние ф, будем писать х(ру. Диагональю множества А называется график ДЛ ={(х,х)\хе А}. Свойства отношений : 1. Рефлексивность: VAG А (х(рх). 2. Антирефлексивность: Ухе А (х(рх). 3. Симметричность: ^хел^ уеА(Х(РУ ~* У^х) • 4. Антисимметричность: V VG А V G л (*фу, уф* —> х = у) или равносильное определение: Vv€/4 V д (хфуд ^ у —» уф х). 5. Транзитивность: VA€AVVGi4\/„еД (хфу,уфг —> хф z). 6. Связность: ^хбЛ\/у€Д(х^ у—> л;фу или уф*). Эти свойства можно определить с помощью графиков отно- шений: 1. АлсС 2. Ал nG = 0, 3. G = G~\ 4. GnG"1 сДд, 5. GoGcC, 6. Д2\ДЛ cGuG"1. Если даны два отношения: Ф=(Л,С) и Ч7 = (Л,Г),то опера- ции над этими отношениями сводятся к операциям над их гра- фиками: OuT = (A,GuF), OnvF = (A,GnF), Ф\Ч* = (A,G\F), Oa!^ = (^,GaF), Ф = (Л,Д2\С).
Множества, графики, соответствия, отношения 61 Отношение называется отношением частичного порядка, если оно рефлексивно, антисимметрично и транзитивно. Отношение называется отношением линейного порядка, если оно является отношением частичного порядка и связно. Отношение называется отношением строгого порядка, если оно антирефлексивно, антисимметрично и транзитивно. Отношение называется отношением строгого линейного по- рядка, если оно — связное отношение строгого порядка. Отношение называется отношением эквивалентности, если оно рефлексивно, симметрично и транзитивно. Классом эквивалентности, порождённым элементом х, на- зывается множество всех элементов из Д, вступающих с х в от- ношение эквивалентности. Фактор-множеством множества А по отношению эквива- лентности ф называется множество всех различных классов экви- валентности, которое обозначается Л/ф. Мощность фактор-множества Л/ф называется индексом раз- биения, порождённого отношением ф. Задание 1.4.1 Проверить для произвольных отношений Ф=(Л,С) и KV = (A,F) справедливость утверждения: "Если отношения Ф и Т обладают свойством а , то отношение Ф также обладает свойством а". Обозначения: I— рефлексивность, 2 — антирефлексивность, 3 — симметричность, 4 — антисимметричность, 5 — транзитив- ность, 6 — связность. Таблица 1.4.1 № 9 10 11 12 а 3 3 3 3 т ф\г ФдУ фо<Р ф-1 № 5 6 7 8 а 2 2 3 3 Т Фоф ф-1 Фи!Р ФслЧ* № 1 2 3 4 а 2 2 2 2 Т 1 Фи!Р ФпЧ* Ф\У ФдУ7 5 Зак. 3332
62 Глава 1 Таблица 1.4.1 (окончание) № 25 26 27 28 29 30 а 6 6 6 6 6 6 Т 0KJW Фп¥ Ф\Ф ФьУ фоу J ф-{ № 19 20 21 22 23 24 а 5 5 5 5 5 5 Т 1 Фи? Фс\У Ф\¥ Фа¥ фо^ ф-1 № 13 14 15 16 17 18 а 4 4 4 4 4 4 Т Фи¥ Фп¥ Ф\¥ ФдУ ФслУ Ф"1 Примеры решения задания 1.4.1 Пример 1. Проверить для произвольных отношений Ф = (А,С) и 4/ = (A,F) справедливость утверждения: "Если отношения Ф и W транзитивны, то отношение фоЦ* также транзитивно". Пусть QW=(A,GF), G = {(a,b)}, F = {(b,c)}. Тогда GoF = {(a,c)}, Go F = A2 \{{a,c)} = {(a,a),(a,b),(b,a),(b,b),(c,a),(c,b),(b,c),(c,c)}. Отношение фоЧ^ не транзитивно, так как его график G°F содержит пары (a,b)u (Ь,с),но не содержит пару (а,с). Значит, в общем случае утверждение, приведённое в примере 1, неверно. Пример 2. Проверить для произвольных отношений Ф = (А,С) и W -(A,F)справедливость утверждения: "Если отношения Ф и W рефлексивны, то отношение ФиЧ* такэюерефлексивно". Для рефлексивных отношений Ф и Ч* выполнены условия: Ад с G, Ад с F. Значит, выполнено также включение: Ад с Gu F, а это и означает, что отношение ФиЧ* также реф- лексивно. То есть мы показали, что утверждение примера 2 верно для произвольных отношений ФиН^.
Множества, графики, соответствия, отношения 63 Задание 1.4.2 1. Выяснить, какими из свойств: рефлексивность, антирефлек- сивность, симметричность, антисимметричность, транзитивность, связность обладает данное отношение Ф = (A,G). 2. Выяснить, что представляет из себя отношение фоф, фоф-1. 3. Построить на конечном множестве отношение, обладающее таким же набором свойств, что и данное. Изобразить его графом и аналитически. 4. Построить на бесконечном множестве отношение, обладаю- щее набором свойств, противоположным данному. В случае не- возможности построения доказать противоречивость набора тре- бований. Замечание. В случае отношений эквивалентности указать классы эквивалентности, фактор-множество, индекс разбиения. В случае отношений частичного или линейного порядка указать максимальные, минимальные, а также наибольшие и наименьшие элементы (если они существуют). Таблица 1.4.2 № 1 2 3 4 5 6 А множество студентов вашего вуза P(U), где U — множество точек плоскости множество окружностей на плос- кости жители России на начало этого года жители России на начало этого года прямые в пространстве G | хф v <=> х >у учатся на одном курсе АуВ <=> ЛпВ = 0 х(р у <=> х касается у Xty у <=> х и у — супруги х ф у <=> х и у состоят в од- ной и той же политической пар- тии х ф у <=> х и у имеют хотя бы одну общую точку
64 Глава 1 Таблица 1.4.2 (продолжение) № | 7 1 8 1 9 1 10 1 П 1 12 1 13 1 14 15 16 17 18 1 19 I 20 1 21 22 23 А | жители России на начало этого года N P(N) R {(alffl2»»Mfl„)K-e{0fl}} R2 R жители России на начало этого года [0,4] R N P(U), где U — множество точек плоскости жители России на начало этого года [0,2] N2 N непрерывные на [0,1] функции G | х ф у <=> х и у разного возрас- та х ф у <=> х и у имеют одинако- вый остаток от деления на 3 А ф В *=* | А | =| В | х(р у <=> 2х> у2 х ф у <=> х и у отличаются только в одной координате (а , Ъ ) <=> х = z или у = / 2 2 хф у <=> л: + у =1 х ф у <=> л старше у л'ф)> <=> jc > 2jy-h 1 х ф у <^>сри у имеют одинако- вую целую часть х ф у <=> х • у кратно трём Д ф Я <=» Д и Z? — в общем по- ложении х ф у <=> у — тёща для л: ;сф у <=* Jt + )>< 1 (*, y)<P(z,f )<=>*' = >* я ф у <=> д; + у кратно трём 1 1 f(x)(Qg(x)**\f(x)dx=t 0 ( g(x)dx )
Множества, графики, соответствия, отношения 65 Таблица 1.4.2 (окончание) | № 24 1 25 1 26 1 27 1 28 1 29 1 30 А R" жители России на начало этого года R читатели библиотеки вашего вуза Р((/),где U —множество точек плоскости векторы на плоскости жители России на начало этого года G | (ах,...,ап)ц(Ьх,...,Ьп)<& <=» {max ci;, 1 < / < п} = = {тахЬ(, 1 </</*} х ф у <=> х — отец для у х ф v <=? х = 2 у + 3 х ф у <=> х и у прочитали одну и ту же книгу АфЯ <=> АиЯ = 0 яф& <=> |a|=|fc| X ф V «=> Л* ВНуК .У Пример решения задания 1.4.2 Решить задание 1.4.2 для случая, когда Л — множество тен- нисистов, участвующих в турнире, где каждый теннисист должен сыграть с каждым ровно три партии. Пусть хф у означает, что х 5 обыграл у по результатам личных встреч. 1. Выясним, какими из основных свойств обладает данное от- ношение. 1 . Отношение ф не является рефлексивным, так как най- дётся теннисист, не обыгравший сам себя. 2. Отношение ф является антирефлексивным, так как каж- дый теннисист не обыграл сам себя. 3 . Отношение ф не является симметричным, так как най- дётся пара теннисистов а* и у такая, что х обыграл у по очкам в личных встречах, а у не обыграл х.
66 Глава 1 4. Отношение ф является антисимметричным, так как если х обыграл у, то у обязательно не обыграл х. 5. Отношение ф не яляется транзитивным, так как может сложиться ситуация, когда х обыграл у, у обыграл z, и в то же время z обыграл х. 6. Отношение ф является связным, так как любая пара спортсменов должна сыграть между собоАй и выявить победителя. 2. Выясним, что из себя представляют отношения Ф°ф и Ф°Ф 1. По определению композиции, хфофу означает, что найдёт- ся z такой, что xtyz и zq>y. То есть в отношение Ф°Ф будут вступать такие пары спортсменов х и у, для которых найдётся теннисист w такой, что х обыграл z, a z обыграл у. Рассуждая аналогично, получим, что в отношение Ф°Ф ' будут вступать такие пары спортсменов х и у, для которых найдётся теннисист z такой, что х обыграл z, a z проиграл у. То есть график отношения фоф1 будут образовывать пары, составленные из теннисистов, для которых найдётся хотя бы один спортсмен, которого они оба обыграли в турнире. 3. Построим на конечном множестве отношение, обладающее таким же на- бором свойств, что и данное. Пусть Ф = ({я, Ь, с}, {(a, b\{b, с\{с, а)}). Изобразим это отношение в виде графа (рис. 1.4.2): 1. Это отношение не является Рис. 1.4.2 рефлексивным, так как ащ. 2. Отношение антирефлексивно, так как ащ и Ъф и сфс. 3. Отношение не симметрично, так как atyb и Ъщ. 4. Отношение антисимметрично, так как atyb и btya , Ьфс и ctyb , ctya и афс.
Множества, графики, соответствия, отношения 67_ 5. Отношение не транзитивно, так как аф& и &фс, но афс. 6. Отношение связно, так как любая пара различных элементов из множества {a,b,с} вступает в отношение ф в том или ином порядке. 4. Построим на бесконечном множестве отношение рефлек- сивное, не антирефлексивное, симметричное, не антисимметрич- ное, транзитивное и не связное. Пусть А=(0,+°о), х ф у означает, что хну имеют одинаковую дробную часть. 1. Отношение рефлексивно, так как любое число имеет одинаковую дробную часть само с собой. 2. Отношение не антирефлексивно, так как найдётся число (например, 1,32), имеющее одинаковую дробную часть само с собой. 3. Отношение симметрично, так как если хи у имеют оди- наковую дробную часть, то у и х также имеют одинаковую дроб- ную часть. 4. Отношение ф не антисимметрично, так как, например, числа 1,78 и 4,78 не равны, и в то же время 4,78 ф 1,78 и 1,78 ф 4,78. 5. Отношение является транзитивным, так как если х и у имеют одинаковую дробную часть, у и z имеют одинаковую дробную часть, то х и z также имеют ту же самую дробную часть. 6. Отношение не связно, так как, например, 3,1*1,6 и 3,1ф1,6 и 1,6фЗД . Это отношение рефлексивно, симметрично и транзитивно, значит, оно является отношением эквивалентности. Классами эквивалентности являются множества {xt\xk-xm^Z). Индекс разбиения, соответствующего данному отношению эквива- лентности — континуальный, так как мощность фактор-множест- ва А/ф равна мощности всевозможных дробных частей, то есть множеству точек промежутка (0,1).
68 Глава 1 Задание 1.4.3 Провести факторизацию ^отображения / : X —> К, если X ={a,b,c,d,e}, Y = {1,2,3,4,5,6}, а значения f(x) заданы таб- лицей. Таблица 1.4.3 № 1 2 3 4 5 6 7 8 9 10 1 П 1 12 1 13 1 14 1 15 1 16 1 17 1 18 1 19 | 20 1 21 | 22 /(«) 1 1 4 2 1 3 5 1 2 6 4 5 3 4 5 4 6 5 6 3 5 1 2 /(*) 3 2 3 3 2 2 5 6 3 3 3 1 5 3 2 1 1 3 4 2 6 1 № 1 5 4 6 2 3 4 3 2 6 2 1 3 2 5 4 6 5 1 3 6 2 /W) 4 5 2 2 4 2 5 1 3 2 3 6 5 1 3 2 1 3 1 2 1 3 № | з 1 1 1 4 1 3 1 5 3 1 6 1 3 | 4 1 6 1 4 1 5 1 5 3 2 4 1 3 4 2 5 2
Множества, графики, соответствия, отношения 69 Таблица 1.4.3 (окончание) № 23 24 25 26 27 28 29 30 /(") 5 3 5 2 4 3 2 4 /(*) 5 1 3 4 3 1 2 5 /(с) 4 3 3 2 4 1 3 6 f(d) 5 2 6 5 1 4 2 4 /(*) 4 2 3 2 3 5 3 6 Пример решения задания 1.4.3 Провести факторизацию отображения f : X —> К, ес/ш X = {a,b,c,d,e}, Y = {1,2,3,4,5,6}, а значения /(л) таковы: f(a) = 2; f(b) = 5; /(с) = 2; /(г/) = 4; Рассмотрим на множестве X отношение Ф, которое опреде- лим так: ^фл'2 «=> /(*i) = f(x2). Это — отношение эквивалентно- сти, которое порождает разбиение множества X на классы экви- валентности. В нашем примере имеем: [а] = [с] = {а,с}; [d] = {d}\ [b] = [е] = \b,e\. Эти классы образуют фактор-множество множества X по отношению ф: X/ty = {{a,c},{d}4{b,e}}. Заме- тим, что индекс разбиения множества X равен 3. Введём соответст- вие так: g(a) = g(c) = {a,c}, g(d) = {d), g(b) = g(e) = {bfe}. Легко заметить, что g является отображением X на X /ф. Для исходно- го отображения f(x) областью значений является множество /(Х) = {2,4,5}. Рассмотрим соответствие h следующего вида: h: Х/ф —> /(X), заданное равенствами: /г({я,с}) = 2, /i({d}) = 4, h({b,e}) = 5. Это соответствие всюду определено, сюръективно, функционально и инъективно, то есть /г-биекция между мно- жествами Х/ф и /(X).
70 Глава 1 Рассмотрим, наконец, соответствие е:/(Х)—>К, е(х) = х. Это соответствие всюду определено, функционально и инъектив- но, то есть е(х) является взаимно-однозначным отображением f(X) в Y. Итак, исходное соответствие f(x) можно представить в виде композиции соответствий g, h и е. В построении этой компози- ции и заключается факторизация отображения /. Задание 1.4.4 Для данного отношения Ф = ({1,2,3,4,5},G) проделать сле- дующее: 1. Изобразить Ф графом. 2. Достроить Ф до отношения эквивалентности, указать фак- тор-множество. 3. Достроить Ф до отношения частичного порядка, указать максимальные, минимальные элементы, а также пары несравни- мых элементов. 4. Достроить Ф до отношения линейного порядка, указать наи- больший и наименьший элементы. 5. Достроить Ф до отношения строгого порядка. 6. Достроить Ф до отношения строгого линейного порядка. Замечание: отношение достраивается с помощью введения минимально необходимого числа дополнительных рёбер. Таблица 1.4.4 № 1 2 3 4 1 5 | 6 G 1 (1,2), (3,2), (2,4) (2,1), (5,1), (4,2) (1,2), (3,4), (4,5) (3,1), (2,5), (5,4) (1,5), (5,4), (4,3) (2,3), (3,5), (5,1) № 7 8 9 10 11 1 12 G 1 (1,2), (4,3), (4,5) 1 (3,5), (4,2), (1,2) (1,2), (2,3), (2,4), (4,5) (1,2), (2,3), (4,5), (5,3) (1,2), (1,5), (1,4) (1,2), (1,3), (3,2), (4,5)
Множества, графики, соответствия, отношения 71 Таблица 1.4.4 (окончание) № 22 23 24 25 26 27 28 29 30 С (2,3), (5,4), (5,1) (4,1), (5,3), (2,3) (2,3), (4,5), (3,4), (1,1) (4,3), (3,1), (1,2) (5,2), (2,4), (4,3), (1,1) (3,4), (1,5), (5,2) (5,4), (4,3), (5,3), (2,1) (2,4), (3,4), (4,1) (4,2), (5,2), (1,4) № 13 14 15 16 17 18 19 20 21 С (1,2), (2,3), (3,4), (5,5) (4,3), (5,1), (1,2) (1,3), (3,4), (1,4), (2,5) (2,3), (4,3), (3,5) (3,2), (1,2), (5,3) (2,3), (4,5), (5,1) (4,2), (3,1), (1,5) (2,1), (1,5), (5,4) (3,4), (4,1), (1,2) Пример решения задания 1.4.4 Решим задание для Ф = ({1,2,3,4,5}, {(1,2), (1,3), (5,4)}). Изобразим граф отношения Ф (рис. 1.4.4, а). 2. Достроим Ф до отношения эквивалентности Ф,, добавляя ми- нимально возможное число рёбер, обозначим график полученного отношения эквивалентности через Gx. Тогда Gx будет иметь вид: {(1,2), (1,3), (5,4), (1,1), (2,2), (3,3), (4,4), (5,5), (2,1), (3,1), (4,5), (2,3), (3,2)}. Изобразим граф отношения Ф1 (рис. 1.4.4, в). Укажем фактор-множество для Л = {1,2,3,4,5} по отношению Ф,: Д/cpj ={{1,2,3},{4,5}}. Отметим, что индекс разбиения множества А равен 2. 3 Рис. 1.4.4, а & *Ъ Рис. 1.4.4, в
72 Глава 1 & ь Рис. 1.4.4, с 3. Достроим Ф до отношения частичного порядка Ф2, обозна- чив график этого отношения через G2. G2={(1,1),(2,2),(3,3),(4,4),(5,5),(1,2),(1,3),(5,4)}. Изобразим граф Ф2 (рис. 1.4.4, с). Минимальными элементами здесь являются 1 и 5, максимальными элементами — 2, 3 и 4. Пары несравнимых элементов: {1,4}, {1,5}, {2,4}, {2,5}, {3,4}, {3,5}, {2,3}. 4. Достроим Ф до отношения ли- нейного порядка Ф3, обозначив график этого отношения через G3. G3 =G2u{(2,3),(4,l),(4,2),(4,3), (5,1),(5,2),(5,3)}. Изобразим граф отношения Ф3 (рис. 1.4.4, d). Наибольшим элементом здесь является 3, а наименьшим — 5. 5. Само исходное отношение Ф является отношением строгого по- рядка, так что достраивать его нет необходимости. 6. Достроим Ф до отношения строгого линейного порядка Ф4, обозначив график этого отношения через G4. G4=G3\kA ={(5,4),(5,1),(5,2),(5,3),(4,1),(4,3),(4,3),(1,2),(1,3U^ Изобразим граф отношения Ф4 (рис. 1.4.4, е). '/* " ^ 3 Задание выполнено. Рис. 1.4.4, d Рис. 1.4.4, е
Глава 2 Булевы функции 2.1. Булевы функции. Суперпозиции Булевой функцией (сокращенно бф) называется функция вида f:En->E, где £ = {0Д}, т.е. f(xx,x2,.. .хп), принимающая зна- чения 0, 1 и аргументы которой могут принимать значения 0, 1. Множество всех булевых функций будем обозначать через Р2- В таблице, задающей бф, наборы значений переменных пи- шут в определенном порядке — лексикографическом, который совпадает с порядком возрастания наборов, рассматриваемых как числа в двоичной системе счисления. Булевы функции, заданные табл. 2.1а и 2.1 в, будем считать элементарными. Используются обозначения: g\(x) = О — константа 0 g2(x) = 1 — константа 1 #з(-*) = х — тождественная функция g4(x) = х — отрицание Для отрицания употребляется также обозначение —а. Таблица 2. la X 0 1 1 Si 0 0 82 1 1 8з 0 1 £4 1 0 1
74 Глава 2 Таблица 2.1в X 0 0 1 1 У 0 1 0 1 и 0 0 0 1 h 0 i 1 1 и 1 1 0 1 и 1 0 1 1 Л 0 1 1 0 /б 1 0 0 1 /7 1 1 1 0 Л 1 0 0 0 /9 0 0 1 0 /ю 0 1 0 1 0 f\(x>y) = Х'У — конъюнкция, употребляются также обозначе- ния хл у и х& у. fi (х> У) = х v У — дизъюнкция /3 (х, у) = х-*у — импликация 1а(х>У) = У -^ х — импликация /5 (х, у) = х + у — сложение по модулю два /б{х,у) = х<-> у — эквиваленция f-j(x,y) = x\y — штрих Шеффера /ъ(х>У) = х^У — стрелка Пирса f9(х,y) = x-fr у — запрет f\o(x> У) = У -& х -^ запрет Наборы и и v значений переменных называются соседними по i - той переменной, если они отличаются только / - той коор- динатой, то есть имеют вид: и = (a{,a2,...ai_l,0,ai+l,...,an), v = (a],a2,...ai_],1,а/+1,...,ап). Переменная х,- называется фиктивной переменной бф/, если для любых наборов и, v соседних по / -той переменной, выпол- няется равенство f(u) = f(v). Переменная х( называется существенной переменной бф /, если существуют хотя бы одна пара w, v наборов значений пере- менных, соседних по / -той переменной, такая, что справедливо неравенство /(и) * f(v). Суперпозицией функций f\,—,fm называется бф, получен- ная с помощью подстановок этих функций друг в друга на места
Булевы функции 75 переменных, а также с помощью переименования переменных. Выражение, описывающее суперпозицию, называется формулой. Некоторые основные равносильности: х-у-у-х xv у = у v х — коммутативные законы x-(yz) = (x-y)-z xv(уvz)=(xvу)vz x-(yvz) = (x-y)v(x'z) xv(y-z) = (xvy)-(xvz) ассоциативные законы — дистрибутивные законы хх = х XV Х = X х-0 = О xvO = х х-(xv у) = X xv(х- у ) = X законы идемпотентности х\ = х JCVl = l тоэюдества с константами законы поглощения х- у - xv у х v у = х • у — законы де Моргана х v х = 1 — закон искчючённого третьего х • х = 0 — закон противоречия х = х — закон двойного отрицания х • у v х = yv х — правило вычёркивания Задание 2.1.1 Построить таблицу данной булевой функции f(x, у, z)
76 Глава 2 Таблица 2. LI № 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 f(x,y,z.) х <-» у + Z V у a v у л z + у (а + у) л z v л: (A->y) + (*vy) (л* | у) л z V X (х -> у) + z <-> у (a i у) о z + у (A-Vy) + Z->V А Л у + Z —> А (A + (yiz))+V А —> у V у + Z (A|y) + (y->ZAA) А —> у Л (А V у + Z) y+Z<">ZAAVA AAV—>Z<->y+Z № 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 f(x,y,z) A+yAZ-»AVZ (A 1 у) —> Z А у + A (A—>y) + ZVA AVy+Z<-> У A V у —> Z + V A V у —> Z А у (A 1 y) V A —> Z (AAy—»z)VA+y (A 1 V) A Z —> У V A (A->yAZ) + A AVyAZ—>AAy (a+v) + (zva) A V у + Z —> У (A 1 y) + Z V A (a v у —» z) + у Пример решения задания 2.1.1 Построить таблицу булевой фунщии, заданной формулой f(x,y,z) = х-*улгч-лх Выпишем в таблицу под символами переменных все наборы значений, которые эти переменные принимают, а под символами булевых операций будем выписывать значения функций, соответ- ствующие этим наборам.
Булевы функции 77 Для наглядности сверху проставим числа, указывающие по- рядок выполнения действий, а снизу с помощью стрелок пока- жем, над какими столбцами производятся действия и куда пи- шется результат выполнения этих действий. Самой булевой функции f(x,y,z) будет соответствовать столбец, обведённый двойной рамкой. 1 х 1 0 0 0 0 1 1 1 1 —» 1 1 1 1 0 0 0 1 1 У 0 0 1 1 0 0 1 1 Л 0 0 0 1 0 0 0 1 Z 0 1 0 1 0 1 0 1 V 1 1 1 1 0 0 0 1 —1 1 1 1 1 0 0 0 0 х 1 0 0 0 0 1 1 1 1 Итак, мы нашли, что исходная формула задаёт булеву функ- цию f(x,y,z), имеющую вектор значений (1111 0001). Задание 2.1.2 Написать таблицу функции h(x, у), являющейся суперпозицией функций /„ и fk, если /, =(1001 0111), /2 =(0110 1011), /з=(1110 ОНО), /4=(0111 ООП),/5= (1100 0111), /6 =(1001 0100),/7= (1011 0101), /8= (1000 ОНО), /9 = (1010 0110), /|0 = (0101 1000).
78 Глава 2 Таблица 2.1.2 ~№~1 9 10 11 12 13 14 15 16 24 25 26 27 28 29 30 п 5 3 4 2 5 9 7 8 7 6 9 2 3 10 8 к 1 4 2 3 4 7 8 5 7 8 7 2 10 9 7 3 /1(*,V) 1 /,,(Л(*.)>,У),л,.у) fn(x>x>fk(x>y>y)) fn(x>y>fk(y>x>y)) fn(x>fk(x>y>y)>y) /п(х>У>/к(У>х-х)) fn(y>y>fk(x>y>*)) 1 fn(x>y>fk(x>y>y)) /,iU^A-(.v.A',y)) //i(/*C*»V>*)»*..V) /,ЛЛ(у>у>*)>у>*) fn(x>fk(y>y>x)>y) ftAx>y>fk(x>y>x)) fn(fk(y>y>x)<x>x) f,Ay>x>fk(x>y>x)) /п(х>/к(У>У>х)>У) JN« 1 2 3 4 5 6 7 8 17 18 19 20 21 22 23 n I 2 1 3 3 4 2 5 7 5 5 10 10 7 8 * 2 I 2 5 2 3 3 2 8 9 10 9 5 9 7 ли.?) 1 fn(x>fk(x>x>y)*y) fn(x>fk(y>x>y)>x) 1 /,Ду,Л(*,у,.*),.х) /я^/И^^Лу) /й(з'.Л^)'д)д) 1 /я(*,Л(У>У'*)>У) /п(х>/к(х>У>У)>У) /п(У'х>/к(х>х>У)) fn(y>fk(x>y>x)>y) J /,iUA(y^^)j) fn(y>fk(x>y>x)>x) fn(x>fk(x>x>y)>y) fn(fk(x>x>y)>y>x) fn(fk(y>y>x)>x>y) /п(/к(х>У>У)>У>х) Пример решения задания 2.1.2 Написать таблицу функции h(x, у) = /2(у, у,/i(jc, у,jc)) . Сначала запишем таблицу функций /, и /2 (табл. 2.1.2а). Таблица 2.1.2а xyz 110 111 Л 1 1 /2 1 1 Г xyz Oil 100 101 /1 1 0 1 /2 0 1 0 *yz 000 001 010 /1 1 0 0 /7] 0 1 1
Булевы функции 79 Составим таблицу функции 1г(х,у).Дпя этого запишем форму- лу, задающую функцию 1г(х,у), выпишем под символами пере- менных все наборы значений, которые эти переменные принима- ют, а под символами булевых функций будем выписывать значе- ния функций, соответствующие этим наборам. Заключительный столбец, задающий функцию /г, обведём двойной рамкой. Таблица 2.1.2Ь А( *> у) = Л( У> У> М х> У> •*)) 0 0 1 1 0 1 0 L 1 1 1 0 1 0 1 0 1 0 1 1 0 1 1 0 0 1 1 0 1 0 1 0 0 1 1 Итак, A(jc,y) = (llll). Задание 2.1.3 Для данной функции f(x, у, z) 1. Выяснить, какие её переменные являются существенными, а какие — фиктивными. 2. Выразить f(x, у, z) формулой, содержащей только сущест- венные переменные. Таблица 2.1.3 № 9 10 11 12 f(x,y,z) 0000 1010 1001 1001 0101 0000 1100 1100 № 5 6 7 8 f(x,y,z) 1010 0000 1100 1111 0010 0010 1100 0011 JV2 1 2 3 4 f(x,y,z) 1011 1011 ООП 1100 0101 1111 1000 1000
80 Глава 2 Таблица 2.1.3 (окончание) № 19 20 21 _ 22 1 23 1 24 f{x,y.z) 11110101 01110111 10100101 00110011 10111011 1111 1100 № 13 1 14 15 16 17 1 18 f(x,y,z) 0100 0100 | 11110011 0000 0101 0000 0011 00110000 11011101 № 25 26 27 28 29 1 30 /Uv,z) 01100110 1 10101111 1010 1010 11101110 0001 0001 1 ООП 1111 1 Пример решения задания 2.1.3 Для данной функции f(x, у, z) = (0101 1010) 1. Выяснить, какие её переменные являются существенными, а какие — фиктивными. 2. Выразить f(x,y,z) формулой, содерэюащей только суще- ственные переменные. Таблица 2.1.3а X 1 1 1 1 У 0 0 1 1 z 0 1 0 1 / 1 0 1 о ! А* 0 0 0 0 у 0 0 1 1 . Z 0 1 0 1 / 0 1 0 1 1. Переменная х является существенной Таблица 2.1.Зв для данной бф, так как, например, наборы (0,0,0) и (1,0,0) являются соседними по пе- ременной х и /(0Д0)*/(1Д0). Переменная z является существенной для данной бф, так как, например, наборы (0,0,0) и (0,0,1) являются соседними по пе- ременной z и /(0,0,0) Ф /(0Д1). х 0 0 1 1 - 0 1 0 1 / 0 1 1 0
Булевы функции 81 Переменная у является фиктивной для данной бф, так как на всех наборах, соседних по переменной у, значения функции равны, то есть выполняются равенства: /(ОАО) = /(0,1,0), /(1,0,0) = /(1,1,0), /(0,0,1) = Д0ДД), /(1,0,1) = /(1,1,1). 2. Выпишем таблицу функции /, как функцию только от су- щественных переменных (табл. 2.1.3в). Видим, что функция f(x, z) = x + z. Задание 2.1.4 1. Написать таблицу булевой функции f(xfy,z), заданной формулой. 2. Найти фиктивные переменные данной функции. 3. Преобразовать данную формулу в эквивалентную ей, но не содержащую фиктивных переменных. Таблица 2.1.4 № 1 2 3 4 5 6 7 8 9 f(x,y,z) х у z v Л' v у v z v ху V х у 2. xyzv yzvxvxv yv z xyzvxyvxvyvzvxyz xyzv xv yv x yzv xv yv z yzv xyzvxyzvxyv xv yv z xyzv xv yv xv yv zv xyz xyzv xy zv xv yv xyz xyzv yzv xzv xv yv z xyzv xv у v xyz v xv yv z № 10 11 12 13 14 15 16 17 18 fix.y.z) | xy zv yzv xy V x v у xy zv xv yv zv yzv xyz xy zv x yv yzv xv yv z у zv xyzv xv yv zv xyz xy zv yv zvxv yv zv xy z xzvxуzv xv yv zv xy zv у z xy zv yv zv xyzv xv yv z xyzv xyzv у v zv xyz x у zv x zv x у v xv у v z
82 Глава 2 Таблица 2.1.4 (окончание) № 19 20 21 22 23 24 f(x,y,z) xyzvzvyvxyzvxvyvz xy zv xzv у zv yv z xyzvxvyvzvxzvxyz xv yv zv xyzv xyz v xv yv z xzv xyz v xyz v xv yv z xyzv xv zv xyzv xv yv z № 25 26 27 28 29 30 f(x,y,z) xyv xyzv xyzv xzv xv yv z xyzv xv zv xyzv xv yv z xyzv xyzv xv у v zv xyz xy zv xyv xv yv zv yz xyzvxvzvxvyvzvxyz xy zv x yv xv zv xz Выполним задание 2.1.4 для функции f(x,y,z) = xyv yzv xyzv yzv xv yv z 1. При отыскании таблицы значений для таблица 2.1.4а данной функции (табл. 2.1.4а) заметим, что из определения дизъюнкции и конъюнкции следу- ет, что для построения таблицы функции, имеющей вид дизъюнкции нескольких выраже- ний, нужно найти единичные наборы для каж- дого из этих выражений, тогда объединение множеств единичных наборов и даст множество единичных наборов исходной функции. 2. Рассмотрим пары наборов, соседних по переменной х, и значения функции на этих на- борах: /(0,0,0) = /(1,0,0) = 0; /(0,0,1) = /(1,0,1) = 1; /(0,1,0) = /(1,1,0) = 1; /(0,1,1) = /(1,1,1) = 1. Значит, х — фиктивная переменная. Так как /(0,0,0) Ф /(0,0,1), значит, z — существенная пере- менная. Неравенство /(0,0,0)^/(0,1,0) показывает, что v — также существенная переменная. xyz 000 001 010 011 100 101 ПО 1 111 / 0 1 1 I 0 1 1 1
Булевы функции 83 3. Преобразуем формулу к виду, не содержащему фиктивной переменной. / ( x,y,z ) = X —> у Л Z V -л X = xyvyzvyzvxyz = xyv(yvy)zvxyz = xyvl-zvxyz=: = xyvzvxyz = xyvzvxy=zvxyvxy=zv(xvx)y = = zvl-y = zv у. Итак, f(x,y,z) = zvy. 2.2. Булевы функции и теория множеств Пусть множества В1,В2>...>Вт составлены из множеств AltA2,...,An с помощью формул, содержащих теоретико- множественные операции и, п, \, Д , -. Тогда любому из множеств Bh i = l,...,m можно поставить в соответствие булеву функцию fi(a],a2,.~an), / = l,...,w, полу- ченную из формулы, задающей Bh заменой имён множеств Д на символы переменных я,-, символ и заменяется на v, п на л, \ на -/>, А на +, знак дополнения — понимается, как отрицание. Тогда Д, = В2 <=> /, = /2, ^ с В2 <=>/,-> /2 s 1, А1пВ2 = 0«/1л/2еО. Если между множествами B]fB2,...,#шзаписано соотношение, содержащее, кроме символов теоретико-множественных опера- ций, символы: х (декартово произведение), с (включение), = (равенство), 0 (пустое множество), U (универсальное множест- во), то в соответствующей формуле для булевой функции делает- ся замена х на л, с на —>, = на <-», 0 на О, U на 1. Тогда исходное соотношение будет истинным для любых множеств ВиВ2,...,Вттогда и только тогда, когда соответствую- щая этому соотношению булева функция будет тождественно равна 1.
84 Глава 2 Задание 2.2.1 Выяснить взаимное расположение множеств Д £, F, если А, В, С — произвольные подмножества универсального множе- ства U. Таблица 2.2.1 1 3 5 7 9 11 D Е F D Е F D Е F D Е F D Е F D Е F ЯиС (ЯпС)и(С\(АпЯ)) (ЯпС)и(Дп(С\А)) (АдС)и(ЯпА) ЛиС (Л\С)и(бпС)и(С\Л) (Cn£)u(A\£)uAuC ЛиВиС (Лд#)и(СпЛ)иСи# АдСи(СЛЯ) (ВпС\А)и(Сг\А) ЛиСиб АдСи(АпД) (ЛпС)и((Л\Я)\С) ДиС (АдЯ)и(С\А) ((AuC)\£)u((Cu£)\A) Ди(Д\в) 2 4 6 8 10 12 D Е F D Е F D Е F D Е F D Е F D Е F (Лпй)и(Л\С)и5иС ЛиВиС (ЯпС)и(ЯпА) (бпС)иЛиС ((5иС)\Л)и(СпВ)) ЛиС Либи(СпВ) (ВпЛ)и(Сп(В\Л)) ЛиС (Л\С)иЛиВ (ВпЛ)и((Л\В)\С) (А\С)иЯ (ЯпС\А)и(С\Д) ЛиСи(СпВ) ЛиС ДдСи(Сп(Д\А)) (ЛпВ)и((С\В)\Л) Либ
Булевы функции 85 Таблица 2.2.1 (продолжение) 13 15 17 19 21 23 25 27 D Е F D Е F D Е F D Е F D Е F D Е F D Е F D Е F АдСи(Х\#) ДиС (АпС)и(Сп(А\В)) Диби(СпЛ) АиЯ ((СиА)\Я)и(СпЛ)) (ЛпС)и(Я\С)иЛиЯ (СдЯ)и(ЯпЛ)иСи# СиДиб ЛдЯи(Л\С) ЯиСиЛ (ЛпСЛЯ)и(ЛпЯ) ЛиЯ (АпЯ)и((Я\С)\А) ЛдЯи(СпЯ) (В\С)иВ (ЯдС)и(Л\Я) ((ЯиЛ)\С)и((СиД)\Я) 5иС ((СдЯ)пЯ)и(Сп(АиЯ)) (ЯпА)и(ЯпС) (СпЯ)и(Я\Л)иЛиС Ли5иС (Спб)иСиА 14 16 18 20 22 24 26 28 Z) £ F D Е F D Е F D Е F D Е F D Е F D Е F D Е F (АдЯ)и(СпЯ) 1 АиВ (Я\А)и(ЛпС)и(А\Я) 1 (Сп#)и(Я\Л)иЛиС (АпС)и(СпВ) ЛиСиЯ (АпС)иВиС Лив 1 (ЯпС)и(Лп(СЛЯ)) СиЯи(Я\А) (В\А)иС (ВпС)и((В\С)\А) АиЯи(СпЛ) Аи(А\В) (ЛпС\Я)и(А\С) /Ш7и(Лп(С\#)) ЯиС (finC)u((Л \С)\ В) ((Д\б)пС)иЛиС (ДпС)и(д\(Спад ЛиС ЛиЯи(СпЛ) ((СиЛ)\Я)и(СпЛ) биД
86 Глава 2 Таблица 2.2.1 (окончание) 29 D Е F (АдЯ)и(СпЯ) ВиА (A\B)Kj{AnC)Kj{B\A) 30 D Е F (ДпС)иСиЯ (ВпС)и(Ап(С\В)) ВиА Примеры решения задания 2.2.1 Пример 1. Выяснить взаимное расположение множеств D=(B\Qu(A\B), E=A\(B\Q, F = AvB< если А, В, С —произвольные подмноже- ства универсального множества U. Найдём соответствующие булевы функции: fD(a,b,c) = (b-frc)v(a-frb), fE(a,b.c) = a-fr (b ф с), fF(a,b,c) = avb и, построив таблицы, найдём векторы зна- чений этих функций: /D =(0010 1.110), /Е=(0000 1101), fF =(0011 1111). Так как множество единичных наборов функций fD и fE строго включены в множество единичных наборов функции fF, to/d-»/fs1 и /£-»/> si, но fD±fFu /£*/>, значит, D с F и EqF. Выясним взаимное расположение множеств D и Е\ fD (0,1,0) = 1и/£ (0,1,0) = 0 =* D £ Е /D(1,1,1) = 0 и /Е(1,1,1) = 1 =>£grD \ =» £®Д /D(l,0,0) = 0 и /£ (1,0,0) = 1 =>DnE±0 Пример 2. Решить задание 2.2.2 для множеств Е - ВдСи(В\Л), D=^uCu(5nQu(5nC), F = BkjC. Найдём соответствующие булевы функции и векторы их зна- чений: /£=b + cv(fe-/>ii) = (1011 1001) /D=o^v(&Ac)v(fovc) = (1011 1001) /F=fcvc = (1011 1011).
Булевы функции 87 Так как/Е =/D, то E = D. Заметим, что fE Ф fF, и, постро- ив таблицу, можем убедиться, что fE -> fF = 1. Значит, справедливы соотношения: Е = D с F. Задание 2.2.2 Проверить, что для любых множеств Л, В, С выполнение включения а влечёт выполнение включения (3. Таблица 2.2.2 № ■ 1 2 3 4 5 6 7 8 9 10 11 1 12 1 13 1 14 1 15 1 16 1 17 а ЛпВсС ДпЯсС ЛпЯсС ДпЯсС ЛпВсС Лс^иС ДсйиС AqBuC AqBkjC AqBuC AqBuC ЛиЯсС AuBqC AuBqC AuBqC AqB\C AqB\C P 1 ЛиВс(Дд5)и(ДпС) Л\Сс(Д\Я)иС 1 ЛдСс(Л\б)иС 1 (5\С)и(Д\С)сЛдВ 1 5c(fi\A)uC 1 ДдСс(ЛпЯ)иС 1 Д\#сДпС 1 ДибсбиС 1 (Д\б)и(АпС)сС 1 (Д\С)и(б\С)сб (A\B)\CqC\A Ад#с(ДпЯ)иС ДпСсАи(Я\Д) Ar\BQ(BnC)v(AnC) /ПДсЯпС AnBQA\C CnBQB\A
88 Глава 2 Таблица 2.2.2 (окончание) № 18 19 20 21 22 1 23 1 24 1 25 1 26 1 27 1 28 1 29 1 30 а ДиВсС ЛиЯсС AuBqC B\CqA B\CqA B\CqA B\CqA Я\Сс Д B\CqA BqC\A BqC\A BqC\A BqC\A P 1 ЛдСсСЛЛ 1 (B\C)u(A\B)QAnC 1 5cAu(C\A) 1 ЛиЯс(ЯпС)иД бдСсСи(У\пб) й\Лс(С\Д)и(/1пВ) 1 ВсСи(йпД) ЯдСсСиА 5сСи(Д\С) Au(fi\C)cA\5 (А\б)и((В\С)\Д)сД (5\С)и(Й\Л)с5пС СиЯс(С\А)и(С\Я) Пример решения задания 2.2.2 Проверить, что для любых множеств А, В, С выполне- ние включения A\BqC влечёт выполнение включения СдЛс(ЛпЯ)иС. Составим булеву функцию, соответствующую высказыванию, которое надо доказать: f( a,b,c) = ((а ф Ь) —> с) —> (с + а --» а л Ь v с). Построим таблицу, убедимся, что заключительный столбец, являющийся вектором значений функции f(a,b,c), состоит из одних единиц, что доказывает справедливость требуемого утвер- ждения.
Булевы функции 89 Задание 2.2.3 Для произвольных множеств Л, В, Н проверить, является ли выполнение включения а необходимым и достаточным услови- ем выполнения равенства (3. Таблица 2.2.3 № ] 1 2 3 4 5 6 7 i 8 ! 9 ! ю | ! и i ! 12 j 13 ! I* ! ! 15 16 | 17 i 18 i 19 а AqB\H AqB\H AqB\H AqB\H AqB\H AczB\H AqB\H AqB\H AqB\H AqB\H AqB\H AqB\H ДсДпЯ Ac#n# AQBnH AaBnH AQBnH AQBnH AQBnH i ■ P H\A = Hv(A\B) 1 H=(H\A)u((A\B)\H) 1 AnB = (A\H)v(A\B) 1 B = (AaB)v(A\H) I AkjB = (B\H)u(B\A) I B\A = (AAB)v(BnH) 1 AaH = Hv(AnB) 1 АьВ = (В\А)и(НпВ) 1 Au//=(f/\A)u((Anfi)\//) 1 AnB = (A\B)\H 1 A\H = An(BvH) 1 A\B = AnBnH H =(АьН)и(ВпА) 1 ДиЯ = (ЯпЯ)и(Я\Л) 1 АдД = (Д\Я)и(Д\А) B\H=(A\B)v((B\A)\H) (B\A)\H=(B\H)kj(A\B) AnB = (A\B)u(AnH) А\Н=(АъН)\В
90 Глава 2 Таблица 2.2.3 (окончание) № 20 21 22 23 24 25 26 27 1 28 1 29 1 30 а АаВпН АиВаН AkjB(zH ЛийсЯ AuBqH AuBqH ЛиЯс/У AvBqH ЛпДсЯ AnB^H AnB^H P ■ H\A-(AaH)kj(A\B) B\A-(A\H)u((BnH)\A) AuH -Hv(B\A) AnH -Au(B\H) H\A = (AaH)u(B\A) BaH =(A\B)u(H\B) АпВ = ((АаВ)\Н)^(АпВпН) AaB = (H п(ДдЯ))и((ДпЯ)\Я) H\A = (AaH)\(A\B) B\H =(B\A)\H A\jB = (AAB)v(BnH) Пример решения задания 2.2.3 Для произвольных множеств Л, В, Н проверить, является ли выполнение включения ДиВсЯ необходимым и достаточным условием выполнения равенства Ад// =(В\А)*и(Н\А). Составим булеву функцию, соответствующую высказыванию, которое надо доказать: f(a,b,h) = ((a v Z?) -» /г) <-> (а + /г <н> (ф -/> a) v (h -/> а))). Построим таблицу, убедимся, что заключительный столбец, являющийся вектором значений функции f(a,b,h)9 состоит из одних единиц, что доказывает справедливость требуемого утвер- ждения.
Булевы функции 91 Задание 2.2.4 Выяснить, верно ли равенство а для произвольных А, В, С. Таблица 2.2.4 № I 1 2 1 3 1 4 5 1 6 1 7 8 1 9 1 10 1 И 1 12 13 1 14 1 15 1 16 1 17 1 18 1 19 20 а ДхС = (Дх(С\#))и(Дх(СпЯ)) 1 ДхС = (Дх(Сп5))и(ДхС) Дх(ЯдС) = (Дх(#иС)\(Дх(Сп#)) 1 ДхС = (Дх(С\#))и(ДхС) 1 Дх(ЯиС) = (ДхЯ)и(Дх(С\Я)) 1 Дх(С\Я) = (ДхС)д(Дх(Сп#)) 1 AxC = (Ax(CvB))n(AxC) 1 Дх(Сп(ЯдС)) = (ДхС)д(Дх(СпЯ)) 1 Дх(С\Я) = (ДхС)\(Дх(СпЯ)) 1 Дх(ЯиС) = (Ах(ЯдС))и(Дх(ЯпС)) 1 ДхС = (Дх(СиЯ))\(Дх(Я\С)) 1 Ах(ВпС) = (АхС)\(Ах(С\В)) 1 Дх(ЯпС) = (Дх(ЯиС))\(Дх(ЯдС)) 1 Дх(С\Я) = (Дх(#иС))\(ДхЯ) 1 ЯхД = (#х(Д\С))и(#х(ДпС)) 1 ЯхД = (Ях(ДпС))и(ЯхД) ВхА = (ВхА)и(Вх(А\С)) Bx(AuC) = (Bx(A\C))kj(BxC) 1 ЯхД = (ЯхД)п(Ях(ДиС)) 1 Вх(А\С) = (ВхА)\(Вх(АпС))
92 Глава 2 Таблица 2.2.4 (окончание) № 21 22 23 24 25 26 27 28 29 30 а ЯхЛ = (Ях(ЛиС))\(Ях(С\Л)) Ях(ДпС) = (ЯхД)\(#х(Д\С)) Ях(А\С) = (ДхЛ)д(Ях(АпС)) Ях(Л\С) = (Ях(ДиС))\(ЯхС) СхД = (Сх(Я\А))и(Сх(ЯпА)) СхЯ = (Сх(ЯпА))и(СхЯ) Сх(АдЯ) = (Сх(ДиЯ)\(Сх(АпЯ)) СхВ = (Сх(В\А))и(СхВ) Сх(АиВ) = (СхА)и(Сх(В\А)) Сх(В\А) = {СхВ)\(Сх(АпВ)) Пример решения задания 2.2.4 Выяснить, верно ли равенство Сх(В\А) = (СхВ)а(Сх(АпВ)) для произвольных А, В, С. Составим булеву функцию, соответствующую высказыванию, которое надо доказать: f(a,b,с) = (с л (Ъ -/» а)) <-» (с л Ъ) + (с л (а л 6)). Построим таблицу, убедимся, что заключительный столбец, являющийся вектором значений функции f(a,b,c), состоит из одних единиц, что доказывает справедливость требуемого утвер- ждения.
Булевы функции 93 2.3. Нормальные формы и полиномы Возведение в степень булевых переменных определяется так: 1 = ° -~ Элементарной конъюнкцией называется выражение л.1 х; - •...•*,.'", где все переменные, вошедшие в состав конъюнкции, различны, т > 1. Дизъюнктивной нормальной формой (ДНФ) данной булевой функции называется её представление в виде дизъюнкции неко- торых элементарных конъюнкций. Для любой булевой функции f(x],x2,...,xn) справедлива фор- мула дизъюнктивного разложения по совокупности переменных: Х\,Х2,...Хп) — ▼ X] • Х2~ '-••'хк ' J\а\ v»^:ixk+\'mm">xn) • {а{,а2,-. -,ak) Заметим, что эта формула остаётся справедливой и для раз- ложения не только по первым к переменным. Совершенной дизъюнктивной нормальной формой (СДНФ) данной булевой функции называется её представление в виде: /(*„*2-*i,)= V *?■*?....■#. f{ax,a2,...,an)=\ Элементарной дизъюнкцией называется выражение х.'1 vx.': v...vх.'"', где все переменные, вошедшие в состав м h lw дизъюнкции, различны, т > 1. Для любой булевой функции f(x]tx2,...,xn) справедлива фор- мула конъюнктивного разложения по совокупности переменных: - А /(ХХ,Х2,...,ХП)= / \ Uf VA'f V...V*f v/(tf,,fl2,..^,A£+,,...,*„)). {a{,a2,..ak) Конъюнктивной нормальной формой (КНФ) данной булевой функции называется её представление в виде конъюнкции неко- торых элементарных дизъюнкций. 4 Зак. 3332
94 Глава 2 Совершенной конъюнктивной нормальной формой (СКНФ) данной булевой функции называется её представление в виде: f(xx,x2,...xn) = A Ufl vx? v...vx**). {сцм2,-мп) Полиномом Жегалкина булевой функции f(x{,x2,...,xn) назы- вается её представление в виде суммы по модулю два некоторых элементарных конъюнкций и, быть может, константы 1. Полином Жегалкина может быть найден с помощью формулы у f(x],x2,...xn) = JLJ (л-, +ах)-(х2+а2)-...-(хп+ап)ч (я,,я2,...л„) /(я,,а2,...,ян)=1 в которой нужно раскрыть скобки и упростить выражение с по- мощью соотношений: x-(y + z)z=zx-y + x-z, x + l = x, x + 0 = x, x + x = 0. Задание 2.3.1 Преобразовать f(x]fx2,x3fx4), используя формулу дизъюнк- тивного разложения по совокупности переменных хп, хк, пред- ставляя получаемые функции от двух переменных формулами над множеством элементарных связок: отрицание, конъюнкция, дизъюнкция, импликация, сумма по модулю два, эквиваленция, запрет, штрих Шеффера, стрелка Пирса. Таблица 23.1 № 1 2 3 4 5 / ОНО 1110 1101 1001 ОНО 1110 1101 1001 ОНО 1110 1101 1001 ОНО 1110 1101 1001 ОНО 1110 1101 1001 п 1 1 1 2 2 к 2 3 4 3 4 № 6 7 8 9 10 / ОНО 1110 1101 1001 1010 1110 ОНО 0101 1010 1110 ОНО 0101 1010 1110 ОНО 0101 1010 1110 ОНО 0101 п 3 1 1 1 2 к 4 2 3 4 3
Булевы функции 95 Таблица 2.3.1 (окончание) № 11 12 13 14 15 16 17 18 19 20 / 1010 1110 ОНО 0101 1010 1110 ОНО 0101 1100 0100 0111 оно 1100 0100 0111 оно 1100 0100 0111 оно 1100 0100 0111 оно 1100 0100 0111 оно 1100 0100 0111 оно 1110 0111 0101 1011 1110 0111 0101 1011 п 2 3 1 1 1 2 2 3 1 1 k 4 4 2 3 4 3 4 4 2 3 № 21 22 23 24 25 26 27 28 29 30 / 1110 0111 0101 1011 1110 0111 0101 1011 1110 0111 0101 1011 1110 0111 0101 1011 1010 ОНО 1111 0111 1010 ОНО 1111 0111 1010 ОНО 1111 0111 1010 ОНО 1111 0111 1010 ОНО 1111 0111 1010 ОНО 1111 0111 п 1 2 2 3 1 1 1 2 2 3 к 4 3 4 4 2 3 4 3 4 4 Пример решения задания 2.3.1 Разложим функцию f(xl,x2,x3,x4) = (0100 0111 1000 1011) попеременным х2,х4. Для этого случая формула дизъюнктивного разложения примет вид: f (Л'|, .*2, ЛС3»-*4 ) = ^ х2~ ' Х4 ' /\х\'а2чХ3>а4) ~ (а2,а4) = V х22 -*44 'f(x],a2,x3,a4)= х2-х® • f(xl&x3,0)v (0,0) (0,1) (1,0) (1,1) v А • х\ • /(*, Адг3Д)v А ' А ' f(x\Xx3,0) \/х\-х\- f{xx Д,*3 Д) =
96 Глава 2 = х2 'X4-f(x]409XyO)vx2 -x4-/(x,0,x3,l)v vx2-x4 •/(i1,U3,0)vi2-i4-/(x1,U3,1) Запишем таблицу функции /(х],х2,Хт;,х4) и с её помощью составим таблицы всех четырёх функций от переменных х1ч х3. Таблица 2.3.1а х> х2 0 0 0 0 1 1 1 1 *з 0 0 1 1 0 0 1 1 ч 0 1 0 1 0 1 0 1 71 1 1 0 0 0 1 0 1 1 х\ 0 0 0 0 0 0 0 0 х2 0 0 0 0 1 1 1 1 хъ 0 0 1 1 0 0 1 1 *4 0 I 0 1 0 1 0 1 /1 0 1 0 0 0 1 1 1 Таблица 2.3.1Ь х\ 0 0 1 1 1 *з 0 1 0 1 /(jclf0,jc3,0) 0 0 1 0 /(*,,0,*3,1) 1 0 0 0 /(лг,,1,х3,0) 0 1 1 1 /C,tj,l,x3,l) 1 1 0 1
Булевы функции 97 Как мы видим, f(x{,0,x3,0) = x{ -/>х3, f(xltO,x3,l) = х{ I х3, /(jclfl,jc3,0) = х, v х3, /С^Д, *3Д) = х, —> х3, значит, можно записать ответ: f(xl,X2,X3,X4) = X2-X4'(xl -/>ХЪ) V Х2 • ЛГ4 • (-^i ix3)v V Х2 ' Х4 ' (JCj V Х3) V Х2 ' Х4 ' (jCj —■> Х3) . Задание 2.3.2 1. Выяснить вопрос о равносильности ДНФ /i,/2,/3 сведени- ем их к СДНФ. 2. Преобразовать с помощью дистрибутивных законов /2 в КНФ, упростить полученное выражение. Таблица 2.3.2 № ! 1 2 3 4 5 6 7 8 1 9 1 1() 1 П Л jc у v ху v yz yzv xzv xyzv ух yzv xzv х у ху z v jcz v xyz yzv xyv yzv zx yzv xyzv xyz xyzvxzv yzvxyz x yz vxyv yz vxzv xyz yzv xyv yzv xyz xyz v xzv yzv xyz xyzvyzvxyvxyz /2 xyv xz у xv xyv yz yzv xyv yxvyz xy z v z v xy у xv yzv xz xzv xy yx v yxv xz yxv yxv z yxv yxv xz yxv yxv xz yxv yxvX h 1 yvz zxv yv xz xyzv xyzv X xyv yz yxv yzv xz x v xyz zxv yxv z yz v yz v xz yvz xv уz yzv yzv X
98 Глава 2 Таблица 2.3.2 (окончание) № 12 13 14 15 1 16 1 17 1 18 1 19 1 20 1 21 1 22 1 23 1 24 1 25 1 26 1 27 1 28 1 29 1 30 Л xyzv yxvryz V VZ у z v гх v z v ' zyv zyxv xyv xz zyv yzv xzv xz. xyzv xyv xyz xzv xyv xz v yz xzv xyzv xyz xy v xyz v xzv x yz xy zv yz v xy v x yz xzv xzv xyzv yz xyz v xz v xy v xyz x yz v xzv xy v xyz xyz v xzv xyz v у z xyv xz xzv yvxyz xyv xzv yz xyzv xyzv xy yzv xy zv xyv xy z xz v у V xz h yx v у zv z yx v yz zyv yzv xz zyv vzv xz v zx yzv xv xyz xy v xz v yz yxv yz xyv yzv yz yzv yzvX xyv yzv yz xyv yzv yz ' yv yzv у z yzv XV xz xy v xy z xy V xz xy v yzv xy V xz yzv xz yzv xzv xz xyz v xzv xy z v yz h yxvzxvzx XV z yxv xyv z xyz v v v xyz xzv yz xz v xy v у z у v xyz xvxyvyz xz v xy v xz XV z yv xz xz v yv xz xy vxyv yz yzv xyzv xyz xyzv xyzv yz yz v xy v xz xyz v z yzvyvxz xyvxyvyz
Булевы функции 99 Пример решения задания 2.3.2 Решим задание 2.3.2 для /i(x,y,z) = xyvyzvxz, f2(x,y,z) = xvxyzvyz, f3(x,y,z) = xyvxzv zy. 1. Преобразуем данные функции в СДНФ: /, (х, у, z) = х у v yz v xz = х у • 1 v 1 • yz v х • 1 • z = = xy-(zv z)v(xvx)-yzvх-(у v y)-z = = xyzv xy z v xyz v xyzv xyz v xyz. 1г(х>y,z) = xv xyz v yz~x-{yw y)-(zv z)vxyz v (a" v x)yz = = xyz v xyz v x yz v л: у z v xyz v xyz v x yz = = xyz v xyz vxyzvxyzv xyz v xyz. /3(x,y,z) = xy v xz v zy = xy(z v z) v x(y v y)z v (x v x)zy = = xyz v xyzv xyzv xyzv xyz v x yz. Сравнивая СДНФ этих функций, делаем вывод, что 2. Преобразуем /2 в КНФ. Воспользуемся одним из дистри- бутивных законов: /2 (х, у, z) = х v (х • у • z) v (у • z) = =(xvxvy)-(xvyvy)-(xvzvy)-(xvxvz)'(xvyvz)'(xvzvz) = = (1 v у) • (х V 1) • (х v z v у) • (1 v z) • (х v у v z) • (х V 1) = = 1-1-(х v z v y)-i-(x v у v z)-l = (х v z v у)(х v у v z). Задание 2.3.3 1. Найти двумя способами полином функции, заданной век- торно. 2. Найти СДНФ. 3. СКНФ данной функции.
100 Глава 2 Таблица 2.3.3 № 1 2 3 4 5 6 7 8 9 | 10 / 1001 0111 ОНО 1011 1110 оно 0111 1001 1100 0111 1001 0100 1011 0101 1000 оно 1010 оно 0101 1000 № 11 12 13 14 15 16 17 18 19 20 / ООП 1000 0001 оно 1101 1010 0101 1100 1110 1101 0010 1000 1010 1101 0010 оно 1010 0111 0101 1001 № 21 22 23 24 25 26 27 28 29 30 f 0111 1001 0100 1010 ООП 1000 1000 0111 ОНО ООН 0111 1010 1101 0111 ООП 1110 1101 1000 ОНО 0101 Пример решения задания 2.3.3 Решить задание 2.3.3 для функции f(x, у, z) = (0001 0101). Запишем таблицу данной функции в развёрнутом виде. Таблица 2.3.3а X 0 0 о 0 1 1 1 1 1 У 0 0 1 1 0 0 1 1 <. 0 1 0 1 0 1 0 1 / 0 0 0 1 1 0 1 0 1
Булевы функции 101 Способ 1. Найдём полином Жегалкина данной функции, ис- ходя из формулы: f(x,y,z)= ^(x + aXy + bXz + c). (a ,b,с) Получим: /(w)= 1(x + -a)iy + -b){z + -) = (0,1,1; (1,0,1) (1,1,1) = U + l)(y + 0)(z + 0) + U + 0)(y + l)(z + 0) + (jc + 0)(y + 0)(z + 0) = = (x + \)yz + x{y + l)z + xyz = xyz + xz + xyz + yz + xyz = = xz + yz + xyz. /Oc,;y,z) = .x:z + ;yz + xyz. Итак; f(x,y,z) = xz + yz + xyz. Способ 2. Применим метод неопределённых коэффициентов. Будем искать полином для данной функции в виде: /Ос, у, z) = aQ + ахх + а2у + a3z + а4ху + a5xz + a6yz + tf7xyz. (*) Используя таблицу функции, будем подставлять наборы зна- чений переменных и значения функции в соотношение (*) и по- следовательно находить неопределённые коэффициенты at: /(ОД0) = 0 = ц)+^-0 + а2-0 + а3-0 + А4-0 + а5-0 + ^-0 + 07-0 = = а0 => а0 = 0, /(0,0,1) = 0 = 0 + а3 • 1 => а3= 0, /(0,1,0) = 0 = 0 + аг1 = я2=> а2 =0, /(0,1,1) = 1 = 0 + а61 = я6=> «6=1, /(1Д0) = 0 = 0 + а,-1 = а1=» а, =0, /(1,0,1) = 1 = 0 + ах •1 + а3-1 + а5-1 = а5=> а5 =1, /(1,1,0) = 0 = 0 + ах '1 + а2Л + а4Л = а4=> а4 =0, /(1,1,1) = 1 = а0 + aj • 1 + а2 • 1 + а3 * 1 + «4' 1+ а5 ' ^+ аб' 1+ а7 ' ^= = 0 + а5-1 + а6-1 + а71 = 0 + 1 + 1 + а7 =а7 => а7=1.
102 Глава 2 Получили, что f(x,y,z) = 0 + 0- х + 0- у + 0-xy + l-xz + l-yz + l-xyz = = xz + yz + xyz. Как и следовало ожидать, результаты, найденные различными способами, совпали. Итак, f(x, у, z) = xz + yz + xyz. Найдём СДНФ данной функции: /(jc,y,z)= V jfybzc =Vxaybzc =x°ylzl vxly°zl vxlylzl = J J (a Ac) (Ql,l) /(лЛг)=1 (1.Q1) (1,1,1) = x^z v xyz v xyz . Найдём СКНФ: f(x,y,z)= A Uflv/vzr)= A(jcflv/vzr) = (яДО (0,0,0) f(aj>,c)=0 (0,0,1) (0,1,0) (1,0,0) (1,1,0) = (ЛУ vz^-C^vy1 vz^-U'v/vz^-^vy1 vz1)-U°vy°vz,) = = (x v у v z) • (x v у v z) • (x v у v z) • U v у v z) • (x v у v z). 2.4. Классы Поста Классами Поста называются следующие классы: Г0, 7i,L, 5, М. Класс функг\ий, сохраняющих константу 0: 7Ь = {/еР2|/(0Д...,0) = 0}. Класс функций, сохраняющих константу 1: 7i={/e/»2|/(U,...,l) = l}. Класс линейных функций'. L = {fe P2\f(xl,x2,...,xn) = aQ + alxl+... + anxn} Класс самодвойственных функций: S = {feP2\V(a]_an)f(a],...,an) = f(al,...,an}.
Булевы функции 103 Говорят, что набор а предшествует набору (3, и пишут а =^(3, если ai<bi для / = 1,2,..., п. Класс монотонных функций: M={/e/>2|VaVp <ИР-»/(а)</(Р)}. Замыканием множества булевых функций и называется мно- жество всех суперпозиций функций класса и, которое обознача- ется [и]. Класс и называется функционально замкнутым, если [и] = и. Теорема. Классы Поста функционально замкнуты. Класс функций и называется функционально полным, если [и] = Р2. Класс функций и называется функционально полным в сла- бом смысле, если добавление в и констант 0 и 1 превращает его в функционально полный класс. Теорема Поста. Множество булевых функций и является функционально полным тогда и только тогда, когда для каждого из классов Поста найдётся во множестве и функция, не принад- лежащая этому классу. Задание 2.4.1 Доопределить функции f(x,y,z), g(x,y,z)9 h(x,y,z) так, чтобы /еМ, geL, heS. Если построение какой-либо функции невозможно, докажи- те это. Выясните вопрос о принадлежности построенных функций к классам Т0 и 7j. Таблица 2.4.1 № 1 2 3 / (-10- 1---) (---0 1---) (---0 -10-) 8 (-10- -0-0) (0--- 1 10-) (---0 0-10) h (-0-- 11-1) (1 1-- 10--) (- 1-- 0 1 -0)
104 Глава 2 Таблица 2.4. J (окончание) № I 4 | 5 | 6 | 7 | I 8 I I 9 I I 10 1 И 1 12 1 13 1 Ы 1 15 J 16 1 17 1 18 1 19 J 20 1 21 1 22 1 23 1 24 1 25 J 26 1 27 1 28 J 29 J 30 / | (- 1 -- (---0 (-- 1 - (-0-0 (-1-1 (-01- (---0 (-1 -- (0--0 (0- 1- (01 -- (---0 (--1 - (-1 -- (--00 (-0 1 - (-1 -- (---0 (--11 (-10- (-01- (-0-0 (-1-1 (-0-0 (--11 (-1 -- (---0 --0-) 1 -0 1-) -0--) 1 ---) --0-) -0--) 1 -1 -) --01 ) 1 ---) -0--) --0-) 1--1) -0- 1 ) - 10-) 1 ---) -0--) 0-0-) 1-1 -) -0--) --0-) -0--) 1 ---) --0-) 1---) -0--) 01 1-) 11--) 8 | (0 1 -0 (0- 10 (-01- (1--- (---1 (10-1 (1-01 (1-1- (--00 (--10 (-00- (0--- (-10- (0--1 (--1- (---0 (1--0 (--0- (---1 (1--- (-01- | (-1-0 (1--0 (01-1 (-10- (01-- (-0-- -1--) ---1) -1-1) 00 1 -) 1-01) -0--) ---0) --00) 1-0-) 1-1-) 1-1-) 001-) 0--1) -0-0) 1 1 -0) 0 1 -0) -1-1) 00-1) 10- 1 ) 1 1 0-) 1--0) 1-01) -01-) -0--) 1-0-) 1-0-) 101-) h 1 (101- (--10 (-1-0 (-00- (-1-- (0--- (1--1 (1-10 (--10 (-10- (11-1 (-010 (-1-- (00-1 (00-0 (01-- (0- 10 (---1 (-1-- (0--1 (-1-0 (1--0 (--01 (0-00 (0--1 (-101 (00-0 1---) 1 --01) -1-0) 1 1--1) 10-0) Ю 1-) -00-) --1-) --00) 0--1) -0--) ---1) 10-0) -1--) -0--) 01--) --0-) -010) 10-0) -Ю-) -0-1) -Ю-) --11) --0-) -01-) ---0) -0--)
Булевы функции 105 «=(—1-010), Таблица 2.4.1а Пример решения задания 2.4.1 Решим задание 2.4.1 для f = (-101 - -0-), й = (1-10--1-). Изобразим развёрнутую таблицу данных функций. Доопределим функцию /, исполь- зуя определение монотонной функции. Так как /(1,1,0) = 0, то на всех на- борах, предшествующих набору (1,1,0), функция / тоже должна равняться 0, т.е.Д0Д0) = Д1Д0) = 0. Так как /(0,0,1) = 1, то на всех на- борах, которым предшествует набор (0,0,1), функция / должна принять значение 1, т. е. /(1Д1) = /(ЦД) = 1. Получаем: /(*,у,z) = (01010101). Доопределим функцию g, учиты- вая, что она — линейная. Общий вид линейной функции от пере- менных х, у, z имеет вид: g(x,y,z) = a0 + axx + a2y + a3z. Будем подставлять наборы значений аргументов, на которых функция определена. xyz 000 001 010 1 он 1 100 1 101 1 по 1 1П / - 1 0 1 - - о - 8 - - - 1 - 0 1 0 h 1 1 - 1 J 0 - - 1 - Получим систему соотношений: а0+ а2+а3=1 1 = а0 + ах • 0 + а2 • 1 + а3 • 1 0 = а0 + щ-1 + а2 • 0 + а$ * 1 1 = а0 + ах • 1 + а2 • 1 + я3 * 0 [0 = а0 + ах-1 + а2Л + а3Л или < а0 + ах+а3=0 а0 + ах+а2=1 а0 + ах + а2 + а3 = 0 Заменяя а0 + ^ + я2 на 1 в 4 уравнении системы, имеем: 1 + я3 =0 => аъ=\.
106 Глава 2 Сложив первые три уравнения и учитывая, что х + х = 0, по- лучим: а0 + 0 = 0 => a0=l. Подставляя в 1 уравнение найденные значения а0 и а3, полу- чим: 0 + я2 + 1 = 1 или а2 +1 = 1, откуда а2 = 0. Подставив значения а0 и аъ во 2 уравнение, получим: 0 + ^+1 = 0 или ах +1 = 0, откуда ах =1. Итак, g(x,y,z) = 0 + 1-х + 0-у+ 1- z = x + z. Исходя из этой формулы, найдём значения функции g на тех наборах, на которых она была не определена: #(0,0,0) = 0 + 0 = 0; g(0,0,l) = 0 + l = l; g(0,l,0) = 0 + 0 = 0; g(l,0,0) = l + 0 = l. В итоге имеем: g(x,y,z) = (01011010). Доопределим функцию /г, используя определение самодвой- ственной функции. Так как наборы (0,0,0) и (1,1,1) противопо- ложны и /г(0ДО) = 1 =» /г(1ДД) = 0. Противоположными парами наборов значений переменных являются также (0,0,1) и (1,1,0), (0,1,0) и (1,0,1), (0,1,1) и (1,0,0). Используя известные значения функции /г, получим: Л(0Д1) = й(1Д,0) = 1 = 0, Л(1Д1) = /г(0Д,0) = 1 = 0. Итак, h(x,y,z) = (Ю101010). Так как /(0,0,0) = g(0,0,0) = 0*A(0ДО), то /еГ0, gtT0, h£T0. Так как g(l,l,l) = /i(l,l,l) = 0, /(1ДД) = 1,то /еГ„ gtTl9 h*Tv Задание 2.4.2 1. Можно ли из функции f(x,y,z) с помощью суперпозиций получить g(x,ytz) ? 2. Верно ли, что f(x,y,z)e[g]r! ([g] — замыкание класса
Булевы функции 107 Таблица 2.4.2 № 16 17 18 19 20 21 22 23 24 25 26 27 28 29 1 30 f 10100100 0101 1110 11010000 1100 0001 1001 1000 10110010 1000 1100 1001 оно 1100 1110 1100 0011 10010110 01111010 11010000 11110111 1000 1000 8 1 1000 1110 | 1011 0000 11010100 1101 1000 1110 1000 1 1100 0110 ООП 1010 J 11110010 1000 0001 1001 1000 1101 1100 1001 1010 1110 1000 1010 1000 10010110 № 1 2 3 4 5 6 7 8 9 10 11 12 13 14 | 15 ■/ 10010110 1001 0100 0111 1010 1101 1010 ОНО 1111 1000 0110 ОНО 1110 1000 0110 1100 0111 10100110 1 1110 1000 1000 0000 0111 1110 1 1110 0000 1 11101111 8 11100110 11010100 1000 0110 1010 1010 10100110 1001 1000 1001 0010 1101 1001 1001 1110 10010110 1100 1000 1100 0011 11010000 1 10110010 1100 0010 Пример решения задания 2.4.2 Решим задание 2.4.2 для функций /' = (10010100), g=(1001 ОНО). Проверим f(x,y,z) на принадлежность к классам Поста. /(0Д0) = 1 => /еГ0;/(1,1,1) = 1 ==> /ег,; (0,0,0) =$(0,0,1) и /(0Д0)>/(0,0,1) => /gM; (0,0,1) и (1,1,0) — противоположные наборы, /(0,0,1) = /(1,1,0) ==>/«$;
108 Глава 2 f(xty,z) = (x + l)(y + l)(z + l) + (x + l)yz + x(y + l)z = = l + x+y + z + xy + xz + yz + xyz + xyz + yz + xyz + xz = = l + x+y + z + xy + xyz. Так как в полиноме функции / присутствуют конъюнкции, то Итак, мы видим, что функция f(x,y,z) не принадлежит ни од- ному из классов Поста, значит, система {/}функционально пол- на, и с помощью суперпозиций из / можно получить любую бу- леву функцию, в частности, g(x,y,z)- Проверяя значения функции g(x,y,z) на всех парах противо- положных наборов, видим: £(0,0,0) = 1 = g(l,U), ^(0,0,1) = 0 = g(1,1,0), #(0,1,0) = 1 = g(l,0J), *(0ДД) = 1 = £(1,0,0). Значит, g g 5. Так как S — функционально замкнутый класс, то [g] с S, но /gS, значит, /£[£]. Задание 2.4.3 Для функций f(x,y,z)w g(x,y,z)выяснить вопрос об их при- надлежности к классам Т0, 7j, L, S, М. В случае, если некоторая функция представляет из себя функ- ционально полный класс, выразить из неё с помощью суперпози- ций константы 0,1, отрицание и конъюнкцию ху. В случае, если некоторая функция представляет из себя функционально полный в слабом смысле класс, выразить из неё с помощью суперпозиций и фиксирования переменных отрица- ние и конъюнкцию ху. Полученные результаты проверить с помощью построения таблиц.
Булевы функции 109 Таблица 2.4.3 № 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 / 1100 0111 1110 1010 0100 1101 1111 0100 ОНО 1001 1000 0010 1011 1101 1111 1010 1000 0001 1101 1100 0010 0000 1001 0000 0111 1110 1110 0000 1110 1111 8 1101 1000 00110101 1100 1110 10010110 11010100 0000 1101 1100 0100 0101 1111 11101010 0001 1010 1100 1000 1000 0011 11010000 1011 ООН 1100 0010 № 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 / 0010 0100 1101 1110 11010000 1100 0001 1001 1000 1011 ООП 1000 1100 00010110 1100 1110 1100 0011 1001 1110 0111 1010 11010000 1111 0111 1000 1100 8 1000 1110 J 10110011 1 11010100 1101 1110 1110 1000 11000110 ООН 1010 11110010 1000 0001 1101 1100 01010100 1 1011 1010 1110 1001 1011 1100 10010111 Пример решения задания 2.4.3 Решим задание 2.4.3 для функций / = (0010 1000), g = (1001 0010). Выпишем развёрнутую таблицу функ- ций / и g (табл. 2.4.3а). 1. Исследуем функцию f(x,y,z)- Прове- рим f(x,y,z) на принадлежность к классам Поста. /(0Д0) = 0 => /еГ0. Заметим, что отсюда следует, что {/} не является функционально полным классом. ДШ) = 0 => f*Tx. Таблица 2.4.3 а xyz 000 001 010 011 100 101 НО 111 / 0 0 1 0 1 0 0 0 8 1 0 0 1 0 0 1 0
110 Глава 2 Так как наборы (0,0,0) и (1,1,1) противоположны и/(ОАО) =/(1.1,1), то /eS. Имеем, что (0,1,0) ^ (0,1,1), но /(0,1,0) > /(0,1,1), значит, /ем. Найдём полином для f(x,y,z): f(x,y,z) = I U + fl)(y + fc)(z + c)=(j: + l)y(z + l) + x(y + l)(z + l) = (0,1.0) (1,0,0) = xyz + xy + yz + y + xyz + xy + xz + x = xz + yz + x+ y. Так как полином функции / содержит конъюнкцию, то Как было отмечено ранее, {/} не является функционально полным классом, но, так как функция / нелинейна и немонотон- на, {/} —• функционально полный в слабом смысле класс. Выразим из / отрицание с помощью фиксирования перемен- ных. На соседних наборах (0,1,0) и (0,1,1) нарушается монотон- ность, рассмотрим функцию р{х) = /(0,1,х). Найдём все значения функции р(х): р(0) = /(0,1,0) = 1, p(l) = /(0,U) = 0 => р(х) = х. Отрицание построено, х = /(0,1, х). Для построения конъюнкции зафиксируем одну переменную и переобозначим оставшиеся переменные так, чтобы полином при- нял вид xy + Ctt + Py + Y* где ссДуе{0,1}. Например, можно сделать так: f(l,y,x) = i-х + ху + 1 + у = = ху + х+у + \. В этом случае а = р =у=1. Введём функцию h(x, у) = /(1, у + а,х + р) + ар + у = /(1, v,х) = = /(1,/(0Д,у),/(0,1,л)). Найдём значения функции h на всех её наборах. А(0,0) = /(1,/(0,1,0),/(0,1,0)) = /(1,1,1) = 0; /7(0,1) = /Ц,/(0,1,1),/(0,1,0)) = /(1,0,1) = 0;
Булевы функции 111 /г(1,0) = /(1, /(0,1,0), /(0,1,1)) = /(1,1,0) = 0; Л(Ц) = /(1,/(0,1,1),/(0,1,1)) = /(1,0,0) = 1. Как видим, таблица функции h(x,y) совпадает с таблицей конъюнкции, следовательно, х-у- /(1,/(0,1,у),/(0,1,х)). 2. Исследуем g(x,y,z) на принадлежность к классам Поста. g(0,0,0) = 1 ^ ££Г0. g(l,U) = 0 => g£Tx. Наборы (1,0,1) и (0,1,0) противоположны и g(l,0,l) = g(0,l,0) => g£S. Так как (0Д0) ^(0,0,1), но #(0,0,0) > g(0,0,1) => g£M. Найдём полином для g(x,y,z): g(x,y,z) = (x + l)(y + l)(x + l) + (x + l)yz + xy(z + l) = = xyz + xy + xz + yz + x+y + z + l + xyz + yz + xyz + xy = = 1 + X + у + Z + A'Z + Xyz. Так как в полиноме функции g содержится конъюнкция, то g£L Итак, функция g не принадлежит ни одному из пяти классов поста, значит, {g} —функционально полный класс. Выразим из g отрицание с помощью одних лишь суперпози- ций. Рассмотрим функцию s(x) - g(x,x,x). Найдём все значения функции s(x): 5(0) = g(0,0,0) = l, j(l) = g(lj,l) = 0 =>*(*) = *,. Отрицание построено, х = g(x,x*x). Строим константу 0. Для этого возьмём набор из пары проти- воположных наборов, на которых функция g равна 0, например, (1,0,1), и рассмотрим функцию о(х): о(х) = g(x\x°,xl) = g(x,x,x) = g(x,g(x,x,x\x).
112 Глава 2 Найдём значения функции о(х) на её наборах. о(0) = g(0,g(0,0,0),0) = g (0,1,0) = 0; o(l) = g(lg(lXW) = g№l) = 0. Константа 0 построена, g(x,g(x,x,x),x) = 0. Для построения константы 1 возьмём отрицание от функции о(х) и обозначим полученную функцию через е(х). е(х) = g(o(x),o(x),o(x)) = = g(g(xtg(x,x,x,),x),g(x,g(x,x,x,))x),g(x,g(x,x,x>),x)). Итак, койстанта 1 получена, g(g(x,g(x,x,x,),x),g(x,g(x,x,x,),x),g(x,g(x,x,x,),x)) = l. Для построения конъюнкции зафиксируем переменную z, придав ей значение 1. Получим: g(x,у,1) = l + x+y + l + x-l + xy-l = xy + y + l, т. е. мы получили выражение вида ху + ох + ру + у, где ос = у = 0, Р = 1. Рассмотрим функцию к(х,у) = g(jc + P, y + a,l) + aP + Y = = g(x + l,y,l) + 0-l + 0= g(g(x,x,x),y,l) = = g(g(x,x,x),y,g(g(x,g(x,x,x),x),g(x>g(x,x,x),x),g(x,g(x,x,x),x))). Найдём значения функции к на всех её наборах. *(о,о)=g(g(o,o,o),o, §ш g(o,o,o),ox g(o, g(o,o,o),o), g(o, g(o,o,o),o)))= = gttft g(g(0.U», g(0,l,0), g(0,l,0)) = g(l,0,0) = 0; *(0,1) = g(g(0,0,0)f 1, g(g(0, g(0,0,0),0), g(0, g(0,0,0),0), g(0, g(0,0,0),0)))= = g(U g(g(0,l,0), g(0,l,0), g(0,l,0))) = g(ll g№0)) = g(UD = 0; *ao)=g(g(ixm g(g(i g(ui),i), ga gauxi), «a «(шш)= = «(0Д g(g{№), g(UUX gOAD)) = g(0,0, g(0,0,0)) = g(0,0,l) = 0; *(U)=g{g<\xi)x g(g(x gmm g(i gau) a «a gauxi»)= =g(o,i, g(gao,i), gaaix gaai))) = g(o,i, *«що))=g(o,u)=1.
Булевы функции 113 Как видим, таблица функции к(х,у) совпадает с таблицей конъюнкции, следовательно, хаУ = #(#(■*» ** Д V, g(g(x, g(x, л\ х\ х\ #(л\ g(x, х, х\ х\ g(x, g(x, х, х), х))). Задание 2.4.4 Подсчитать число различных булевых функций от п перемен- ных, принадлежащих данному множеству Д. Таблица 2.4.4 № 21 22 23 24 25 26 27 28 29 30 А 1 (SnTY)vL 1 (T}uT0)nL 1 (7,nr0)uL (Lnr0)u(Sn7i) (5n71)\(Ln7b) (7iur0)\5 (7iu r0)\L (Lu70)\5 r0\(SuL) ! (7Ь \ S)\7J № 1 2 3 4 5 6 7 8 9 10 A I au7b)\r, 1 1 (su7b)\r, 1 S u Г0 и 7] (5u7b)n7i 5 Д7] 1 (Lu7i)\r0 La7, (5пГ0)иГ, (Sn7])u7b 1 (SuL)\7*0 № 11 12 13 14 15 16 17 18 19 20 A | SaL (5nL)ur0 1 CSnL)u7] 1 (5uL)n7i 1 (5uL)nr0 (Lur0)n5 (Ln70)u5 (Lu7,)nS (Lnr,)u5 (5ur0)nL Примеры решения задания 2.4.4 Пример 1. Подсчитать число различ- ных булевых функций от п переменных, принадлежащих множеству L\(TQnS). Обозначим через L{n\ Г0(я)и S{n) соответственно множества линейных, сохраняющих ноль и самодвойственных Рис. 2.4.4, а
114 Глава 2 функций от п переменных. Изобразим множества L , 7q'и SM схематично (рис. 2.4.4, а). Заштрихованная область соответствует функциям искомого класса. Очевидно, выполнено равенство: | L('°\(r0(,,) n5(,l))H Lin)\-\LW пт£г) nSin)\. Каждая функция из L(/1) имеет вид: а0 + аххх + а2х2 +... + апхп. Поставим в соответствие каждой такой функции вектор её двоичных коэффициентов (а0,ах>а2,...,ап). Очевидно, что это со- ответствие — биекция, значит, количество различных линейных функций от п переменных равно количеству различных двоич- ных наборов размерности /г + 1, т.е. 2п+\ итак, \Цп)\=2п+]. Если линейная функция сохраняет константу 0, то а0 + ах -0 + а2 -0 + ... + ап -0 = 0 =» а0=0, и она имеет вид аххх+а2х2+... + апхп. Для самодвойственной функции выполня- ется свойство/(х\,...,хп) = f(xx,...,xn). Учитывая, что х = х + 1, посмотрим, как будет выглядеть это равенство в случае линей- ной, сохраняющей ноль функции: ах(хх +1) + а2(х2 + 1) + ... + ап(хп +1) = l + axxx + а2х2 +... + апхп. Раскроем скобки: аххх +ах+ а2х2 + а2 +... + апхп + ап = 1 + аххх + а2х2 +... + апхп. Прибавим по модулю 2 к обеим частям полученного равенства выражение аххх +а2х2 +... + апхп, учтём, что х + х = 0. Тогда по- сле упрощений будем иметь: ах + а2 + ... + а;1 =1 • (*) Из коэффициентов ах,а2,...,ап произвольным образом можно назначать п-\ коэффициент, а значение я-го коэффициента од- нозначно определяется из равенства (*). Итак, между множест- вом булевых функций класса ип* Г\Т§ r\S и множеством двоичных векторов размерности п-\ существует биекция, зна- чит, верно равенство | L{n) пГ0('° n S{n) |= 2п~].
Булевы функции 115 В итоге получаем: | L{n) \ (Г0('° n S(n)) Н L{n) | -1 L0l) п Г0('° n 5(/1) | = 2"+1 - 2'2"1 = = 2""1(4-l) = 3-2'1"1. Пример 2. Подсчитать число различных булевых функций от п переменных, принадлежащих множеству SuTj. Обозначим через S(n) и 7j(/l) соответственно множества само- двойственных и сохраняющих единицу функций от п переменных. Изобразим множества SM и 7j('z) (рис. 2.4.4, б). Очевидно, | S(n) и7](л) Н S°l) | +1 Г,(,° | -1 S{n) пТ{п) |. Пусть feS{n\ geT<H\ heStn)nT<n\ изобразим таблицы этих функций. рис 2.4.4, б Таблица 2.4.4а Х\ 0 0 ... 0 1 ... 1 1 х2 0 0 ... 1 0 ... 1 1 хп-\ 0 0 ... 1 0 ... 1 1 хп 0 1 ... 1 0 ... 0 1 / аУ «2 ... а2"~1 -|Д9„_| ... —i(72 -М\ g Ьх ь2 ... ... ... ... Ь2"-\ 1 h 0 Ci ... С2""'-1 ~lC2"-] _i -тС, 1 00 т00 ., с00 ^тОО Значит, мощности множеств Sl ;Jj ;и 5U n7jv ; равны со- »/)-! >>П 2я-1 . ^2,,",-1 ответственно 2,2 и 2 «-I /1-1 т/2 В итоге: | Sw иГ,(я) |=22 " +2 2"-1 о2""'-1 ^2"-'-1 , -,2"-1 л-1 = 2' + 2'
116 Глава 2 2.5. Минимизация нормальных форм всюду определённых булевых функций Элементарная конъюнкция Е называется импликантой буле- вой функции /, если Е —> / = 1. Импликанта Е называется простой, если при удалении лю- бой буквы из неё она перестаёт быть импликантой булевой функции /. Сокращённой ДНФ называется ДНФ, состоящая из всех про- стых импликант данной булевой функции. Ядровая импликанта — импликанта, удаление которой из ДНФ некоторой булевой функции / приводит к ДНФ, не равно- сильной /, Минимальная ДНФ данной функции / — ДНФ, имеющая наименьшее число символов переменных из всех ДНФ, задаю- щих функцию /. Тупиковой ДНФ функции / называется такая её ДНФ, со- стоящая из простых импликант, что удаление из неё любой конъюнкции нарушает равносильность ДНФ данной функции. Сложностью ДНФ (КНФ) называется количество символов переменных, использованных в записи формулы. Сокращённая ДНФ может быть получена из СДНФ последо- вательным применением, пока это возможно, формулы неполного склеивания Ки v Ки = Kuv Ки v К, а затем — формулы погло- щения Kuv К = К. Задание 2.5.1 Для данной функции f(x,y,z,w), заданной векторно, проде- лать следующее: 1. Записать её СДНФ и СКНФ. 2. Методом Квайна найти сокращённую ДНФ.
Булевы функции 117 3. Для сокращённой ДНФ построить матрицу Квайна, указать ядровые импликанты. 4. С помощью матрицы Квайна найти минимальную ДНФ, указать её сложность. 5. Найти минимальную ДНФ данной функции с помощью карт Карнау, сравнить полученный результат с ДНФ, найденной в п. 4. Таблица 2.5.1 ;№ 1 2 3 4 5 6 7 8 9 10 / 1111 0101 ООН 1101 1101 1110 10101110 01110001 1111 1101 1011 1111 1111 1000 1101 0101 1101 1111 1111 1110 10100011 1111 00100111 1110 1100 11101111 1011 110001101111 0111 1011 1111 11100010 № 11 12 Il3 14 15 16 17 18 19 ко / № 0100 1110 1101 1111 1111 1110 0111 1100 1000 1011 1111 1111 1111 1101 11100001 1101 0111 1100 1110 1011 1111 1010 1101 1001 1101 1010 1111 11100110 1111 1100 ООП 1011 1010 1111 1111 ОНО 1110 1110 21 22 ;23 24 25 26 27 28 29 30 1 1011 11110001 1111 1110 1100 1111 1001 1001 1011 1111 1010 1111 11100111 ООН 1010 1111 0111 ООП 1110 0110 1111 1100 0111 0111 0101 1011 1101 1111 1110 1010 1111 ООН 01110111 1110 1110 1010 1101 Пример решения задания 2.5.1 Решим задание 2.5.1 для функции /(jcf;y,z,w) = (1101 1010 1101 1100). 1. Изобразим таблицу функции / в виде двумерной таблицы — карты Карнау (табл. 2.5.1а). Таблица 2.5.1а \. ZW ХУ\ 00 01 11 10 00 1 1 1 1 01 1 0 1 1 11 1 0 0 1 10 0 1 0 0 |
118 Глава 2 Найдём СДНФ данной функции: = V xa-vb-zc-wd f(x,y,z,w) = V xu.yu.zL-wa = (a,b,c,cl) f(aj>.c,d)=\ = x°y°z0w0 v x°yW v x°y°zW v jcVzV v *°уУ "° v vx'yWviVWvx'yVw'v^'zVvA'Av^ jcyzwvjcyzwvxyzwvjcyzwvA'yzwvjcyzwvA'yzwv vxyzwvxyzwvjtyzw. Найдём СКНФ данной функции: /(jc,y,z,w) = /\ (/v/vzfvwV(^vyvz vw!)a (лДг,</) /(flAr,rf)=0 л (xl v y° v z] v w°) л (jc1 v y° v z° v w°) л (jc° v yl v z° vw1) л = (x v у v z v w) л (x v у v z v w) a (x v у v z v w) л (x v у v z v w) л = (jc v у v z v w) a (x v у v z v w). 2. Построим сокращённую ДНФ из СДНФ, используя форму- лы неполного склеивания и поглощения. Для удобства, вместо символов переменных будем работать только с показателями степеней переменных. Например, вместо xz будем употреблять набор 0 - 1 - . Тогда СДНФ функции будет соответствовать множество всех её еди- ничных наборов. Выпишем единичные наборы данной булевой функции в таблицу, разбив их на группы в соответствии с коли- чеством единичных компонент в наборах. Тогда для применения формулы неполного склеивания доста- точно просмотреть всевозможные пары наборов, входящих в со- седние группы. Результаты склеивания наборов из I полосы по- местим во II полосе, а наборы, участвующие в склеиваниях, пометим крестиком. Во второй полосе снова применяем, на- сколько возможно, операцию склеивания, записывая результаты в III полосу и т. д. После завершения процедуры склеивания все
Булевы функции 119 простые импликанты попадут в таблицу и не будут помечены крестиком. Помеченные же конъюнкции поглотятся на этапе применения формулы поглощения. Таблица 2.5. lb 0000 + 0001 + 0 100 + 1 000 + 0 0 11 + 0 110 + 100 1 + 1 1 00 + 10 11 + 110 1 + 1 I полоса 000 - + 0 -00 + -000 + 00-1 + 0 1 -0 -001 + 100 - + -10 0 + 1 -00 + -011 + 10 - 1 + 1 -01 + 1 10 - + II полоса -00- - -оо 1 -0-1 1 -0- III полоса Сокращённая ДНФ данной булевой функции имеет вид: xywv yz v zwv ywv xz . 3. Для получения из сокращённой ДНФ минимальной ДНФ изобразим следующую таблицу — матрицу Квайна (табл. 2.5.1с). Ядровыми импликантами будут 1, 4 и 5, так как для каждой из них найдётся единичный набор, на котором она одна принимает значение 1. 4. Выбираем наименьшее число столбцов таких, чтобы для каждой строки из данной таблицы и хотя бы одной единицы в этой строке нашёлся бы по крайней мере один столбец из мно- жества выбранных столбцов, который содержит эту единицу. Тогда дизъюнкция членов, сопоставленных всем выбранным столбцам, является минимальной ДНФ.
120 Глава 2 Таблица 2.5.1с № простой импликанты Г4^ простые \v импликанты единичные \. наборы ^ч^ 0000 0001 ООП 0100 ОНО 1000 1 1001 1011 1 1100 1 1101 1 xyw 1 1 9 yz 1 1 1 1 3 z w 1 1 1 1 4 yw 1 1 1 1 5 xz 1 1 1 1 Для выбора наименьшего числа столбцов, удовлетворяющих перечисленным выше требованиям, составляем символическое выражение (2v3)-(2v4)-4-(lv3)-l-(2v3v5)-(2v4v5)-4-(5v3)-5. Приведём это символическое выражение к ДНФ, используя дистрибутивный закон и формулу поглощения (A v В) • А = А. Получим: (2v3)-4-l-5 = 2-4-l-5v34-l-5, Сопоставим каждой символической конъюнкции тупиковую ДНФ и выбе- рем из них кратчайшую. В нашем примере символической конъюнкции 2-4-1-5 соответствует ДНФ xywv yz v ywv xz , а симво- лической конъюнкции 3-41-5 — xy w v z w v yw v xz . Каждая из полу- Таблица 2.5. Id ^1 00 1 01 11 10 00 ill 1Л£ [ГП hi 01 Ll, ГТ" Г71 111 и Lu 0 0 1 11 10 1 0 M 0 L °
Булевы функции 121 ценных ДНФ является минимальной для данной булевой функ- ции и имеет сложность, равную количеству символов перемен- ных в формуле, т. е. сложность 9. 5. Найдём минимальную ДНФ с помощью карты Карнау (табл. 2.5.Id). Задача нахождения минимальной ДНФ с помощью карты Карнау сводится к задаче покрытия всех единиц карты Карнау прямоугольниками возможно больших размеров, причём разре- шается использовать только прямоугольники, площади которых являются натуральными степенями двойки. При построении по- крытия не забываем, что карта Карнау как бы наклеена на по- верхность тора, т. е. её левая и правая, а также верхняя и нижняя границы отождествляются. В нашем примере все единицы по- крываются четырьмя прямоугольниками: прямоугольник 1x2, соответствующий конъюнкции xyw, прямоугольник 1x4, соот- ветствующий конъюнкции zw, и два квадрата, соответствующих импликантам xz uyw. Значит, минимальная ДНФ, соответст- вующая этому покрытию, равна xywv z wv ywv xz.. Задание 2.5.2 Для функций f(x,y,z), g(x,y,z,w), h(x,y,z,w,t) найти мини- мальные ДНФ и минимальные КНФ с помощью карт Карнау, указать сложности минимальных ДНФ. Таблица 2.5.2 № 1 2 3 / 1011 1100 0111 1010 1001 1001 8 11101110 1111 0001 1111 0010 1111 0111 1101 1001 11110011 h 1 1011 1110 1100 1111 111100010101 1100 1100 1011 1011 1110 1110 1011 0111 1111 1011 11110011 0001 ОНО 1101 1011 1110
122 Глава 2 Таблица 2.5.2 (продолжение) № 4 5 6 7 8 9 10 11 12 13 14 15 16 17 / 1110 1110 1010 1111 оно 1111 1000 1101 0111 оно 1110 ООП 0111 0101 1000 1111 1011 0111 ООН 1101 1011 0111 0111 0101 0111 1110 1111 оно 8 1011 1010 1111 1110 1101 1100 1111 1101 1111 1011 ООП 1101 1010 1111 1011 1110 1100 1110 1100 1111 1101 1011 ПИ 1101 10101110 1110 1111 1001 0001 июню 1101 1011 1110 1110 0111 1011 ООП 1110 1000 0110 1111 1110 10111101 00110111 1100 1100 0111 1100 00110111 ПИ 1011 h 1 1100 1100 1110 1111 1 1000 1111 1011 пп 1 11010011 1111 1101 1 1110 1101 0111 поо 1 1011 1100 1111 1000 1 0111 1011 11100101 1 1100 11100111 1111 1 0001 1111 1011 0111 1 1010 1110 1111 1101 1 0111 1001 1110 0000 1 1001 1100 1101 1111 1 1101 1111 0001 1011 1 1010 11100111 1110 1 ООН 111001100101 J 0101 111011100111 1 0111 1110 1101 оно 1 10100111 1101 пп 1 1000 1111 1110 1001 1 1001 1100 1110 1111 1100 1111 1010 0000 ОНО 1101 1111 1101 1111 1011 0111 1110 1010 1111 1011 1101 0111 1110 1101 1110 1101 0111 1101 1011 0111 1110 1111 0000 0101 1000 1111 1100 1000 1110 1110 0111
Булевы функции ' 123 Таблица 2.5.2 (окончание) № 18 19 20 21 22 23 24 25 26 27 28 29 30 / 0111 1001 1000 1110 0111 1001 0101 1100 0111 0101 1001 оно 0001 1100 1000 1110 1110 0101 1101 1100 1110 оно 0001 1 1111 1 1100 ООП 8 1 1100 1100 1 нюооп 1 0111 1110 ООП 1110 10101110 1111 1101 1111 ООП 1011 1111 П 00 0000 1110 1101 1101 1110 11011111 1100 1110 0111 1111 10100111 1110 1100 1101 1001 11110111 00110011 1011 1111 1 10100101 1 1111 1011 1 11010111 11100110 1 01101101 1 1111 1000 h 1 01001111 11010111 1 1111 0101 1110 1101 1 0001 1111 1011 1101 1 0010 1111 1000 1000 10110001 1111 1100 1 0111 1001 1110 1110 1001 1011 1100 1110 1 0001 0111 1011 1000 1011 1111 1101 0111 1 111011100111 0001 0111 111011100011 1 11110011 1001 1111 10101111 1101 1100 1111 1010 1101 оно 0111 0111 10100011 1 1111 0010 1010 1111 ОНО 1111 1110 1010 1 01100110 11010010 1 1001 1110 1001 1111 1 0010 1001 1111 ООП 0111 1011 1011 1111 1 1111 1011 0010 1111 11010100 1111 0111 1110 0110 ПИ 1000 1 0111 1010 11100111 I 11100111 11100110
124 Глава 2 Таблица 2.5.2а 00 | 01 1 1 11 1 10 | 0 ы ГГ~| i ЮЦ 1 гтм ш1 1 oil Таблица 2.5.2Ь Пример решения задания 2.5.2 Решим задание 2.5.2 для функций f(x, у, z) = (0111 0011), g(jc,y,z,w) = (llll 1101 1010 0000), AUy,z,w,0 = (Hll 0111 1010 ОНО 1111 0111 1010 1010). Карта Карнау для функции f(x, y,z) от трёх переменных имеет такой вид (табл. 2.5.2а). Мы считаем её как бы наклеенной на поверхность цилиндра, т. е. отождествляем верхнюю часть карты Карнау с нижней. При отыскании минимальной ДНФ едини- цы карты Карнау покрываем прямоуголь- никами вида 2x2 и 1x2, отвечающим им- пликантам у и xz соответственно, по- лучаем минимальную ДНФ у v xz . Её слож- ность равна 3. Для нахождения минимальной КНФ покрываем нули карты Карнау двумя прямоугольниками размера- ми 1x2, которые соответствуют элементарным дизъюнкциям yvx и у v z . В результате получаем ми- нимальную КНФ (у v х) • (у v z). При нахождении минимальной ДНФ функции g(x,y,z,w) запол- няем карту Карнау и покрыва- ем единицы карты прямоугольни- ками возможно больших размеров (табл. 2.5.2Ь). Получим минимальную ДНФ: у wv xz v XW. Сложность минимальной ДНФ равна 6. Отыщем минимальную КНФ функции g(x,y,z,w). Для этого произведём покрытие нулей карты Карнау (табл. 2.5.2с). 00 01 11 10 00 ц LlJ о 1 "i 01 ~m Jju 0 0 11 —n _u 0 0 10 и fc 0 0 1 I'l": Таблица 2.5.2c 00 01 11 10 00 1 1 1 ПЦ 1 01 1 1 7o~ 1 0 11 1 1 ~0l 0 10 1 0 0 J 1 _n
Булевы функции 125 Минимальная КНФ будет иметь вид: (xv y)-(xvw)-(y vzv w). Рассмотрим функцию /*Uv,z,w,0 = (llll 0111 1010 1111 0111 1010 1010). Карту Карнау для пяти переменных можно воспринимать, как "двухслойную" карту Карнау для функции от 4 переменных, где верхний слой соответствует значениям х = 0, а нижний - х = 1, причём клетки, образующие "двухслойный" прямоугольник, со- ответствуют импликантам, в которых переменная х отсутствует. Двухслойные прямоугольники будем изображать жирными ли- ниями, а однослойные — тонкими (табл. 2.5.2d). Все единицы карты Карнау могут быть покрыты тремя двух- слойными прямоугольниками и двумя однослойными. Мини- мальная ДНФ будет иметь вид: ztv ytvxzwtvxyt. Её сложность равна 13. Таблица 2.5.2d Таблица 2.5.2е 000 001 011 010 100 101 111 L 110 J 00 1 Ш 0 V 1 ToT ~^г l 01 1 1 1 1 о 1 1 J I of JO 11 1 1 Го] oil ^r i Toll Tcrf 10 to xyz\ 000 001 011 010 100 101 111 1 110 00 1 _iJ 4r\ 0 ~~П 1 "V —1-1 ~rn 01 П [111 it 0 1 1 l" Чг- 0 11 г 1^ Го" 1 10 ГГТТ1 ч 1 1 1 о г~Г| | 11 l\ Fv II . 1 1 ш 1 Г"П 1 ер Для отыскания минимальной КНФ покроем прямоугольника- ми нули карты Карнау (табл. 2.5.2е). Все нули карты Карнау могут быть покрыты тремя двухслой- ными прямоугольниками и двумя однослойными. Минимальная КНФ будет иметь вид: (у v wvt)-(y v zvt)-(y v zv wvt)-(xv yvt)-(xvzvwvt). 5 Зак. 3332
126 Глава 2 2.6. Частичные функции и схемы Частичной функцией называется функция, определённая не на всех наборах своих переменных. Простой импликантой частичной функции f называет- ся элементарная конъюнкция К, для которой выполняются ус- ловия: 1) ЗаК(а) = 1 /(а) = 1; 2)\/р/ф) = 0-> ff(j8) = 0; 3) если из импликанты К удалить любую букву, получится формула К' такая, что ЗуК\у) = и /(у) = 0. Доопределением частичной функции / будем называть всюду определённую функцию g, значения которой совпадают со зна- чениями функции / на тех наборах, на которых функция / оп- ределена. Критерий существования декомпозиции заданного вида: Частичная функция / представляется в виде f(u,v,w) = g(u,w,h(u,v)) тогда и только тогда для каждого фикси- рованного набора а значений переменных из множества и табли- ца функции /a(v,w) допускает доопределение до таблицы, со- держащей столбцы не более двух различных типов. Контактной схемой называется неориентированный граф, каждому ребру (контакту) которого приписан символ перемен- ной в некоторой степени и выделены две вершины, которые на- зываются полюсами. Частная производная булевой функции /(х1ух2,.~,хп) по пе- ременной X} определяется так: Jxj ~ f(x[,...4xi_l,0,xi+],...,xn) + f(x^...,xi_lXXj+\,---,xn) - Тестом относительно множества G = {gi) попарно различных булевых функций называется множество наборов значений пере- менных Т такое, что V.V^.3^ (g^e) * gk(e)).
Булевы функции 127 Задание 2.6.1 1. Реализовать частичную функцию f(x,y,z,w) формулами над базисом конъюнкция, дизъюнкция, отрицание четырьмя спо- собами: а) методом Квайна; б) исходя из минимальной ДНФ, найден- ной с помощью карт Карнау; в) исходя из минимальной КНФ, найденной с помощью карт Карнау; г) методом последовательно- го разложения по переменным xyzw. 2. Для простейшего представления построить схему из функ- циональных элементов типа конъюнкция, дизъюнкция, отри- цание. 3. Реализовать простейшее представление контактной схемой. 4. Проверить возможность разделительной декомпозиции функции f(x,y,z,w) в виде g(u,v,h(p,t)), где u,v,p,t —некоторая перестановка переменных xyzw. Если декомпозиция указанного вида возможна, реализовать её схемой с ветвлениями из функциональных элементов типа конъ- юнкция, дизъюнкция, отрицание. Указать сложность построен- ной схемы. Таблица 2.6.1 № 11 12 13 14 15 16 17 18 19 20 f(x,y,z,w) -1 -0-011 1 -- 1 -011 11 --01 -0-01 -011 - 1 — 101 - 1 -- 10 00- 1 -ОЮ- 1 -001 -1-1-0 0-0- 11 - 1 - ПО 1 -- 1 1--0 1 - 11-0-0 110- 0--0 1-1- 1110 1 - 11 И ---0-1 -0100- 10 0- И 1 --10-1 -00- 1 1 - 10---011 -ООП - № 1 2 3 4 5 6 7 8 9 10 f(x,y,z,w) --01 1 - 11 -0--0И0 1-- 1 0-0-010--01 - -0-1-001-- 1 1 10- 1 11 --0- 11- 1 - 1 - 100 -- 100- П--01 - 101 1 -- 101 --- 100- по 0- 110-10 10-- 1 - 1 - 10-1 -100 10-- 10-- - 10- 101-- 1 -0 11 -0 1--0- 110- 1 -0 11 -0
128 Глава 2 Таблица 2.6.1 (окончание) | № 26 27 28 29 1 30 f(x,y,z,w) - 0 - 0 - 111 1 - 0 - 00 - 1 11 -00- 10--0-00- 1 | --0 11 -11 -0-0-001 ! 10---011 1 --0 11 - 1 - 1 - 1 0- 11 0- 1 - 101 - X* 21 22 23 24 25 f(x,y,z,w) 01-1 -10-011 --01 - -1-01-0 00-1 111- 0- 1 -- 1 -00- 11 -001 -10--011 1- 10--01 1--01 - I--1010-10 Пример решения задания 2.6.1 Таблица 2.6.1а Решим задание 2.6.1 для функции /(jc,y.z,w) = (-10101 0- 11-0). Запишем таблицу функции / в виде карты Карнау (табл. 2.6.1а). Для отыскания сокращённой ДНФ выпишем в список М0 все нулевые наборы функции, ав Mj — единич- ные наборы (табл. 2.6.1Ь). Табмца 26]b Будем перебирать все единичные наборы из списка М1? который за- пишем в виде первого столбца. Для каждого из единичных наборов бу- дем заменять последовательно его символы на неопределённый символ "-" и смотреть, не будет ли совпа- дать с точностью до неопределённо- го символа полученная комбинация с каким-либо набором, во- шедшим в список М0. Если совпадение есть, переходим к сле- дующему символу, а если нет — помечаем набор "крестиком", выписываем результат замены во второй столбец и переходим к следующему символу или к следующему набору. \ zw ХУ\ 00 01 11 10 00 - 0 1 - 01 1 1 1 - 11 1 - 0 - 10 0 - - 0 М0 0010 0100 1010 1111 м\ 0001 ООП 0101 1100 1101
Булевы функции 129 Затем совершаем аналогичную процедуру над наборами из второ- го столбца и так далее. В результате наборы, не помеченные кре- стиком, будут соответ- ствовать простым им- пликантам, из которых состоит сокращенная ДНФ (табл. 2.6.1с). Итак, простые им- пликанты нашей функ- ции таковы: xyw, yz , xw , zw , yw, xz. а) Изобразим матри- цу Квайна (табл. 2.6.Id), в которой строки соот- ветствуют ед и н ич н ы м наборам функции, а столбцы Таблица 2.6.1с Mi 0001 + 0011+ ! J 0 101 + | 1 100 + | 110 1 + 000- + 00- 1 + --0 1 + -00 1 + -011 + 0-11 + -101 + 0 1-1 + 1 -00 + 11-0 1 1 0- + 1-0 1 + -00- | 0-- 1 | --01 | -0- 1 1-0- 1 столбец 2 столбец 3 столбец простым импликантам. Таблица 2.6.Id 0001 ООП 0101 1 1100 1 1101 xyw 1 У?- 1 xw 1 1 1 zw 1 1 1 yw 1 1 xz 1 1 Как видим, ядровых импликант нет. Для нахождения мини- мальной ДНФ составим символическую КНФ, каждая элемен-
130 Глава 2 тарная дизъюнкция которой соответствует единичному набору нашей функции, которую преобразуем затем в ДНФ. Получим: (2v3v4v5)-(3v5)-(3v4)-(lv6)-(4v6) = (3v54>(6vl4) = = 3-6v54-6v3-14v5-14. Видим, что наименьшую длину имеет символическая конъ- юнкция 3-6, которая соответствует минимальной ДНФ xwv xz. Сложность найденной минимальной ДНФ равна 4. б) При нахождении минимальной ДНФ с помощью карты Карнау (табл. 2.6.1е), мы доопределяем функцию/так, чтобы по- крытие имело более простой вид. Таблица 2.6.1е Таблица 2. б. // 00 01 11 1 10 00 ] -0 0 1 1 1 -7 1 01 IT" 11 1| -у] Ги 1 1 1 -7 1 0 1 -0 ■ 10 |о -0 -0 1 0 00 01 11 L 10 00 -0 0 1 -7 01 1 1 1 1 -7 | И 1 -7 IT" \-0 10 ГоП 1 -0 -ol о 1 Тогда все единицы покроются двумя квадратами 2x2 xw и xz , соответствующая минимальная ДНФ совпадает с ДНФ, найден- ной в п. а). в) Для отыскания минимальной КНФ покрываем нули карты Карнау (табл. 2.6.1/) двумя квадратами 2x2: xvw и xv z . Соответствующая минимальная КНФ такова: (х vw) • (х v z). Сложность её равна 4. г) Проведём разложение по набору переменных xyzw. На пер- вом этапе, раскладывая по переменной х, имеем: /(л:, у, z, w) = х • /(0, у, z,w)vx- /(1, у, z, w). Изобразим таблицы функций f(0,y,z,w) и f(l,y,z,w) (табл. 2.6. lg).
Булевы функции 131 Таблица 2.6.1 g yzw 001 010 Oil 100 101 f(0,y,z,w) 1 0 1 1 1 Каждая из функций /(0,y,z,w) и /(l,y,z,w) не доопределима до константы, но /(l,y,z,w) доопределима до z. Изобразим таблицы (табл. 2.6.lh) функций /(0,0,z,w) и /(O.U,w). Таблица 2.6.1h yzw 00 01 №y,z,w) 1 1 yzw 01 10 11 f(P,y,z,w) 1 0 1 Видим, что /(0,0,z,w) и /(0,1,z,w) доопределимы до w и 1 соответственно. Получаем разложение исходной функции: f(x, у,z, w) = х• (у • wv у • 1) v х• г - х• (wv у) vх• z . Во время упрощений мы применя- ли тождества с константами и правило вычёркивания. Сложность полученной формулы оказалась равной 5. 2) В качестве простейшего пред- ставления возьмём минимальную ДНФ xw v xz и реализуем её схемой из функ- циональных элементов (рис. 2.6.1, а). Реализуем ту же минимальную ДНФ контактной схемой (рис. 2.6.1, Ь). yzw 010 100 101 111 f(0,y.z,w) 0 1 1 0 у о Рис. 2.6.1, а
132 Глава 2 3) Реализуем ту же минимальную ДНФ контактной схемой (рис. 2.61, Ь). 4) Запишем двумерную таблицу функции / (табл. 2.6.1 i). Видим, что таблица допускает дооп- ределение до строк только двух типов (табл. 2.6.1 j). Таблица 2.6. И Рис. 2.6.1, b Таблица 2.6. Ij Nv ZW ху \ 00 01 11 10 00 - 0 1 - 01 1 1 1 - 11 1 - 0 - 10 0 - - 0 ^ч zw ху \ 00 01 10 11 00 -0 0 -0 1 01 1 1 -1 1 10 0 -0 0 -0 11 1 -/ -У 0 I тип I тип I тип II тип Значит, f(x,y,z,w) допускает разделительную декомпозицию вида f(x,ytz,w) = g(z,wMx,y))- Найдём вид функций g и h. l/ ) = У' если набор (х, у) соответствует строке I типа, [0, если набор (х,у) соответствует строке II типа, т.е. ft(jc,y) = (1110), h(x,y) = xv у . Строкам I типа соответствует функция (p(z, w) = (0101) = w. Строкам II типа соответствует функция \|/(z, w) = (1101) = z . Тогда функция / выражается через Л, ф, \\f так: f(x, v, z, w) = h{x, у) • (pf z, w) v h(x, y) • \j/(z, w) = = (xv y)- wv(xv y)- z . Соответствующая схема из функциональных элементов с ветв- лениями будет иметь вид (рис. 2.6.1, с).
Булевы функции 133 z х у w 9 о о о Рис. 2.6.1, с Сложность схемы равна количеству функциональных элемен- тов, её образующих, т. е. 8. Задание 2.6.2 1. Представить функцию f(x],x2,x?>,x4,x5) декомпозицией вида g(xifxk,xp,h(Xi,xm,xn)), где х(,хк,хр,х(,хт,хп —некоторая перестановка переменных х{, х2, х3, х4, х5. 2. Реализовать найденную декомпозицию схемой с ветвления- ми, используя функциональные элементы типа отрицание, конъ- юнкция и дизъюнкция. Указать сложность полученной схемы. 3. Построить минимальную ДНФ с помощью карт Карнау, указать сложность найденной формулы. Таблица 2.6.2 Ко 1 2 3 4 5 6 / 1 2 3 4 5 1 / (jCj, А'2, Л'з, .*4 у ХЪ ) 1 -01 1 -1 - 110- -011 0- 10 -001 1101 00-0 01-0 -000 -000 --01 10-- 0-01 1 -11 -111 10-0 1 -01 1 -0- -001 0-00 -000 01 - 1 - 101 1 -1 - --0- 1 -11 1- 10 0010 --11 111 - 11 -0 оп- ию- -11- 1--1 000- 01 -1 111 - 11 -0 --11 00-0 -011 0-01 011 - -001 -11 - 001-
134 Глава 2 Таблица 2.6.2 (окончание) № I 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 1 27 28 29 30 / 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 /(х^л;2,л-з,л'4,л'5) - 11 - 1 - 1-0 0-1-1 -010 10-- -- И ! 1 -00 --11 00-0 -00- 111 - - 10- 001 - 0- 1- 10- 1 -1-1 1100 0-11 -01 - 1001 111 - - 100 001- 1 0- 10 0-00 010- 00-- -00- 11 -1 00-0 - 100 00-0 00-0 1 -01 00-0 01 -0 -000 000- 110- 0-0- - 10- -000 0-00 11-1 0-00 01 -- 0000 1 00-- 0-- 1 1 11 -- 01-1 -1 -- 1 -001 -001 1-11 011 - 1010 -0- 1 0-0- 1 -11 -111 101 - 1 -01 -0-- -111 0- 11 -0-0 1-01 0-01 1111 01-1 1 101 - -00-1 01 -0 0-00 0101 1 -01 0001 01-0 -00- 0-01 110- 000- 0-00 00-0 01 - 1 .- 101 0001 010- 0-00 0-01 --0- 0-01 010- 00-0 01-1 00-0 1 11 -- 1 10-- 1 -01-1 -1-1 --00 1 I -1 - 1010 0- 10 111 - 000- 1 -11 101 - 00-0 - Ill -0-0 1-1-1 1- 10 -01 - 1-11 1 00-- 1 1 -1 - 10-0 1 001- - 10- 0110 10- 1 1 0-11 11 -1 1-00 on - -001 - Ill 11 -1 1 -00 -- 10 1001 01 - 1 - И - 1100 0- 10 10- 1 : о--1 1 -1 - 110- 01-0 1001 0111 - 101 --11 1-1-1 -1-1 0-0- 010- 1--1 - но 1 -11 000- - 101 111 - 1-1- 11-1 0-00 -1 -1 1 -11 111 - 1 -11 0-00 0101 1111 1 --1 - 1-1-1 -10- 1 0110 1 100- 1 1 --1 1 0- 11 J - 101 1 0- 10 1 -0- 1 1 --1 - 1 0-- 1 1 0-0- 1 0110 1 1001 1 111 - 1 0011 1 0101 1 - 1 -0 1 10- 1 1 1 -11 1 1 0- 1 - 1 01-1 1 0- 10 1 1 10"l 1 m -
Булевы функции 135 Пример решения задания 2.6.2 Решим задание 2.6.2 для i = 5 и функции f(x]tx2,x3,x4,x5) = (lO-l 0--0 --01 -1-- 0-10 010- 1--0 --1-). Выпишем значения функции / в виде таблицы (табл. 2.6.2а): Таблица 2.6.2а х. Х^Хд -^5 \ххх2 ^v. 1 00 I 01 I 10 11 000 1 - 0 1 001 0 - - - 010 - 0 1 - 011 1 1 0 0 100 0 - 0 - 101 - 1 1 - по 0 - 0 1 111 - - - - Выясним, возможна ли декомпозиция вида f = g(x5,x]fx2,h(x5,x3,xA)) (*) или / = g(x5,x3,x4Mx5,xltx2)). (**) Для этого выпишем двумерные таблицы функции / для х5 = 0 и *5 = 1 так, чтобы в заголовках строк и столбцов были написаны наборы ххх2 и хъхА соответственно. Получим (табл. 2.6.2Ь). Таблица 2.6.2b \. Л'3*4 х\х2 ^\. 00 01 11 10 00 0 - - - 01 1 1 0 0 11 - 1 1 - 10 - - - - \. х3х4 00 01 11 10 00 1 - 0 1 01 - 0 1 - 11 0 - 0 - 10 0 - 0 1 х5=0 дс5=1
136 Глава 2 Как видим, таблица функции ^соответствующая х5 = 0, не доопределима так, чтобы использовались столбцы только двух типов, и не доопределима до вида, в котором используются стро- ки только двух типов. Значит, декомпозиция вида (*) или (**) невозможна. Проверим, допустима ли декомпозиция вида f = g(x5,x2,x3,h(x5,xux4)) или / = g(x5>xl,x4,h(x5,x2,x3)). Для этого выпишем двумерные таблицы функции / для х5 = 0 и х5 -1 так, чтобы в заголовках строк и столбцов были напи- саны наборы х2х3 и ххх4 соответственно. Получим (табл. 2.6.2с). х*=0 Таблица 2.6.2с \ х3х4 00 01 11 10 00 1 0 -0 -1 I 01 -/ 0 0 -/ I 11 0 0 1 -/ 11 10 1 0 -0 1 1 х,х2\ 00 01 11 10 00 0 -/ -0 1 1 01 1 -У 1 -0 II 11 -/ 1 -/ -0 11 10 1 0 -1 0 "у I *5=1 Видим, что в этом случае обе таблицы допускают доопределе- ние до столбцов двух типов. Для х5 = 0 столбцам I типа соответствует функция ф( \х2,х3) = (\001) = Х2Хз v х2х3, а столбцу II типа — функция ДО) у^)(х2,х3) = (0101) = х2. Введём функцию ,(0) *W(*„JC4) = 1' если набор (х{,х4) соответствует столбцам 1типа; [0,если набор (хх,хА) соответствует столбцам IIтипа.
Булевы функции 137 .(0) Вектор значений hm(xux4) равен (1101), значит. ,(0) h }{Х\,Х4) = Х{ VI4 /U1^2^3>^>0) = /z(0)(^^4)^(0)U2^'3)v/z(0)U,,^4)-V(0)U2^3) = = (хх vх4)(х2хг vx2x3)vxl vx4 х2 Рассмотрим таблицу, соответствующую х5 = 1. Столбцам I типа соответствует функция ф( \х2,х3) = (0101) = х3, столбцам II типа — функция \|/(1)(x2,x3) = (1110) = x2vx3. Введём функцию 1, если набор (хих4) соответствует столбцам I типа; 0, если набор (х{,х4) соответствует столбцам П типа. Вектор значений /г()(х1,х4) равен (1001), значит, h{l)(xux4) = Х1Х4 v хххА. h{]\xbx4) = -1.O). ,(i) (1) ,(i) f(xl,x2,x3,x4,l) = hK 4^1,^4)'Ф (x2,x3)vhK }(xux4)-\\fK }(х2,х3) = = (Х,Х4 V XlX4)x?)VXlX4 vX{Xf(X2 vi3)- Получаем искомое представление для / : / (-*! >Х2*Х3,Х4,^) = -*5 * / (•*] »^2'х3»-*4'^) V -*5 ' / ^1'-*2'**3»-*4»*) = =х5((х; vx4)(*2x3 va^)v^ vx4 •A2)v-%((^,^4 vxjx^ vx,x4 v^4-(x2 v*3)). 2. Реализуем это представление схемой с ветвлениями. Ввиду громоздкости полученного выражения реализуем схемами 50 (рис. 2.6.2, а) и Sx (рис. 2.6.2, Ь) соответст- венно f(x{,x2,x3,x4,0) и f(x],x2,x3,x4,l), а саму функцию реа- лизуем блок-схемой S (рис. 2.6.2, с). Сложность построенной схемы равна 24.
138 Глава 2 х, х4 х2 х, х2 х3 1 и х1 х4 х3 х2 Рис. 2.6.2, b S 3. Найдём минимальную ДНф с помощью карты Карнау (табл. 2.6.2d). Все единицы карты Карнау могут быть покрыты двумя двухслойными прямоуголь- никами и тремя однослойными. Минимальная ДНФ будет иметь вид: Хъ • Х5 V Х2 ' Х3 - Х4 • Х5 V Хх • X2 • *Х3 ' Х$ V X] • Х4 • Х$ V Xj • х2 ' х$ Её сложность равна 16. и И С ^L_ 1 7_ к -' -« ^ рф Ф а 1 ll 1 г iN р У N 5, | 3 7 Рис. 2,6.2, с Таблица 2.6.2d X. *4*5 Х!Х2Х3 N^ 000 001 011 010 [ 100 101 111 1 по 00 1 1 0 ~* - - 0 0 - 1 Lj 01 ] 0 1 1 1 1 - " 1 - - 11 1 гг 1 - 1 - LL 0 -1 . ^d 0 10 1 пц 0 1 - 0 oil 0 1 п 1 -
Булевы функции 139 Задание 2.6.3 1. С помощью частных производных найти оптимальный для метода каскадов порядок дизъюнктивного разложения функции f(x,y,z,w) по её переменным на первых двух этапах. 2. Используя результаты п. 1, построить контактную схему ме- тодом каскадов, указать сложность построенной контактной схемы. Таблица 2.6.3 № 16 17 18 19 20 21 22 23 24 25 26 27 28 29 [30 f(x,y,z,w) J 0111 0101 1101 1111 1 0010 1011 1101 1110 1 ООП 1110 1101 0000 1 0101 1010 1111 1101 1 0101 1101 1110 ООП 1 0010 1101 1001 оно 1 1110 1101 0101 1010 0010 1010 1110 1111 ОНО 1001 1100 1101 0010 0000 1000 1110 0010 1010 0001 1111 0101 1101 0000 1011 1101 1000 ОНО 1110 1000 1010 0101 1001 1101 0111 1101 ООН № 1 г 3 4 5 6 7 8 9 10 11 12 13 14 1 15 f(x,y,z,w) 1 1110 ОНО 1010 1101 1 ООП 1100 1101 0111 1 ОНО 1101 1100 1111 1 1110 0111 1100 0111 1 0010 1110 1111 ООП 1 1110 1101 0010 1111 1110 1010 0010 оно 1110 1000 1111 оно 1101 ОНО 1110 0001 1011 0111 1010 оно 1101 0001 0010 1111 1110 0100 1110 1001 | 0001 1000 1100 оно 1101 1111 0010 1101 1001 1101 ООП 1000 Пример решения задания 2.6.3 Таблица 2. Решим задание 2.6.3 для функции /О, у, z, w) = = (1010 0100 0100 1010). Запишем таблицу функции f(x,y,z,w) в виде карты Карнау (табл. 2.6.3а). ^ч ZW 00 01 11 10 00 1 0 1 ■ о 01 0 1 0 1 11 0 0 0 0 10 1 0 1 0
140 Глава 2 Таблица 2.6.3b Найдём полином Жегалкина: {a,b,c,d) f(a,b,c,d)=\ = l + x+ y + w + xzw + yzw. Определим оптимальный для метода каскадов порядок разло- жения. По определению, fx(x,yfz,w) = f(0,y,z,w) + f(l,y,z,w). Таблица для fx имеет вид (табл. 2.6.3Ь). Видим, что | fx |= 6. Аналогично, /v (x,y,z, и) = f(x,0, z, w) + f(xX z, w). 9 Таблица для fy имеет вид (табл. 2.6.3с). Видно, что | fy |= 6. Продолжаем отыскание част- ных производных. fz (x,y,z,w) = f{x, у,О, w) + f(xf yX w). Таблица для /, имеет вид (Табл. 2.6.3d). Заметим, что | fz |= 2. И далее, fw(x,y,z,w) = fix, у, z,0) + fix, у, z,l). Таблица для fw имеет вид (табл. 2.6.3е). Таблица 2.6.3d Таблица 2. б.Зе Г\^ ZW 0 1 1 1 01 1 1 11 0 0 10 1 1 Таблица 2.6.3 с 0 1 1 00 1 1 01 1 1 ■ 11 0 0 J 10 1 lj 00 01 11 10 0 1 1 1 1 1 0 1 0 1 :\~z *7^ч 00 01 11 10 0 1 1 1 1 1 0 1 0 1
Булевы функции 141 Как видно, | fw |= 6. Так как набольшее число единиц в таблице имеют /х, /v и /и;, то на 1 и 2 этапах метода каскадов разложение ведём по любой из переменных x,y,w. Выберем, например, в качестве пер- вой переменной, по которой будем проводить разложение, х, а второй — w. Получим: f(x,y,z,w) = х-f(0,y,z,w)vх- f(l,y,z,w)> Выпишем таблицы функций f(0,y,z,w) и /(l,y,z,w) (табл. 2.6.3f). Таблица 2.6.3/ У \^ о 1 00 1 0 01 0 1 11 0 0 10 1 0 у ^\ 0 1 00 0 1 01 1 0 11 0 0 10 0 1 3. Строим контактную схему методом кас- X ,^ кадов (рис. 2.6.3, а). ^Х На втором этапе разложение ведём по пе- X \ ременной w. f{l,Y,z,w) /o(y,Z,w) = w-/o(y,Z,0)vw/0(y,z,l)= Рис. 2.6.3, а = w-(l + y + 0 + 0)vw(l + y + l + yz) = = w • (1 + у) v w • (у + yz) = w-yvwy-(l + z) = w-yvwy-z- My,zM = w- f\(y,z,0)vw- /x(y9z,l) = = w-(y + 0)v w-(y + l + z + yz)= w*yvw-/u(y,z)- Осталось разложить функцию /u (у, z). /ii(y,z) = l-/11(y,0)vz-/„(y,l) = l-(y + l)vz-(y + l + l + y) = = z - у v z ' 0 = z • у.
142 Глава 2 Изобразим полученную контактную схему (рис. 2.6.3, Ь). w ♦ * ;;;*х у °с""" ^><w > Л vT_ Ъ« •? W Рис. 2.6.3, b Сложность построенной схемы равна количеству контактов в ней, т. е. 8. Задание 2.6.4 Для функции f(x,y,z,t), заданной своей ДНФ: 1. Построить таблицу данной булевой функции. 2. Найти минимальную ДНФ. Исходя из минимальной ДНФ, построить контактную схему. 3. Построить контактную схему методом каскадов, отыскав оптимальный порядок разложения переменных с помощью част- ных производных. 4. Исходя из простейшей контактной схемы, построить мини- мальный тест для нахождения неисправности: а) для вариантов с чётными номерами — типа замыкания ровно одного контакта; б) для вариантов с нечётными номерами —типа размыкания ровно одного контакта. Таблица 2.6.4 № 4 5 6 f(x,y,z,t) xyztv xzt v xyzt xyztv xyztv xzt xzt v xyzt v yztv yzt № 1 2 3 f(x,y,z,t) xyz v xyz v xyz.t v yzt xyzt v xzt v xyzt v xzt v yz xyzt v xyztv xyztv xzt
Булевы функции 143 Таблица 2.6.4 (окончание) № 19 20 21 22 23 24 25 26 27 28 29 30 f{x,y,z,t) xyztv у ztv xyzt xyzt v xyztv xy ztv yzt xyt v xytv xyzt v yzt xyztvxztvxyztvxztv yt xyztv xyzv xyzt xyzt v xyzt v yzt xyztv xyztv xyztv yzt xzt v xztv xyzt v yzt xyzt v xytv xyzt v xyt v yz xyztv yztvxyzt xyztv xyztv xzt xyzt v xyztv xy zt v xyz № 7 8 9 10 11 12 13 14 15 16 17 18 f(x,y,z,t) xyzt v xyt v xyztv xyt v zt xyztv xytv xyzt xyzt v xy zt v x yt xyzt v xyztv xyztv xyt xzt v xyt v xzt v xyzt xyzt v xyzv xy zt v xy zv xt xyztv xyzv xyzt xyztv xyztv xyz xyzt v xyztv xyz v x yzt xytv xyzv xyzt v xyt xyzt vyztv xyzt v xyz v xy xyzt v у ztv xyzt Пример решения задания 2.6.4 Решим задание 2.6.4 для f(x,y,z,t) = x yzt v xyv xytv xzt, выбрав в п. 4 неисправность типа размыкания ровно одного кон- такта- Таблица 2.6.4а 1. Построим таблицу функции f{x,y,z,t) в виде карты Карнау (табл. 2.6.4а). 2. Все единицы карты Карнау по- крываем тремя прямоугольниками. Соответствующая минимальная ДНФ будет иметь вид yzt v xtv xz. 00 01 и 00 0 0 ГТ\ ю juu 01 0 0 v\ Jjj 11 0 0 ~n i J 10 1 11 0 0 1 ' I
144 Глава 2 Рис. 2.6.4, а Упростим формулу: yzt v xtv xz = yzt v x(t v z). Реализуем это представление контакт- ной схемой (рис. 2.6.4, а). 3. При отыскании оптимального порядка разложения по методу каскадов заметим, что i/;i=6,i/;i=2,i/:i=2, \/;\=г Так что на первом шаге разложение будем производить по переменной х, а на втором этапе можно проводить разложение по любой оставшейся переменной, например, по у. Получаем: /(*, у, zj) = х- /(0, у, z,t) vx-f(l у, z,t) = = х-(yzt) v х-(у v ytv zt) = = хyzt vх• (у v t v zt) = xyzt V X• ()> v t v z). Разложение по у нет необходимости делать. Строим контактную схему (рис. 2.6.4, Ь). 4. Так как контактная схема, полученная в п. 2, имеет более простой вид, будем работать с ней. Занумеруем все контакты схемы (рис. 2.6.4, с). Рис. 2.6.4, b Неисправность типа размыкания контакта означает, что при любых значениях аргументов соответствующий контакт разомк- нут, т. е. реализует функцию 0. Разомкнутый контакт будем изо-
Булевы функции 145 бражать пунктирной линией, а. замкнутый — сплошной. Для ка- ждого из единичных наборов функции на соответствующем изо- бражении контактной схемы полюсы соединены цепью контак- тов из сплошных линий. На каждом же из нулевых наборов функции такой цепи не найдётся. Пусть fo(x,y,z,t) - f(x,y,z,t), а при неисправности /-го кон- такта схема реализует функцию f;(x, у, z,t). Если исправно работающая контактная схема на некотором наборе аргументов принимает значение 0, значит, на её изобра- жении между полюсами нет цепи из сплошных линий. Ясно, что при наличии неисправности типа размыкания контакта на том же наборе аргументов полюсы контактной схемы тем более не со- единены цепью из сплошных линий. Значит, на всех нулевых на- борах функции f(x,y,z,t) все функции fj(x,y,z,t), / = 1,2,...,6 также принимают значение, равное 0. При построении теста нас не интересуют наборы аргументов, на которых значения всех функций совпадают, поэтому напишем таблицу всех функций /Дх, y,z,f), / = 1,2,. ..,6, вписывая в неё только те т_^^ наборы аргументов, на которых исход- (_ { \ ная функция равна 1. -\л) А При заполнении таблицы для каж- у ^^ z ^ t дого набора аргументов изобразим * 0 * схему. Например, для набора (0,0,1,0) схема примет вид (рис. 2.6.4, d). рис 2.6.4, d Видим, что цепь из сплошных ли- ний, соединяющая полюсы схемы, раз- рывается, если разомкнут 4, 5 или 6 контакт, т. е. на наборе (0,0,1,0) значение 0 принимают функции /4, /5 и/6. Изобразим вид контактной схемы на всех единичных наборах функции f(x,y,z,t) (рис. 2.6.4, е). Заполняем "таблицу неисправностей", вписывая для каждого набора аргументов нули в столбцы, соответствующие функциям с номерами, записанными в кружочках. Получим следующую таб- лицу (табл. 2.6.4Ь).
146 Глава 2 (1,0,0,1) - (1Д1.1) <v 4J «.—+. X \ чЬ ^ / (1А0,0) У \ '"* Q- X v z / t W z 9 / , ' , \ (1,1,0,0) г,Ф (1,1,6,1) : <> X \ v\ / / \ V /Х г ^N ■ ..V \ CJ) / Т\ / / I Рис. 2.6.4, е Таблица 2.6,4b xyzt 0100 1000 1001 1010 1011 1100 | 1101 [ 1111 /о /i 1 0 0 1 0 0 0 0 /2 1 0 1 1 1 0 1 1 /3 I 1 1 1 0 1 1 1 ° /4 0 1 1 0 1 1 1 1 /5 0 1 1 0 1 1 1 1 h 0 1 1 0 1 1 1 1 Видим, что некоторые столбцы таблицы совпадают. Это озна- чает, что неисправности типа размыкания одного контакта неот- личимы в случае разомкнутости 4, 5 или 6 контактов. Объединяем неотличимые неисправности в классы неисправ- ностей. Получим 5 классов: <?0={/оЬ Sl={/lb g2={fl}, £з={/зЬ g4={Uf5>fe}-
Булевы функции 147 Строим таблицу классов неисправностей, таблицу, не содер- жащую одинаковых столбцов. Отметим, что если в таблице присутствуют одинаковые стро- ки, то мы ничего не потеряем, если для каждого набора одинако- вых строк оставим одного представителя, удалив остальные строки из таблицы. Получим (табл. 2.6.4с): Выясним, какие из набо- ров 1-5 войдут в минималь- ный тест. Для этого выпи- шем все сочетания индексов {i,k} и для каждого сочета- ния укажем номера наборов, на которых отличаются функции gf и gk. ОД Таблица 2.6.4с № 1 2 3 4 5 xyz.t 0100 1000 1001 1010 1111 So S\ 1 0 0 1 0 £з 1 0 1 1 1 S3 1 1 1 1 0 #4 0 1 1 0 1 Будем иметь: 1,4 0,2 0,3 0,4 1,2 1,3 2v3v5 2,3 2,4 5 3,4 lv4 3v5 2v3 Iv2v3v4v5 2v5 Iv2v4 Iv4v5 Теперь составим символическую КНФ из "знаменателей" по- лученных выражений Кт. Будем иметь: Kr=(2v3v5)-2-5-(lv4)-(3v5)-(2v3)-(lv2v3v5)-(2v5)- ■(W2v4)-(lv4v5). Упростим полученное выражение, применяя формулу погло- щения. Получим: Кт = 2-5-(lv4). С помощью дистрибутивного закона преобразуем это выраже- ние в ДНФ, тогда каждой символической конъюнкции будет со- ответствовать минимальный тест. Имеем: ATr = 2-5-(lv4) = 2-5-lv2-5-4. В качестве минимального теста можно взять, например, сово- купность 1, 2 и 5 наборов, т. е. найден минимальный тест Tmin={ (0,1,0,0), (1,0,0,0), (1,1,1,1)}.
148 Глава 2 Задание 2.6.5 1. Построить таблицу значений функции, реализуемой данной контактной схемой. 2. Найти минимальную ДНФ с помощью карты Карнау, построить на её основе контактную схему, равносильную ис- ходной. Таблица 2.6.5
Булевы функции 149 Таблица 2.6.5 (продолжение)
150 Глава 2 Таблица 2.6.5 (продолжение) 8
Булевы функции 151 Таблица 2.6.5 (продолжение) 10 11
152 Глава 2 12 13 14 Таблица 2.6.5 (продолжение) vrc^5B^^ 7 J>^t>^^ (L^y \х ^"^>---Jl^ ^\^\\ i^<T/ ^^^"^D ^\Г^^^^ x/ /-^ ^v / /y x^-*^ ^^^>S^i /j^\^ xi ^Д X^^\ \x 4 V \—^-Л^^^/^^у^ \ -/ ^^^ \ *7 У^ ^^£^ л-Zl 7 nU^N. / Ъ^*^^ *\^^t JU^^_ - \ ^^\. x^L^"/\ ^э \. / \ yc 4^i
Булевы функции 153 Таблица 2.6.5 (продолжение) 15 16 17
154 Глава 2 18 19 20 х/ \ \у у У X Z/ ^ СлС^ z \ ХУ Таблица 2.6.5 (продолжение) —£———Tt--^ У/ \? X у/ ^1 7 ^^^ / V у' У X У х ^ч\* Iх \ \ х хкг -^^_\\ yS z\ \у / z 3^^^ У
Булевы функции 155 Таблица 2.6,5 (продолжение) 21 22 23
156 Глава 2 Таблица 2.6.5 (продолжение) 24 25 26
Булевы функции 157 Таблица 2.6.5 (продолжение) 27 28 29 6 Зак. 3332
158 Глава 2 30 у I у ^ х^ Z X \х \ z "7 1 •V. к Таблица 2.6.5 (окончание) \s z Пример решения задания 2.6.5 Решим задание 2.6.5 для контактной схемы. Рассмотрим вид контакт- ной схемы на всех 8 наборах переменных x,y,z, изображая разомкнутые контакты пунк- тирной линией, а замкнутые — сплошной. Рассмотрим набор (0,0,0). Видим, что в данном случае между полюсами нет маршрута, составленного из сплошных линий, значит, на -^ У v X У, У X у\ 'ч /
Булевы функции 159 этом наборе функция, реализованная данной схемой, равна нулю, ДО ДО) = 0. Рассмотрим изображение схемы на остальных наборах: Д0А1) = 0 Л0,1,0)=1 У Л<Ш) = 1 х ' .J? : г/ _ "•^z z ч У. У х
160 Глава 2 Л1А0)=1 X i i Л-^ Д1Л1)=1 ЛМ.0)=1
Булевы функции 161 Л1Д,1) = 0 Запишем найденные значения функции f{x,y,z) в карту Карнау (табл. 2.6.5а). Минимальная ДНФ: ху v xz v ху. Преобразуем формулу: ху v xz v ху = = ху v xf z v у). Соответствующая контакт- ная схема имеет вид: Таблица 2.6.5а К Z 00 01 11 1 10 0 0 1 1 1 1 0 1 1 1 Задание выполнено. У
Глава 3 Теория алгоритмов 3.1. Машины Тьюринга Машиной Тьюринга называется пятёрка объектов T = (A,S,S,v,li), где А = {ах,а2,...,ап) —алфавит; S = {sQ,S\,...,sm} —множество внутренних состояний, при- чём s0 —заключительное, a. s{ —начальное состояния. 5: А х S —» S — функция перехода; v : Л х S —» А — функция выхода; (I: А х S —> {/7, Л, //} — функция управления. Командой машины Тьюринга называется запись вида akS; ->apDsj, где ар , D, s;- —значения на наборе (я^,-) функ- ций 5, [X и v соответственно. Программой машины Тьюринга называется набор всех её ко- манд. Работа машины Тьюринга связана с бесконечной лентой, раз- битой на ячейки, причём в каждой ячейке может быть записан один символ некоторого алфавита, причём X является символом пустой ячейки. Работа машины Тьюринга над словом а, записанным на ленте, проходит следующим образом: машина Тьюринга начинает свою работу всегда в состоянии s}, а её считывающее устройство расположено над первым слева символом слова, записанного на ленте; считав символ в ячейке, обозреваемой считывающим устрой- ством машины Тьюринга, она печатает в эту ячейку символ,
164 Глава 3 найденный с помощью функции выхода V, двигается вдоль ленты вправо, влево или остаётся на месте, в случае, если функция |Я принимает значения П, Л или Н соответственно и переходит в состояние, определяемое с помощью функции перехода 8; при переходе машины Тьюринга в состояние s0 считают, что она за- кончила работу над словом а и говорят, что машина Тьюринга применима к слову а. Если машина Тьюринга при работе над словом а не переходит в состояние s0, то говорят, что она не применима к слову а. Конфигурацией машины Тьюринга называется запись щ b а2 , ч где b — символ ячейки, обозреваемой считывающим устройст- вом машины Тьюринга, находящейся в состоянии sk, a al и а2— слова, записанные на ленте соответственно левее и правее символа Ь. Кодом машины Тьюринга называется запись набора её команд в алфавите {*,1}? позволяющая однозначно восстанавливать каж- дую команду. Машина Тьюринга называется самоприменимой (несамопри- менимой), в случае, ели она применима (не применима) к своему коду. Числовой функцией называется функция вида /:/V*->/V0, к GN. Изображением набора аргументов (xlfx2,...,Xr) называется запись вида lXl+]UX2+]Ux'+lX..llXk+l (*), где Г =11...1. Числовая функция f(xlfx2,...fxk) называется вычислимой по Тьюрингу, если существует машина Тьюринга, применимая к лю- бому слову вида (*), переводящая его в слово lv+ , где У = /(х1,х2,...,хк). Задание 3.1.1 1. Построить машину Тьюринга, применимую ко всем словам х]х2...хп в алфавите {а,Ь}и переводящую их в слово а.
Теория алгоритмов 165 2. Проверить работу машины Тьюринга над некоторыми сло- вами. Таблица 3.1.1 № 1 1 2 3 . 4 5 1 6 7 1 8 1 9 10 1 П J 12 1 13 14 1 15 1 16 1 17 1 18 1 19 20 а | -^•^•••^//-i^i^-i | а^'з-.-а,, у, если л'о -а, Хт,х4...хп, если д%, =/? Х\Х~>...хп, если в данном слове количество букв а нечётно, bb, если четно х{кхъ\..Ххп, если /г нечётно, л-,л'2...л'/г, если п —четно х2 а А', х\х2—хп-\хпхп-\—х\ baba,если слово начинается на Ьа, ххх2...хпа в других случаях Ьхх...хп, если хп = д, 66, если а„ =/? а/?, если /? —четно, хп, если /г —нечётно а'\ если л*,,.! = r/, xxx2...xn_2ab, если а/2_! = 6 A^A^A^.-.A,, аххх2...хп_2Ь а, если /г<4, Лр-Л',,, если п>Ъ а а, если в данном слове число букв нечётно, ххх2...хп_х, если четно а^Аз.-.л-^а^а,,, если х2=а, хх...хп, если х2=Ь bab, если слово начинается на ab, ххх-> в других случаях ххх-,...хпЬ, если п —четно, Ьххх2...хп, если п —нечётно ab, если х2 =ач хх...хп_х, если а2 -Ь а\а, если п —нечётно, ххх2...хп_ххпхп,если п —четно а", если а, -а, х2, если хх=Ь
166 Глава 3 Таблица 3.1.1 (окончание) № 21 22 23 24 25 26 27 28 29 30 а л-!Л2...л:„_1 адс2Алз*4—*л хххпх2х3...хп_х Ьпхх...хп (аЬ)п х\х2—хп-2хп-\хп-\хп хх, если /г — нечётно, хп, если /г — четно хпхп_х...хх xlx2...xn_2kxn_lxn ab, если слово начинается на Ьа, хх...хп_х в других случаях Пример решения задания 3.1.1 Решить задание 3.1.1 для а = {хп, если хп_} =а, Ьп~ хп, если хп_х -Ь, (и>1). 1. Опишем работу алгоритма, решающего эту задачу. Будем обозначать состояния машины Тьюринга числами 0,1,2..., причём 1 — начальное, а 0 — заключительное состояния. Вначале с помощью команд (я,1)—>яП1; (Ь,1)—>ЬП\ прохо- дим до конца слова, не изменяя его символов. Признаком окончания слова будет считывание X в первом со- стоянии. С помощью команд (А,1)—>ЛЛ2; (я,2)—> яЛЗ; (Ь,2)—>/?ЛЗ движемся влево, не изменяя последнего символа слова. Если в состоянии 3 считываем символ а, значит, хп_х = а, нужно стирать все символы слова а, кроме последнего. Это мож- но сделать с помощью команд (а,3)-^> АЛ4; (д,4)—> ХЛ4; (Ь,4) —» ЛЛ4. Если в состоянии 4 считывается X, значит, вся работа про- делана, и пора останавливаться с помощью команды (Х,4)—Ш-Ю.
Теория алгоритмов 167 Если в состоянии 3 считываем символ Ь, значит, хп_х -Ь, нужно все символы, кроме хп, заменять буквами Ъ. Это делаем с помощью команд (Ь,3)—>ЬЛ5; (я,5)-*ЬЛ5; (&,5)—>ЬЛ5. Если в состоянии 5 считывается X, значит, все символы исходного сло- ва пройдены, можно переходить в состояние 0 с помощью ко- манды (Х,5) —> XU0. Запишем программу найденной машины Тьюринга в виде таб- лицы: Таблица 3.1.1 а a\s X а Ь 1 АЛ2 а\\\ ьп\ 2 - яЛЗ ью 3 - ХЛ4 6Л5 4 АНО ЛЛ4 ХЛ4 5 ЛНО ЬЯ5 ЬЯ5 2. Проверим работу построенной машины Тьюринга над сло- вом abba: abba, abba, abba, abba, abbaX, abba, abba, abba, 1 1 1 1 2 3 5 5 Xbbba, Xbbba. 5 0 Итак, в слове abba предпоследний символ — b, и все буквы исходного слова, кроме последней, заменены буквой Ь. Проверим работу построенной машины Тьюринга над словом bbaaa: bbaaa, bbaaa, bbaaa, bbaaa, bbaaa, bbaaaX, bbaaa, 1111112 bbaaa, bbaXa, bbXXa, bXXXa, XXXXXa, XXXXXa. 3 4 4 4 4 0 В слове bbaaa предпоследний символ — а, и все буквы ис- ходного слова, кроме последней, заменены пустыми символами X. Итак, проверка сделана, результат работы машины Тьюринга удовлетворяет требованиям, которые ставились в условии задачи.
168 Глава 3 Задание 3.1.2 1. Построить машину Тьюринга, вычисляющую числовую функцию f(xltx2,...,xn). 2. Проверить работу построенной машины над некоторыми наборами значений переменных. Таблица 3.1.2 № 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 f(x\>x2''~*xn) f{x,y,z) = x + y f(x,y,z) = y + 3 f(x,y) = {x-y,если x>y, 0, если x<y} f(x,y,z,w) = 4 f(x,y) = {0,если x>y, 1,если x<y) f(x,y,z) = {z-3,если z>3, 0, если z<3} f(x,y,z,w) = y + z + \ f(x,y, г) = {0,если x = 0, у, если x^O} /(х,у) = {у-х,еспи x<y, 0, если x>y} f(x,y) = {2, если >>>1, х,если .у<1} f(x,y,z) = y + 3+z f(x,y) = {0, если x*0, y + 1, если x = 0} f(x,y) = {x,ecnu x—четно;у, если x—нечётно} f(x,y) = {x + y,если x>y, 0, если jc<v} /U,)>,z) = {z + l,ecnH z*0, 0, если z = 0} f(x,y) = {Q,ecnu x—четно; 1 если a-—нечётно} f(x,y,z) = 2y f(x,y,z) = {w, если x = 0, 2, если x*0} /О, >>) = {•*--2, если д->2, 0, если x<2}
Теория алгоритмов 169 Таблица 3.1.2 (окончание) № | 20 21 22 23 24 1 25 26 27 28 29 30 /(х\,х2,...,хп) f(x,y) = 2x+l 1 /(а, у) = {а, если х — четно; 0, если х — нечётно) /(а, у) = {0, если лт = 0, а + у, если хуФО) f(x,y,z) = y + 3 /(л\ у) = {1, если Л' = 0, 0, если х ■* 0} /(a,v,z,w) = z +w /(а, у) = {у, если Л' = 1, а* + 2, если х Ф 1} /(а, у, z) = {a + у,если z*0; у, если z=0} /(а, у, z,w) = {z, если а>1; w, если а<1} /(a,v,z) = 2z /(а, у) = {5, если а + у > 2, 0, если х+у< 2} Пример решения задания 3.1.2 Решить задание 3.1.2 для f(x,y) = x + 2у. 1. Внутренние состояния машины Тьюринга, которую требу- ется построить, будем обозначать числами 0,1,2..., причём 1 — начальное, а 0 — заключительное состояния. Набор значений аргументов (х,у) изображается словом jA+iXly+i Аргумент х должен остаться без изменения, этого можно до- биться с помощью команды (1,1)—>1П1. Когда в первом состоя- нии встретится символ А, значит, мы попали на символ, разде- ляющий изображения аргументов, переходим в состояние 2, а сам символ X пока оставляем без изменений с помощью коман- ды (А.,1)->Ш2. Далее, набор единиц, изображающий аргументу, проходим до конца. Для этого добавим команды (1,2)—»1П2; (А,,2)—>ХЛЗ.
170 Глава 3 Теперь с помощью "челночного" алгоритма удвоим количест- во единиц в блоке, изображающем вторую переменную. Расширим алфавит, введя метку #. Считая, что к единиц бло- ка продублированы, рассмотрим, как будет дублироваться к +1 -я y+1-k к к единица. Г+1АЛ...11...11...1. Заменим очередную единицу из бло- ка, изображающего вторую переменную, меткой # и будем дви- гаться вправо ((1,3)—>#П4; (1,4)—>1П4), пока не встретим пустую ячейку, заполним её единицей и пойдём влево ((кА)—>1Л5; (1,5)—>1Л5), пока не встретим метку, заменим её единицей, пе- рейдём к следующему символу слева, вернувшись в состояние 3 ((#,5)->1ЛЗ). Когда в третьем состоянии считается А, значит, блок, изобра- жающий вторую переменную, продублирован. Заменим разде- ляющий символ единицей ((А,,3)—>1Л5) и пойдём на начало полу- ченного блока из x + l + l + 2(y'+l) = x + 2y + 4 единиц. Когда в состоянии 5 встретится А, значит, пора идти вправо, стирать три лишние единицы, ведь для изображения числа х + 2у требуется х + 2у + 1 единиц. Для этого добавим команды (Х,5)—>ХП6; (1,6)->АЛ7; (1,7)->Ш8; (1,8)->ХН0 . Запишем все команды полученной машины Тьюринга в виде таблицы. Таблица 3.1.2(1 A\S X 1 # 1 хт 1П1 - 2 ялз 1П2 - 3 1Л5 #П4 - 4 1Л5 1П4 - 5 те 1Л5 1ЛЗ 6 - ХП7 - 7 - АЛ8 - 8 - ХНО - В клетках таблицы, помеченных неопределённым символом — можно вписать любые команды, т. к. до их исполнения дело всё равно не дойдёт.
Теория алгоритмов 777. 2. Проверим работу алгоритма над изображением набора пе- ременных (0,1), т. е. над словом 1А.11: ап, mi, an, mi, lAiiA, lAiiA, m#x, m#i, 112 2 2 3 4 5 1X111, 1A#11, 1A#11, 1A#11A, 1A#111, 1X#111, 1A#111, 3 4 4 4 5 5 5 1A.1111, ll5, Al6, All5,All4,Xll3,XAlll. 3 5 5 6 7 8 0 Итак, в результате осталось три единицы, которые являются изображением числа 2. Заметим, что /(0,1) = 0 + 2-1 = 2, так что на ленте получено то, что и нужно было получить. Задание 3.1.3 1. Написать формулу числовой функции f(xl,x2,...,xn), вы- числимой машиной Тьюринга с множеством внутренних состоя- ний {0,1,2,3,4,5,6}, где 0 — заключительное, а 1 — начальные состояния, если машина задана своей программой. 2. Проверить работу машины Тьюринга с некоторым набором значений аргументов. Таблица 3.1.3 № 1 п 4 а\$ X 1 1 1П2 АП1 2 1ПЗ 1П2 3 XYU 1ПЗ 4 АЛ5 XU4 5 AJI5 XJ16 6 хыо АЛО 2 2 X 1 1П2 1П5 апз АП4 апз AH0 АП4 — 1П6 ано АП6 3 3 X 1 хт АП1 АПЗ хт АЛ4 1ПЗ 1Н0 XU5 1Л6 1П5 1Л4 1Л6
172 Глава 3 Таблица 3.1.3 (продолжение) Ко 4 п 2 A\S X 1 1 1П4 1П2 2 хлз 1П1 3 АНО ЛЛЗ 4 1Л5 1П4 5 1П6 1Л5 6 1 1Н0 1П6 5 3 X 1 — ХП2 1ПЗ ХП2 XU4 1ПЗ лЛ5 1Л6 ХЛ5 1Л6 1Н0 1Л6 6 4 X 1 АП2 ХП1 1ПЗ 1П2 XU4 1ПЗ ХЛ5 Ш4 ХП5 ХЯ6 """ хно 7 2 X 1 АП4 АЛ2 1ПЗ 1Л2 1П1 1ПЗ ХЛ5 ХП4 АЛ5 хяв хно 1Л6 8 3 X 1 1П2 1П1 1ПЗ XU2 1П4 1ПЗ ЛЛ5 — хяв ХЛ5 ХЛ6 1Н0 9 3 X 1 1П2 XTU 1ПЗ 1П2 ХМ хт ХЯ4 AJI5 1Л6 1Л5 1Л0 — 10 4 X 1 XU2 хи\ XU3 XU2 XU4 1ПЗ ХЛ5 А.П4 ЛЛ5 хяв шо 1 1Л6 11 2 X 1 АЛ2 А.П1 1Н0 1ПЗ 1П5 1П4 1Н0 1П4 1Л6 1Л5 1Н0 1Л6 12 4 X 1 ХП2 XYU 1ПЗ ХП2 1Л4 1ПЗ 1П5 1Л4 1Л6 1П5 1Н0 1Л6 13 2 X 1 1П4 ХЛ2 1ПЗ 1Л2 1П1 1ПЗ 1П5 1П4 1П6 — шо ! IHO
Теория алгоритмов 173 Таблица 3.1.3 (продолжение) № 14 п 4 д\$ X 1 1 лно 1Н2 2 хпз Ш2 3 1П4 ШЗ 4 1П5 1П4 5 ... 1Л6 6 1Л1 1Л6 15 2 X 1 1П2 1П1 ЯЛЗ 1П2 1П6 Ш4 1Л5 1П4 1ЛЗ 1Л5 ШО 1П6 16 4 X 1 1П2 1П1 ШЗ хт Ш4 шз ХЛ5 Ш4 АЛ 5 1Л6 1НО 1Л6 17 4 X 1 Ш2 1П1 ШЗ АП2 Ш4 ШЗ ХЛ5 Ш4 XJ15 1Н6 IHO 1Л6 18 3 X 1 1П2 1П1 1ПЗ 1П2 АЛ4 ШЗ ШО Ш5 1Л6 1П5 1Л4 1Л6 19 3 X 1 1П2 Ш1 1ПЗ 1П2 АЛ4 ШЗ АЛ4 1Л5 1П6 1Л5 ШО 1П6 20 1 X 1 1П1 1П2 ШО ШЗ 1П5 1П4 ШО ХП4 1П6 АЛО 1Н0 __- 21 4 X 1 — Ш2 ШЗ 1П2 Ш4 ШЗ Ш5 Ш4 ХЛ6 Ш5 ХЛ6 ШО 22 4 X 1 1П2 1П1 1ПЗ хт 1Л4 1ПЗ 1Л5 1Л4 ХЛ5 Ш6 хно ХП6 23 2 Я 1 1Н0 хт XU5 1ПЗ 1П4 1ПЗ 1Н0 1П4 1П6 Ш5 1П1 1П6 24 5 X 1 хт хт 1ПЗ хт 1П4 1ПЗ 1П5 1П4 АЛ6 АЛ5 ХЯ6 лно 25 2 л 1 1П2 ХП1 ХНО ХЛЗ 1П4 1ЛЗ 1П2 1П4 1П6 1Л6 1Н0 1Н0 26 3 X 1 1П2 1П1 ХПЗ 1П2 — 1П4 1Л5 1Л6 1Н0 1Л5 1Н0 1Л6
174 Глава 3 Таблица 3.1.3 (окончание) № 27 п 2 A\S X 1 1 1П2 1П1 2 — 1ПЗ 3 1Н0 1П4 4 1Л5 1П4 5 1П6 1Л5 6 1ПЗ 1П6 28 3 X 1 1П2 1Л1 1ЛЗ 1П2 1П4 1ЛЗ 1Л5 1П4 1П6 1Л5 АНО 1П6 29 3 X 1 АП2 лги — АЛЗ АП4 1ПЗ АЛ5 АЛ4 XJ15 ХЛ6 1НО 1Л6 30 2 X 1 1П2 1П1 АЛ5 1ПЗ ХЛ4 1П2 1Н0 АЛ4 1Л6 1Л5 1П0 ХЛ6 Пример решения задания ЗЛ .3 Решить задание 3.1.3 для f(x{,x2), вычислимой па машине Тьюринга, заданной своей программой. Таблица 3.1.3а a\s * 1 1 — АЛ2 2 ХП5 1ПЗ 3 1Л4 1ПЗ 4 1Н0 1Л4 5 ХН6 ХП5 6 1Н0 — Рассмотрим последовательность конфигураций данной маши- ны Тьюринга при работе над изображением набора значений ар- гументов (хих2). Рассмотрим случаи: 1) хх *0. iiXixix^xii*hxi**+\ iii-Vi-2xiX2+1,...,iAixrV2+1, 12 3 3 1Л1",111ДГ2+11...Д1ДС|+^+2,11ДС1+Х2+2. 4 4 0 Итак, в результате работы машины Тьюринга над изображе- нием набора аргументов получился блок из х{+х2+3 единиц, которые служат изображением числа хх + х2 + 2.
Теория алгоритмов 175 2) хх = 0. В этом случае последовательность конфигураций будет вы- глядеть так: ai*2+\m*2+\m*2fxii*2~\ ...,i,x,h i. 1 2 5 5 5 5 6 0 В этом случае осталась одна единица, которая служит изобра- жением числа 0. I хх + х2 + 2, если Х] ф о, [ 0, если хх = 0. Ответ: f(x]4x2) = Задание 3.1.4 1. По данному коду N(T) восстановить программу машины Тьюринга. 2. Выяснить, является ли машина Т самоприменимой или не- самоприменимой. При составлении N(T) использована следующая кодировка: П—1,Л—12,Н—13Д—I4, 1 —I5, * — 1\ Sq 1 , Sj 1 , $2 * * Таблица 3.1.4 № 1 2 3 4 5 N(T) 1 о*j4*J5*j*19**j8*15*J6*\*\8**J8*\6*\4*12*\8** I4*i4*i3*i9**i9*i5*i5*i*i9**i9*i6*i4*i*i8 I8*i4*i4*i*i7**i8*i5*i6*i*i9**i8*i6*i5*i2*i9** I4*i4*i*i8**i9*i5*i5*i*i8**i9*i6*i5*i*i9 I8*i4*i4*i*i8**i8*i5 *1"*12*17**i8*i6*i5*i3*i7** I4*i4*i3*i7**i9*i5*i6*i*i9**i9*i6*i6*i*i8 I8*l4*i4*i2*i9**i8*i5*i6*i2*i8**i8*i6*i5*i3*i8** I9*i4*i4*i^i9**i9*i5*i6*i2*i8**i9^i6*i4^i*i8 I8*l4*i4*i2*i7**i8*i5*i6*i2*i9**i8*i6*i6*i3*i9** I9*l4*i4*i2*i8*^i9*i5*i5*i2*i7**i9*i6*i5*i*i9 1% i% \%
176 Глава 3 Таблица ЗЛА (продолжение) № 6 7 8 9 10 11 12 13 14 15 16 17 /V(7) I8*i4*i4*i2*i8**i8*i5*i4*i3*i7**i8*i6*i6*i*i7** i9* I4*i4*i*i7**i9*i5*i5*i3*i9**i9*i6*i6*i*i8 I8*i4*i4*i3*i9**i8*i5*i4*i3*i8**i8*i6*i6*i*i8** }9* I4*i4*i2*i9**i9*i5*i6*i2*i8**i9*i6*i4*i*i8 I8*l4*i4*i3*i7**i8*i5*i5*i3*i9**i8*i6*i6*i*i9** i9* I^*l4*bl8**l9*i5*i6*i3*i9^*i9*i6*i5*i*i8 18*14*14*13*18**18*15*14^1^17**18*16*16*12*17** i9* I4*l4*i*i7**i9*i5*i4*i*i8**i9*i6*i6*]*i9 18*14*14*1*19**18*15*14*1*18**18*16*16*12*18** i9* I4*i4*i2*i8**i9*i5*i5*i3*i7**i9*i6*i4*i*i9 I8*i4*i5*i*i7**i8*i5*i4*i*i9**i8*i6*i6*i2*i9** i9*j 4*l4*i2*i9**i9*i5*i6*i*i9**i9*i6*i5*i2*i7 I8*i4*i5*i*i8**i8*i5*i4*i3*i7**i8* l6*i6*i3*i7** i9* I4*i6*i2*i7**i9*i5*i4*i*i9**i9*i6*i6*i2*i8 18*J4*15*j2*i9**i8*15*14*i2*18**18*16*16*13*i8** I^*i4*i6*i3*i8**i ^*l5*i5*i*-*io**iy*i 6*l4*i2*i8 I8*i4*i5*i2*i7**i8*i5*i4*i2*i9**i8*i6*i4*i3*i9** 1 9*i4*16*13*i9**i9*i5*16*12*18**19*16*15*i2*18 I8*i4*i5*i2*i8**i8*i5*i4*i2*i7**i8*i6*i4*i*i7** I9*i4*i6*i3*i7**i9*i5*i4*i3*i7**i9*i6*i6*i2*i8 I8*i4*i5*i3*i9**i8*i5*i4*i2*i8**i8*i6*i4*i*i8** I9*l4*l6*i*i9**i9*i5*i4*i2*i9**i9*i6*i4*i2*i9 I8*i4*i5*i3*i7**i8*i5*i4*i3*i9**i8*i6*i4*i*i9** I9*l4*l6*i*i8**i9*i5*i5*i3*i9**i9*i6*i5*i2*i9
Теория алгоритмов 177 Таблица 3.1.4 (окончание) № 18 19 20 21 22 23 24 25 26 27 28 29 30 N(T) 1 lo*]4*lj*i3*io**lo*jj*jj*j3*1 '**] о^1^>*1^*1^н«1 '** 1 ^* 1^* 1 0* J * 17**l9*i5*i6*i3*i8**i9*i6*i6*i2*i7 lo*i4*]5*i*i9**i8*i5*i5*i3*io**io*j6*i4*i2*io** 1^*l4*]o* I2*i9**i9*i5*i4*il*i8**i9*i6*i4*i2*i9 18*J4*j6*i*j7**]8*i5*i5*13*19**18^16*14*12*19** I9*i4*i6*i2*i8**i9*i5*i4*i2*i7**i9*i6*i5*i*i9 l8*i4*i6*i*io**io*iJ*i5*i*i7**i8*io*i4*i3*i7** I9*i4*i5*i2*i7**i9*i5*i5*i2*i9** l9*i6*i6*i*i8 18*14*16*12*19**18*15*15*1*18**18*16*14*13*18** 1^*l4*lJ* Jj* I9**i9*i5*i6*i*i8**i9*i6*i4*i*i9 I8*i4*i6*i2*i7**i8*i5*i5*i*i9**i8*i6*i5*i3*i9** I9*l4*i5*i3*i8**i9*i5*i6*i2*i9**i9*i6*i5*i*i7 18*}4*io*l2*io**i0*1j*Jj*j2*J/**1o*io*1j*i*j/** I9*i4*i5*i3*i7**i9*i5*i5*i2*i9**i9*i6*i6*i*i9 I8*i4*i6*i2*i9**i8*i5*i5*i2*i8**i8*i6*i5*i*i8** 1 -^^14* ] J* I*l9**l9*l5*i6*i3*i8**i9*i6*i4*i2*i9 I8*i4*i6*i3*i7**i8*i5*i5*i2*j9**i8*i6*i5*i*i9** 1 ^*14*ij*i* 10**1 >>* I5*i4*i3*i8**i9*i6*i5*i3*i8 18*i4*i6*i3*i8**i8*i5*i6*i3*i7**i8*io*i5*i2*i7** I9*i4*i5*i*i7**i9*i5*i5*i*i8 **1^*l6*io* j3* l7 18*i4*16*J*j9**18*15*16*13*18**18*16*15*i2*i8** I9*i4*i5*i2*i9**i9*i5*i6*i3*i7**i9*i6*i4*i3*i8 I8*i4*i5*i*i7**i8*i5*i6*i3*i9**i8*i6*i5*]2*i9** 1 I9*i4*i5*i3*i8**i9*i5*i5*i*i9**i9*i6*i5*i*i8 18*14*i4*i* 18**18*15*i6*i*i7**i8*16*15*i3*i7** 1^*l4*i4*j2*i/**iy*ij* l4*i*i8**19*i6*i6*i2*i7
178 Глава 3 Пример решения задания 3.1.4 Решить задание 3.1.4 для данного кода N(T): N(T)= l8* l4* l4* 1*18** 18*15* 15*1*18** 18*16*16*12*19* * 19*14*15*13*17**19*15*14*12*19**19*16*15*1*18. 1. Заменим каждый блок единиц символом по описанному в условии задачи правилу. Одной звёздочкой разделяются симво- лы одной команды, а двумя звёздочками — отдельные команды машины Тьюринга. Например, комбинации 18*14*14*1*18 соответствует команда (А.^) —>ХП^. Заменяя таким об- разом коды всех команд их стан- дартной записью, изобразим про- грамму машины Тьюринга в виде таблицы (табл. 3.1.4а). 2. Запишем последователь- ность конфигураций машины Тьюринга при работе над своим кодом, обозначив через Л слово, полученное из кода машины Тью- ринга, начиная с 10-го символа. И7*Л, 1 1 16*Л, ..., I8 *А, I7 1 *А, 161А*А, ..., Таблица 3.1.4а A\S X 1 * ■*1 5^П 1П51 *Л52 s2 \Hs0 \ns2 lib, 7 „. 8, 1 V* A, XXе* A, 1 X6*A. s2 s2 s0 Как видим, при работе над своим кодом машина Тьюринга пе- решла в своё заключительное состояние, значит, она является самоприменимой.
Теория алгоритмов 179 3.2. Нормальные алгоритмы Пусть А — алфавит, не содержащий символов "." и "—»". Обыкновенной формулой подстановок называется запись вида Р —> <2, где Р и Q — некоторые слова в алфавите А. Заключительной формулой подстановок называется запись вида Р —» .Q, где Р и Q — некоторые слова в алфавите А. Нормальной схемой подстановок над алфавитом А называет- 'P\-*dxQx Р2 -> d2Q2 ся запись вида , где Pj, <2, — слова в алфавите А, di — либо пустое место, либо символ "." . Нормальным алгоритмом над алфавитом В называется пара (A,S) такая, что ficA, S — нормальная схема над алфави- том В. Работа нормального алгоритма над словом R состоит из от- дельных шагов, в результате которых получаются слова R = /?!,/?2,...,/?/,.- Слово RM получается из слова R( так: просматривается нормальная схема подстановок и из неё вы- бирается самая верхняя формула, левая часть которой входит в слово Rj. Пусть, например, это будет формула Pj —>djQj. За- тем первое вхождение Pj в слово R( заменяется на <2/, что и даёт слово RM. Работа нормального алгоритма над словом R заканчивается в двух случаях: 1) существует / такое, что слово Rt получено с помощью заключительной формулы подстановки; 2) существует / такое, что ни одна из левых частей нор- мальной схемы подстановок не входит в слово /?,-. И в том, и в другом случаях слово /?, объявляется результа- том работы нормального алгоритма над словом R и говорят, что нормальный алгоритм применим к слову R.
180 Глава 3 Изображением набора аргументов (х{,х2,...,хк) называется запись вида 1*1+1 ИЛ'2+1*Г'3+1 *...*l*v*+1, (*) где lz = 11Л . Числовая функция f(xx,x2,...,xk) называется вычислимой по Маркову, если существует нормальный алгоритм, применимый к любому слову вида (*), переводящий его в слово 1>+ , где у = f(xx,x2,...,xk). Задание 3.2.1 1. Построить нормальный алгоритм, применимый ко всем сло- вам ххх2...хп в алфавите {а,Ь} и переводящий их в слово а. 2. Проверить работу построенного нормального алгоритма над некоторыми словами. Таблица 3.2.1 № 1 1 i 2 3 4 5 6 7 8 9 10 а ab4 если /2<3, аххх2...хп, если /z>3 аа, если в данном слове число букв Ь нечётно. ххх2...хп_Х) если четно ххх2...хп_ххпхп, если х2=а, ххх2...хпЬ, если х2-Ь abb, если слово начинается на ab, ххх2 в остальных случаях хх...хпЬ, если п —четно, tap..*,,, если п —нечётно ab, если х2 =а, jc1...,v/2_1 , если х2 -Ь а*а, если п —нечётно, хх...хп_ххпхп, если п —четно ап, если хх -а, х2, если х{ -Ь xv..xnan ах2 *jtj *jc3 *...**„
Теория алгоритмов 181 Таблица 3.2.1 (окончание) № 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 а *Лл'2*3--Лг-1л'/7 Ьпхх...х„ 1 (аЬ)п | *l*2---*/i**/i-l**n-2 Л"! **Л'з...ЛГ„_1, еСЛИ JCt =л» ^3'x4"-v/i» если *2 ~^ Aj....v„, если в исходном слове количество букв я нечётно. ябя, если четно A'j *л'з *л"5 *...**„, если « нечётно. А1А2...А„,если п четно л*] ад^&л^ах^-. ..y„ Л'! .V2A'3. • .Хп_{ Хп Хп_}.. .Л"! baba, если слово начинается на Ьа, х1х2...хпа в других случаях bxix2~.x„, если хп =а, bbb,если а„ =/? яб, если /z —нечётно. хп_{хп, если /г —четно а'\ если *„_! -a, ххх2...хп_2аЬ, если а,,.] = Ь х1хЗх2х4х5—хп-2хпхп-\ ах\ хх х2 х2 • • • хп _ 2 хп _ 2Ь bb, если /i<3, л-]....^,.!, если /i>3 х]х2...хпа, если п —нечётно. Ьхх...хп, если п —четно Ь"Х]...хп Х2 * А} * Х2 * A'j А/г А/?_!.. .А2Aj А2А3.. .Л*„-1Л"л
182 Глава 3 Пример решения задания 3.2.1 Решить задание 3.2.1 для а = {хп, если хп_х -а\ Ьп~ хп, если хп_х -Ь], (п>1). 1. Опишем работу нормального алгоритма, решающего эту задачу. Последней в схеме подстановок запишем формулу —> а , тогда слово х{х2...хп перейдёт в ах]х2...хп. Затем с помощью формул подстановок аа —> аа, ab —> Ьа символ а прейдёт на конец сло- ва! ХхХ2...Хпа. для разбора варианта хп_х = а введём формулы подстановок aba-*fib, яяос—>(3я, afi->fi, (3->. Для разбора случая хп_х = b введём формулы подстановок bba-^ybb, baa->yba, ay->yb, by-^yb, у-*. Запишем нормальную схему подстановок: аа —> аа ab-*ba aba —> fib ааа —> fia afi-^fi (3->. bba —» ybb baa —» yba ay-^yb by-^yb Y->. 2. Проверим работу построенного нормального алгоритма над словами abba и bbaaa: _abba, aabba, aabba, ababa, abbaa, abbaa, abyba, aybba, ybbba, bbba.
Теория алгоритмов 183 _bbaaa, gbbaaa, babaaa, bbaaaa, bbaaaa, bbaaqn, bbaaaa, bbafia, bb$a, b$a, pa, a. Видим, что нормальный алгоритм работает так, как и требо- валось. Задание 3.2.2 1. Построить нормальный алгоритм, вычисляющий данную числовую функцию /. 2. Проверить работу построенного нормального алгоритма над некоторыми наборами значений переменных. Таблица 3.2.2 № 1 2 3 ' 4 5 6 7 8 9 10 11 12 13 / f(x,y,z) = 2x + z 1 f(x>у) = {у~ х> если у > а; 0, если .у < х} f(x,y,z,w) = {4, если х —четно; х, если х нечётно } /С*..у) = {1 если л->у; 0, если х<у] f(x,y,z) = {z-3, еслиг>3; 0, если z<3} f(x, y,z, w) = A' + 3y + 3w /(A,y,-) = {0, если a = 0; у, если a*0} f(x,y) = [x-y, если A>y; 1,если a<v} f(x,y,z.) = {3, если у>1; x, если у<1} f(x,y,z) = y + z + 4 f(x,y,z) = {0, если a ^0; y + 1, если a = 0} /(*»>') = {■** если a —четно; 2y, если x —нечётно} f(x,y,z) = {x+ у, если a>v; 0, если A<y}
184 Глава 3 Таблица 3.2.2 (окончание) № 14 15 16 17 18 19 1 20 1 21 1 22 1 23 1 24 1 25 1 26 1 27 1 28 1 29 1 30 f f(x,y,z) = \z + \, если z*0; 0, если z=0} f(x,y)-{0, если л- —четно; 2, если* —нечётно} f(x,y,z) = 3y + z f(x,y,z,w) = {w, если л = 0; 2, если л*0} /(*. У) = {х - 2, если х > 2; 0, если л- < 2} /(*.э0 = 4х + 1 /(x,^) = {x, если х —четно; 0, если х —нечётно} f(x, у) = {0, если *у = 0; л* + v, если ху * 0} f(x,y,z) = [y + 2, если у>\\ 0, если v<l} f(xfy) = {\,x = 1; 0, если л-*1} f(x,y,z,w) = 2y + w f(x,y,z) = min{x,y} f(x,y,z) = {z-2, если-z >2; 0, если z<2] f(x,у) = {у-х, если у >х\ 2, если v<х) f(x,y,z,w) = x+y + [w/2] f(x,y,z) = {\, если z —четно; 2х+у, если z —нечётно} f(x,y,z,w) = x + 2y + 3z + 4- Пример решения задания 3.2.2 Решить задание 3.2.2 для f(x, у) = х + 2у. Вначале мы имеем запись изображения набора аргументов JJT+1 #1У+1
Теория алгоритмов 185 Последней формулой подстановки мы введём символ а: —> а. Получим слово alA+1 *l-v+1. Затем с помощью подстановки al—>la оно преобразуется в слово l'v+ a*lv+ .Сотрём а и разделительную звёздочку: а*—>Р. Удвоим количество единиц в блоке, изображающем второй аргумент: Pl->llP. После выполнения всех перечисленных выше подстановок окажется запись, содержащая х + 1 + 2(у + 1) = х + 2у + 3 единицы. Сотрём лишние две единицы и закончим работу подстановкой 11Р~>. al->la a*->P Pl->11P IIP-». -^a Запишем нормальную схему подстановок: 2. Проверим работу алгоритма над изображением набора пе- ременных (0,1), т. е. над словом 1*11: l*ll,al*ll, lalll, 1PI1, llipi, ПЩР, 111. Итак, осталось три единицы, которые являются изображением числа 2, что и ожидалось, т. к. /(0.1) = 0 + 2-1 = 2. Задание 3.2.3 1. Написать формулу для функции у = /(х1}х2,...,хп), вычис- ляемой нормальным алгоритмом. 2. Проверить работу алгоритма над некоторым набором зна- чений аргументов. Таблица 3.2.3 № 1 п 3 f < *->11 •_ a 11 —> la al-^a a-». ->a № 2 n 2 f < al—>la a* ->P P1->Y Y1 —>y Y->. ->a
186 Глава 3 Таблица 3.2.3 (продолжение) № 4 6 8 10 12 п 2 3 2 3 3 / 1 < - ^ alalia a* —>ip Р11->. (31 —>. 1111 —> ос 1*1->1* 1 ** -^a al -»11 a ^ 1 * * —> np^plll I* *j—)* * # :£ #1 ^sfc ^i ifc # # *—^ J * *l->a al—>a a*—>. *—^ * < al l->p al-yy PI^P P*-*P P->J yl—>iy Y*—>y Y->J 1 —>a № 3 5 7 9 11 /f 2 3 2 3 4 / 1 < « < [ * J —> ** **—>- 1111 al-> a a* —>P P1->11P P*->a a-*.Ill —>a 1*1—>* *1->P *-».l pi-»p p^.i * 1 -* 1 * **-».lll [al-)a a*->P P1->1P P*->Y J y*—>Y yl-^Y Y->. [-KX
Теория алгоритмов 187 Таблица 3.2.3 (продолжение) № 14 16 18 20 п 3 2 2 2 / 1 ^ « > « 11 а—>1 а 1 ос 1 —> 1 y Y 1->1 Y Y * —>. а1->Р Р1->Р Р*->.11 1 *->а а1->1а а*11—>/3 а*1-»у сх 1—> 111 ос а*->Р р 1—> 11 э р->.111 -»а " ^ ocl —> 1 сх а*—>р pl^llip Р->.11 ! ->а № 13 15 17 19 п 3 3 3 3 / 1 ^ < « « г 1 * 1 -> 1 * * * —> а а11—> 1а а 1->. а—>. а1-*1а а*->Р Р1->ШР P*->Y Y 1 —> Y Y->. —>а ocl 1 —>11 p pl-»lp P*->P P->. al->Y Y 1->Y Y*^>Y Y->.11 ->a 1 al—>a a*l—>P pill —> l p pn*->.ll p 1 *—> -1 p*->. 1 ->a
188 Глава 3 Таблица 3.2.3 (окончание) № 22 24 26 28 30 п 2 2 3 2 3 / < < < < < ' otl—»1 р Pl-Иа а*—> y Y 1 —> 11 Y Y-*. Р*^5 S11 —>S 1 5->. —>а 'otl—>1р Р1-Иа а* —> y 3*1-». Y 1—»Y Y-». —>а 1*1-41* **1—>а а1->111а а—>. " 11 * 11 —». 11 *->Р Р1-»Пр .1Р->. al—»а а*—»Р P1-*11P ;Р*->. —>а V № 21 23 25 27 29 /1 2 3 3 2 2 / « « ■< • аа 1 —> аа аа * —> аа аа -». 11 all->p Р1->Р Р*->.11 la—>al 1 *-»al * 1*-»*1 **1—>а al 1 —^ 1 а а 1->. а->. al-^lla а*1->Р Р1->Р Р*->.111 ->а al—>1а а*->р Р1^Р Р->.11 al->ipia а* 1—> -^а
Теория алгоритмов 189 Пример решения задания 3.2.3 Решить задание 3.2.3 для f(x,y,z), вычисляемой нормальным *1—>а алгоритмом с данной, схемой подстановок: \ аа—>. а1->а 1. Вначале мы имеем запись изображения набора аргументов 1Y+1 *1>+1 *1г+1. Запишем последовательность слов, получающих- ся при работе данного нормального алгоритма над словом lv+1*l>'+1*r+1: l*+I41^*lz+^+IaP'*llz, l-v+1ally4alMA+1all-y-2al\ ..„r^aair4, lv+3aallz-2, lA+5aallz-3,..., lv+2r+1aa> lx+2z+]. Итак, в результате работы нормального алгоритма над изо- бражением набора аргументов получилось слово из х + 2z + l единиц, которое служит изображением числа x + 2z. Значит, искомая функция имеет вид f(x,y,z) = x + 2z. 2. Проверим работу алгоритма над изображением набора ар- гументов (2,0,1): 111П* 11, llla*ll, 111 aal, 11111 аа ЛИП . В результате получено изображение числа 4. Но /(2,0,1) = 2 + 21 = 4. Так что нормальный алгоритм полу- чил то, что и должен был получить. 3.3. Рекурсивные функции Числовой функцией называется функция вида /:/Vq—>УУ0, где W0= {0,1,2,3,...}. Исходными функциями называются числовые функции сле- дующих видов: 1) о(х) = 0 — нулевая функция; 2) s(x) = л' +1 — функция следования; 3) /£(*i,*2,...,*„) = хк — функция выбора аргумента. 7 Зак 3332
190 Глава 3 Суперпозицией функций f\(xx,x2,...,xn), f2(xx,x2,...,xn),..., fk(xlfx2,...,xn), g(yx,y2,...,yk) называется функция h(xltx2t...,xn) = g(Mxl,x2,...,xn),f2(xl,x2,...,xn),...,fk(x],x2,...,x,l)), причём h определена только на тех наборах (ax,a2,...,an), на которых определены Мах,а2,...,ап), f2(ax,a2,...,an),...y fk(a]ta2,...,an), g(fx(aXya2y...yan)yf2(aXya2y...yan)y...yfk(a]ya2y...yan)). Говорят, что числовая функция f(xx,x2,...,xn) получена из чи- словых функций g{xXyx2,...yxn_x), h(x]yx2,...yxnJxn+]) с помощью примитивной рекурсии, если выполняются два условия: 1) f(x\,x2,...yxn_]40) = g(x]yx2y...,хп_х)\ 2) f(xXyx2y...yxn_x,y + l) = h(xXyx2y...yxn_Xyy,f(xXyx2y...,xn_x,y)). Операция минимизации по /-той переменной функции g(xltx2,...,xn) обозначается \iy(g(xl,x2,...,xi_X9y,xi+l9...,xn) = xi) и определяется так: Рассмотрим соотношение g(xXfx2y...,xi_x,y,xi+x,...,xn) = х[у (*) которое будем рассматривать, как уравнение относительно у. Это уравнение будем решать подбором, подставляя вместо у последовательно числа 0,1,2, и т.д. Возможны случаи: 1) на некотором шаге левая часть соотношения (*) не опре- делена. В этом случае считаем, что на наборе (хх,х2,...,хп) опе- рация минимизации не определена. 2) На каждом шаге левая часть соотношения (*) определена, но ни при каких у равенство не выполнится. В этом случае так- же считаем, что на наборе (xx,x2y...txn) операция минимизации не определена. 3) Левая часть соотношения (*) определена при у = 0у у = 1,..., y = z-lyy = z, но при y<z равенство (*) не вы- полнялось, а при у = z оно выполняется. В этом случае число z считается значением операции минимизации на наборе (хх,х2у...ухп). Примитивно-рекурсивной называется числовая функция, ко- торая может быть получена из исходных за конечное число ша-
Теория алгоритмов 191 гов с помощью применения операций суперпозиции и примитив- ной рекурсии. Частично-рекурсивной называется числовая функция, которая может быть получена из исходных с помощью применения ко- нечного числа раз операций суперпозиции, примитивной рекур- сии и минимизации. Задание 3.3.1 Найти функцию f(x,y), полученную из функций g(x) и h{x,y,z) по схеме примитивной рекурсии. Таблица 3.3.1 № 16 17 18 19 20 21 22 23 24 25 26 27 28 1 29 1 30 *(*) X X 2х X 0 0 з X 0 X X 1 X" 0 0 1 0 h(x,y,z) Зх 1 Z 2x+z х - z х + 2у x + y + z Vz-x2 \z-x\ *+>' zy + z 3y + z / + z x+y~ + z z + 3y x-y + z № 1 2 3 4 5 6 7 8 9 10 11 12 13 1 14 1 15 g(x) r2 2 X X 1 X 0 x4 Л' X 3 1 1 0 X h{x,y,z) J xz zx x+y-z x+z _~2~_ x(y + \)z x+z у + z +1 ifz-x' zx y + z z-v+1 xy + x X z x3 + z xyz + xz
192 Глава 3 Пример решения задания 3.3.1 Решить задание 3.3Л для функций: g(x) = x2\ h(x,y,z) = (y + 2)xz. Найдём несколько значений функции / : f(x,0) = g(x) = x2- f(x,l) = h(x,0,f(x,0)) = h(x,0fx2) = 2-x-x2 = 2хъ\ f(x,2) = h(x\J(x\)) = h(x,l,2x3) = 3-х- 2хъ = 3!x4; /(jc,3) = h(x2,f(x,2)) = ftf jc,2,3!x4) = 4- jc-3!jc4 = 4!x5. Возникает предположение, что f(x,y) = (y + l)\xy+ ; (1) Докажем формулу (1) методом математической индукции, проведя индукцию по у: 1) Проверка при у = 0. f(x,0) = x2=(0+l)\x0+2. Да, при у = 0 формула (1) верна. 2) Допустим, что предложение (1) верно при у = /г, т. е. допу- стим, что верна формула f(x,n) = (n + l)lxn+2\ (2) 3) Докажем, что предложение (1) верно при у = п + 1, т. е. до- кажем справедливость формулы f(x,n +1) = (п + 2)\хп+ (3) Выразим f(x,n + i) с помощью схемы примитивной рекурсии: f(x,n + l) = h(x,n,f(x,n)) = h(xMn + l)\xn+2) = = (п + 2)-х-(п + 1)\х'г+2=(п + 2)\хп+3. Итак, в предположении справедливости формулы (2) доказана формула (3). На основании метода математической индукции утверждаем, что предложение (1) справедливо для всех у£ No- Ответ: f(x,y) = (y + l)\xy+2.
Теория алгоритмов 193 Задание 3.3.2 Найти функции, получаемые из данной числовой функции f(x{,x2,...,xn) с помощью операции минимизации по каждой её переменной. Таблица 3.3.2 № 16 17 18 19 1 20 21 1 22 1 23 1 24 1 25 26 1 27 28 1 29 1 30 п 4 3 3 4 3 4 4 3 4 3 4 3 4 3 1 4 /(•*1»*2'-"»*л) 2 ^ + 2>/х7 *!+/<?£ 2*2 *Г + *2*3 ъХх+^72 х\ + х2 ~~ 2*3 -J Xj ~ *2 "^~ -*3 1 *2* 1 AWX2 _Л:3 v^-4" 1 3*.-4 1 2хх + х\ х\х2 ~ \ХЪ 1 г3 1 *2"4 2 6ххХ2+lgX$ № 1 2 3 4 5 6 1 7 1 8 1 9 1 10 11 1 12 13 14 1 15 11 4 3 3 4 3 3 3 4 3 4 ! 3 4 4 4 4 /С*1»*2' —»*л) Л^До + Л'з х2—L 1 *2 2А1(2л-2+1) х{(х2 + \) jcj - 2л*2 х*+3х2 2 1 *l*2 + * JC| + x2 ~~ 2;с3 *l(*2-02 *3 | 2(л-,-л-2) A'j — Х2Х-^ х\ "+*3 дс,(дс2-1)л3 V "*1 — "^-^З
194 Глава 3 Пример решения задания 3.3.2 у- Решить задание 3.3.2 для функции f (хх, х0, х^, х4) = х2 . ХЪ 1) Минимизируем данную функцию по переменной хх. у Рассмотрим уравнение х2 = xv (1) хз а) Если х2 = хх, то при подстановке вместо у нуля получаем верное равенство. б) Если х2Фхх, х3 Ф1, то при подстановке в уравнение (1) вместо у единицы в левой части уравнения (1) появляется неос- мысленное выражение — дробь —, значит, в этом случае опера- ция минимизации не определена. в) Еслил:3=1, но х2<хх, уравнение (1) примет вид х2-у = х{. Это уравнение не может выполниться ни при каких ye N0. г) Если х3 =1, но х2 >хр то при у = х2 -*j равенство (1) вы- полнится. О, если х2- хх\ не определено, если х3 ф1, х2ф хх не определено, если х3 = 1, х2< хх х2 ~ х{, если х3 = 1, х2 > хх. Итак, ц, хъ 2) Минимизируем данную функцию по переменной х2. X Рассмотрим уравнение У = х2. (2) хз Если хх = 0, а х3 Ф0, то уравнение (2) примет вид У = х2 и имеет решением число х2.
Теория алгоритмов 195 Если х1 Ф О, то на самом первом шаге, при подстановке вме- сто >' нуля, в левой части соотношения (2) возникает отрица- тельное число, т. е. неосмысленное выражение. { х2, если х] = О, х3Ф0; не определено в остальных случаях. Итак, щ У = х2 3) Минимизируем данную функцию по переменной х3. Рассмотрим уравнение х2 у хз (3) Это уравнение на самом первом шаге, при подстановке вместо у нуля теряет смысл, значит, операция минимизации по третьей переменной \iv х\ лч - = X У нигде не определена. 4) Минимизируем данную функцию по переменной х4. Рассмотрим уравнение х2 х, (4) х 3 Если набор переменных таков, что левая часть соотношения (4) имеет смысл и равенство (4) выполнено, то можно считать, что оно выполнено при "подстановке" в соотношение (4) пере- менной у на самом первом шаге, т. е. при у = 0. В остальных случаях значение операции минимизации не оп- ределено. Итак, Ц A'l х2 - х4 х3 1 _ О, если х2 - = х4\ х- не определено в остальных случаях.
Глава 4 Предикаты 4.1. Предикаты Предикатом называется функция, область значений которой включена во множество Е = {ОД}. Предикат Р называется тождественно истинным (тожде- ственно ложным), если на всех наборах своих переменных он принимает значение 1(0). Предикат называется выполнимым, если на некотором наборе своих переменных он принимает значение 1. Предикатом \/ х^Р(хх,х2,...,хп) называется предикат Т{х2,...,хп), который принимает значение 1 на тех и только тех наборах (а2,...,ап), при которых предикат Р(х1}а2,...,ап) —тож- дественно истинный. Предикатом Зх Р(хх,х2,...,хп) называется предикат R(x2,...,xn), который принимает значение 1 на тех и только тех наборах (а2,...,ап), при которых предикат Р(х\,а2,...,ап) вы- полним. Если предикат Р(у,х],х2,...,хп) таков, чтоуЕ {bx,b2,...,bk}, то \/yP(y,xlfx2,...,xn) = Р(Ь1,х1,х2,...,хп)лР(Ь2,х],х2,...,хп)л... ... л P{bk,X\,x2,...,xn). 3yP(y,x]fx2,...,xn)= P(bl,xl,x2,...,xn)v P(b2,x]yx2,...,xn)v... ...v P(bk,x]tx2,...,xn).
198 Глава 4 Теоремы об отрицании кванторов: Для любого предиката P(y,xlt...,xn) справедливы формулы \fyP(y,xltX2,...,xn) = 3yP(ytxltX2,...,xn), 3yP(y,xx,x2,...,xn) = VyP(y,xl,x2,...,x,l). Говорят, что предикатная формула находится в приведённой форме, если в ней используются лишь операции квантификации, отрицания, конъюнкции, дизъюнкции, причём отрицание отно- сится лишь к предикатным буквам. Говорят, предикатная формула находится в предварённой нор- мальной форме, если она имеет вид D,Z]D,b...D,4 (А), где D — либо квантор общности, либо квантор существования, А — фор- мула, находящаяся в приведённой форме, не содержащая кванторов. Задание 4.1.1 Построить п — местные предикаты на множестве М такие, что выполнено условие а. (А — множество всех людей) Таблица 4.1.1 № 1 | 2 3 4 5 6 7 8 9 п 3 2 3 3 3 3 3 2 3 м RxZxR ZxA ZxZxN AxZxN NxRxR AxNxA RxNxZ RxR ZxZxR а P(x,y,n) = \, P(1,v,zM-«g(V2-Iz) —выполним P(0, у) = 0, P(x,y) -> -nQ(\,y) — выполним P(x-3,2) — выполним, P(x, v, z) <-> £>(2,1, z) = 0 P(x,0,z)=\, P(x,y,2)v-nQ(x,0,z.) —выполним P(x,\,z) = 0, -iP(x,y,z)AQ(\,y,z) —выполним P{x, y, z) — выполним, P(x,20, z.) -» -ig(A-,20, z) = 0 P(2,l,z) = 0, P(x,v-1)<->-iQ(ti,2,3)—выполним P(x, y) — выполним. -,Р{х,4Т) + Q(x,y) = 0 P(-l,2, z) = 1, P(*> v> V3) -> -iG(0, v, z) — выполним
199 Таблица 4J. I (окончание) № i ю 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 n 3 3 3 3 3 3 3 2 3 3 3 3 2 3 3 3 2 3 3 3 3 M AxAxR+ NxZxN AxNxN RxNxN RxRxN AxRxN RxRxZ AxN NxNxN RxRxN NxRxZ RxRxA RxR RxNxR AxAxA ZxZxN AxN NxZxR ZxZxN AxAxZ ZxNxR a P(x, y,3) —выполним, P(x,y,z)v-^Q(x,y,\6) = \ P(2,y,z) = l, -yQ(ly,3)->P(x-l,z) —выполним P{x, у A) — выполним. Р(л\2, z) v -iQ(x, у,Ъ) = 1 P(;c,3,4) = 0, -,P(x, v,2) <-» -iG(',3, z) s 1 Р(л/3-5,г) —выполним, P(.r,^,2)A-.g(^V3,z) = l P(;c,;y>,19j = l, Р(л',3,г)-^е(х,у,7) = 0 1 P(n,e,z) —выполним, -nP(jc,;y,-l) + 6(>,2,z) = 1 P(jc,1 80) s 0, PU, y) v -iQ(jt,20) — выполним P(2, у A) — выполним, -,/>(*, у, z) <-» 6(2,3, z) = 1 Р(л-, y,3) = 1, P(jc, y, z) л QU, >>,3) — выполним P(x,0,z.) —выполним, P(jc,y,-4)->-.g(jc,3,z) = 0 P(3,3,z) = 0, P(x,y[\9,z) v <20, >>,z) — выполним P(10, y) — выполним, -,/>(*, jy.) <-> g(20, y) = 1 P(V3,y,z) = l, P(x,v,z)->G(l»>;»z)-выполним P(.r,v,z) —выполним, PO,y,z) + 6U,}>,z) = l P(av-3,2) = 0, P(x,>',z)v-1e(2,l,z)—выполним P(jc,10) = 1, P(jc, y) v G(*,2) — выполним P(jc,>>,8) —выполним, P(3,4,z)v-16(a',);,z)=0 P(9-9,z) = 0, -iP(l,v,z)->eU>'^) —выполним P(jc, v -2) — выполним, P(x, v, z) <-> -.g(A', yt z) = \ \ P(6,y,z.) = \. P(x,2, z) л Q(x,y,3) —выполним
200 Глава 4 Пример решения задания 4.1.1 Построить трёхместные предикаты Р и Q на множестве NxNxZ такие, что Р(1,у-3) — выполним, и P(x,y,z)-*Q(xXz)=0. Пусть Р(х, у, z):(x + 2 у - z кратно 4); Q(x, у у z): (х + у + z + 5 — нечётное число). Тогда Р(1, у,-3) = Т(у): (2у + 4 кратно 4). Г(1) = (2 + 4 кратно 4) = 0; 7(1) = (4 + 4 кратно 4) = 1. Значит, Т(у) = Р(1,у,-3) — выполнимый предикат. Обозначим S(x, у, z) = Р(*, у, z) —> Q(*,l, z). Покажем, что S(x, у, z) = 0. Предикат S(*,y,z) может принять значение 1 лишь на таком наборе (a,b,c), при котором P(a,b,c) = l и <2(я,1,с) = 0, т.е. а + 2£-с кратно 4 и a + l + c + 5 —нечётное число. Запишем эти высказывания в равносильной форме: \a + 2b-c = Am \ , где m,nE Z. {a + l + c + 5 = 2n-l Но тогда, складывая уравнения этой системы, получим: 2а+ 26+ 6 = 4га + 2п-1, или 4?n + 2n-2a-2b = 7, откуда 2(2m + n-a-b) = l. В левой части этого равенства стоит чётное число, а в правой — нечётное. Значит, ни при каких значениях переменных x,y,z предикат S(x,y,z) не может принимать зна- чения 1, следовательно, S(x,y,z) = P(x,y,z)—>Q(xXz) = 0. Задание 4.1.2 Выяснить местность и тип предиката, каждый аргумент кото- рого принимает значения из множества М.
Предикаты 201 Таблица 4.1.2 № 1 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 М 1 Я Z N z я Z /V я Z я N Z я N Z р 1 3yVv(yx2=3yjc+z) 3x\/y(2y + x>x+z2) Vy(x-2y<z-y) Vx3y(x+y + z = 5) 3x\/y(xy-2x2z>0) \/x3z(xy = xz) 3yVx(xy-zx<0) 1 3z(xy+ z2 >2xy) \fy3z(xz = y) Vx3z(xz-y2z>0) 3x(y + xz = 4) \/y3z(x2 + yz>0) 3y(yx-xyz>0) Vx3z(z>xy3) 3vCvz+.va-=i) № 1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 M 1 Z Я yv я yv z я /V я z я yv я z yv p Vx(x + y-z>2) 3x\/v(xy = z-x) \/x3Y(xyz = yz) \/:(<>fxyz.>Jx) 3x3,(zx = y2) Vr3v(xz = y) 1 avvvcv+2y>y+z) Vx(x2+M>0) Vx3y(x2 + z2>2(x+y)2) VxVy(x+y + z>tficyz) 3x(x2+3yz = 7) VxVy(xz = y2) Vx3z(yx+yz<0) \3y(y + z>x + 2y) Vx(x2 - y2 > x+z) Пример решения задания 4.1.2 Выяснить местность и тип предиката Р = \/x3y(zy = х ), ка- ждый аргумент которого принимает значения из множества Z. Из определения операции навешивания кванторов следует, что предикат Р зависит от переменной z.
202 Глава 4 Так как предикат у-0 = 1 не является выполнимым, следова- тельно, высказывание Зу(у-0 = Х) ложно. Значит, предикат 3у(у-0 = х) не является тождественно истинным предикатом от- носительно х, следовательно, высказывание VV3V(у-0 = х) лож- но, то есть Р(0) = 0. Для произвольного х0 предикат относительно у у-1 = х0 выполним (при;у = *о )> значит, высказывание Зу(уЛ = х0) ис- тинно. Следовательно, в виду произвольности х0, имеем, что предикат Зу(у • 1 = х ) — тождественно-истинный. Но тогда вы- сказывание \/хЗу(уЛ = х ) истинно, то есть Р(1) = 1. Так как Р(0) = 0, а Р(1) = 1, P(z) — выполнимый предикат. Задание 4.1.3 Найти значение высказывания а, полученного из трёхместно- го предиката, определённого на множестве М. Таблица 4.1.3 № 8 9 10 11 12 13 14 М N R Z R N R Z Р v,U2+|*^l>0) Vv3v(*2+r>2(* + >>)2) \/xVy(x + y + z>tfxyz.) Эх(дг+3уг=7) \/x\fy(xz = y2) \/x3z(yx+yz<0) 3y(y + z>x + 2y) № 1 2 3 4 5 6 7 M z я yv tf /v z tf /> V,(x + >;-z>2) 3vVv(.ry = z-Jt) Vx3y(xyz = yz) \/z(JxyZ. >yfx) 3x3y(zx = y2) \/x3y(xz = y) 3yVx(x + 2y>y + z)
Предикаты 203 Таблица 4.1.3 (окончание) № 23 24 25 26 27 28 29 30 Л/ R Z R N Z R N Z Р 3z(xy + z2 >2ху) Vy3z(xz = y) \/x3z(xz-y2z>0) 3x(y + xz = 4) \fv3z(x2 + yz>0) Зу (ух - xyz > 0) yx3z(z>xy3) 3X (xz + yx = 1) № 15 16 17 18 19 20 21 22 M N R Z N Z R Z N P J Vx(x2 - y2 > x+z.) 3yVx(yx2 = 3yx+z.) 3xVy(2y + x>x + z2) \fy(x-2y<z-y) \/x3y(x+y + z=5) 3xVy(xy-2x2z>0) Vx3z(xy = xz) 3}yx(xy-zx<0) Пример решения задания 4.1.3 Найти значение высказывания Зу\/x3z(x-z4 >.у), определён- ного на множестве R. 3y\/x3z(x-z4>y) = 0 « <=» предикат относительно у \/x3z(x-z4 > у) не выполним <=ф <=> для произвольного у0 высказывание \/Д_( х- z4 > у0 )ложно «=> <=> для произвольного у0 предикат 3z(x-z ^ Уо) —не является тождественно-истинным относительно х <^> <=> для произвольного у0 высказывание 3, (у0 -1 - z > Уо) ложно t=> 3z(z <-1) = 0 <=» предикат z ^-1 не является выпол- нимым. А он действительно не является выполнимым, т. к. любое дейст- вительное число в чётной степени не может быть меньше, чем -1. Итак, получено, что исходное высказывание ложно.
204 Глава 4 Задание 4.1.4 Предикаты Р и Q определены на множестве {a,b,c}. 1. Найти предикат, равносильный предикату R, но не содер- жащий кванторов. 2. Выяснить, может ли предикат R быть выполнимым, но не тождественно истинным. Таблица 4А.4 № 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 Я 3rvyP(*,30 + v:G(*,*) VvP(y,z)-^3vV,e(v,z) 1 3y\/xP(x,y)v\fzQ(x,z.) 1 3,Vv(PUz)AVre(.y,z)) 1 VxP(x,y)v3zVxQ(x,z) 1 v2a/uz)-»3},euy) 1 3,PUy) + V,3z6(^z) Vx3yP(x,y)v3zQ(x,z) 1 3rP(A-,z)A3A.V},GU,.v) 1 V,3vP(a",v)v3v(2(^^) VxP(x,y)**Vz3yQ(y,z) 3zP(x,z)-+3xVyQ(x,y) 4y3zP(y.z)vyxQ(x,z) 4yP(y,z)A\/y3zQ(x,z) 3x3yP(y,z)**VzQ(y,z) 1 № 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 R VxVvP(x,y)<r>3yQ(y,z) Vx3yP(x,y)^>3yVxQ(x,y,z) 1 3r\/yP{y,z)A\/xQ(x,y) \/x3y(P(x,y)AQ(y,z)) 3xP{x,y)vVy3zQ(y,z) Vx3yP(x,y) + Q{x,z) 3xP(x,z)^>4x3yQ(y,x) 3x\/y(P(x,z)vQ(y,x)) 4x3yP(y,x)<+Q(x,z) 1 VzP(x,z)v3xVzQ(x,z) 1 3xP(x,z)A3yVxQ(x,y) \\/x3yP(x,y)->3xQ(x,z) \3yVxP(x,y)v\txQ(x,z) \3x3zP(xty)<r>VxQ(x,z) \\!xP(x,z)A3x3yQ(x,y)
Предикаты 205 Пример решения задания 4.1.4 Решим задание 4.1.4 для предиката Vy3zP(z,y) + 3xQ(x,y). По свойствам предикатов, определённых на конечных множе- ствах, имеем: Vy3zP(z.y) + 3xQ(x,y) = = ЗуР(а,у)лЗуР(Ь,у)лЗуР(с,у) + + 3xQ(x,y) = (Р(а, a) v Р(а, b) v Р{а, с)) л (Р(Ь, a) v Рф, b) v Рф, с)) л л (Р(с, a) v Р(с, fe) v Р(с, с)) + (Q(fl,y) v Q(6, у) v Q(c,y)). Пусть P(z,y) — тождественно-ложный предикат. Тогда вы- сказывание ложно, так как конъюнкция и дизъюнкция ложных высказываний ложна, и выражение: Vy3zP(z,y) + 3xQ(x,y) рав- носильно выражению 3xQ(x,y). Если положить Q(a,a) = Q(a,b) = Q(a,c) = 0 и Q(b,a) = l, то /?(fl) = 0 + (0v0v0) = 0; /?(b) = 0 + (lv...) = l. Итак, предикат R(y) может быть выполнимым, но не тожде- ственно истинным. Задание 4.1.5 1. Представить в приведённой форме предикат D варианта №. 2. Представить в предварённой нормальной форме предикат D варианта № + 1. Таблица 4.1.5 № 1 2 3 D VxP(x, yf z) -> (3yVzQ(x, y,t) | R( х, у)) (3x3yR(y,x,z)vT(x,y))l\/xP(x,y,z) {\fx3yT(x,y)->R(x,z))\3xP(x,y)
206 Глава 4 Таблица 4.1.5 (продолжение) № 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 D (3x\/yP(y,z,t)\R(x,y,z))A3yT(x,y,t) 1 (УхУ/и,у,г)АЗ^Р(дс^))|Лиу.г) 1 (ВхР(х, у, z) I Vv3 yR( у, г,0) а 74*, у) VyR{x.y,t) -> 3A.VrP(A-,y,z) v Г(дс, у) (Vx3yPUz,0|V,i?U,^z))|rUy) 1 (3x\/vP(x,y,z) i VxS(x,y,t))vR(y,z) (VxVvR(x,y,z)\3xS(x,y))-*P(y,z) 1 (3xVyP(x,y,z)l3yR(x,y,t))\T(y,z) 1 УхЗуР(дс,у,0лЗг3.гГиу,0 <-> V,/?(*,f) (3,Р(л%у) | V,3v/?U,y,z))vVvVvTCv,y) (V^3v/?(x,y,z)>tVvVzr(A',y,z))vP(y,z) 3JKVyP(z,Jc,y)-»(3z/?(jc,r,z)|7'(jc,y)) 1 (V,Vy/>(*, z) i 3:Я(л% у, г)) л Г(л% г) (3,Vv/?(A-,y,r)|3,PUy,z))v7(y,z) Vt3xR(xtt) -» 3_P(a;,z) л VaT(a-,v) (3rV>,P(y,jc,r)|eUy,z))->VATU,y) (VA.3vPUy,z)|rU,r))|Vv/?Cv,y) (3,V/(x,y,r) -> ЗлТ(л',у» -> /?(.v,r) (VJCV;yPUy,r)|3AT(x,y))veU,y,z)
Предикаты 207 Таблица 4.1.5 (окончание) № 23 24 25 26 27 28 29 30 D 1 (/>(*,у,z) | VДтУ,'))лV,/?(x,z) 1 (УД,Р(д:^,г)>1Ууе(д:,>',г))-^3АТ(д:,г) (3,rVvP(x,>',z)v3ve(A-,v,0)|SU,y,z) 3Jri?U,y,z)A(VJtVie(y>z,/)iP(z^>y)) Vy32PUf,yfz)->(i?Uy.0|3^V£rU,z,y)) 3A.PUy,z) -> 3vV.C(r, v,z)v tf U,v,0 3,VvP(;t,}>,r) л Г( v,z,r) -^ Vy\!zQ(x,y,t) 3xP(x,z,y)v(\/x3:Q(x,y,t)\R(x,y)) Пример решения задания 4.1.5 1. Представить в приведённой форме предикат \/3xP(x,y,z)<+R(y,z). Воспользуемся формулой a<r^b = a-bva-b. \/3,P(xfy,z)^R(y,z) = Vz3xP(x,y,z)-R(y,z)vV3xP(x,y,z)-R(y,z). Воспользуемся теоремами об отрицании кванторов. Получим: 3yxP(x,y,z)-R(y,z)vVz3xP(x,y,z)-R(y,z). Так как кроме кванторов, символов конъюнкции, дизъюнкции и отрицания в формуле не используются другие символы предикатных опера- ций, а отрицание относится лишь к предикатным буквам, приве- дённая форма получена. 2. Представить в предварённой нормальной форме предикат 3xP(x,y,z)->Vx3yR(x,y,z) I Т(х, z). Воспользуемся формулами а —> b = a v b, aib = a-b и а = а.
208 Глава 4 Получим: ЗхР(х, у, z) -> Vx3yR(x, у, z) <l Т(х, z) = = ЗхР{х, у, z) -> V х3 yR(x, у, z) • Т(х, z) = = &хР(х, у, z) -> V Д, #(*, >>, z)) - T(x,z) = = (Э,/>(*, у, z) v 4x3yR(x, у, z)) • Г(*, z). Переобозначим переменные: (3Д|/>(*,,у,z) v V,2ЭЛR(x2,yi,z))-Т(х,z) = = (VТ| P(x]ty,z) v Vv.23 v. R(x2,.у,,г))• Г(*,г). Теперь можно вынести все кванторы в начало формулы: VA. Vx. 3Л ((/>(*,, у, г) v VA2 Я(*2, у,, г)) • Г(х, z)). Предварённая нормальная форма получена. Задание 4.1.6 1. Записать с помощью кванторов высказывание а. 2. Составить высказывание "не а". 3. Привести пример доказательства на основании высказыва- ния "не а". Таблица 4.1.6 К2 1 2 3 4 5 6 7 а функция f(x) непрерывна на (а,Ь) числовая последовательность {ап} имеет пределом -<» функция f(x) равномерно непрерывна на (а, Ь) функция f(x) дифференцируема в точке х0 функция f(x) ограничена на R векторы линейного векторного пространства линейно зависимы функция f(x) непрерывна в точке х0
Предикаты 209 Таблица 4.1.6 (окончание) № 8 9 10 11 12 13 14 IS 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 а 1 числовой ряд с общим членом ап сходится к сумме S функциональная последовательность fn(x) сходится поточечно к f(x) на (а,Ь) функциональная последовательность fn (л) сходится равномерно к f(x) на (а,Ь) 1 функция /(л) стремится к -«> при х-^+°° числовая последовательность {ап} ограничена сверху функция f(x) монотонна на [а,Ь] точка л'0 является точкой минимума функции f(x) бинарное отношение ф является связным числовая последовательность {а,} фундаментальна функция f(x) непрерывна хотя бы в одной точке интервала (ауЬ) функция f(x) стремится к числу а при х—>-°° функция достигает наибольшего значения на отрезке в точке х0 бинарное отношение ф является антисимметричным функция /(л) разрывна хотя бы в одной точке интервала (а,Ь) функция f(x) имеет в точке д0 конечный скачок булева функция f(xltx^,...,xn) монотонна и сохраняет 0 множество А является собственным подмножеством В булева функция /(a*j,.\>>,...,*„) является двойственной к функции g(xx,x2,.~,xn) функция f(x) имеет на отрезке [а,Ь] конечное число точек разрыва число sup X является точной верхней гранью числового множества X функция f(x) имеет в точке х0 бесконечный скачок график R является композицией графиков Р и Q множества А и В находятся в общем положении
210 Глава 4 Пример решения задания 4.1.6 Решим задание 4.1.6 для высказывания а: числовая последова- тельность {ап} является бесконечно малой. 1. Запишем данное определение а с помощью кванторов, представив предикатную формулу в предварённой нормальной форме: Ve3yv V„(8 > 0 -^ (п > N -^| ап \< е)). 2. Возьмём отрицание от этого определения, применив фор- мулу а—^Ъ — а-Ь, а также теоремы об отрицании кванторов: \/E3NXfn(8 > 0 -> (п > N ->| ап |< 8)) = = Зе3уу\//г(8 > 0 —> (п > N —>| ап |< 8)) = = Зе\/уу V,,(8 > 0 -> (п > N ->| ап |< 8)) = = 3eVyv3/I(е > 0 -»(и > /V —>| ап |< 8)) = = 3e\fN3n(е > 0 л п > N —>| ап |< 8) = = Зе\/дгЗ/г(8 > 0 л я > N л| я„ |< е) = = Зе\/#3Л (е>0л«>TV л|ап |>8). Отрицание от а получено, то есть получено определение того, что числовая последовательность {я„}не является бесконечно малой. 3. Докажем на основании полученного определения, что чи- словая последовательность с общим членом ап =( — 1)п -п не является бесконечно малой. Действительно, существует 8 = 0,5, причём для любого /V найдётся п = N +1. Очевидно, п > N. Тогда | ап |=| (-1)" • п |= л2 > 0,5. Доказательство закончено.
Глава 5 Комбинаторика 5.1. Сочетания, размещения, перестановки Пусть имеется п предметов, отмеченных числами 1,2,...,п. Из этих предметов выбираем один, записываем число, на нём изображённое, а сам предмет либо возвращаем назад (в этом слу- чае говорят о выборе с возвращением), либо он убирается и больше не может быть выбран (в этом случае говорят о выборе без возвращения). Повторяем эту процедуру к раз. Запись, полученная в результате всех действий, называется выборкой из п элементов по к. Запись, полученная по схеме выбора с возвращением, называ- ется выборкой с повторениями, а запись, полученная по схеме выбора без возвращений, называется выборкой без повторений. Если две выборки, отличающиеся только порядком записи символов, считают различными, то говорят о размещении из п элементов по к. Если две выборки, отличающиеся только порядком записи символов, считают совпадающими, то говорят о сочетании из п элементов по к. —к Через Ап обозначают число различных размещений с повто- рениями из п элементов по к. An =пк
272 Глава 5 Через Ап обозначают число различных размещений без по- вторений из п элементов по к. (п-к)\ Через Сп обозначают число различных сочетаний без повто- рений из п элементов по к. с* = nl п к\{п-к)\ Через Сп обозначают число различных сочетаний с повторе- ниями из п элементов по к. ск - Гк Размещение из п элементов по п называется перестановкой п элементов. Число различных перестановок п элементов обо- значают Рп. Р =п] i п it. Пусть имеется кх элементов 1-го типа, к2 элементов 2-го ти- па,..., кт элементов т-го типа, причём элементы одного типа считаем неразличимыми. Тогда мы будем говорить, что у нас имеются перестановки с повторениями, и количество таких пе- рестановок выражается числом. Р{кьк2,..,кт)- kx^^kl Задание 5.1.1 Сколькими способами из колоды карт в 36 листов можно вы- брать неупорядоченный набор из 5 карт так, чтобы в этом наборе было бы точно:
Комбинаторика 213 Таблица 5.1.1 № 1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 16 1 17 18 19 20 21 22 23 24 25 26 27 28 29 1 30 Условия 1 король, 2 дамы, 1 пиковая карта 1 крестовая карта, 2 дамы, нет червей хотя бы 4 крестовые карты, 1 туз 3 дамы, 2 крестовые карты 1 бубновая карта, 2 крестовых, 1 дама 2 бубновые, 2 крестовые карты, 1 туз по крайней мере 4 пиковые карты, 1 дама 2 карты чёрной масти, 2 дамы 1 туз, 1 валет, 1 карта красной масти 3 туза, 3 карты чёрной масти 1 дама, 1 карта пик, 2 крестовых карты 2 дамы, 2 туза, 1 карта пиковой масти дама и король одной масти, 1 пиковая карта 1 король, 2 дамы, 1 карта красной масти не меньше 4 красных карт, 2 туза 2 чёрных карты, 1 карта червей, 1 туз 3 короля, 2 бубновых карты 1 король, 1 дама. 1 крестовая карта 2 крестовых карты, 1 бубновая, 1 дама 1 бубновая карта, 2 дамы, нет червей 3 бубновых карты, 2 дамы, 1 валет 2 туза, не меньше 3 пиковых карт 2 карты красной масти, 3 туза 2 дамы, 1 бубновая карта, 1 пиковая карта 1 валет, нет дам, 3 чёрные карты 2 туза, по крайней мере 4 красные карты валет и дама чёрной масти, не более 1 туза 1 туз, 3 дамы, не больше 2 карт красной масти 2 крестовые карты, хотя бы 2 туза 2 дамы, 1 король, нет червей 1
214 Глава 5 Пример решения задания 5.1.1 Сколькими способами из колоды карт в 36 листов можно вы- брать неупорядоченный набор из 5 карт так, чтобы в этом на- боре было бы точно два туза, одна дама, одна бубновая карта. Рассмотрим случаи: 1. Среди пяти выбранных карт есть бубновая дама. Бубновую даму можно выбрать единственным способом, два туза будут выбираться из трёх, т. к. бубновый туз не может быть выбран, и число способов выбора двух тузов равно С3~ = 3, к вы- бранным трём картам надо добавить до пяти ещё две карты так, чтобы они не были дамами, тузами и бубновыми картами. Таких карт в колоде 21 штука. Число неупорядоченных выбо- 21! 21-20 рок из 21 по 2 без повторений равно С^ = = = 210. ~* »Jl ~/ • £* По правилу произведения, число способов выбора 5 карт, среди которых есть бубновая дама, равно 1 • 3 • 210 = 630. 2. Среди пяти выбранных карт есть бубновый туз. Бубнового туза можно выбрать единственным способом, вто- рого туза к нему можно добавить тремя способами, выберем лю- бую даму из трёх, т. к. бубновую даму выбирать не имеем права, этот выбор может быть сделан тремя способами, к выбранным трём картам надо добавить до пяти ещё две карты так, чтобы они не были дамами, тузами и бубновыми картами. Число способов выбора этих двух карт, как уже рассматривалось раньше, равно 210. По правилу произведения, число способов выбора 5 карт, среди которых есть бубновый туз, равно 1 • 3 • 3 • 210 = 1890. 3. Среди пяти выбранных карт нет бубнового туза и бубновой дамы. Выбираем одну даму из трёх (три способа), два туза из трёх (С3 =3 способа), одну бубновую карту, не являющуюся тузом или дамой (семь способов) и одну карту, не являющуюся тузом, дамой или бубновой картой (21 способ). Число комбинаций рав- но 3 • 3 • 7 • 21 = 1323.
Комбинаторика 215 Общее число способов выбора 5 карт, удовлетворяющих требованиям задачи, по правилу суммы, составит 630 + 1890 + + 1323 = 3843. Ответ: 3843 способа. Задание 5.1.2 Сколько различных слов можно получить перестановкой букв слова а? Таблица 5.7.2 № 1 2 3 4 5 6 1 7 1 8 1 9 10 1 П 1 12 1 13 14 1 15 1 16 а атаман ворон интернирование взбрыкнул пастух околоток криминал переходим перешеек диктатура катастрофа танкетка комитет парламент диссидент полумера Условие согласные идут в алфавитном порядке, но буквы "а' не стоят рядом две буквы "о" не стоят рядом согласные и гласные чередуются, гласные идут в алфавитном порядке между двумя гласными находятся 3 согласные между двумя гласными расположены 2 согласные ровно 3 буквы "о" не идут подряд пятое и седьмое места заняты согласными согласные и гласные чередуются четыре буквы "е" не идут подряд как гласные, так и согласные идут в алфавитном по- рядке не меняется порядок согласных букв запрещено буквосочетание "ант" гласные не стоят рядом и разделяются буквами "/и" согласные идут в алфавитном порядке, гласные — в порядке, обратном алфавитному гласные чередуются с парами согласных не встречается буквосочетание "мурло"
216 Глава 5 Таблица 5.1.2 (окончание) № 17 18 19 | 20 1 21 | 22 1 23 1 24 1 25 | 26 27 | 28 | 29 | 30 а министр передел приватизация салага президент кишмиш полномочия логарифм ультиматум переворот капитуляция легитимность белиберда коммунизм Условие нельзя сказать, что согласные идут в алфавитном порядке в начале и в конце слова стоит согласная буква чередуются пары гласных и согласных букв буква "я" идёт непосредственно после "с" согласные идут в алфавитном порядке одинаковые буквы не идут друг за другом никакие гласные не стоят рядом второе, четвёртое и шестое места заняты согласными между буквами **w" стоят все гласные и только они не больше одной пары одинаковых букв стоят рядом слово начинается с буквы "а\ чередуются гласные и согласные буквы не присутствуют буквосочетания "'гимн" и "тост"' между буквами "б" стоит блок из четырёх гласных не встречается сочетание букв "муки" Пример решения задания 5.1.2 Сколько различных слов можно получить перестановкой букв слова огород так, чтобы три буквы ио " не стоячи бы рядом? Общее количество различных слов, полученных перестанов- кой букв слова огород, равно Р(ЦЦ)=(3 + 1 + 1 + 1)!^ = 6-5-4д120. 3!-1!-1!-1! 3! Если в каком-то слове все три буквы "о" стоят рядом, то трой- ную "о" можно считать единым символом, и количество слов, в которых три буквы "о" стоят рядом, равно Р(4) = 4! = 24. В итоге получаем: 120 - 24 = 96. Ответ: 96 слов.
Комбинаторика 217 5.2. Бином Ньютона и полиномиальная формула Некоторые свойства биномиальных коэффициентов: 1)СЯ°=С;=1; С:=СГ=п; 2) С* = С"~к — свойство симметричности; 3) С* = С*ч + С*!,1 — свойство арифметического треугольни- ка', 4)с„°+с>сл2+...+с;=2" c„°-c;+^-... + (-i)"c;=oj - свойства сумм. Справедлива формула бинома Ньютона: (я+ x) *_.* к=0 Справедлива также полиномиальная формула: п (х, +х2+... + хт)п = _ Е Р(*1,*2,.".*ЯХ'•#•••*»"• М#0 *IHeW0 _(кх+к2+... + кт)\ Р{кх,к2,..',кт)= v * "z ш/" — полиномиальные коэф kx\-k2\-...-km\ фициенты. Задание 5.2.1 Найти наибольший член разложения бинома {а + Ь)п. Таблица 5.2.1 № 1 2 а ^ л/3 Ъ 3 10 п 17 17 № 3 4 а V^ 3 ъ 2 7б и 13 12 1 № 5 6 а ^ 3 ь 3 Vio 71 15 19
218 Глава 5 Таблица 5.2J (окончание) Хо 7 8 9 10 11 12 13 14 а V" 3 л/8 4 лДз 4 V? 3 ft 4 Vl2 3 2V3 3 Vi3 2,5 л/3 /Z 14 13 12 11 13 10 21 18 № 15 16 17 18 19 20 21 22 а л/5 2,2 л/6 3,5 Vio 3,2 V10 2,8 6 з V? 2,5 VTT 3,3 # 2,8 V7 и 10 13 11 10 13 9 15 19 № 23 24 25 26 27 28 29 30 а 7з 2,8 Я 2,3 V? 3,5 л/5 3,2 Ь 1,9 л/6 2,5 # 2,7 лДз 2,3 Vio п 18 17 16 20 18 15 17 20 Пример решения задания 5.2.1 Найти наибольший член разложения бинома (1 + л/3) Пусть Тк — наибольший член разложения бинома (1 + V3)100, r^cVl100"*-^)*. Тогда 7i>7i_, и Тк>Тк+1. п [С • (7з)* > с^ ■ (7з)*-' Получаем систему неравенств: J с^-(^/>С-(л/зГ, или 100! к\(100-к)\ 100! к\(100-к)\ •fc/З)* 100! > (Jfc-l)!(101-Jfc)! 100! •(V3/ -1 (* + 1)!(99-*)! •Ф)м.
Комбинаторика 219 После сокращений имеем: Уз\ 1 * 101 —А: > или \(lQl-k)S>k * + 1>(100-*Ь/з' откуда 100 - A: k + l *(1 + л/3)<101л/з Л(1 + л/з>> 100>/з-l' получаем , 100л/з -1 , lOh/з л двойное неравенство для к : р— < к < j=. Подставляя i+V3 i+V3 приближённое значение V3 = 1,732, получим: 63,135 < к < 64,64. Единственное целое значение к, удовлетворяющее этому двойному неравенству, равно 64. Следовательно, наибольший член разложения бинома имеет номер *, равный 64 и Тм = С,6040-1100-64-(л/3)64 = 100! 332 641-36! 100! ,32 Ответ: У1 64!-36! Задание 5.2.2 Из данной пропорции найти хну. № 1 2 3 4 5 Пропорция С>'+1-Гу • Гг_1 -S- 4-? Ctv+1:Слу:СГ1 =3:3:2 С*+2:СУ+1:СУ =42:35:20 4v+l • Чг+1 • Ьл-+1 ~ -3 * Ч • J Сл+1 • Ux+1 • 4v+l _ Ч • J • Ч № 6 7 8 9 10 Таблица 5.2.2 Пропорция С>,+1:С^:СГ1=21:14:6 С>'+2 : С>+1 : С> = 3:5:5 /~ >'+2 . Г v+1 . гу _~ д.* W+1 • 4v+l • Чг+1 ~ z • ч • J 4v+l * 4v+l * 4v+l ~ L ' J ■ 3 C^x:Cl\C^ =14:8:3
220 Глава 5 Таблица 5.2.2 (окончание) № 21 22 23 24 25 26 27 28 29 30 Пропорция гУ+х - ГУ • Г У'1 - IS•S • 1 4v+l -4v+l *4v+l - 1->.J.I Qv+1:Cxv:C-v4 =15:24:28 Cf2 : С-Г1 : C> =1:1:5 C^:C^:Ci+1=6:7:6 4v+l ' 4v+l * 4v+l ~ J * J ' J C>+{:C>:C>-] =1:7:21 Qv+2:C>'+l:C>'=42:35:20 СЙ2:С^/:С^ =45:20:6 C^:Ci+1:C^ =55:22:6 Cf^C^Cf1 =3:4:3 JN»j 11 12 13 14 15 16 17 18 19 20 Пропорция Cf2 : Cf1: С у = 5:3:1 C^f:C^:Ci+1=5:6:5 C^:Ci+1:C^ =14:7:2 | C>'+1:CJ :CXV_1 =6:14:21 CAv+2:CAv+1:Crv =24:9:2 С£?:С$:СЪ =28:12:3 С£}:СЬХ:С£ =6:3:1 Cj>'+1: C>': Cf1 =72:45:20 Ci+2:C^+1:C>'=14:10:5 4v+l ' 4t+l ' 4v+l ~ Z0 ' Z4 ' ' D Пример решения задания 5.2.2 Из данной пропорции С%+ : С % : С%~ =2:2:1 най- ти х и у. Записав отдельно отношение первого члена пропорции ко второму и второго к третьему, после сокращения получим: х\ х\ _ х -у (у + \)\(х-у-1)\ ' у\(х-у)\~~ у + Г х\ х\ _ х - у + I у\(х-у)\'(у-тх- у + 1)\~ у "
Комбинаторика 221 В силу условия задачи мы приходим к системе: Решив её, получим: х = 5, у = 2. х = 5 Ответ: У = 2. *- У = 1 У + 1 А" - у + 1 = 2 Задание 5.2.3 Вычислить данные суммы. № 1 2 3 4 5 1 6 1 7 1 8 1 9 1 10 1 П Таблица 5.2.3 Сумма С,1,+2С2+ЗС,3+... + ,< | 4С2 + 7С3 + 10С* +... + (Зя-2)С; c„2+2c„3+3c,f+...+(,I-i)c;' 1 С^+ЗС,|,+5С; + ...+ (2;!-1)СГ1 -2C,1,+3C,;-4Cn3+... + (-l)"(« + l)C с,|,-2с„2+зс3-...+(-1)"-,/1с;; ЪС{„+5С;+1С1+... + {2п-\)С'^ 2C'+7C2+12C,3+... + (5«-3)C 3C'+1 + 7C,2+1 +11C3+1 +... + (4i. - i)c;+I 5C° + 8C' +11С2 +... + (3/i - 1)C;-2 Ci+1+2Cn2+1+3C^+l+... + («+l)Cn":J 8 Зак. 3332
222 Глава 5 Таблица 5.2.3 (окончание) № 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 Сумма сп2+1+2с,?+1+зС+...+<;;,' 1 С -2с'_, +зс2_, -...+(-1)"-',^;;:' С2 -ЗС3 +5С4 -...+ (-1)я(2л-3)Спл Сп+5С2+9С3+... + (4л-3)С„' <+1 + 7с3+1 +юс„4+1 +...+(Зл+\)с;::1 3Cll+5Cll+7Cll+...+ (2n + 3)C:;l | С --2ся2+1 +зс3+, -...+(-i)"(«+i)c;;^1 | 5Ся°+1 + 8Си+1 +11Си2+1 +... + (Зл + 2)с;-\ С„2+, ~ЗС3+, +5С4+1 -... + (-1)"+,(2л-1)С:,1 2с,2_,+зс3_, +<_,+...+(л- ос;:,1 | 2С„_, + 7С2_, +12С3_, +... + (5л - 8)С:,' 1 Ся2_,+2Ся3_|+ЗСя4_,+...+ (и-2)Сяп:|1 ЗС2+1 - 4С3+, + 5С4+1 -... + (-1)" (,« + 2)C£' 4С,2-7С3 + 10С4-... + (-!)"(Зл-2)С;; 5с2+1 + 9с3+1+1 зс4+, +...+(4л + ос;;:,1 ЗСп-7С2 + 11Ся3-...+ (-1)и-1(4п-1)Сял с2-2с3+зс,4-...+(-о"(л-ос;; 2С2+ЗС3 + 4С4 + ... + (л-0СГ' 2С2 + 7С3+12С4 + ... + (5л-8)С;;
Комбинаторика 223 Пример 1 решения задания 5.2.3 Вычислить сумму С'+2 + ЗС2+2 + 5Cl+2 +... + (2п + Ъ)С:Ц (л > -1). Обозначим искомую сумму через S. Тогда 5 -1=-1 • с„°+2 + С2 + зс,2+2 + 5сп3+2 +...+(2« + з)с;;22. (*) Учитывая свойство С* =С"~к:, можем переписать (*) в виде: S -1 = (2п + 3)С°+2 + (2л + 1)С'+2 +... + С' - С+22. (**) Сложив равенства (*) и (**), получим: 25 - 2 = (2л + 2)С°+2 + + (2л + 2)С'+2 +... + (2л + 2)С£2 + (2л + 2)С^|, откуда 2(5 -1) = (2л + 2)(С°+2 + С,'+2 +... + СЦ1 )• Разделим обе части равенства на 2 и используем свойство Cl"+Ci,+... + C™ = 2'". Получим: 5-1 = (л+ 1)-2"+2, откуда 5=(л + 1)-2и+2 + 1. Ответ: (л + Р-2"+2 + 1. Пример 2 решения задания 5.2.3 Вычислить сумму с!1+2 - ЗС,2+2 + 5Cf1+2 +... + (-1)" (2и + 3)С£| (л > -1). Обозначим искомую сумму через 5. Тогда S +1 = Ся°+2 + С,'1+2 - ЗС2+2 + 5С,]+2 +... + (-1)" (2л + 3)C£f. Можно считать, что S +1 = /' (1), где С° /Ча-) = -^2- + С'+2-ЗС2+2х2 + +5с£2*4 -... +(-1)" (2л+3)c;;:2V,+2.
224 Глава 5 Тогда одна из первообразных для f'(x) будет иметь вид: С0 /М П Х-./2 + 2 2/7+3 + C„+2x-Cn+2x +С„+2л- -...+ (-1) Ся+2дс , или / 00 = --(cj,2 -c,U2+с2+2/ -..л (-D»+2cr2V"+4). Свернув сумму по формуле бинома Ньютона, получим: /(*)= (1-х2)"+2 д: Тогда /'(*) = (1-х2)"+1(2ил-2+Зд:2+1) х 2 . Если II = -1, f'W = ^r-, /'(1) = 2. Если л>-1, /'(*) (l-jc2),7+1(2/ix2 + 3x2+l) х' = 0. Jt=l Учитывая, что S = /'(1)~1, получаем ответ. Ответ: если л = -1, то 5 = 1, если и>-1, то 5 = -1. Задание 5.2.4 Найти коэффициент при х в разложении данного выраже- ния Р по полиномиальной формуле, полученный после раскры- тия скобок и приведения подобных членов. Таблица 5.2.4 № 1 2 3 к 23 96 80 Р (2 + х2-*3)13 (1 + *6-*10)17 (4-,8+/)14 № | 4 5 6 к 130 66 48 Р J U7-2 + x5)26 U7_x3+3)22 (1 + х7-^2)25
Комбинаторика 225 Таблица 5.2.4 (окончание) № 19 20 21 22 23 24 25 26 27 28 29 30 А- 60 9 44 27 56 68 60 17 150 120 34 300 р 1 (1 + л-14-*4)15 (5-jc-jc3)10 (2 + *,0-*4)П (3 + л-3 + л-9)9 (2_.,2+/)29 (1 + л-10-^4)18 <2-*4 + *7)16 (7-Л- + Л'4)14 (l-x'-x1)32 (л-,4+х8-3)15 (х2-*8+2)15 U10_3 + ^4)31 № 7 8 9 10 11 12 13 14 15 16 17 18 k 114 30 18 22 112 46 48 40 132 34 96 57 Р J (3 + *14+л'6)20 (*7+3-*2)16 (2 + л-6-*2)9 (3-х2+л-5)12 J (4 + х18+;с4)28 (1-.г4 + л'6)14 (3 + *5-*3)16 (*3+3-jc4)13 (2-я-Ч,14)23 (4 + х2-*5)17 .(l + ^-jc14)24 (2-a3+a7)19 Пример решения задания 5.2.4 Найти коэффициент при х~ в разложении выражения (3-х +х ) по полиномиальной формуле, полученный после рас- крытия скобок и приведения подобных членов. Общий член разложения по полиномиальной формуле имеет ВИД: 3'П-(-Х2)П-(х5)к-Р(т,П,к\ С^С^С* =2:3:Ъ. Для отыскания всех случаев, в которых возникает х30, решаем в целых неотрицательных числах уравнение 2п + 5к = 30.
226 Глава 5 2п Выразим к: к=6 . Видно, что к принимает целые зна- чения, если п кратно 5. Выпишем все такие случаи: п = 0 => к = 6; п = 5 => к = 4; и = Ю =>. & = 2; n = 15 => Jk=0. Для каждой найденной пары значений п, к значение т нахо- дим из уравнения т + п + к=19. Получим 4 набора (ш; п\ к): (13;0;6),(10;5;4),(7;10;2),(4;15;0). Слагаемые, содержащие Xю, таковы: 313-(-^2)°-(^5)6-Д13Л6); 310-(-^2)5-(^5)4'^(10,5,4); 37-(-^2)10'U5)2 -Р(7Д0,2); 34-(-^2)15-(^5)°- Р(4,15,0). зо В итоге, коэффициент при х имеет вид: 19! ( 313 ю л + 13!0!6! 10!5!4! 7!10!2! 4!15!0! Ответ: 19! 13 10 + 13!0!6! 10!5!4! 7!10!2! 4!15!0! 5.3. Формула включений и исключений Пусть имеется N предметов, которые могут обладать свой- ствами а1,а2,...,ос/1. Обозначим через N(a],a2,-..,CLk) количес- тво предметов, обладающих набором свойств а,,а2,...,аЛ, а че- рез N(a\,a2,...,ak) — количество предметов, не обладающих ни одним из свойств аиа2,...,а^. Тогда справедлива формула вклю- чений и исключений: N(a\,a2,...,an) = N-N(a^-N(a2)-...-N(aJ + N(al,a2) + + Л^(а1,а3)+...+Л^(а/г_1,а^-Л^(а1,а2,аз)-...+(-1У,/У(а1,а2,...,а//).
Комбинаторика 227 Количество перестановок п различных предметов, при кото- рых ни один предмет не стоит на своём первоначальном месте, Я /^П выражается числом Dn = л!-С)г{п-\)\ + С„(п-2)!-... + (-!)"С," или D„ = п\ Г. 1 1 1 1—+ +...+(-1)'2 — 1! 2! 3! п\ Количество перестановок п различных предметов, при кото- рых ровно к предметов стоят на своих первоначальных местах, выражается числом Dnk -Сп Dn_k. Задание 5.3.1 Сколько натуральных чисел от 1 до 10000 не делится ни на а, ни на (3, ни на у, ни на 5? Таблица 5.3.1 № 1 2 3 4 5 6 7 8 9 10 а 4 2 3 6 5 3 2 3 11 11 Р 5 3 4 7 8 4 4 7 3 8 Y 6 4 5 3 9 5 5 6 9 5 5 7 - 5 8 2 4 6 7 11 10 4 № 11 12 13 14 15 16 17 18 19 20 а 7 8 3 13 3 11 17 2 3 13 Р 9 5 8 9 5 8 2 5 4 2 Y 5 2 16 5 6 3 3 4 6 3 5 3 9 7 3 13 2 4 17 17 4 № 21 22 23 24 25 26 27 28 29 30 а 2 2 11 3 4 19 5 11 12 23 Р 5 8 7 6 8 5 6 3 3 2 Y 4 5 9 5 19 10 7 9 5 8 5 13 13 3 4 3 2 8 5 19 7 Пример решения задания 5.3.1 Сколько натуральных чисел от 1 до 10000 не делится ни на 2, ни на 4, ни на 5, ни на 9 ?
228 Глава 5 Очевидно, что если число не делится на 2, то оно и подавно не будет делиться на 4. Поэтому число 4 в условии можно просто опустить. Заметим, что на 2 делится каждое второе натуральное число, на 5 — каждое пятое, на 9 — каждое девятое, на 2 и на 5 — каж- дое 10-е и т. д. Воспользуемся формулой включений и исключе- ний, обозначив искомое число через Л/, а через [а] будем обо- значать целую часть числа а. Получим: М =10000- 10000 2 — 10000 5 — 10000 9 + 10000 10 + 10000 18 + + 10000 45 10000 90 = 10000 - 5000 - 2000 -1111 + 1000 + 555 + + 222-111 = 3555. Ответ: 3555 чисел. Задание 5.3.2 Подсчитать количество различных перестановок цифр дан- ного числа ос, при которых никакие п одинаковых цифр не идут друг за другом. Таблица 5.3.2 № 1 2 3 4 5 6 7 8 9 110 п 3 2 2 3 2 3 2 2 2 3 а 4244522 | 6858757 1 1249248 32331252 46749679 53233252 383448 78959681 443536 3884383 № И 12 13 14 15 16 17 18 19 20 п 2 2 3 2 3 2 2 2 3 2 а 5612651 1 7434276 1 23992921 78974894 13341134 565262 49129258 352366 1887181 | 6556373 № 21 22 23 24 25 26 27 28 29 [зо п 2 3 2 3 2 2 2 3 2 2 а 4954512 1 37665363 1 42535234 | 17721212 534354 52566314 134534 9395339 | 3744753 825824
Комбинаторика 229 Пример решения задания 5.3.2 Подсчитать количество различных перестановок цифр числа 123132, при которых никакие 2 одинаковые цифры не идут друг за другом. Общее количество различных перестановок цифр числа 123132 равно Р(2,2,2) = — = = 90. F 2!2!2! 8 Если две какие-то одинаковые цифры стоят рядом, мы можем считать эту двойную цифру единым символом. Тогда количество перестановок, содержащих этот символ, равно 5' 120 Р(2,2Д) = -^— = — = 30. 2!2!1! 4 Заметим, что количество таких случаев равно С\ =3. Аналогично, количество перестановок, в которых присутст- 4! 24 вуют пара двойных символов, равно Р(2,1,1) = = — = 12, количество таких случаев равно С3 = 3, а общее число перестано- вок, образованных парами одинаковых цифр, равно />(Щ) = 3! = 6. В итоге, применяя формулу включений и исключений, будем иметь: 90-3-30 + 312-6 = 30. Ответ: 30 перестановок. Задание 5.3.3 Сколько существует перестановок п различных предметов, при которых на своих первоначальных местах окажутся ровно к или ровно т предметов? Таблица 5.3.3 № 5 6 п 9 8 к 6 3 т 4 5 № 3 4 п 1 6 к 3 2 т 4 3 № 1 2 п 9 8 к 1 6 т 3 5
230 Глава 5 Таблица 5.3.3 (окончание) № 7 8 9 10 11 12 13 14 п 1 6 9 8 7 6 9 8 Л 3 3 5 4 2 1 4 2 т 5 4 3 2 3 4 2 5 № 15 16 17 18 19 20 21 22 п 1 6 9 8 7 6 9 8 к 4 2 5 3 1 3 3 2 т 2 1 2 4 3 1 4 6 № 23 24 25 26 27 28 29 30 п 1 6 9 8 7 6 9 8 к 2 4 3 4 5 2 6 6 т 6 2 5 6 2 5 3 3 Пример решения задания 5.3.3 Сколько существует перестановок 9 различных предметов, при которых на своих первоначальных местах окажутся ровно 2 или ровно 6 предметов? Количество различных перестановок девяти предметов, при которых на своих первоначальных местах окажутся ровно 2 пред- мета, равно D92, а количество различных перестановок девяти предметов, при которых на своих первоначальных местах ока- жутся ровно 6 предметов, равно D9 6. Применяя правило суммы, а также формулу для вычисления Dnk, имеем: Do о + Do г, = Co2D^ + Co6D, = '9,2 '9,6 '9^7 -9^3 9! 2!7! i\{\-- -L-i- JL__L i-_J_l 1! 2! 3! 4! 5! 6! 7! + + 9! 3! i-U-L-I 1! 2! 3! 7 6!3! Ответ: 66912 перестановок. ; 9! 9! 1854 + 2-66912. 7!2! 6!3!
Комбинаторика 231 5.4. Задачи о распределениях Пусть имеется п шаров, которые распределяются по к ящи- кам. Тогда количество способов распределения для различных случаев равно: 1) шары различимы, ящики различимы, все ящики непусты: к-\ С/ * (л,Л) = 2(-1)' С£ (ik i)w; /=0 2) шары различимы, ящики различимы, допускаются пустые ящики: U(n,k) = kn\ 3) шары различимы, ящики неразличимы, все ящики непусты: V*(n,k) = ; к\ 4) шары различимы, ящики неразличимы, допускаются пустые ящики: к V(n,jfe)=2v*(w,i); 5) шары неразличимы, ящики различимы, все ящики непусты: Г *(",*) = С*:,1 ; 6) шары неразличимы, ящики различимы, допускаются пустые ящики: nn,k) = C^U, 7) шары неразличимы, ящики неразличимы, все ящики непусты: W*(n,k) = W(n-k,k); 8) шары неразличимы, ящики неразличимы, допускаются пус- тые ящики: it w(w,fc)=2w*(/i,o. i=i Последняя пара совместно рекурсивных формул позволяет сводить вычисления количества способов распределения при больших значениях п и к к меньшим значениям этих переменных.
232 Глава 5 Задание 5.4.1 Сколькими способами можно распределить п различных от- крыток в к 1) различных; 2) неразличимых конвертов, если: а) все конверты непусты; б) допускаются пустые конверты. (Всего рассмотреть 4 случая.) Таблица 5.4.1 № 25 26 27 28 29 J 30 п 11 10 9 8 13 12 к 1 7 7 7 3 5 № 19 20 21 22 23 24 п 11 10 9 8 7 12 к 6 6 3 3 6 7 № 13 14 15 16 17 1 18 п 11 10 9 8 7 12 к\ 3 3 6 6 3 3 № 7 8 9 10 11 12 Л 11 10 9 8 7 12 * 4 4 4 4 4 6 1 № 1 2 3 4 5 1 6 А! 11 10 9 8 7 12 Т1 5 5 5 5 5 4 Пример решения задания 5.4.1 Решить задачу 5.4.1 для п = 6, к = 4. 1а) Если конверты различимы, и все они должны быть непус- ты, то число способов распределения равно f/*(6,4) = C^46-C{36 + C4226-C| =4096-4-729 + 6-64-4 = 1560; 16) если конверты различимы и допускаются пустые конвер- ты, то число способов распределения равно (/(6,4) = 4 = 4096; 2а) если конверты неразличимы и все они должны быть непус- ты, то число способов распределения равно V»(6.4) = ^M>=i*»=65; 4! 24 26) если конверты неразличимы и допускаются пустые кон- верты, то число способов распределения равно у (6,4) = V * (6,4) + V * (6,3) + V * (6,2) + V * (6,1) =
Комбинаторика 233 .e+^M+ii!№»+£,.(<u,. 3! 2! .0 -,6 гЛ об , ~2 ,6 ^0 -.6 ^1 = 65 + + = 65 С3-3"-Сз-2"+С3-1" , C2"-2"-Q 6 1-729-3-64 + 3 64-2 + С,и = 6 2 Ответ: 1а) 1560: 16)4096; 2а) 65; 26) 187. + 1 = 65 + 90 + 31 + 1 = 187. Задание 5.4.2 Сколькими способами можно представить число п в виде к а) неотрицательных б) положительных целых слагаемых, если представления, от- личающиеся только порядком слагаемых, считаются: 1) различ- ными, 2) одинаковыми. (Всего рассмотреть 4 варианта.) Таблица 5.4.2 № 1 2 3 4 5 6 п 12 11 10 9 8 7 it 5 5 5 5 5 5 № 7 8 9 10 11 12 /2 12 11 10 9 8 7 * 4 4 4 4 4 4 № 13 14 15 16 17 18 /z 12 11 10 9 8 7 Л 6 3 3 6 6 3 № 19 20 21 22 23 24 п 12 11 10 9 8 7 к 3 6 6 3 3 6 №' 25 26 27 28 29 30 п 12 11 10 9 8 13 к\ 1 7 7 7 7 3 Пример решения задания 5.4.2 Решить задачу 5.4.2 для п = 13, /: = 4. Данная задача равносильна задаче распределения 13 неразли- чимых шаров (т. е. единиц, образующих число 13) по 4 ящикам (4 слагаемым). 1а) Если слагаемые неотрицательны, а представления, отли- чающиеся только порядком слагаемых, считаются различными,
234 Глава 5 то количество различных способов представления числа 13 в ви- 4-1 з 16! де суммы 4 слагаемых равно Г(13,4) = C13+4-i = ^16 = —~~~ = 560. 16) Если слагаемые положительны, а представления, отличаю- щиеся только порядком слагаемых, считаются различными, то количество различных способов представления числа 13 в виде 4-1 з 12! суммы 4 слагаемых равно Г*(13,4) = C13_i = С12 =-—- = 220. 2а), 26). Для. нахождения количества различных способов представления числа 13 в виде суммы 4 слагаемых, если пред- ставления, отличающиеся только порядком слагаемых, считают- ся различными, нужно найти числа W(13,4) и для случаев неот- рицательных и положительных слагаемых соответственно. Заметим, что W*(n9l)=W(n9l)=l\ если п-к, то W*(n,k) = l\ если п<к, то W *(п,к) = 0, значит, W * (1,2) = IV * (1,3) = W* (1,4) = 0; W(1,2) = 1V*(1,2) + W*(1,1) = 0 + 1 = 1, аналогично, W(l,3) = W(l,4) = 1. W*(2,1) = JV*(2,2) = 1; W * (2,3) = W * (2,4) = 0; W(2,2) = W*(2,1) + IV*(2,2) = 1 + 1 = 2; W(2,3) = W*(2,l) + W*(2,2) + W*(2,3) = l + l + 0 = 2\ аналогично, W(2,4) = 2; W * (3,2) = W(3 - 2,2) = W(l,2) = 1. Продолжим вычисление коэффициентов W(n,k) и W*(n,k), заполним таблицу, в левом верхнем углу каждой клетки будем писать значение W(n,k), а в правом нижнем углу — W*(n,k). Получим табл. 5.4.2а. Как видно из таблицы, W*(13,4) = 18, Щ13,4) = 39.
Комбинаторика 235 Таблица 5.4.2а п / / к 1 2 3 4 5 6 7 От 1 вет: 1а 2 1 0 2 1 2 1 3 2 3 2 4 3 4 3 0 560: 3 1 0 2 0 3 1 4 1 5 2 7 3 8 4 16)2: 4 1 0 2 0 3 0 5 1 6 1 9 2 11 3 >0: 2а) /7 / [/к 8 9 10 11 12 13 1 2 5 4 5 4 6 5 6 5 7 6 7 6 3 10 5 12 7 14 8 16 10 19 2 21 14 4 15 5 18 6 23 9 27 11 34 ! 15 39 18 5.5. Арифметический треугольник Коэффициентами обобщённого арифметического треугольни- ка называются числа, которые определяются так: Ст(1к) = 1, если к < w-1; 0, если к> ш -1. Если п > 1, то Ст(п,к) = Сш(/г-и)+Сш(/г-и-1)+...+Ст(/2-1,0), есш к~т~1; Ст(п-Ък)+Ст(п-Ък-1)+..лСт(п-Ък-т+1), если к >т-\.
236 Глава 5 Теорема: Число Ст(п,к) равно количеству п -разрядных чисел в т -ичной системе счисления, сумма цифр которых равна к (ес- ли допускаются числа, начинающиеся с 0). Свойства коэффициентов обобщённого арифметического тре- угольника: 1) С2(п,к) = Скп; 2) Ст(п,к) = Ст(п,(т-1)п-к) (свойство симметричности); 3) Ст(п,0)+Ст(пХ)+..лСт(пХт-1)п) = тп (свойство суммы). Задание 5.5.1 Наносятся т цифр 1,2,.., т на т различных шаров (на каж- дый шар пишем ровно одну цифру), после чего шары помещаем в мешок. Из мешка наудачу извлекаем шар, записываем число, изображённое на нём, и возвращаем шар в мешок. Эта процедура повторяется п раз. Сколько существует различных случаев, при которых сумма выписанных чисел оказалась бы равной к ? Таблица 5.5.1 № 21 22 23 24 25 26 27 28 29 30 т 6 4 13 11 9 7 5 3 12 19 п 5 7 4 4 5 5 6 9 4 5 к\ 15 19 19 21 20 20 17 16 19 14 № 1 2 3 4 5 6 7 8 9 10 т 13 11 9 7 5 3 12 10 8 6 ГС 4 4 5 5 6 9 4 5 5 5 к 1 21 20 21 22 19 18 21 16 21 16 № 11 12 13 14 15 16 17 18 19 20 /71 4 13 11 9 7 5 3 12 10 8 п 1 4 4 5 5 6 9 4 5 5 к 1 18 20 19 22 21 18 17 20 15 22
Комбинаторика 237 Пример решения задания 5.5.1 Решить задачу 5.5.1 для т = 8, п = 4, к = 21. Перейдём от шаров, помеченных цифрами 1,2,...,8, к шарам, помеченным цифрами 0,1,2,...,7. Тогда сумме 21, полученной "старыми" метками, будет соответствовать сумма, образованная "новыми" метками, которая равна 21 - 4 = 17. Тогда каждой "новой" записи будет соответствовать некоторое 4-значное число в 8-ичной системе счисления, причём некоторые числа могут начинаться и с нулей. Общее количество 4-разрядных чисел в 8-ичной системе счисления, сумма цифр которых равна 17, выражается коэффициентом С8(4Д7). По свойству симметричности, С8 (4,17) = С8 (4,7 •4 -17) = = С8(4,11). Найдём коэффициент С8(4,11), построив арифмети- ческий треугольник 8 порядка (табл. 5.5.1а). Таблица 5.5.1а п^Л 1 2 3 4 0 1 1 1 1 1 2 3 2 1 3 6 3 1 4 10 4 1 5 15 5 1 6 21 6 1 7 28 7 1 8 36 8 0 7 ! 42 9 0 6 46 10 0 5 48 11 0 4 4$ 284 С8(4Д1) = 15 + 21 + 28 + 36 + 42 + 46 + 48 + 48 = 284. Ответ: 284 случая. Задание 5.5.2 Игральная кость бросается п раз. Во сколько раз число спосо- бов набора суммы в р очков превышает число способов набора суммы в к очков?
238 Глава 5 Таблица 5.5.2 № 21 22 23 24 25 26 27 28 29 30 /2 5 5 5 4 5 5 5 4 5 5 Р 16 13 18 17 19 20 16 15 17 18 к 24 24 15 10 12 14 24 21 23 13 № 11 12 13 14 15 16 17 18 19 20 п 5 4 5 5 5 4 5 5 5 4 Р 19 12 14 15 13 15 14 15 16 16 к 15 21 22 21 23 12 23 24 20 i и № ! 1 2 3 4 5 6 7 8 9 10 п 5 5 5 4 5 5 5 4 5 5 Р 18 19 16 17 17 21 19 15 15 | 20 к 1 20 21 14 18 15 13 11 23 23 13 Пример решения задания 5.5.2 Решить задачу 5.5.2 для /i = 4, /7 = 13, к -17. Перейдём от кости, грани которой помечены символами 1,2,...,6, к кости, грани которой помечены цифрами 0,1,...,5. Тогда суммам в 13 и 17 очков, полученным с помощью обычной кости, будут соответствовать суммы в 13—4 = 9и 17 — 4= 13 очков, по- лученные с помощью кости с нестандартной разметкой. Но ре- зультаты бросаний нестандартной кости, выписанные подряд, можно воспринимать как четырёхзначное число в шестеричной системе счисления. Количества четырёхзначных чисел в шестеричной системе счисления, с суммами цифр 9 и 13, равны соответственно С6(4,9) и С6(4ДЗ). Заметим, что С6(4,13) = С6(4,5-4-13) = С6(4,7). Для нахождения этих чисел построим обобщенный арифметический треугольник шестого порядка (табл. 5.5.2а). Видим, что С6 (4/7) = 104, С6(4,9) = 140.
Комбинаторика 239 Таблица 5.5.2а pNs£ 1 2 3 4 0 1 1 1 1 1 2 3 2 1 3 6 3 1 4 10 4 1 5 15 5 1 6 21 6 0 5 25 7 0 4 27 104 8 0 3 27 9 0 2 25 140 104 26 Ответ: в 1,346 раза. Задание 5.5.3 Запускается п волчков, у каждого из которых по т граней с нанесёнными на них числами р,/? + 1,...,/? + т-1. Сколькими способами эти волчки могут упасть, набрав сумму в к очков, ес- ли волчки : 1) различимы? 2) неразличимы? Если число способов не превосходит 10, выписать их. Таблица 5.5.3 |№ 21 22 23 24 25 26 27 28 29 1 30 п 5 5 5 5 8 5 5 5 7 5 ш 3 4 5 7 3 4 5 7 3 4 Р 5 2 4 2 2 5 5 3 3 5 к 32 22 34 24 27 30 39 24 29 36 № 11 12 13 14 15 16 17 18 19 1 20 п 4 5 7 4 5 4 6 5 5 5 ш 5 7 3 4 5 7 3 4 5 7 Р 4 2 3 6 2 3 3 3 3 3 к\ 25 23 30 33 22 26 28 25 28 25 № 1 2 3 4 5 6 7 8 9 10 л 7 5 5 5 6 5 5 5 5 5 т 3 4 5 7 3 4 5 7 3 4 Р 2 3 5 2 2 4 5 3 4 3 к 24 26 20 21 21 30 26 27 26 24
240 Глава 5 Пример решения задания 5.5.3 Таблица 5.5.3а Запускается 4 волчка, у каждого из которых по 4 грани с на- несёнными на них числами 5,6,7,8. Сколькими способами эти волчки могут упасть, набрав сумму в 25 очков, если волчки: 1) различимы ? 2) неразличимы ? Перейдём от данных волчков к волчкам, грани которых поме- чены цифрами 0,1,2,3. Тогда сумме 13, полученной с помощью исходных волчков, будет соответствовать сумма 25-5-4 = 5 для "новых" волчков. В дальнейшем будем говорить только о волч- ках с новой разметкой. Рассмотрим случаи: 1) волчки различимы. В этом случае каждому способу набора волчками суммы в 5 очков соответствует четырёхзначное число в четверичной системе счисления, сумма цифр которого равна 5, и количество таких чисел равно С4(4,5). Для нахож- дения этих чисел построим обобщенный арифмети- ческий треугольник четвёр- того порядка (табл. 5.5.3а). Как видим, С4(4,5) = 40. 2) волчки неразличимы. В этом случае введём функцию fm(n,k), где fm(n,k) — количество способов набора суммы к на п волчках, если т — максимальная выпавшая ве- личина баллов. Очевидно, что справедливо рекуррентная формула /«(и Д) = Л.-1 (и* *) + fm-\ (n-lk- т) + +/w_, (w - 2, к - 2m) + .../„,_, (w -t,k- tin), n\k 1 2 3 4 0 1 I 1 1 1 2 3 2 1 3 6 3 1 4 10 4 0 3 12 5 о 2 ! 12 40 где t = m Для нашего случая будем иметь: /3(4,5) = /2(4,5) + /2(3,2). /2(4,5) = /1(4,5) + /1(3,3) + /,(2Д) = 0 + 1 + 1 = 2 /2 (3,2) = /, (3.2) + /, (2.0) = 1 + 1 = 2.
Комбинаторика 241 В итоге получим: f3(4,5) = f2(4,5) +f2(3,2) = 2 + 2 = 4. Выпишем 4 возможные комбинации: 0+0+2+3 , 0+1+1+3, 0+1+2+2, 1+1+1+2. Ответ: 1) 40 способов; 2) 4 способа. Задание 5.5.4 Сколькими способами можно оплатить марками бандероль на сумму к рублей, если есть неограниченное число марок достоин- ством в я, Ъ, с рублей и два способа, отличающиеся только по- рядком наклейки марок, считаются 1) различными? 2) одинаковыми? Если число способов не превосходит 10, выписать их в явном виде. Таблица 5.5.4 № 21 22 23 24 25 26 27 28 29 30 к 23 23 23 23 27 27 27 27 | 27 27 а 4 2 7 3 5 2 3 7 7 8 Ъ 6 7 3 8 3 6 4 | 2 4 [ 3 с 3 5 4 2 7 5 6 5 3 2 № 1 2 3 4 5 6 7 8 9 10 it 25 25 25 25 25 25 24 24 24 24 а 3 6 4 2 3 8 3 6 3 2 £ 5 5 3 5 4 3 5 5 4 5 с 1 2 6 7 7 2 7 2 6 7 № И 12 13 14 15 16 17 18 19 [ 20 к 24 24 26 26 26 26 26 26 23 23 а 3 8 3 2 4 5 4 2 3 1 5 Ъ 4 3 7 5 3 2 7 3 5 6 с 1 2 5 6 6 7 3 8 7 2 Пример решения задания 5.5.4 Решим задание 5.5.4 для к = 20, а = 6, b = 5, с = 3. 1) Пусть /(jfc) означает число способов, которыми можно оп- латить сумму в к рублей марками достоинством в 6, 5 и 3 рубля, если есть неограниченное число марок достоинством в 6, 5, 3 рубля
242 Глава 5 и два способа, отличающиеся только порядком наклейки марок, считаются различными. Тогда справедлива рекуррентная формула /(*) = /(*-6)+ /(*-5)+ /(*-3). Эта формула позволяет вычислять значения функции в точке к через значения функции в точках к -6, к -5, к -3. Очевидно, что при к<0 f(k) = 0. Далее, /(0) = 1, /(1) = 0, /(2) = 0, /(3) = 1, /(4) = 0, /(5) = 1, /(6) = 2; /(7) = /(1) + /(2) + /(4) =0 + 0 + 0 = 0; Д8) = /(2) + /(3) + /(5) = 0 + 1 + 1 = 2; Д9) = /(3) + /(4) + /(6) = 1 + 0 + 2 = 3; /(10) = /(4) + /(5) + /(7) = 0 + 1 + 0 = 1; /(И) = /(5) + /(6) + /(8) = 1 + 2 + 2 = 5; /(12) = /(6) + /(7) + /(9) = 2 + 0 + 3 = 5; /(14) = /(8)+ /(9)+ /(11) = 2 +3 + 5 = 10; /(15) = /(9)+ /(10)+ /(12) = 3 + 1+ 5 = 9; /(17) = /(11) + /(12) + /(14) = 5 + 5 + 10 = 20; /(20) = /(14) + /(15) + /(17) = 10 + 9 + 20 = 39. Итак, /(20) = 39. 2) Пусть g(k;n{,n2,...,np) означает число способов, которыми можно оплатить сумму в к рублей марками достоинством в щ,п2^-,пр рублей, если есть неограниченное число марок каж- дого достоинства и два способа, отличающиеся только порядком наклейки марок, считаются одинаковыми. Для нашего случая справедлива рекуррентная формула: #(20;6,5,3) = g(20;5,3) + g(14;5,3) + g(8;5,3) + #(2;5,3) • Первое слагаемое в правой части этой формулы соответствует случаю, когда 6-рублёвые марки не участвуют в оплате суммы, второе — когда ровно одна 6-рублёвая марка участвует в оплате суммы и т. д.
Комбинаторика 243 Понятно, что g(k\ri) - Очевидно, что#(2;5,3) = 0, а для каждого из остальных сла- гаемых составим рекуррентную формулу: #(20;5,3) = g(20;3) + g(15;3) + g(10;3) + g(5;3) + g(0;3); *(14;5,3) = *(14;3) + g(9;3) + g(4;3); g(8;5,3) = «(8;3) + g(3;3). 1^если k кратно n\ 0,если k не кратно п. Поэтому имеем: g(20;5,3) = 0 + 1 + 0 + 0 +1 = 2; g(14;5,3) = 0 + 1 + 0 = 1; g(8;5,3) = 0 + 1 = 1; g(20;6,5,3) = 2 +1 + 1 + 0 = 4. Выпишем соответствующие представления: 20 = 5 + 5 + 5 + 5; 20 = 6 + 6 + 5 + 3; 20 = 6 + 5 + 3 + 3 + 3; 20 = 5 + 3 + 3 + 3 + 3 + 3. Ответ: 1) 39 способов; 2) 4 способа. 5.6. Рекуррентные соотношения Рекуррентным соотношением k-го порядка называется фор- мула, позволяющая выражать значения члена последовательно- сти с номером п (п> к) через члены этой последовательности с номерами /г-1, п-2,..., п-к. Решением рекуррентного соотношения называется числовая последовательность, обращающая его в верное равенство при подстановке в него формулы общего члена последовательности. Начальными условиями рекуррентного соотношения к -го по- рядка называются первые к членов последовательности, являю- щейся решением данного рекуррентного соотношения. Линейным однородным рекуррентным соотношением к-го порядка с постоянными коэффициентами называется соотноше- ние вида f(n + k) = arf(n + k-l) + a2'f(n + k-2) + ... + ak-f(n). (*)
244 Глава5 Общим решением соотношения (*) называется такое его реше- ние, которое содержит к произвольных постоянных, путём подбо- ра которых можно удовлетворить любым начальным условиям. Характеристическим уравнением соотношения (*) называется уравнение х = al-x~+a2-x~ +... + ак. (**) Теорема: Общее решение соотношения (*) имеет вид: Ди) = Д+Д+... + Д,, где Д =C/jc", если х —действительный корень первой кратно- сти уравнения (*#), где Q — произвольные постоянные. Д = *" -(Cw +nCiA +n2Ci3 +... + nm-lClin)9 если x — действительный корень кратности т уравнения (**), где CiA,Ci2,...,Cinl —произвольные постоянные; Д. = г" (cos и(р • D, + sin иф • Et), если г(со8ф±/sin ф) —комплексно-сопряжённая пара, каждый член которой является корнем первой кратности уравнения (**) и D., £.— произвольные постоянные; Д =r"(cosmp-(A, + иД-.2 +n2Di3 +... + nm~lDim) + • + sinmp-(£,,, +и£,2 +/Г£,з + ... + nw~,E|. JX если г(со8ф±/5тф) —комплексно-сопряжённая пара, каждый член которой является корнем кратности т уравнения (**) и DLl, Di2 ,.,£> w, EiA, £,2 T~>Ei.m — произвольные постоянные. Задание 5.6.1 Найти общее решение рекуррентного соотношения 5-го по- рядка f(n + 5) = a'f(n + 4) + b-f(n + 3) + c-f(n + 2) + d-f(n + l) + e-f(n).
Комбинаторика 245 Таблица 5.6.1 № 16 17 18 19 20 21 22 23 24 25 26 27 28 29 1 30 а -1 0 4 2 -2 -6 -4 3 6 4 -6 0 8 11 7 /? 11 18 3 11 10 -6 3 13 -6 0 -5 19 -12 -23 5 с 29 -4 -34 -40 8 20 34 -11 -20 -14 16 -34 -2 47 -35 d 26 -57 52 44 -33 39 52 -24 39 17 12 -12 13 24 -4 е 8 -36 -24 -16 18 18 24 20 -18 | -6 -16 40 ~6 36 28 № 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 15 а 2 -11 2 9 3 6 7 15 5 5 -2 -2 -6 1 2 Ь 10 -30 6 -26 5 -11 -7 -83 -2 -4 9 11 -6 14 17 с -8 22 -4 20 -27 2 -19 205 -14 -16 22 40 16 -6 -70 d -33 95 -13 24 32 12 16 -216 3 32 -4 44 15 -45 92 е -18 -75 -6 -32 -12 1 -8 20 80 9 1 -16 -24 16 -18 -27 -40 Пример решения задания 5.6.1 Найти общее решение рекуррентного соотношения 5-го по- рядка /(/i + 5) = 4./(n + 4)-4./(/i + 3)-2./(w + 2) + 5-/(W + l)-2./(n). Запишем характеристическое уравнение данного соотношения: х5-4;с4+4;с3+2;с2-5;с + 2 = 0. Непосредственной подстановкой убеждаемся, что хх = 1 — корень характеристического уравнения. Понизим степень уравнения, поделив характеристический многочлен на х-1 по схеме Горнера: 1 1 1 -4 -3 4 1 2 3 -5 -2 2 0
246 Глава 5 В результате деления получили уравнение четвёртой степени: х4-Зх3+х2+Зх-2 = 0. Заметим, что х2 -1 является корнем и этого уравнения, разде- лим левую часть уравнения на х -1: 1 1 1 -3 -2 1 -1 3 2 -2 0 Получено уравнение х3 -2х2 -х + 2 = 0, которое также име- ет^ =1 своим корнем. Понижаем степень уравнения: 1 1 1 -2 -1 -1 -2 2 0 В результате имеем квадратное уравнение х2 -х-2 = 0, кото- рое имеет корни х4 = -1 и х5 = 2. По теореме о виде общего решения линейного однородного рекуррентного соотношения с постоянными коэффициентами, запишем общее решение: f(n) = l" •(Cl+nC2 + n2C3) + (-l)nC4 + C5-2n = = С{+ пС2 + п2С3 + (-1)" С4 + С5 • 2\ Ответ: f{n) = СХ +пС2 + п2С3 +(-1)"С4 + С5 -2". Задание 5.6.2 Найти общее решение рекуррентного соотношения 5-го по- рядка f(n + 5) = a-f(n + 4) + b'f(n + 3) + cf(n + 2) + d-f(n + l) + e-f(n).
Комбинаторика 247 Таблица 5.6.2 № 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |_30 а 2 2л/3 2 -2 -2л/3 -2 4 4л/3 4 -4 -4л/3 -4 -2 -2л/3 -2 6 -2 -4 -4 -2 -4 -4 -8 -16 -16 -8 -16 -16 -2 -4 -4 с 5 -6 7 -8 3 -27 -1 4 2 -3 1 -10 -1 3 -5 d -10 12л/3 -14 -16 6л/3 -54 4 -16>/з -8 -12 4л/3 -40 -2 бл/3 -10 е 10 -24 28 -16 12 -108 -8 64 32 -24 16 -160 "2 12 -20 № 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 15 а 2 2V3 2 2 -^ -2 4 4л/3 4 -4 -4л/3 -4 2 2л/3 2 Л -7 -4 -4 ?, -4 -4 -8 -16 -16 -8 -16 -16 -2 -4 -4 с 8 -3 -4 5 -6 -1 -5 2 3 -2 4 6 -8 27 1 1 d -16 6л/3 8 10 -12V3 -2 20 -8>/з -12 -8 16л/3 24 16 -54Л> -2 е 16 -12 -16 10 -24 -4 -40 32 48 -16 64 96 -16 108 4 Пример решения задания 5.6.2 Найти общее решение рекуррентного соотношения 5-го по- рядка /(/i + 5) = 2^-/(w + 4)-4-/(w + 3)- -2./(п + 2) + фУз/(п + 1)-8/(п). Запишем характеристическое уравнение данного соотноше- ния: ;с5-2л/Зх4+4л:3+2;с2-4л/Зл: + 8 = 0. С помощью группировки разложим левую часть на множители: х3(х2 -2-j3x + 4) + 2(x2 -2у/Зх + 4) = 0, или О3 +2)(Г -2л/3;с + 4) = 0.
248 Глава 5 Рассмотрим два случая: i(n+2nk) 1) х3+2 = 0 => х3=-2=> хъ=2-е 3 , keZ. Если /: = Зи + 1, то х = -у]2, при к-Ъп и fc = 3w-l получаем <£. пару комплексно-сопряжённых чисел с модулями, равными и аргументами ф = ±—. Соответствующие слагаемые в общем решении будут иметь вид: С^-Щ" +(U2)'(c2cos™ + C3sin™ 2) л-2-2л/Зх+4 = 0 => х4,5 =V3±/ . рис 562 Изобразим число V3+/ на комплекс- ной плоскости для нахождения его модуля и аргумента (рис. 5.6.2). п Видим, что г = 2, ф =—. 6 Соответствующие слагаемые в общем решении будут иметь 2п \ JUi, . С cos — + С sin 6 J 6 исходного рекуррентного соотношения. Ответ: . В итоге получаем общее решение 7Ш Ш1 fin) = С, (4/2)" + (Щ" [ С2 cos— + С3 sin +2л| Qcos— + C5sin— 6 6 ^ + Задание 5.6.3 Найти общий вид решения рекуррентного соотношения 4-го по- рядка хп+4 + ахп+3 + Ьхп+2 + схл+1 + dxn - О, если л0 = 0.
Комбинаторика 249 Таблица 5.6,3 № 1 1 2 3 1 4 5 6 7 8 9 1 10 11 12 1 13 14 15 1 16 17 18 1 19 20 21 1 22 23 24 1 25 26 27 1 28 29 1 30 а -6-2V3 -3 1 2>/з 4 -5 -4-2>/з -4 1 4 + 2V3 -4 1 -2-2>/з -7 -6 -3+2V3 -4 -4 -4-2V3 -1 11 3 + 2V3 1 -7 -3-2V3 0 -5 | -4+2V3 4 1 -8 /7 1 13 + 12V3 | 4 -12 3 5 -2 ' 7 + 8V3 -27 -30 8 + 8л/з 1 -22 5 + 4V3 0 -23 б-бл/3 1 -9 8 + 8V3 -4 38 6 + 6V3 -28 -2 6л/3 -8 -30 | 7-8>/з 9 1 23 с -24-18л/з 0 -26 -2V3 2 ■ 14 -16-6V3 62 -62 16 + 8V3 -6 42 -8-2V3 8 -34 -12 + 4V3 -6 26 -16-8л/з 16 54 12 + 4V3 -64 18 1 -12 + 8V3 24 -50 | -16 + бл/З 10 1 -30 d 1 36 1 -8 -24 -4 1 -12 -20 12 1 -140 -60 16 1 36 -36 4 1 -56 -18 8 1 36 -30 16 1 -24 36 8 1 -120 -28 -16 -32 -36 1 12 4 I 18
250 Глава 5 Пример решения задания 5.6.3 Найти обгций вид решения рекуррентного соотношения 4-го по- рядка хп+4 - Здс/И_з ~ %хп+\ + 24 = 0, если х0 = О. Запишем характеристическое уравнение данного соотношения: х4-3х3 -8x4-24 = 0. Непосредственной подстановкой убеждаемся, что х} = 2 — корень характеристического уравнения. Понизим степень уравнения, поделив характеристический многочлен на 16л/з по схеме Горнера: 2 1 1 -3 -1 0 -2 -8 -12 24 0 В результате деления получили уравнение третьей степени: jc3-jc2-2x-12 = 0. Заметим, что х2 = 3 является корнем этого уравнения, раз- делим левую часть уравнения на х-3: 3 1 1 -1 2 -2 4 -12 0 Получено уравнение х + 2х + 4 = 0, которое имеет корни jc34=-1±/v3. Комплексное число -1-HV3 имеет модуль г = 2 и аргумент 2% Ф = Запишем общее решение исходного рекуррентного соотноше- ния: хп =СХТ + С23п +2' г \ ^ 2пп „ . 2пп С cos + С sin 3 3 4 3
Комбинаторика 251 Учтём начальное условие х0 = 0: 0 = C120+C230+20(C3cos0-bC4sin0), откуда С, = -С2 - С3.. Подставляя выражение для в формулу общего решения, полу- чим ответ. Ответ: хп=(-С2-С3)-Т +С2У +2 \ „ 2пп ^ . 2ттЛ Ccos + C4sin 3 3 , Задание 5.6.4 Найти общее решение рекуррентного соотношения 4-го по- рядка /(/i + 4) = a-/(/i + 3) + P-/(n + 2) + Y-/(n + l) + S-/(n) с заданными начальными условиями /(0), /(1), /(2), /(3). Таблица 5.6.4 № 1 2 3 4 5 6 7 8 1 9 10 1 П 1 12 a 5 -1 -6 3 7 1 4 5 11 6 3 0 р -1 7 0 3 -12 7 -3 3 -39 -8 2 9 Y -21 13 22 -7 -4 -13 -4 -13 49 -6 -12 4 5 18 6 /(0) 3 1 -15 J 5 -6 3 16 j 4 6 | 3 4 j 0 -10 J 3 -20 2 9 J 1 8 -12 6 5 /(О 8 6 -4 -3 -3 3 -3 3 0 3 7 -3 /(2) 8 1 19 12 -1 4 3 0 -и 17 7 19 /(3) 38 j 44 1 -54 1 -3 -19 J 7 3 15 -58 51 3 -37
252 Глава 5 Таблица 5.6.4 (окончание) № 13 14 15 16 17 18 19 20 21 22 23 24 . 25 26 27 28 29 1 30 а -1 -7 2 0 0 -3 2 0 -3 -5 -2 2 6 4 5 2 3 -1 Р 12 -13 12 17 11 9 7 11 7 -1 7 15 -8 -3 12 3 -1 7 Y 28 3 -18 -36 18 23 -20 -18 15 21 20 4 -6 -4 -44 -8 -3 13 8 16 18 /(0) -2 2 -27 4 20 4 8 12 12 1 3 1 8 4 -18 18 12 6 2 3 -20 1 4. 9 4 j -80 4 -2 4 4 0 2 J -1 6 1 2 /0) -1 1 2 3 3 4 2 1 3 3 -6 3 0 3 -4 5 ~6 1 Д2) 9 7 4 -1 -8 21 2 -1 17 -3 14 -1 20 -13 36 -16 -3 -6 /(3) 1 -29 j -17 | 50 1 -13 1 15 50 -2 1 -1 | -15 33 -34 19 48 -25 16 19 -22 15 Пример решения задания 5.6.4 Найти решение рекуррентного соотношения 4-го порядка Дн + 4) = 6-Ди + 2) + 8-Дл + 1) + 3-Ди) с начальными усло- виями Д0) = 0; Д1) = -6; Д2) = -4; Д3) = -34. Запишем характеристическое уравнение данного соотноше- ния: х -6х -8л;-3 = 0. Подстановкой убеждаемся, что х}=-1 — корень характеристического уравнения. Понизим степень урав- нения, поделив характеристический многочлен на х + l по схеме Горнера: -1 1 1 0 -1 -6 -5 -8 -3 -3 0
Комбинаторика 253 В результате деления получили уравнение третьей степени: х3-х2-5х-3 = 0. Заметим, что х2 = -1 также является корнем этого уравнения, разделим левую часть уравнения на х +1: -1 1 1 -1 -2 -5 -3 -3 0 Получено уравнение х~ - 2х - 3 = 0, которое имеет корни X} = — 1, Хд = 3. Общее решение исходного соотношения имеет вид: f(n) = (-l)n(A + Bn + Cn2) + D3n. Учтём начальные условия, получим систему линейных урав- нений: U + D = -34 \-A-B-C + 3D = -6 \A + 2B + 4C + 9D = -4 {-A-3B-9C + 27D = -34. Решив эту систему, будем иметь: А = 1, В = 2, С = 0, D = -l. Подставив найденные значения констант в формулу общего решения, получим: /(и) = (-1)" (1 + 2п + О • п2) -1 • 3". Ответ: /(л) = (-1)л(1 + 2п)-3'1. 9 Зак. 3332
Глава 6 Конечные автоматы 6.1. Автоматы Мили Автоматом Мили будем называть пятерку объектов S = (A,Q,V,d,X), где А = {ах,...,ап) —входной алфавит', Q = {q\ >—,Ят} —множество внутренних состояний', V = {vj,..., v^} — выходной алфавит; 5: Л х <2 —> <2 — функция переходов', А,: А х Q —> V — функция выхода. Таблица, задающая функции переходов и выхода, называется таблицей состояний автомата. Диаграммой состояний автомата Мили называется ориентиро- ванный граф, в котором количество вершин равно количеству состояний данного автомата Мили и помечено символами вну- тренних состояний; дуга, выходящая из любой вершины qt и за- ходящая в вершину cjj, помечена символами at, v,., причём §(anqi) = qj, X(at,qi) = vr. Автомат Мили называется инициальным, если он всегда начи- нает свою работу из одного и того же состояния (q}). Автомат Мили называется неинициальным, если он может на- чинать свою работу из любого своего состояния. Работа автомата Мили связана с двумя бесконечными лен- тами, разбитыми на ячейки, причём в каждой ячейке может быть записан один символ некоторого алфавита.
256 Глава 6 Работа автомата Мили над словом а, записанным на входной ленте, проходит следующим образом: 1) считав символ в ячейке входной ленты, обозреваемой счи- тывающим устройством автомата Мили, он печатает в ячейку входной ленты символ, найденный с помощью функции выхода V, двигается вдоль ленты вправо и переходит в состояние, опре- деляемое с помощью функции перехода 5; 2) работа автомата продолжается до тех пор, пока все ячейки, содержащие символы данного слова, не будут пройдены. Тактом времени называют промежуток, за который конечный автомат обрабатывает одну ячейку. Дешифратором называется инициальный конечный автомат, выходным алфавитом которого является множество {0,1}, при- чём на вход подаётся бесконечная последовательность символов некоторого алфавита и символ 1 печатается в том и лишь в том случае, если в данный момент времени считывающее устройство автомата обозревает последний символ уже считанного слова а, фиксированного для данного автомата, а на ленте записано слово, в которое входит а. Слово а называется кодовой комбинацией этого автомата. Неинициальный автомат называется сильно связным, если для любых состояний автомата q{ и cjj найдётся слово а такое, что автомат, начавший работу в состоянии qx, при считывании слова а переходит в состояние д;. Состояния q{ и qk неинициальных автоматов Ах и А2 назы- ваются эквивалентными, если для любого слова а, составленного из букв входного алфавита, выходные слова, полученные при ра- боте автоматов Ах w А2, запущенных соответственно из состоя- ний qt и qk над словом а, равны. Автоматы А{ и А2 называются эквивалентными, если для любого состояния qi автомата Ах найдётся эквивалентное ему состояние qk автомата Л2, а также, если для любого состояния qk автомата А2 найдется эквивалентное ему состояние qt ав- томата Л,.
Конечные автоматы 257 Автомат Amin называется минимальным для автомата А, если он является эквивалентным автомату А и содержит наименьшее число внутренних состояний среди всех автоматов, эквивалент- ных автомату А. Задание 6.1.1 По данной кодовой комбинации а построить дешифратор с вход- ным алфавитом {х,у} и записать его: 1) диаграммой состояний; 2) таблицей состояний. Таблица 6.1.1 № 21 22 23 24 25 26 27 28 29 130 а уххуухху УУУУХУХУ хууухухх ухухухух хууху XXX хху уху у у ууухуухх хххуухух ууухххху ухухххух № 1 2 3 4 5 6 7 8 9 1 10 а ххуххуух ухуххуху уху уххух хухххуху хххуххух уху у у XXX ху уху уху уху у у у XX х у у у х у х у ухууухху № 11 12 13 14 15 16 17 18 19 1 20 а уухууххх хууухху у ууххууух хуххууху ууухххуу хуху ух ух уххухууу хххуууху ухууххух ху ухху ух Пример решения задания 6.1.1 Решим задание 6.1.1 для а = хуухуухх. Составим диаграмму состояний дешифратора, содержащего 8 внутренних состояний (по количеству символов кодовой ком- бинации). Пусть начальное состояние — ^.Определим \(x,qs) = l, для остальных случаев значение функции выходов равно 0.
258 Глава 6 Функцию переходов зададим следующим образом: 8(x,q]) = q2, 5(y,<7i) = 9i. В дальнейшем, если ххх2...хк (к ^8) — начало кодовой ком- бинации, то ^{xk,qk)-qkJrX, в остальных случаях 5(xk,qk) = qp, где р — наименьший номер, ^акой, что слово хрхр+{...хк явля- ется начальным отрезком кодовой комбинации. Получаем: b{y9qx)-qx, &(x,q]) = q2, 5(у,^2) = 9з' 8(x,q2) = q2, т- к- в слове хх последний символ может служить началом кодовой комбинации, а при получении одного символа кода мы переходим во 2 состояние. Далее имеем: 5(;у,<7з) = <74> $(•*,<7з) = 92» т* к" в слове ХУХ последний символ может служить началом кодовой комбина- ции, а при получении одного символа кода мы переходим во 2 со- стояние. Найдя, действуя аналогично, значения функции переходов на остальных наборах переменных, получим диаграмму состояний (рис. 6.1.1, а): Рис. 6.1.1, а
Конечные автоматы 259 Теперь запишем таблицу состояний дешифратора: Таблица 6.1.1а а\<2 X у Ч\ Чг$ Ч\Л Q2 CI2.0 Ъ>0 Чъ ciifi qA,0 Qa Ч5Я Я\Я Яз q2,0 %>о % Я2>° <77>0 Qi <М Я\>0 К <72>1 Яб^ Задание полностью выполнено. Задание 6.1.2 Для данного конечного автомата, заданного таблично, со множеством внутренних состояний {1,2,3,4,5,6,7,8,9}, входным алфавитом {а,Ь} и выходным алфавитом {х,у}\ 1. Выяснить, является ли автомат сильно связным. 2. Построить эквивалентный минимальный автомат. 3. Проверить работу исходного и минимального автоматов над словом "bbabaab". Таблица 6.1.2 № 1 *^Г а Ь 1 4,х 7,;У 2 Ъ.у 4, у 3 1.x 9,jc 4 5,х 9, У 5 *,х 1.У 6 1,х %У 7 2, у 8,* 8 5,х 9. у 9 2,У 5,х №2 ^Л 1 а Ъ 1 2,х 5, у 2 6,}' 9,* 3 *>У 9,дг 4 7, У 5,х 5 4,v 6, лс 6 3,л; г у 7 4, Л' 8.* 8 2,х Ь У 9 3,у 8, л-
260 Глава 6 Таблица 6.1.2 (продолжение) №3 En[ а Ь 1 2, а 3,А' 2 1х 4,а 3 ъ,у U 4 5,а г,х 5 4,а 3,а 6 8,л- 3,а 7 3,.у 8, У 8 6,А 8,а 9 3,v 4, У №4 рх а Ь 1 5, х 8,)' 2 3,v 6,х 3 7, а 5, У 4 8,а 7,v 5 Ьу 7, у 6 9,а 1у 7 4, У 8, у 8 3,у 5,>> 9 4,.у 6, Л" №5 ^ч а b 1 3,а 2, А" 2 8, А 5, А 3 4,А 5,А 4 1,А 5, А 5 8,А 2,А 6 7.v 8, У 7 6,.У 8, У 8 9,3' 8, А 9 9, у 8, у №6 гЧ а b 1 2, У г у 2 4, У 3,У 3 9. У 2,у 4 5, У 3,У 5 4, У 7,У 6 7. У 9,л- 7 9-У 4, У 8 З.У 9,х 9 8,л- 9, у №7 рх а Z? 1 2, А 3,А 2 4,А 6, А 3 2, А 1,А 4 2,А 3,у 5 9, А 3,v 6 9.у 1,х 1 8,А Ьу 8 1.x 6.JC 9 7,А 6, А №8 рх я Z? 1 2, А 5,А 2 4,А 3,А 3 4,А 2, А 4 3,А 5, .У 5 6, у 6, У 6 7,А 5, У 7 6,А 7,А 8 7,А 5, А 9 7,А 5, А
Конечные автоматы 261 Таблица 6.1.2 (продолжение) №9 Р^ а Ъ 1 2,х ly 2 Ъ,х г у 3 4,jc Ъ,у 4 5,дс г у 5 4,л- 5,v 6 4,jc 7, А' 7 8,А 6, А' 8 5,х 9. У 9 8,х 9,х №10 рч а ъ 1 2, а 3> 2 1,А 3,а 3 4, а 5,jc 4 5, а 6, .У 5 4,v 9, У 6 7,а 4, У 7 6, У 8,v 8 6, а 7,л- 9 6,а 5, л- №11 А^ а b 1 2,х U 2" 7.x 3.x 3 7,х 2,х 4 3.x 5, л' 5 3.x 4,х 6 5,х 7,У 7 6, У 7, У 8 4,х 7, У 9. 1,х 7, у №12 Cn( а b 1 2. У 9, У 2 6, у з,у 3 5, У 6, у 4 4,х 3,х 5 6, у з,у 6 8,х 4, У 7 8, У 6, У 8 9, У 7, У 9 8,х 4,х №13 ^Л я /7 1 2, а 3,х 2 4,а 6, А 3 2,а U 4 2,а з,у 5 9,а 3,v 6 9, у 1,х 1 8, а ^ 8 7,а 6, А 9 7,х 6,а №14 LN[ а 6 1 з,у 7, У 2 2, У 3,х 3 1>у 1.У 4 5,х 4.x 5 5, У 6, у б 7,У 5,У 7 7, У з,у 8 8, У 9. У 9 5, у 8,У
262 Глава 6 Таблица 6.1.2 (продолжение) №15 ^ а Ъ 1 2,х U 2 4,х 5,а 3 4,а 5, а 4 3,а 5.У 5 5, .У М 6 7,х 5,v 7 6, А 5,х 8 7,.г 9.jc 9 7,А 8, л: №16 1*4 а Ъ 1 1^ 2.jc 2 1^ 5,а 3 4,v 2,х 4 3,>> 9, а 5 6,а 8,а 6 5.У 2,v 7 8,v 9,v 8 7,a 5,a 9 4,v 8, a №17 ^Л a b 1 4,A 2,x 2 5,x 2,x 3 3,a 5,)' 4 9, a 2,a 5 3,v 8, У 6 6,x 7,v 7 6,v 8,}> 8 l,x 2,x 9 9, a 8,A' №18 px a b 1 2, У 1.3- 2 ly 4, у 3 2, У з.у 4 5, л: 4, у 5 3,У 4, У 6 6,Л' 9,.v 7 8. У 4, У 8 ' 7. У 9. У 9 5,У 8,v №19 >^ а b 1 ' U 2,х 2 3,х 9,х 3 2, а в,х 4 6,х 5, У 5 5,а 6,А 6 4,v 5, А 7 7,А 5, х 8 9, А 3.V 9 8,у 3,А №20 А^ а Ь 1 2, У 3,У 2 1..V з,у 3 6, у 2,х 4 4, у 6, у 5 г у 5.У 6 з.у 4,х 7 7,х 8,л- 8 7, У 9- У 9 7. У 8, У
Конечные автоматы 263 Таблица 6.1.2 (продолжение) №21 En^ а Ь 1 \,х г у 2 Ъ,х 1,х 3 2,х 5,х 4 з,.у 4,.v 5 6,х 4,х 6 5,х *,х 7 7,jc 4,дс 8 9,дс 7,л: 9 8,* 6,лс №22 ^Ч а b 1 1,JC 2,jc 2 3,}' 5, У 3 4,)> 5, х 4 з,з> 5,х 5 2,v 4,х 6 Я у 4, х 7 7. У 8,х 8 9. У 7,х 9 7, У 8,у №23 ^Ч а Ъ 1 2,х 4,* 2 U 4,jc 3 4,jc 2, У 4 4,jc 4, Л' 5 5,х 6,JC 6 1,х 6,х 1 6,х 6,х 8 7,дс 5,v 9 <Ъ' 8,3' №24 Р^Ч а /7 1 2,х Ъу 2 1у Ъ,х 3 5, х 4,х 4 2,jc 2,jc 5 6,х 4,jc 6 5,х 7,дс 7 9,х 6,х 8 9,х 8.У 9 8. J 6,х №25 рл а Ъ 1 2,jc 8, у 2 5, У 6,v 3 2,х 5, У 4 9.x 5, .у 5 4,.v 7,.v 6 6, А' Уу 7 4,х 8, У 8 3,х г у 9 8. У 6,у №26 [а^Я, а b 1 Ъ,х *>У 2 ъ,у в,х 3 1, JC 5, У 4 4,х 1,У 5 1.У 7, У б 9, У 1у 7 4, У 8, У 8 з,у 5,У 9 4, У 6,Х
264 Глава 6 Таблица 6.1.2 (окончание) №27 f^4 а Ь 1 2,х *>У 2 5,х 7, У 3 7,х 9,у 4 9.x 5, У 5 6, у 1.У 6 4,х 8, .У 7 6, .У 6, У 8 з,у 9.x 9 Ьу 6, у №28 ^Ч а Ь 1 2, У 9, У 2 6,v 5,* 3 гУ 4,х 4 3,л: i.y 5 2.x 9, У 6 5,jc г у 7 4,л- 8, у 8 5,Х 6, у 9 3,У 1.У №29 а b 1 4,х 2.x 2 7,jc U 3 U 5,л: 4 2, У 7, У 5 2.x 3.jc 6 7.jc 6.JC 7 6, У 9-У 8 9.x 8,х 9 8. У 7. У №30 ^Л а Ъ 1 2,х 3,х 2 1,А* 5,У 3 5,х 1,У 4 7,х 9,х 5 З.л- 2.x б 5,л- Ъу 7 8, л: 4,у 8 9,х 1.x 9 4,х 8, У Пример решения задания 6.1.2 Решим задание 6.1.2 для автомата, заданного таблицей со- стояний. Таблица 6.1.2а ^\ а Ь 1 5.x 2. У 2 з,у 1.x 3 7,х 9. у 4 5.x 8, У 5 6, у 7,х 6 9.x 5, У 7 6, у 5,х 8 4, У 3,х 9 1.У 4,х
Конечные автоматы 265 1. Выясним, является ли автомат сильно связным. Для этого изобразим диаграмму состояний данного автомата, опуская по- метки дуг и объединяя пары противоположно направленных дуг, соединяющих одинаковые вершины графа. Получим: Рис. 6.1.2 Построим в полученном графе циклический маршрут: Из возможности построения такого маршрута следует, что из любого состояния автомата достижимо любое состояние этого же автомата, то есть автомат является сильно связным. 2. Для построения минимального эквивалентного автомата выявим все пары эквивалентных состояний данного автомата. Для этого построим треугольную таблицу, где каждой паре раз- личных состояний соответствует одна клетка. Если для какой- нибудь пары состояний одному значению входного сигнала соот- ветствуют различные выходные символы, следовательно, эта па- ра состояний не является эквивалентной, и в соответствующую клетку мы ставим крест. Получим (табл. 6.1.2Ь). Далее, в незачеркнутые клетки выписываем пары состояний, в которые переходит автомат из состояний, соответствующих этой клетке, при подаче на вход одинаковых входных символов.
266 Глава 6 Таблица 6 J. 2b 2 3 4 5 6 7 8 8 Таблица 6.1.2с 2 3 4 5 6 7 8 9 ЙС 57 29 28 ^< 59 25 ё> X X 36 X 36 15 34 13 13 14 57 89 X 79 59 X 58 59 X 46 37 16 47 X о^ 46 35 1 6 45 14 34 12345678
Конечные автоматы 267 Из этого правила записи есть два исключения: 1) не выписываем пары одинаковых состояний; 2) не выписываем пару, соответствующую заполняемой клетке. Будем иметь (табл. 6.1.2с). Затем, если внутри какой-нибудь клетки выписана пара, соот- ветствующая зачёркнутой ранее клетке, то клетка с этой парой также зачёркивается. Окончательно имеем (табл. 6.1.2d). Таблица 6.1.2d Здесь каждой незачёркнутой клетке соответствует пара экви- валентных состояний, которые мы объединяем в классы эквива- лентности: 1' = {1,3,4}; 2' = {2,8,9}; 3' = {5,7}; 4' = {6}. Строим минимальный автомат с четырьмя внутренними со- стояниями Г, 2', 3\ 4'. Для построения таблицы состояний минимального автомата поступаем следующим образом: чтобы найти значение функций перехода и выхода, например, на наборе (я,Г), выбираем из класса эквивалентности Г любого представителя. Пусть это будет
268 Глава 6 состояние 3. Из таблицы состояний исходного автомата мы име- ем, что Х(я,3) = х,значит, определим также функцию выхода ми- нимального автомата: Х(а,1') = х. Из таблицы состояний исход- ного автомата имеем, что 8(я,3) = 7. Но 7е {5,7}=3', значит, будем считать, что 8(я,3) = 3'. Найдя значения функций перехода и выхода на всех наборах перемененных, заполним таблицу состояний минимального ав- томата (табл. 6.1.2е). Таблица 6.1.2е ^ а Ъ i 1 У,х 2',У i 2 Г.У V,x 1 3 4',? У.х 1 4 2\х У, у 3. Проверим работу исходного автомата над словом abbabaab. Пусть исходный автомат начинает свою работу, например, из 1 состояния: Входное слово Состояния Выходное слово 1 а 5 X Ъ 7 X Ь 5 X а 6 У Ъ 5 У а 6 У а 9 X Ь 4 X Так как 1£{1,3,4}=Г, то минимальный автомат запускаем из состояния 1. Получим: 1" а 3' X Ь 3' X Ь 3' X а 4' У ъ 3' У а 4' У а 2' X Ъ 1' X Как мы видим, результатом работы исходного и минималь- ного автоматов над словом abbabaab является одно и то же сло- во хххууухх.
Конечные автоматы 269 6.2. Частичные автоматы Автомат Мили называется частичным автоматом, если хотя бы одна из функций перехода или выхода не является всюду оп- ределённой. Говорят, что слово а применимо к. состоянию qt неинициаль- ного автомата, если функция переходов автомата, начавшего ра- боту в состоянии qt над словом а, может быть не определена лишь после считывания последнего символа слова а. Будем рассматривать слова одинаковой длины в алфавите, со- держащем неопределённый символ " - ". Слово а покрывает слово (3, если слово Р может быть получе- но из а заменой некоторого множества (может быть, пустого) символов неопределёнными символами. Слово а совместимо со словом Р, если существует слово у, по- крывающее как слово а, так и слово р. Через S(a,q) будем обозначать выходное слово, полученное в результате работы над словом а неинициального автомата S, запущенного из состояния q. Если на некотором наборе аргумен- тов значение выходной функции не определено, то в соответст- вующей позиции выходного слова ставим неопределённый символ. Состояние q' автомата S' покрывает состояние q автомата S, если любое слово а, применимое к состоянию q, будет также применимо к состоянию q\ причём S'(a,q') будет покрывать S(a,q). Частичный автомат S'покрывает автомат S, если для лю- бого состояния q автомата S найдётся покрывающее его со- стояние q' автомата S'. Автомат, покрывающий частичный автомат S и имеющий на- именьшее возможное число внутренних состояний среди всех автоматов, покрывающих S, называется минимальным для S. Состояния q и q' частичного автомата S называются со- вместимыми, если для любого слова ос, применимого к состояни- ям q и q\ слова S'(a,q') и S(a,q) будут совместимы.
270 Глава 6 Множество попарно совместимых состояний автомата назы- вается группой совместимости этого автомата. Группа совместимости называется максимальной, если при добавлении в неё любого состояния, она перестаёт быть группой совместимости. Класс групп совместимости автомата S называется группи- ровкой, если любое состояние автомата S попадает хотя бы в одну группу совместимости. Группировка, состоящая из всех максимальных групп совмес- тимости данного автомата, называется максимальной группиров- кой данного автомата. Группировка называется замкнутой, если для любой группы совместимости Qv этой группировки, для любого символа вход- ного алфавита а и для любых состояний q и q из группы со- вместимости <2V> либо хотя бы одно из значений 5(ос,г/)и 5(ос,д)не определено, либо 8(а,г/')и 8(а, q) определены и из то- го, что 5(а,д) принадлежит некоторой группе совместимости <2W,, следует, что и 5(а,^') также принадлежит Qw. Задание 6.2.1 Для слов a,b,c,d: 1. Указать пары (х,у) такие, что х покрывает у. 2. Указать все пары совместимых слов. 3. Указать все пары несовместимых слов. 4. Найти слово е, не попавшее в множество {я,£,с,<:/}такое, что е покрывает не менее двух слов из множества {a,b,c,d}. Таблица 6.2.1 № 1 2 3 4 а _ Ю-0-1—0 1—01 — 1- -01101--10-1 01-1-1-01-01 Ъ 1-0-Ц-10-0 — 11-1-100 -1-0— ю- -1-1—0-0- с -101-0--11-0 —00-1-10 „1-0—01- 01 — 1-1-0- d -01-0-11-0 1-0011-101 -ОЦ-1—0-1 01-1—001-
Конечные автоматы 271 Таблица 6.2.1 (окончание) № 5 | 6 7 1 8 1 9 1 10 1 П 1 12 1 13 1 14 1 15 1 16 1 17 1 18 1 19 | 20 1 21 | 22 1 23 1 24 1 25 | 26 [ 27 | 28 | 29 | 30 а -1—01—01 0-1-1-00- ! --0-1--0--0- 01-1-0-10-11 01-01—-1- 10-101-011- —0—101-0- -1-01-1- -01 — 1-0-0- -1-010-0-011 1-01—00-1 .01—0-1-1 1-0—1-1-1 10-10-10-1- -1-011-01-1 -1-0-01-1 01 — 1-00— 010-01-1-00 —01 — 10-1 -10-0-10- 0-1110-01-0 0—111—0 j 10-10-011-1 10-0-10-1-1 111-001-101 1-00-0—0 b 1 0-1-1-1-0- -1-1-1—1- -10-11-0-100 -1-1-0—Ю — 11-0-010 -0-10-01- 0-1-010—1 -1-010-110- 1 — 1-00110 -1-01-0-11 1-1011-00-1 -01—0-1101 „10-0-10- -1-0-10-01- -1-01-0—1 j 10—0-1-1-0- i 01-1 — 10- -10-10-1-0 1-01— 00- -0-11-1-1- 1 0-11—0— 0—1-111-0-0 1 101-01-10-0 0-10-011-0 1 -11-00—1 1 11-00-101-10 с 01-101-11-01 1 -1—01-10- 0-0-0-1-11 1 — 11-0-1-0 I — 10-1 — 10 1—1-1-1-1- -11-1-1-0- -1-10-01- -010-1-0001 0-01-1-1- -10-1-00- 10-1-1—01 -1-0-01-0- 10—0-1-1 — .1-0-0-10-0 -0-0-01-0- 0-1-0-0-1- -10-0-1-0- 11-on-00-1 -10-10-101- -1-00-10-0 1 -01-101-0-0 1-10-01-1 -0-1-1-1-1 1 11—0-1-10- 1 -1-0-1-11- d 1 -101 — 1-0- I 01-1-1-0011 | -1-1-0-00 1 -1-11-0-1010 1 01-101 — 10 1 1 — 1-1-0-1- 1 0-11-0101-01 1 — 1-10-1-0- | -0-0-1-0-1 1 —0-0-0-11 | -1000—0-1 1 -1—0-1-0- 1 -110-0110-1 1 -0-1-10-1- 1 —0-1-0—1 | 10-0-101-01 1 011-01-001- 1 01—01-1-0 1 -1-0-1-00-1 1 -0-10—01- 1 — 11-0—01 — —1-1-1-0— -0-10—-1-1 10-10-101 l-l 111-1101-001 1 111-0-000-10
272 Глава 6 Пример решения задания 6.1.2 Решим задание 6.1.2 для a = 101- 01 - 0; b- 11- - 1-0 -; с= -0--0--0; d= 1-1--1-0. 1. Слово а покрывает слово с, т. к. если первую, третью и шестую единицы слова а заменить неопределённым символом "-", то получим слово с. Слово а покрывает слово d, т. к. если второй и пятый символ слова а заменить неопределённым символом "-", то получим слово d. 2. Совместимыми парами слов будут пары {а,с), {a,d}, {c,d}, т. к. для каждой из этих пар слово а покрывает каждое слово этой пары. Совместимой является также пара {b}d}, т. к. существует сло- во /= 111-1100, покрывающее как слово Ь, так и слово d. 3. Парами несовместимых слов являются пары {а,Ь} и {с,£}, т. к. слова а и с имеют вторым символом 0, а слово Ъ имеет на втором месте 1. 4. Примером слова е может быть слово 101101-0, которое по- крывает слова а, с и d. Задание 6.2.2 Для частичного неинициального автомата, заданного таблич- но, со множеством внутренних состояний {1,2,3,4,5,6,7,8,9}, входным алфавитом {а,Ь} и выходным алфавитом {х,;у}: 1. Найти слово а длины не меньшей 7, такое, что а применимо к некоторому состоянию с\, но любое слово, полученное из а приписыванием справа одной буквы, не применимо к q. 2. Построить максимальную группировку. 3. Построить покрывающий автомат на основе максимальной группировки. 4. Построить покрывающий автомат с помощью Т — алго- ритма, убедиться, что каждый класс совместимости попадает в некоторый максимальный класс совместимости группировки, построенной в п. 2.
Конечные автоматы 273 5. Проверить работу построенных различных автоматов над словом а из п. 1. Таблица 6.2.2 №1 ^Ч а Ъ 1 2- -,х 2 -Л' 6- 3 U 4 2,- -v 5 -,х 3,у 6 9, У -,х 7 S,x -у 8 1,х 9 -Л' 6- №2 Cn[ а Ъ 1 2- 2 4,* -,х 3 4,- 2,- 4 З.лг -у 5 6, у 6, У 6 -,х 5- 7 -х - х 8 7,* 5,- 9 -,х №3 Г^ а 6 1 2,х -у 2 -,х Ъу 3 4- 3- 4 -,х 1- 5 5, У 6 4,jc -х 7 8,х 6,- 8 5,У 9> У 9 -,х 9,х №4 рл а b 1 3,х 2 1- -,х 3 4,* 5,- 4 5- - У 5 4, .У 9,- 6 7,.г -у 7 6, у 8, У 8 -л: 1,х 9 6- №5 А^ а Ь 1 2,х -,х 2 7- 3,- 3 2,х 4 з- - х 5 - Л" 4,х 6 5,х г у 7 6,.v 7,- 8 4,- 9 1,А' 7,у №6 JA^ я /> 1 2, У -у 2 6,- 3,У 3 6,- 4 4,х 3,х 5 6..V з,? 6 -,х ь,у 7 9- 8 8, у 6- 9 -,х 4,У
274 Глава 6 Таблица 6.2.2 (продолжение) №7 рл "" а b 1 2,х 5,- 2 6,х 3 -,х 4,- 4 7,х -v 5 8- 4, У 6 7,jc -л 7 6, У 8,- 8 7, У ^ 8,jc 9,- №8 А^ а Ъ 1 3,у 2 2- 3,х 3 -У 7, У 4 5.jc 4- 5 5..V 6, У 6 5- 7 7- 3,У 8 8, у 9- 9 5,у 8- №9 [n^ а Ъ 1 2,- U 2 5,* 3 4- -х 4 3,х 5,У 5 5,3' -J 6 - * 5, У 7 6,- 5.jc 8 1,х 9- 9 -,х S,x №10 I^X я ъ 1 1- 2,х 2 -у 5- 3 2.JC 4 3,у 9,х 5 6,* -,х 6 5- 2, У 7 8, У 8 7,.v 5- 9 8,jc №П f>^ а /> 1 4.jc 2 5- 2,х 3 ■3.JC -^ 4 9- -,х 5 3,У 8- 6 6, .г 7.У 7 - .V 8 1,х 2- 9 9- 8,jc №12 кл а Ъ 1 2, У 2 1- 4, У 3 2, У 3- 4 -,х 4- 5 3,У 6 6,х 9.* 7 8, У 4,- 8 "V 9, У 9 5- 8,У
Конечные автоматы 275 Таблица 6.2.2 (продолэюение) №13 *х а Ъ 1 1- 2,а 2 3,а 3 2- 6, а 4 -,х 5. У 5 5- 6- 6 -у 5, а 7 7, А' 8 9- 3,У 9 8,у ~ * №14 *х я £ 1 2, У 3,- 2 -У -У 3 6,- 2,х 4 4,- 5 1,У 6,- б 3,.V 7 7.jc 8,а 8 -У 9. У 9 1- 8, у №15 [N^ а Ъ 1 U -у 2 3- 7,jc 3 2, а 4 -v 4,jc 5 6,А 4- 6 4, а 7 7- 4- 8 9,А 7,- 9 6, а №16 А^ а Ъ 1 U 2,- 2 -J 5,з? 3 5,а 4 з,у 5 2,- 4- 6 9,^ -А 7 7, .У 8,* 8 9. У 9 7- 8, у №17 [>^ а Ъ 1 2- 4,а 2 U 3 - А' 2, У 4 4- 4,А 5 5,а 6- 6 7,- - х 1 6, А 8 7,х 5, У 9 -> 8,- №18 ^Л а Ь 1 2,- 1^ 2 1,У 3,- 3 5,А 4 2,- 5, А 5 6,- 4,А 6 -А 7,- 7 9,- 6, А 8 9,А -у 9 -у 6,А
276 Глава 6 Таблица 6.2.2 (продолжение) №19 рч а Ъ 1 4,а -у 2 -у 4- 3 1,х 9,Х 4 5,- 9,)> 5 8,х - У 6 7,- 7 2, J 8,jc 8 -,х 9- 9 - .У 5.jc №20 ^ а Ь 1 2,х -у 2 -у 9,х 3 8, у — 4 7- 5,Х 5 4- 6.JC 6 " >' 7, У 7 4,х -.У 8 6, у 9 3..V 8,.v №21 ^ч а Ъ 1 2,а -х 2 1- 4,jc 3 з,у 4 5,А 2- 5 4,- 3.x 6 -А 3,- 7 Ъ 8, .У 8 6,Х 8- 9 ~ у 4,v №22 рх а Ъ 1 5- 3,х 2 9,х -,х 3 8,х 4 7,^ 5, У 5 - .У 6- 6 2,х -х 1 *.У 5- 8 9.У 9 2,v 3- №23 1а^ а b 1 3,х 2,- 2 8,- 5,- 3 5,х 4 1,х -,х 5 8,х 2- 6 7, .У - >' 7 6, У 8, У 8 -у 8,х 9 9- 8, У №24 Р4^ а Ъ 1 2, у -у 2 4, У 3,- 3 9,- 2, .У 4 5, У 5 4,- 7, .У 6 -у 9,х 7 9. у 4,- 8 3,- - х 9 8,х 9,у
Конечные автоматы 277 Таблица 6.2.2 (окончание) №25 ^Ч а Ъ 1 . - х 2 Ъ,х 3 " У 4 6, а 7- 5 5- - у 6 2, у 7 -,л- -,х 8 6, у 1- 9 8, у -У №26 ^ч а b 1 - х -у 2 5,х 1- 3 9, у 4 9,- 5 6, .У 1- 6 А,х 8,- 7 6,- 6,>- 8 -,х 9 4,У №27 ^Ч а Ъ 1 2- 2 6, У -х 3 7- 4, а 4 - х Уу 5 2,- 6 5.л- 7- 7 -у 8 5,- 6, у 9 3..V 1- №28 ■А^ а Ъ 1 4,jc 2,- 2 7- U 3 -х 5, а 4 -у 7, У 5 2,jc 3,- 6 -,А 6,А 7 6, у -у 8 9,а 8,а 9 8,у 7, У №29 р4^ а Ъ 1 2, а -х 2 1- 5, У 3 5, х 1у 4 7- 5 3,а -,х 6 5,л: 1,У 7 -а 4, У 8 9- 7,а 9 8,v №30 А^ а Ь 1 4, У 2 7, У -у 3 1- 5, х 4 5- 6, А 5 -у 9, У 6 5, У 7 U 3,А 8 7, У -у 9 ~ у 1х
278 Глава 6 Пример решения задания 6.2.2 Решим задание 6.2.2 для автомата, заданного своей таблицей состояний: Таблица 6.2.2а *х а Ъ 1 2- 2 3,jc -у 3 1у 4 5, Л' 5 6,х 6 -,х 1 1- 4, У 8 5, у 9 -Л' 6- 1. Построение слова а начнём "с конца", т. е. сначала выберем в таблице клетку, в которой происходит переход в неопределён- ное состояние, например, клетку (а,Ъ). В третье состояние можно перейти из второго при появлении входного сигнала а. Во второе можно перейти из первого при подаче на вход сигнала а и т. д. В результате можно получить слово а = aaabaaa, причём авто- мат над этим словом будем запускать из состояния 7. Проверим работу автомата над словом а: 7 а 1 — а 2 — а 3 X Ъ 1 У а 2 — а 3 X а — — Как видим, слово а применимо к состоянию 7, но любое сло- во, полученное из а приписыванием справа хотя бы одного сим- вола, не будет применимо к состоянию 7, т. к. при подаче по- следнего символа слова а автомат, запущенный из 7 состояния, перешёл в неопределённое состояние. 2. Строим максимальную группировку. Сначала выявим с по- мощью треугольной таблицы все пары совместимых состояний. Правило заполнения таблицы остаётся таким же, как и для всюду определённых автоматов. На первом этапе получим (табл. 6.2.2Ь).
Конечные автоматы 279 Таблица 6.2.2Ь 2 3 4 5 6 7 8 9 23 25 1 12 1 25 35 13 X 14 16 15 X XX 1 5 46 X) 8 Потом, заметив, что клетка (2,5) зачёркнута, ставим крест также и на клетку (1,4), куда попала пара (2,5). Таким же образом кресты получат и клетки (1,8), (2,4) и (3,7). Окончательно имеем (табл. 6.2.2с): Таблица 6.2.2с 8 Итак, каждой незачёркнутой клетке таблицы соответствует пара совместимых состояний.
280 Глава 6 Построение максимальной группировки проведём по алгорит- му, содержащему количество шагов, равным числу внутренних состояний автомата: а) на нулевом шаге выписываем все состояния, объединяя их в один класс; б) на / -том шаге просматриваем / -ый столбец треугольной таблицы. Если какой-либо класс внутренних состояний, полученный на предыдущем шаге, не содержит состояния с номером /,то этот класс переписываем без изменений. Если класс содержит / -е состояние, но все остальные состоя- ния этого класса совместимы с / -тым, то этот класс также пере- писывается без изменений. Если класс содержит / -е состояние вместе с состояниями, несовместимыми с / -м, то этот класс делится на две части: одна получается из этого класса удалением состояния с номером /, а другая — удалением из этого класса всех состояний, не совмес- тимых с / -ым. Если на каком-то шаге образуется два класса, один из которых является собственным подмножеством другого, то меньший уда- ляется из рассмотрения. В результате работы этого алгоритма получается максималь- ная группировка. Применим алгоритм к нашему примеру. Работа алгоритма бу- дет состоять из 9 шагов. Выпишем классы, получающиеся на ка- ждом шаге: 0) {1,2,3,4,5,6,7,8,9}. 1) {2,3,4,5,6,7,8,9}, {1,2,3,5,6,7,9}. 2) {3,4,5,6,7,8,9}, {2,3,7,9}, {1,3,5,6,7,9}, {1,2,3,7,9}. 3) {4,5,6,7,8,9}, {3,4,8,9}, {1,5,6,7,9}, {1,3,9}, {1,2,7,9}, {1,2,3,9}. V) {5,6,7,8,9}, {4,5,6,7,9}, {3,8,9}, {3,4,9}, {1,5,6,7,9}, {1,2,7,9}, {1,2,3,9}. V) '{6,7,8,9}, {5,6,8,9}, {4,6,7,9}, {4,5,6,9}, {3,8,9}, {3,4,9}, {1,6,7,9}, {1,5,6,9}, {1,2,7,9}, {1,2,3,9}. 6) {7,8,9}, {6,8,9}, {5,6,8,9}, {4,7,9}, {4,6,9}, {4,5,6,9}, {3,8,9}, {3,4,9}, {1,7,9}, {1,6,9}, {1,5,6,9}, {1,2,7,9}, {1,2,3,9}.
Конечные автоматы 281 7) {7,8,9}, {5,6,8,9}, {4,7,9}, {4,5,6,9}, {3,8,9}, {3,4,9}, {1,6,9}, {1,5,6,9}, {1,2,7,9}, {1,2,3,9}. V) {7,9},'{7,8}/{5Д9}', {5,6,8}, {4,7,9}, {4,5,6,9}, {3,9}, {3,8}, {3,4,9}, {1,6,9}, {1,5,6,9}, {1,2,7,9}, {1,2,3,9}. Заметим, что на втором, третьем, шестом и восьмом шагах происходило удаление классов, являющихся собственными под- множествами некоторых других классов. В результате получена максимальная группировка: {{7,8}, {5,6,8}, {4,7,9}, {4,5,6,9}, {3,8}, {3,4,9}, {1,5,6,9}, {1,2,7,9}, {1,2,3,9}}. 3. Обозначим группы совместимости: 1' = {7,8}; 2' = {5,6,8}; 3* = {4,7,9}; 4' = {4,5,6,9}; 5' = {3,8}; 6' = {3,4,9}; Г = {1,5,6,9}; 8' = {1,2,7,9}; 9' = {1,2,3,9}. Построим автомат S{ с входным алфавитом {ayb}, выходным алфавитом [х, у} и множеством внутренних состояний {1,2,3,4,5 ,6,7,8,9 } на основе исходного частичного автомата. Для построения таблицы состояний покрывающего автомата поступаем следующим образом: чтобы найти значение функции выхода, например, на наборе (а,Г), смотрим значения функции выхода исходного автомата на наборах (а,1) и (я,8). Видим, что Х(а,7) не определена, и Х(а,8) - у. Значит, считаем, что А,(я,Г) = У- Для нахождения значения 5(а,Г) отметим, что исходный ав- томат из состояний 7 и 8 при подаче входного символа а пере- ходит в 1 и 5 состояния, которые попали в класс l\ Значит, будем считать, что 8(а,Г) = Т. Продолжая аналогично, построим таблицу состояний покры- вающего автомата S.. Таблица 6.2.2d А^^ а b \' т.у 4\ у 2' *,У 2\х 3' Т.х 4', У 4' Т.х Т,х 5' Г, у Т. у 6' Т.х Г, у i 8',jc Т.х 8' 8',.х 4'.у 9' 9'.jc Т.у
282 Глава 6 4. Рассмотрим Т -алгоритм построения покрывающего ав- томата: а) Выявляем все пары совместимых состояний (например, с по- мощью треугольной таблицы). б) Выписываем все состояния автомата в порядке возрастания индексов. Вычёркиваем все состояния, несовместимые с первым, выбираем следующее по порядку возрастания индексов невы- черкнутое состояние, зачёркиваем все состояния, несовместимые с ним, и т. д. В результате получим некоторую группу совмести- мости. Составляем из вычеркнутых состояний список по порядку возрастания номеров и проделываем с ним ту же последователь- ность действий, что была описана в предыдущем абзаце. Если мы повторим эту процедуру до тех пор, пока это воз- можно, получим группировку. в) Начинаем строить покрывающий автомат, в котором каж- дой группе совместимости соответствует некоторое внутреннее состояние. Если группировка замкнута, такое построение воз- можно, и полученный автомат будет искомым. Если группировка не замкнута, строим на её основе замкну- тую группировку, расширяя, в случае необходимости, группы совместимости или добавляя новые группы совместимости. После получения замкнутой группировки строим покрываю- щий автомат, сопоставляя каждой полученной группе совмести- мости внутреннее состояние автомата. Применим Т -алгоритм к нашему автомату. Пары совмести- мых состояний у нас уже найдены, поэтому сразу переходим к п. б) алгоритма. Напишем полученную последовательность групп со- стояний: 1 2 34**4* 9, 4 5 6 7^, 7 8. Итак, найдена группировка: {{1,2,3,9}, {4,5,6}, {7,8}}. Проверим группировку на замкнутость, пробуя построить ав- томат 52 с входным алфавитом {a,b}, выходным алфави- том {х,у} и множеством внутренних состояний {Г,2",3"}, где 1"={1,2,3,9};2"={4,5,6};3М={7,8}.
Конечные автоматы 283 Видим, что при подаче на вход сигнала Ъ исходный автомат переходит из состояний 1, 2, 3 и 9 либо в неопределённое состоя- ние, либо в 1 или 6. Состояния 1 и 6 вместе не входят ни в какую группу совместимости построенной группировки, и группу 2" нельзя расширить, добавив в неё состояние 1, т. к. оно несовмес- тимо с состоянием 4, вошедшим в 2". Итак, добавим новое состояние 4"= {1,6}. Далее видим, что из состояний 7 и 8 под действием сигнала a исходный автомат переходит в состояния 1 и 5, которые также не вошли ни в одну группу совместимости построенной группиров- ки. Заметим, что состояния 1, 5 и 6 совместимы, поэтому группа 4"={1,6} может быть расширена добавлением состояния 5, зна- чит, 4" примет вид 4 ={ 1,5,6}. Заметим, что при подаче сигнала а из состояний 1, 5, 6 ис- ходный автомат переходит либо в неопределённое состояние, либо во 2 состояние, а при подаче b — либо в неопределённое состояние, либо в состояние 6. Каждое из этих состояний входит в одну из новых групп совместимости. Значит, построенная груп- пировка замкнута. Строим таблицу автомата 52( табл. 6.2.2е). Таблица 6.2.2е КК а Ь 1" У'.х 4",У 2" 2",х 2".х 3" *'.У 2",.У 4" 1",- 4",jc Заметим, что Г = {7,8} с9'= {1,2,3,9}; 2" = {4,5,6} с4* = = {4,5,6,9}; 3" = {7,8} cl'= {7,8}; 4" = {1,5,6} с {1,5,6,9}. Итак, мы убедились, что каждый класс совместимости попа- дает в максимальный класс совместимости группировки, постро- енной в п. 2. 5. Проверим работу полученных автоматов над словом а из п. 1 данного задания.
284 Глава 6 Так как Те Г, автомат S\ надо запускать из состояния Г. г a i У a 8' X a 8' X b 4' У a i X a 8' X a 8' X Заметим, что слово yxxyxxx, полученное в результате рабо- ты автомата 5,, запущенного из состояния Г над словом а, по- крывает слово —х у -jc-, полученное в результате работы ис- ходного автомата, запущенного из состояния 7 над а. Так как 7еЗ , автомат S2 будем запускать из состояния 3 . 3" a 4" у a 1" - a i" Л' Ь 4" V a г' — a 1" л: a i" X Также видим, что слово у-ху-хх, полученное в результате работы автомата 52, запущенного из состояния 3" над словом а, покрывает слово —ху — х-, полученное в результате работы исходного автомата, запущенного из состояния? над а. 6.3. Реализация автоматов схемами Функциональным элементом называется уст- ройство, имеющее п упорядоченных отрезков вверху, которые называются входами, и один отрезок внизу, называемый выходом функцио- нального элемента. Функциональный элемент изображается так:
Конечные автоматы 285 На входы функционального элемента могут подаваться сигна- лы двух типов, причём при подаче набора сигналов на входы элемента задержки, на выходе мгновенно возникает сигнал одно- го из этих типов, причём каждый набор входных сигналов одно- значно определяет значение выходного сигнала. Элементом задержки называется конечный автомат, имею- щий два внутренних состояния, входной и выходной алфавиты которого имеют по два символа и совпадают, и который осуще- ствляет задержку входного сигнала на один такт времени. Элемент задержки изображается так: | Верхний отросток называется входом, а нижний — выходом элемента задержки. Полюсами называется упорядоченный набор кружков, помеченных символами различных переменных. Схема из функциональных элементов и элементов задержки определяется ин- дуктивно: а) совокупность полюсов (кружков, помеченных символами переменных) есть схема', все полюсы являются её вершинами; б) результат присоединения к вершинам схемы всех входов некоторого элемента (функционального элемента или элемента задержки) есть схема; вершинами новой схемы являются все вершины исходной схемы и выход присоединённого элемента, а полюсами — все полюсы исходной схемы; О о хк О а) ? ... О 1 .. . 1 ... 1 0 61) 62) в) в) результат присоединения выхода задержки к некоторо- му полюсу xt есть схема; её вершинами являются все вершины ЮЗак. 3332
286 Глава 6 исходной схемы, за исключением хг а полюсами — все полюсы исходной схемы, кроме xt. Операция, соответствующая пункту в), называется введением обратной связи. Задание 6.3.1 1. Построить таблицу состояний автомата, осуществляющего автоматное отображение а в (3. 2. Провести минимизацию, построить диаграмму состояний минимизированного автомата, проверить работу полученного автомата над словом а. 3. Провести кодировку в двоичные коды символов входного и выходного алфавитов, множества внутренних состояний авто- мата, написать "физическую" таблицу состояний минимизиро- ванного автомата. 4. Построить минимальные ДНФ, реализующие функции пе- реходов и функцию выхода автомата. 5. Построить схему из функциональных элементов типа конъ- юнкция, дизъюнкция, отрицание и элементов задержки, реали- зующих данный автомат. Замечание. Если схема получается сложная, можно реализо- вать отдельно схемами функции переходов и выхода и изобра- зить блок — схему автомата. Таблица 6.3.1 № 8 9 10 11 12 13 14 а caacaabbb baccabbcc caabcbacb ЬсщссЬааа accbbccab caabbbaca bcaccbbba p puuppuupp ppuuuppup upupppuuu puuuupppp upuppuupu puuupuupu upuppuuup № 1 2 3 4 5 6 7 а abbacccab bacaabacb caaabcbba acbcacbbc cacabbbac baabccbcc bacaaccba p uppuupppu upuppuppu uppuupupu upppupuup uppuuppuu pupuupppu puuupuupp
Конечные автоматы 287 Таблица 6.3.1 (окончание) № 23 24 25 26 27 28 29 30 а acbbbbcca bacbbcaba abbcabcaa cbcbaabcc aaccbcacb bbbcbabac aabacabba aabbbcaac p pupupuupu upupppuup puuppuuup ppiiupuppp uuitpuupup j ppuuppuup ppppuppuu ppuupuppu № 15 16 17 18 19 20 21 22 а ababbcccb bcbaaccbb abbccaabc baabcbbac acbccbabc baaccbabc cabcbcbaa bcbabccba p uuppupupp pupuupppu upppupppu puuupupuu upupuppuu puuppuppp upupupppu pupuupppp Пример решения задания 6.3.1 Решим задание 6.3.1 для а = abccbbbac, Р = иириррирр. 1. Строим таблицу состояний инициального частичного авто- мата, осуществляющего автоматное отображение а в (3. Автомат будет иметь входным алфавитом множество {<з,£,с}, выходным алфавитом — множество {и,р} и число состояний, равное коли- честву символов в словах а и (3. Будем обозначать состояния ав- томата цифрами от 1 до 9. Функцию переходов зададим следующим образом: 5(а,1) = 2, 5(6,1) и 5(с,1) не определены. В дальнейшем, если х]х2,...,хк (к<9) —начало слова а, то 6(хк,к) = к + 1, в осталь- ных случаях 8(хк,к) не определена. Функцию выходов зададим так: если ххх2,-..,хк (к <9) начало слова а, то 8(хк,к) = ук, где ук — к -й символ слова Р; в осталь- ных случаях 8(хк,к) не определена. Получим таблицу состояний автомата (табл. 6.3.1а). 2. Сначала строим треугольную таблицу для нахождения пар совместимых состояний (табл. 6.3.1b).
288 Глава 6 Таблица 6.3.1а Таблица 6.3. lb р>< ^> X 38 \ X [XI ' &> X у X 12345678 Проведём минимизацию с помощью Т -алгоритма: 1234^^78,9, 4 5М,6. Обозначим: Г = {1,2,3,7,9}; 2' = {4,5,8}; 3' = {3,6,8}. Строим таблицу покрывающего автомата (табл. 6.3.1с): Проверим работу полученного автомата на словом а: Таблица 6.3.1с ^^£_ а b с г У.р У,и 2',р i У.Р У.Р Г.и 3' у.р У.Р 2',Р
Конечные автоматы 289 Проверим работу полученного автомата над словом а: 1' a г и b 3' и с 2' Р с 2' и Ъ 3' р ъ г р ь 3' и a Г р с 2' Р 3. Проведём кодировку двоичными кодами символов входного и выходного алфавитов, символов множества внутренних состоя- ний автомата: a -00, Ь -01, с -11, и -0, р -1, 1'-00,2'-01,3'-11. Запишем "физическую" таблицу состояний автомата, т. е. таб- лицу состояний, в которой символы состояний, символы входно- го и выходного алфавитов заменены их двоичными кодами: Таблица 6.3,Id х\х2 ^^"\ 00 01 11 00 00,0 11,0 01,1 01 00,1 11,1 01,0 11 00,1 00,1 01,1 4. Будем рассматривать эту таблицу как сводную таблицу двух функций переходов qx,q2, соответствующих старшим и младшим разрядам двоичных кодов состояний и функции выхода у, кото- рые зависят от четырёх переменных хх,х2, Я\>Я2- Для каждой из этих функций найдём минимальную ДНФ с по- мощью карт Карнау. Запишем в карту Карнау таблицу значений функции qx, выписав значения старших разрядов двоичных кодов состояний автомата, взятые из "физической" таблицы переходов, заменяя значения, на которых <7i не определена, прочерками (табл. 6.3.1е).
290 Глава 6 Таблица 6.3.1е х\х2 """—^-^^ 00 01 Г и L 10 00 0 п ' 0 - 01 0 п 0 - 11 0 0 0 - 10 - - - — Имеем: qx = х\ • х2 • q\ . Аналогично, построим карту Карнау для функции д2(табл. 6.3.If). Таблица 6.3.1/ х\х2 ^""^^^^ 00 L 0l 1 11 L 10 00 0 г~ '1 ~\ к 01 0 1 L - 11 0 0 1 — 10 - — ^\ _^> Получаем: q2 = Х\ v х2 • q\ . Строим карту Карнау для функции выхода (табл. 6.3.lg). Таблица 6.3.lg х\ х2 **~~~**~~*-^ 00 01 11 L 10 00 0 0 1 - 01 pi 1_! . 0 - 11 ГП _!_, 1 4z 10 _л - — =^=J
Конечные автоматы 291 Имеем: у = q[ v хх • q 2 v x\-q2. Итак, q{ = х\ • х2 • q\ , q2 = *i v х2 • q\ , у = q\ v х, • </2 v л*1 • <?2 • 5. Строим схему из функциональных элементов типа конъюн кция, дизъюнкция, отрицание и элементов задержки. Задание 6.3.2 1. Удалить из данной схемы задержки и написать формулы для функций q{,q2,q3,y. 2. Построить таблицы для функций, найденных в п. 1. 3. Свести таблицы, найденные в п. 2, в одну, провести кодировку. 4. Провести минимизацию автомата. 5. Для минимального автомата провести обратную кодировку, написать "физическую" таблицу переходов и выхода. 6. С помощью карт Карнау написать формулы функций пере- хода и выхода. 7. Реализовать найденные функции схемами из функциональ- ных элементов типа конъюнкция, дизъюнкция и отрицание. 8. Изобразить схему из функциональных элементов типа конъюнкция, дизъюнкция, отрицание и задержек, реализующую минимальный конечный автомат.
292 Глава 6 Таблица 6.3.2 (Ч\ ^/Ч^
Конечные автоматы 293 Таблица 6.3.2 (продолжение) 8 10 11 12
294 Глава 6 Таблица 6.3.2 (продолжение) 13 14 15 16 17 ^Vy 18
Конечные автоматы 295 Таблица 6.3.2 (продолжение) 19 20 21 22 23 24
296 Глава 6 Таблица 6.3.2 (окончание) 25 26 27 28 29 30
Конечные автоматы 297 Пример решения задания 6.3.2 Решим задание 6.3.2 для данной схемы (рис. 6.3.2): Рис. 6.3.2, а 1. Удалим задержки (рис. 6.3.2, а), введём три новых полюса q{,q2 и q3, соответствующих выходам задержек, а входам за- держек будут соответствовать вершиныq{, q2 и q3. Проведём анализ схемы, напишем формулы для функций ^, д2' <7з и У- qx-x\/qx\ q2~*\ <7з ~ХАС1ъ л* = 0; y = xvq]vq2> 2. Напишем таблицы найденных функций. Таблица для qx =xv qx (табл. 6.3.2а). Таблица 6.3.2а >^ 1 » / ^*ч#02<7з Х ^^\^ 0 1 000 0 1 001 0 1 010 0 1 011 0 1 100 1 1 101 1 1 110 1 1 111 1 1
298 Глава 6 Таблица для q2 =х (табл. 6.3.2Ь). Таблица 6.3.2Ь X ^«ч. 0 1 000 1 0 001 1 0 010 1 0 011 1 0 100 1 0 101 1 0 по 1 0 111 1 0 г I Таблица для y-xwqxwcj2 (табл. 6.3.2с). Таблица 6.3.2с ^Ss*4- ' ' ' х ^^^^ 0 1 000 0 1 001 1 1 010 л 1 011 1 1 100 1 1 101 1 1 по 1 1 111 1 1 3. Сведём построенные таблицы в одну (табл. 6.3.2d). Таблица 6.3.2d \ч4№4з X \v 0 1 000 010,0 100 л 001 010,1 100 л 010 010,1 100,1 011 010,1 100,1 100 пол 100,1 101 пол 100,1 по 110,1 100,1 111 110,1 ! 100,1 Закодируем наборы значений <7i<72#3: 000-1; 001-2; 010-3; 011-4; 100-5; 101-6; 110-7; 111-8. Перепишем сводную таблицу, заменяя трёхразрядные двоич- ные наборы их кодами (табл. 6.3.2е). Таблица 6.3.2е Г\\ Q 0 1 1 2,0 5,1 2 2,1 5,1 3 2,1 5,1 4 2,1 5,1 5 7,1 5,1 6 7,1 5,1 7 7,1 5,1 8 7,1 5,1
Конечные автоматы 299 4. Минимизируем полученный автомат по числу внутренних состояний. Строим треугольную таблицу (табл. 6.3.2f). Таблица 6.3.2/ 2 3 4 5 6 7 8 27 27 27 27 27 27 27 27 27 27 27 12 3 4 Из построенной таблицы видно, что все состояния, кроме первого, эквивалентны между собой. Запи- шем классы эквивалентности: Г = {1}; 2'= {2,3,4,5,6,7,8}. Изобразим таблицу состояний минимального автомата (табл. 6.3.2g). 5. Проведём обратную кодировку: Г — 0; 2' — 1, запишем "физиче- скую" таблицу состояний автомата (табл. 6.3.2h). 6. Ввиду простоты примера, нет необходимости использовать карты Карнау, функция перехода — тож- дественная единица, которая может Таблица 6.3.2g >^М' 0 1 г 2',0 2\1 2' 2\1 2\1 Таблица 6.3.2Н Г^м! 0 1 0 1,0 1,1 1 1,1 1,1
300 Глава 6 быть реализована формулой q-xw х, функция выхода описыва- ется формулой у = х v q . 7—8. Изобразим схему из функциональных элементов и за- держек, реализующую минимальный автомат (рис. 6.3.2, б). У Рис. 6.3.2. б 6.4. Распознавание множеств автоматами Автоматом Мура называется пятерка S = (A,Q,V,6,[i), где A-{aXj...yaVi] —входной алфавит; Q = {q\,---,q,n} —множество внутренних состояний', V = {vj,...,vk} — выходной алфавит', 8: А х Q —> Q — функция переходов', \х: Q —> V — функция отметок.
Конечные автоматы 301 Автоматом без выхода называется пятерка S = (A,Q,6,q[4F), где А = {а{,...,ап) —входной алфавит; Q-{q\,--',qm} —множе- ство внутренних состояний', 5: AxQ-^Q — функция перехо- дов; <7i G б — начальное состояние; F с <2 — мноэюество заключительных состояний. Событием называется множество Е такое, что Е с А*, где Л* —множество слов в алфавите А. Элементарным событием называется слово, состоящее из од- ной буквы. Событие Е представимо автоматом без выхода 5, если ав- томат при работе над словом а переходит в одно из своих заклю- чительных состояний тогда и только тогда, когда а принадлежит Е. Конкатенацией слов а и (3 называется слово, полученное из данных слов выписыванием всех символов слова а, а затем — всех символов слова (3. Конкатенацией событий Е{ и Е2 называется событие Ех о Е2, которое определятся так: £, ° Е2 = {oi}a2 \olxg Е{ и а2е Е2). Итерацией события Е называется событие /?*, определяю- щееся так: £* = (eu£u££u£3u...u^'u...), где е —пус- тое слово, Е = Ео Ео...о Е —регулярная степень. 4 v ' к Регулярным называется событие, которое может быть полу- чено из элементарных событий с помощью применения конеч- ного числа раз операций конкатенации, объединения и ите- рации. Источником будем называть ориентированный граф, в ко- тором: 1) выделено некоторое множество начальных вершин и неко- торое множество конечных вершин, имеющих, возможно, непус- тое пересечение;
302 Глава 6 2) над каждым ребром графа стоит или буква из входного ал- фавита, или пустое слово. Источник Н представляет событие Е, если Е состоит из тех и только тех слов, которые соответствуют всем марш- рутам из начальных вершин источника в заключительные вер- шины. Исток — вершина, из которой дуги только выходят; сток — вершина, в которую дуги только заходят. Детерминированный источник — источник, имеющий ровно одну начальную вершину, не имеющий пустых рёбер, причём для любой вершины h источника и любого символа а входного ал- фавита существует единственная дуга, выходящая из вершины h и помеченная символом а. Недетерминированным автоматом называется пятерка S = (A,Q,SH,ql,F), где Л = {ах,...,ап} — входной алфавит; Q = {<7i,--->qm} — множество внутренних состояний; Ъи : AxQ—> P(Q) — функция переходов, где P(Q) — множество всех подмножеств множества Q; ^gQ — на- чальное состояние; FqQ —мноэюество заключительных со- стояний. Задание 6.4.1 1. Написать таблицу состояний данного автомата. 2. Считая автомат неинициальным, построить зквивалентный автомат Мура. Проверить работу данного и построенного авто- матов над одним и тем же словом.
Конечные автоматы 303 Таблица 6.4.1 № Автомат
304 Глава 6 Таблица 6.4.1 (продолжение) № Автомат 8
Конечные автоматы 305 Таблица 6.4.1 (продолжение) № Автомат 10 11 12
306 Глава 6 Таблица 6.4.1 (продолжение) № Автомат 13 14 15 16
Конечные автоматы 307 Таблица 6.4.1 (продолжение) № Автомат 17 18 19 20
308 Глава 6 Таблица 6.4.1 (продолжение) № Автомат 21 22 23 24
Конечные автоматы 309 Таблица 6.4.1 (продолжение) № Автомат 25 26 27 "*П5Я 28
310 Глава 6 Таблица 6.4.1 (окончание) № Автомат 29 30 Пример решения задания 6.4.1 . Решим задание 6.4.1 для автомата, заданного своей дна- граммой состояний: Изобразим таблицу данного автомата (табл. 6.4.1а). Таблица 6.4.1а Т^-^ а Ь 1 3,0 2,0 2 3,0 2,1 3 4,0 1,0 4 3,1 4,1
Конечные автоматы 311 По данному неинициальному автомату Мили S строим экви- валентный ему автомат Мура S' следующим образом: автомат S' содержит 4-2 + 4=12 состояний, каждое из кото- рых мы будем помечать двумя символами. Состояния автомата S' обозначим так: *1,*2, *3, *4, al, Ы, а2, Ь2, аЗ, £>3, #4, £4. Функция отметок \х на состояниях *1, *2, *3, *4 не определена, а её значения на состояниях я1, Ы, ...,/;4 задаются с помощью функции выходов X автомата S: [i(ui) = X(u,i), где 1</<4, ие {a,b}. То есть ц(а1) = А,(а,1) = 0,..., ц(64) = Х(6,4) = 1. Функция переходов 8 на состояниях, содержащих в изображе- нии символ *, определяется так: 8'(м,*0 = ш, ме{«,Ь), I < / < 4. В остальных случаях первый символ имени нового состояния совпадает со считываемым символом входного алфавита, а вто- рой символ имени нового состояния определяется с помощью функции переходов 8 автомата S: b\u,vi) = uj, где m,vg {a,b}, 7=5(v,/). Получим: 8'(я,*1) = л1, 8\b,al) = b2, т.к. 8(я,1) = 2, и т. д. Запишем таблицу состояний полученного автомата Мура. Таблица 6.4.lb и л\е а Ъ - *1 а\ Ы — *2 а! ъг - *з аЪ ЪЪ — *4 а\ 64 0 я1 аЪ ъъ 0 ы г/2 ъг 0 я2 г/3 63 1 62 а! ъг 0 аЪ я4 64 0 63 а\ Ъ\ 1 д4 аЗ 63 1 64 я4 64 Проверим работу исходного автомата над словом baaba, за- пустив его из 2 состояния: 2 6 2 1 а 3 0 а 4 0 6 4 1 а 3 1
312 Глава 6 Построенный автомат Мура запускаем из состояния *2: *2 Ъ Ы 1 a al 0 a аЪ 0 b Ь4 1 а а4 1 Как видим, результаты работы обоих автоматов совпали. Задание 6.4.2 1. Построить диаграмму автомата без выхода, представляю- щего конечное событие Е, используя, по возможности, меньшее число внутренних состояний. 2. Изобразить найденный автомат таблицей переходов, отме- тив в ней заключительные состояния. 3. Минимизировать построенный автомат или убедиться, что построенный автомат — минимальный. 4. Проверить работу полученного автомата над словом из множества Е и над словом, не попавшим в Е. Таблица 6.4.2 № 13 14 15 16 17 18 19 20 21 22 23 24 Е 1 aaba, bab, ста, bbaba aba, bba, aaba, bab aaa, bba, babba, abab bbba, abba, aab, baa aaba, bab, bbaba, aba bab, aabb, aab, baaa aaa, baab, bab, aabaa baaba, bab, aaba, aa bab, aaba, bbba, aaa baba, aab, bbab, bbb aab, abba, aaab, bbba abb, baab, bbab, baaa № i 1 2 | 3 4 5 6 7 8 9 10 11 12 E 1 bbb, abb, baba, baaa abab, aa, abb, bbab aaab, abab, baa, aab bba, abba, aaba, bb aab, baab, bbba, aaab baaa, aaa, bbab, baab abab, bba, aaba, aba bbaa, aaa, baba, aabaa aab, bbba, bba, aabab aba, bbab, abb, baba bbba, abb, baba, bba aaab, bbab, aaa, bab
Конечные автоматы 313 Таблица 6.4.2 (окончание) № 28 29 30 Е ааа, baa, ababa, baab aab, bab, abbb, baab baa, abaa, bbab, abbba № 25 26 27 E aaa, abba, bba, babbb bba, babb, aab, abaa aba, baab, bbaba, bba Пример решения задания 6.4.2 1. Решим задание 6.4.2 для события Е = {aba, bbab, baa, abbb]. Изобразим диаграмму состояний автомата без выхода (рис. 6.4.2) с начальным состоянием 1, изобразив заключительное состояние двойным кружком так, чтобы каждому слову из множества Е соответствовал маршрут из начального состояния в заключи- тельное, и такие маршруты находились бы лишь для слов из множества Е. Рис. 6.4.2 2. Запишем таблицу состояний, соответствующую полученной диаграмме.
314 Глава 6 Таблица 6.4.2а рх, а I b 1 2 5 2 8 3 3 4 9 © 10 10 5 8 6 6 7 10 7 10 4 8 4 10 9 10 4 10 10 1 ю 1 3. Проверим автомат на минимальность, считая, что заключи- тельным состояниям соответствуют выходные символы одного типа, а всем остальным состояниям — выходные символы друго- го типа. Составим таблицу, расставив кресты в клетках, соответст- вующих парам состояний разного-вида. Таблица 6.4.2Ь 2 3 4 5 6 7 8 9 10 2 10 53 24 59 28 56 27 5 10 2 10 45 24 5 10 2 10 45 8 10 5 10 410 59 3 6 8 10 7 10 3 10 34 4 10 3 10 34 [з 10 48 69 47 9 10 9 10 49 9 10 4 10 49 4 10 [ 9 10 78 6 10 8 10 46 48 6 10 8 10 46 8 10 6 10 7 10 4 10 47 7 10 4 10 7 10 4 10 4 10 4 10 4 10 4 10 123456789
Конечные автоматы 315 Продолжим процедуру минимизации. Окончательно получим таблицу (табл. 6.4.2с). Таблица 6.4.2с Видим, что состояния 7 и 9 эквивалентны. Переходим к мини- мальному автомату, состояния которого соответствуют классам эквивалентности данного автомата. Получим: Г={1), 2' = {2}, 3' = {3}, 4' = {4}, 5' = {5}, б' = {6}, 7'= {7,9}, 8'= {8}, 9" ={10}. Изобразим таблицу состояний минимального автомата (табл. 6.4.2d).
316 Глава 6 Таблица 6.4.2d >< а Ь Г 2' 5' 2' 8' 3' 3" 4' 7' 4' 9' 9' 5' 8' 6' 6' 7' 9' i 9' 4' 8' 4' 9' 9' 9' 9' 4. Проверим работу автомата над словом, вошедшим в £, на- пример, bbab: Г 6 5' Ь 6' я 7* 6 4' В результате на последнем шаге произошёл переход в заклю- чительное состояние 4 • Проверим работу автомата над словом, не вошедшим в Е, на- пример, baab\ V ъ 5' а 8' Ъ 9' Ь 9' В результате работы автомата над словом ЬааЪ автомат оказался в состоянии 9\ которое не является заключительным, чего и сле- довало ожидать. Задание 6.4.3 Изобразить недетерминированный источник, соответствую- щий недетерминированному автомату, заданному таблицей пере- ходов, с входным алфавитом {a,b}n множеством внутренних со- стояний {1,2,3,4,5}. При построении использовать возможно меньшее число дуг. В построенном недетерминированном источ- нике желательно присутствие хотя бы одного пустого ребра. Если построить соответствующий недетерминированный источ- ник с пустым ребром невозможно, докажите это.
Конечные автоматы 317 Таблица 6.4.3 №1 >-^ а Ь 1 0 3,4 2 1 3,5 3 2,3,4 0 4 1 3,5 5 3,4 2,4 №2 р\^ а Ъ 1 1,5 0 2 1,3,4,5 2,4 3 0 2,3,4 4 1 0 5 3 4,5 №3 >-< а b 1 0 3,4,5 2 0 1,3 3 4 2.3,5 4 0 1,2 5 1,2,4 2,3,5 №4 р^^ а b 1 1,3,4,5 4 2 2,3,4 3 3 0 1,5 4 0 2,4 5 1,3,5 4 №5 >-< а Z? 1 0 1,2,3 2 2,3 1,4,5 3 0 1,5 4 3,4 0 5 4,5 2,3 №6 >^ а b 1 1,2,3 3 2 0 2,3,4 3 3,4 0 4 1,2 2,5 5 0 3,4 11 Зак. 3332
318 Глава 6 Таблица 6.4.3 (продолжение) №7 Г>^ а Ъ 1 0 1,4,5 2 0 1,2,4 3 3 4,5 4 0 1,3 5 2,3,4 1,3 №8 j>-< а * 1 1,2 2,4 2 0 1,3,5 3 3,5 0 4 3,4 0 5 1,2,3,5 1,2 №9 :>^ а Ь 1 2,3,4,5 3 2 3,4 2,5 3 0 3 4 0 1,5 5 2,4,5. 3 №10 :>^ а Ъ 1 0 1,3,4 2 2 3,4 3 1,3,4,5 2,5 4 5 0 5 0 2,4 №Н р\^ я Ъ 1 1,2 1,5 2 1,2,3 1,5 3 1,2,3 3 4 0 4,5 5 1,4 ! 1,2,3 №12 >\^ а Ъ 1 0 1,3,4 2 3,4 2,4,5 3 0 2,4 4 0 1,4,5 5 2 1,3,4,5
Конечные автоматы 319 Таблица 6.4.3 (продолжение) №13 >^ а Ъ 1 1,4 0 2 1,3,4,5 0 3 3,4 1,2,4,5 4 1,3 1,2,4,5 5 0 1,3 №14 >-\ а Ъ 1 1,2,5 3 2 3 0 3 1,2,5 3,4 4 1,3 1,2,5 5 3 0 №15 >-^ а b 1 1,3,4 1,2,3 2 2,3 0 3 1,3 4 4 0 1,2,5 5 1,3,4,5 1,2,3 № 16 f>^ а Ъ 1 0 1,3,4 2 0 1,2 3 0 3,4,5 4 2,3 1,2 5 3,4,5 2,3,4,5 №17 Г>-^ а Ь 1 1,3 1,3,5 2 1,3 1,3,5 3 1,4,5 0 4 1,2 0 5 3,4 1 №18 р^\ а ъ 1 2,4 0 2 3,4 1,2,3,4 3 0 1,4,5 4 0 3,4 5 1,2,4,5 3
320 Глава 6 Таблица 6.4.3 (продолжение) №19 >-< а b 1 3,5 1,2,5 2 3,5 0 3 1,2,4 3,5 4 1,2,4 0 5 3,4 1,2 №20 [>-^ а Ъ 1 1,3 1,2,3 2 0 1,3,4 3 1,2,3,4 1,2,3 4 3 0 5 1,3 5 №21 р\^ а Ь 1 2,5 1,4,5 2 1 2,3 3 1,5 0 4 0 1,3,4 5 1,2,5 1,2,4,5 №22 |>\^ а b 1 1,3 0 2 2,3,4 0 3 1,2,4 3,5 4 1,2,3 0 5 1,2,3,4 1,3,5 №23 f>^ а b 1 5 3,4,5 2 1,3,4 2,3,4 3 5 3,4,5 4 1,3 0 5 2,4 0 №24 р\^ а Z? 1 1,2,4 3,4 2 0 1,3,4 3 3,4 3,4,5 4 0 3,4,5 5 1,5 3,4
Конечные автоматы 321 Таблица 6.4.3 (окончание) №25 Г>^ а b 1 0 1,2,4 2 1,3 0 3 1,3,5 0 4 3,4 1,3,4 5 1,3,5 1,3 №26 Г>-^ а Ь 1 1,4 1,4,5 2 3,4 2,3 3 0 1,2 4 4,5 0 5 0 0 №27 Г>-^ а Ъ 1 4 0 2 3,5 1,2,3 3 0 1,2,3 4 1,3 1,3,4 5 5 2,3 №28 Г>-^ а Ъ 1 2 4,5 2 0 3,5 3 1,3,5 5 4 0 2,4 5 1,3,5 0 №29 >\^ а Ъ 1 1,3 1,2 2 4 1,3 3 1,2,3 0 4 3 4,5 5 0 5 №30 Г>\^ а 6 1 0 1,2 2 2 3,4 3 1,5 2,3 4 1,5 2,3,4,5 5 2,5 0
322 Глава 6 Пример решения задания 6.4.3 Решим задание 6.4.3 для недетерминированного автомата, заданного таблицей переходов: Таблица 6.4.3а Г>-^ а Ъ 1 2,4,5 3,5 2 3 0 3 5 3,4,5 4 4,5 0 5 4,5 0 Выясним, можно ли построить недетерминированный источ- ник, соответствующий данному недетерминированному автома- ту, содержащий пустое ребро. Если недетерминированный источник содержит пустую дугу, выходящую из i -той вершины и заходящую в к -ю вершину, то, очевидно, должны выполняться два условия: 1) /-тая вершина не встречается в какой-либо клетке таблицы автомата без к -той вершины; 2) множество вершин, в которое можно попасть, считав любой символ входного алфавита, из вершины к, включено во множе- ство вершин, в которое можно попасть из вершины /, считав тот же символ. Первое из этих условий выполняется для пар вершин (2;4), (2;5) и (4;5), но второе условие выполняется только для пары (4;5). Будем строить недетермини- рованный источник с пустой ду- гой, выходящей из 4 вершины и заходящей в 5 вершину. Получим:
Конечные автоматы 323 Задание 6.4.4 1. Изобразить источник с одним истоком, представляющий событие а. 2. Записать таблицу соответствующего недетерминированного автомата. 3. Построить таблицу детерминированного автомата, эквива- лентного автомату, полученному в п. 2. 4. Провести переобозначение классов внутренних состояний и записать таблицу автомата без выхода в стандартном виде. 5. Взять по одному слову из события а и не а, проверить пред- ставление автоматом этих слов. Таблица 6.4.4 № 1 1 2 3 4 5 6 7 8 1 9 1 10 11 12 1 13 14 15 1 16 1 17 1 18 19 1 20 а (be и a* b)(b * иса) * (а u be) (аиЬ* с)(с и Ьа*) * (с и со) (са и b*)(ab и be) *(Ьи ас*) 1 (ab и с*)(Ь и ас) * (а и b) 1 (kufl*)(bufl*c)*(auc) («с и b*)(ab и /?с*)(« и 6) * (Ьа и с * /?)(а * и/?с) * (6 и ас) (а * ubc)(b и с* а)* (а и /?с) (Ь * иа) * (а/? и с * а)(6 и с) №UC*fl)(flUW*(6*Uc) (/?с и я*)(а и be) * (/? * иас) (а и с/?*)(« и bb) * (с и а/?) (/?6ис*)(аси/?*)*(ли/?) (а * и/?а)(ас и 6*) * (с и а/?) (а/? и с*)(а и /?с*) * (Ь и /?/?) (а и Ь*)(ас * и£) * (bb и а) (Ь и а * с)(/?с и а) * (ее и /?) (ас и b*)(bb и с*) * (ас и Ь) (аис*)*(£сиа*)(Ьиа) (aaVb*)(acub)*(acKJa*)
324 Глава 6 Таблица 6.4.4 (окончание) № 21 22 23 24 25 26 27 28 29 30 а 1 (6с * \ja)(cc и 6) * (6 и <г/с) | (c*KJbc){b^jaa)*{ciAjb) (ab и с*) * (Ьс и л)(с и /?/?) (6 и <г/с*)(6 и аа)* (с u Ь) (Ь * ися)(с и ba*) *(Ьиа*а) (а * с и 6)(6с * и/?) * (аа и 6с*) (cZ? и Ь) * (а и Ьс*)(ас и л) * (с * а и 6)(6 и 6а) * (а и сб) (6 и а * с)(6 * с и а) * (сб и с/6*) (6*аи6)(6ися)*(аи6) Пример решения задания 6.4.4 Решим задание 6.4.4 для события а = (6 * KJcb){ba и с*) * (а и 6с). 1. Изобразим источник, учитывая, что конкатенации слов со- ответствует последовательное соединение источников, представ- ляющих данные слова, объединению — параллельное соедине- ние, а итерации — зацикливание, так, чтобы каждому слову из события а соответствовал бы маршрут из начальной вершины источника в заключительную. Получим:
Конечные автоматы 325 2. Строим таблицу полученного недетерминированного авто- мата. В клетке, соответствующей состоянию сц и символу вход- ного алфавита м, будем писать список вершин, в которые можно попасть из вершины qn считав по пути символ и. Так, например, из вершины 2, считав по пути символ Ъ, можно попасть в вер- шины 2,4,5 и 7. Получим таблицу переходов недетерминирован- ного автомата (табл. 6.4.4а). Таблица 6.4.4а f^^ а Ъ с 1 6 2,4,5,7 3,4 2 6 2,4,5,7 4 3 0 4 0 4 6 5,7 4 5 4 0 0 6 0 0 0 7 0 0 6 3. Строим вспомогательную таблицу следующим образом: в заголовке первого столбца выпишем номер начальной верши- ны (в нашем случае это — 1), а также номера всех вершин, в которые можно попасть из начальной вер- шины по пустым рёбрам (в нашем случае — Таблица 6ААЬ это вершины 2 и 4). Заголовки строк, как и в предыдущей таблице, помечаем символами входного алфавита а, Ъ, с. Далее, в клетку, соответствующую входному сигналу и и спи- ску состояний 1, 2, 4, запишем объединение содержимого клеток, находящихся на пересе- чении строки, помеченной символом м, и находящихся на пе- ресечении строки, помеченной символом м, и столбцов 1, 2 и 4. Получим (табл. 6.4.4Ь). Затем дополним таблицу тремя столбцами, пометив их полу- ченными списками. В нашем случае — это 6; 2,4,5,7 и 3,4. Новые образовавшиеся клетки заполним по тому же правилу, по кото- рому мы заполняли клетки первого столбца. Получим (табл. 6.4.4с). а Ь с 1,2,4 6 2,4,5,7 3,4
326 Глава 6 Таблица 6.4.4с а Ъ с 1,2,4 6 2,4,5,7 3,4 6 0 0 0 2,4,5,7 4,6 2,4,5,7 4,6 3,4 ! 6 4,5,7 4 Продолжим построение таблицы до тех пор, пока будем полу- чать новые столбцы. В итоге имеем (табл. 6.4.4d). Таблица 6.4.4d а Ъ с 1,2,4 6 2,4,5,7 3,4 6 0 0 0 2,4,5,7 4,6 2,4,5,7 4,6 3,4 6 4,5,7 4 0 0 0 0 4,6 6 5,7 4 4,5,7 4,6 5,7 4,6 4 6 5,7 4 5,7 4 0 6 На основе полученной таблицы строим детерминированный автомат без выхода, с алфавитом {ауЪ,с\, в котором состояния будут соответствовать спискам, проставленным в заголовках столбцов в построенной таблице, начальному состоянию будет соответствовать список, которым помечен первый столбец, а за- ключительным состояниям будут соответствовать списки, в ко- торые вошла заключительная вершина источника (вершина 6 в нашем случае). Проведём переобозначение: 1,2,4 — Г; 6 — 2'; 2,4,5,7 — 3'; 3,4 — 4'; 0 — 5'; 4,6 — б'; 4,5,7 — Г; 4 — 8'; 5,7 — 9'. Перепишем таблицу, заменив списки номерами \\ 2\--, 9\ Получим (табл. 6.4.4е). Таблица 6.4.4е Р^< а Ь с г 2' 3' 4' 2' 5' 5' 5' 3' 2' 3' 6' 4' 2' 7' 8' 5' 5' 5' 5' 6' 2' 9' 8' 1 6' 9' 6' 8' 2' 9' 8' 9' 8' 5' 2*
Конечные автоматы 327 Проверим работу построенного детерминированного авто- мата без выхода с начальным состоянием Г и заключительны- ми состояниями 2' и 6' над словом cbbaccbc, вошедшим в со- бытие а: Г с 4' b Т ь 9' a 8' с 8' с 8' с 8' Ь 9' с 2' Как мы видим, в результате работы над словом, вошедшим в событие а, произошёл переход в состояние 2', являющееся за- ключительным для нашего автомата. Возьмём слово, не попавшее в ос, например, abbbac, проверим работу над ним построенного автомата без выхода: Г a . 2' Ь 5' Ь 5' Ь 5' a 5' с 5' Как мы видим, в результате работы над словом, не вошед- шим в событие а, произошёл переход в состояние 5', не являю- щееся заключительным для нашего автомата, что и следовало ожидать. Задание 6.4.5 1. Пользуясь алгоритмом Макнотона-Ямады, провести анализ конечного автомата, заданного диаграммой переходов. Началь- ное состояние — 1. 2. Убедиться для некоторого маршрута из начальной в конеч- ную вершину соответствующего детерминированного источника, что слово я, связанное с этим маршрутом, принадлежит постро- енному событию. Для произвольного слова из построенного события указать маршрут из начальной в конечную вершину.
328 Глава 6 Таблица 6.4.5 № автомат
Конечные автоматы 329 Таблица 6.4.5 (продолжение) № автомат 10
330 Глава 6 Таблица 6.4.5 (продолжение) № автомат 11 12 13 14 15
Конечные автоматы 331 Таблица 6.4.5 (продолжение) № автомат 16 17 18 oitstti а 19 20
332 Глава 6 Таблица 6.4.5 (продолжение) № автомат 21 22 23 24 25
Конечные автоматы 333 Таблица 6.4.5 (окончание) № автомат 26 27 28 29 30
334 Глава 6 Пример решения задания 6.4.5 Рис. 6.4.5 Рассмотрим множества: Е^ ={a\ S(a,q]) = <7;} 4=4",и£л",(^",)*4",'*>0- (1) (2) Согласно теореме Макнотона-Ямады, числа Ец образуют сло- ва, соответствующие маршрутам из /-той вершины в j-ю вер- шину, причём в этих маршрутах номера вершин, проходимых внутри маршрута, не превосходят к. В нашем случае начальная вершина — 1, заключительная — 2, общее количество вершин равно 3, значит, данный автомат пред- ставляет событие Е\2 . Найдём события по формулам (1): ЯД = е\ £,02 = я; £,°з = Ъ\ Е\х = 0; £2°2 = а; где е — пустое слово (не путать с пустым событием 0). События найдём по формуле (2): El2 = E?2vE?l(E?l)*E?2=avee*a = ava = a\ El3 = E?3vE?x(E?l)*E?3=bvee*b = bvb = b\ E]2l=E%]vE%l(E?])*E?]=0v0e*e = 0v0 = 0- El22 = E%2v E^iE^)* Е?2= av0e*a = av0 = а;
Конечные автоматы 335 El3l=E$]uE$l(E?l)*E?l=b\Jbe*e = bKjb = b; £32 = £32 ^ £з°1 (Е\\ )*E?2=a<ube*a = aub; El2=E°3uEl(E^yE^=eube^b = eUbb. Выразим Еп, посмотрим, какие события, помеченные верх- ним индексом 2, нам надо найти: Еъп - £,22 и Е^(Е^)*Е*2. Найдём каждое из событий, присутствующих в правой части последнего равенства: Е\2 = Е\2 U ^12(^22)* Е22 = a U aa * a'> Е2ХЗ = Еххз u E\2{E\2)*E\z=bvaa*b\ E^3 = E[33uEl32(E22fEl23=eubbu(auba)a^b\ Е\г - E\2 u £з2 (Е^ )* ^ = (a u ba) u (я u £я )я * a. Итак, получаем регулярное выражение: Е\2 = Е\2 U ^13(^33) ^32 = =йиш*аи(йиш*Ь)(еи№и(АиЬа)а4)*(аики(аик>1*4 2. Рассмотрим какой-нибудь маршрут из первой вершины во вторую, например: 1—>2—>2—>3—>2. Этому маршруту соответству- ет слово aaba. Проверим, присутствует ли оно в событии Е[2- Если в событии Е12 взять слово aab, в (£33) взять е, а в 2 ^ £'з2СЛ0В0 я, то конкатенация этих слов, вошедшая в Еп, и будет равна aaba. 3. Возьмём какое-нибудь слово из события, например, bbbbaa. Рассмотрим маршрут, соответствующий этому слову: b Ь Ь b a a 1—>3->1—>3—>1—>2—>2. Действительно, при считывании слова bbbbaa, начав движе- ние из 1 вершины, мы оказались во 2, заключительной, вершине.
Список литературы Г. Виленкин Н. Я., Виленкин А. Н., Виленкин П. А. Комбинато- рика. — М: ФИМА, МЦНМО, 2006. 2. Гаврилов Г. П., Сапоженко А. А. Сборник задач по дискрет- ной математике. — М: ФИЗМАТЛИТ, 2005. 3. Ерусалимский Я. М., Дискретная математика: Теория, задачи, приложения. — М.: Вузовская книга, 2005. 4. Капитонова Ю. В., Кривой С. Л., Летичевский А. А., Луцкий Г. М. Лекции по дискретной математике. — СПб.: БХВ-Петербург, 2004. 5. Карпов В. Г., Мощенский В. А. Математическая логика и дискретная математика. — Минск: Вышэйшая школа, 1977. 6. Кузнецов О. П., Адельсон-Вельский Г. М. Дискретная мате- матика для инженера. — М.: Энергоатомиздат, 1988. 7. Лавров И. А., Максимова Л. Л. Задачи по теории множеств, математической логике и теории алгоритмов. — М.: Наука, 1984. 8. Мощенский В. А. Лекции по математической логике. — Минск, Изд-во Белорус, университета, 1973. 9. Нефёдов В. Н., Осипова В. А. Курс дискретной математи- ки. — Изд-во МАИ, 1992. 10. Новиков Ф. А. Дискретная математика для программистов. — СПб.: Питер, 2004. 11. Шиханович Ю. А. Введение в современную математику. — М.: Наука, 1965. 12. Шоломов Л. А. Основы теории дискретных логических и вы- числительных устройств. — М.: Наука, 1980.
В. И. Смирнов УРС высшей математики «... составляющей успеха представля- емой книги был непревзойденный педа- гогический дар Владимира Ивановича. До преклонных лет он был одним из лю- бимейших лекторов на физическом фа- культете. Книги, написанные им, читаются просто и увлекательно, даже те страни- цы, где проводятся громоздкие вычисле- ния. И все это с сохранением достаточ- ной строгости изложения». Академик РАН Л. Д. Фаддеев Фундаментальный учебник по высшей математике, выдержавший множество изданий, отличается, с одной стороны, систематичностью и строгостью изложения, а с другой простым языком, подробными пояснениями и многочисленными примерами, иллю- стрирующими теорию. Более полувека используется в различных учебных заведениях в качестве основного учебника, высоко ценится математиками. В первом томе изложены функциональная зависимость и теория пределов, понятие о производной и интеграле, ряды и их приложения к приближенным вычислениям, функции нескольких переменных, комплексные числа, начала высшей алгебры и интегрирование функции. Во втором томе рассматриваются обыкновенные дифференци- альные уравнения, линейные дифференциальные уравнения и до- полнительные сведения по теории дифференциальных уравнений; кратные и криволинейные интегралы, несобственные интегралы и интегралы, зависящие от параметра; векторный анализ и теория поля; основы дифференциальной геометрии; ряды Фурье; уравне- ния с частными производными математической физики. ГРИФ: Допущено Научно-методическим советом по математике министерства образования и науки Российской Федерации в качестве учебника для студентов механико-математических и физико-математических факультетов университетов и технических высших учебных заведений
www.bhv.ru Шапорев С. Д. Дискретная математика. Курс лекции и практических занятий Магазин "Новая техническая книга" СПб., Измайловский пр., д. 29, тел.: (812) 251-41-10 www.techkniga.com Отдел оптовых поставок E-mail: opt@bhv.spb.su Пособие представляет собой учебный курс, включающий лекции и практические занятия по трем разделам, изучаемым в курсе дискретной математики: теории множеств, комбинаторике и теории гра- фов. Благодаря многолетнему опыту пре- подавания автор излагает вопросы теории сжато, но в то же время достаточно для освоения курса, просто и доступно. Обсу- ждается основная система аксиом для теории множеств, рассматриваются ос- новные типы задач комбинаторики, при- ведены наиболее употребительные опти- мизационные алгоритмы теории графов. Весь теоретический материал рассматривается на конкретных практи- ческих задачах и упражнениях. Приводятся подробные решения более четырехсот задач, предложенных в книге. Весь материал изложен на высоком методическом уровне и рассчитан на студентов технических вузов, изучающих дискретную математику. МАТЕМАТИКА fcVFC АШДОИЯ НЮОДИЧ&СНИХ 34Н8ЭДЙ Шапорев Сергей Дмитриевич, доктор физико-математических наук, профессор, заведующий кафедрой прикладной математики и информатики Балтийского государственного технического университета «Военмех». Член Ассоциации математиков вузов Северо-Запада. Автор более 50 ра- бот по небесной механике и вычислительной математике.
Учебная литература издательства "БХВ-Петербург" www.bhv.ru в продаже! Магазин "Новая техническая книга": СПб., Измайловский пр., д. 29, тел.: (812)251-41-10 www.techknlga.com Отдел оптовых поставок: e-mail: opt@bhv.spb.su Серия "Для студента" Герман О., Герман Ю. Программирование на Java и С# 512 с. Дунаев В. Базы данных. Язык SQL для студента, 2-е изд. 320 с. Едомский Ю. Техника Web-дизайна 400 с. Магда Ю. UNIX для студента 480 с. Пахомов Б.Си Borland C++ Builder для студента 448 с. Побегайло А. C/C++ для студента 528 с. Половко A. Derive для студента 352 с. Половко А., Бутусов П. MATLAB для студента 320 с. Половко A. Mathematica для студента 368 с. Пономаренко С. Adobe Photoshop CS2 для студента 464 с. Рудикова Л. Microsoft Excel для студента 368 с. Рудикова Л. Базы данных. Разработка приложений 496 с. Рудикова Л. Microsoft Word для студента 400 с. Скотт К. Java для студента 448 с. Федорова A. CorelDRAW для студента 528 с. Федорова A. Adobe Illustrator для студента 640 с. Серия "На примерах" Богданов М. Visual Basic 2005 на примерах 592 с. Васильев A. Mathcad 13 на примерах 528 с. Васильев A. Excel 2007 на примерах 656 с. Дударева Н. SolidWorks 2007 на примерах 528 с. Катаев С. Программирование в Microsoft Excel на примерах 320 с. Катаев С. 1С:Предприятие 8. Учимся программировать на 336 с. примерах
Кирьянов Д. Adobe Premiere Pro 2 на примерах 240 с. Кирьянов Д. Pinnacle Studio Plus 11 на примерах 224 с. Кузнецов М. MySQL на примерах 592 с. Кузнецов В. 1С:Бухгалтерия 7.7. Ускоренный курс на примерах 304 с. Климов A. JavaScript на примерах 256 с. Левковец Л. Autodesk Inventor. Базовый курс на примерах 400 с. Левковец Л. AutoCAD 2008. Базовый курс на примерах 480 с. Левковец Л. Adobe Photoshop CS3. Базовый курс на примерах 592 с. Левковец Л. Adobe InDesign CS3. Базовый курс на примерах 512 с. Мержевич В. HTML и CSS на примерах 448 с. Пестриков В., Маслобоев A. Delphi на примерах 496 с. Пирогов В. Ассемблер на примерах 416 с. Погорелов В. AutoCAD 2008 на примерах 256 с. Поляк-Брагинский А. Администрирование сети на примерах - 2- 432 с. е изд. Потопахин В. Язык С. Освой на примерах 320 с. Сибрина Т. Adobe Photoshop CS3 на примерах 496 с. Слепченко О. Macromedia Flash Professional 8 на примерах 416 с. Слепченко К. Flash CS3 на примерах 480 с. Талалай П. КОМПАС-30 V9 на примерах 592 с. Серия "В задачах и примерах" Культин Н. Delphi .NET в задачах и примерах 256 с. Культин Н., Цой Л. C/C++ Builder в задачах и примерах 336 с. Культин Н. Turbo Pascal в задачах и примерах 256 с. Культин Н. С# в задачах и примерах 240 с. Сафронов И. Бейсик в задачах и примерах 400 с. Сафронов И. Visual Basic в задачах и примерах, 2-е изд. 320 с. Серия "Учебное пособие"/ "Учебник"/«Учебник для вузов» Амосов В. Схемотехника и средства проектирования цифровых 560 с. устройств Бармасов А. Курс общей физики для природопользователей. 416 с. Механика
Барсегян А. Технологии анализа данных: Data Mining, Visual 384 с. Mining, Text Mining, OLAP Бертяев В. Теоретическая механика на базе Mathcad. 752 с. Практикум Боев В. Моделирование систем. Инструментальные средства 368 с. GPSS World Бойко В. Схемотехника электронных систем. Микропроцессоры 464 с. и микроконтроллеры Бойко В. Схемотехника электронных систем. Цифровые 512 с. устройства Бойко В. Схемотехника электронных систем. Аналоговые и 450 с. импульсные устройства Большаков В. Инженерная и компьютерная графика. Практикум 592 с. Бутиков Е. Оптика: Учебное пособие для студентов физических 480 с. специальностей вузов Васильев А. Микроконтроллеры. Разработка встраиваемых 304 с. приложений Вуль В. Электронные издания (+дискета) 560 с. Гольдштейн Б. Системы коммутации, 2-е изд. 314 с. Гомоюнов К. Транзисторные цепи 240 с. Грушвицкий Р. и др. Проектирование систем на микросхемах 608 с. программируемой логики Грушвицкий Р. и др. Проектирование систем на микросхемах 650 с. с программируемой структурой, 2-е изд. Гуревич А. Физика твердого тела 320 с. Давыдов В. C++. Технологии программирования 672 с. Даугавет И. Теория приближенных методов. Линейные 288 с. уравнения, 2-е изд. Демидович Е. Основы алгоритмизации и программирования. 440 с. Язык СИ Жмакин А. Архитектура ЭВМ 320 с. Ивановский Р. Теория вероятностей и математическая 528 с. статистика. Основы, прикладные аспекты с примерами и задачами в среде Mathcad Иглин С. Математические расчеты на базе Matlab 640 с. Ирвин Дж., Харль Д. Передача данных в сетях: инженерный 448 с. подход
Иртегов Д. Введение в сетевые технологии 560 с. Иртегов Д. Введение в операционные системы. — 2-е изд., 1040 с. перераб. и доп. Колесов Ю., Сениченков Ю. Моделирование систем. 224 с. Динамические и гибридные системы Колесов Ю., Сениченков Ю. Моделирование систем. Объектно- 192 с. ориентированный подход Колесов Ю., Сениченков Ю. Моделирование систем. Практикум 352 с. по компьютерному моделированию Кочетов В., Кочетов М., Павленко А. Сопротивление 544 с. материалов, 3-е изд. Крылов В., Самохвалова С. Теория телетрафика и ее 288 с. приложения Кубенский А. Структуры и алгоритмы обработки данных: 464 с. объектно-ориентированный подход и реализация на C++ (+CD) Литвиненко Н. Технология программирования на C++. 288 с. Начальный курс Лурье Б., Энрайт П. Классические методы автоматического 640 с. управления Макаров Е. Сопротивление материалов на базе Mathcad (+CD) 512 с. Максименко А. Эксплуатация строительных и дорожных машин 400 с. Малыхина М. Базы данных: основы, проектирование, 512 с. использование, 2-е изд. Малыхина М. Программирование на языке высокого уровня. 544 с. Turbo Pascal Миронов Д. Компьютерная графика в дизайне 560 с. Молдовян Н. Практикум по криптосистемам с открытым ключом 304 с. Никулин Е. Основы теории автоматического управления. 640 с. Частотные методы анализа и синтеза систем Никулин Е. Компьютерная геометрия и алгоритмы машинной 560 с. графики Опалева Э., Самойленко В. Языки программирования и методы 480 с. трансляции Петров Ю. История и философия науки. Математика, 448 с. вычислительная техника, информатика Погорелов В. Строительная механика тонкостенных 528 о. конструкций Порев В. Компьютерная графика 432 с.
Поршнев С. Вычислительная математика. Курс лекций 320 с. Поршнев С, Беленкова И. Численные методы на базе Mathcad 464 с. Пышкин Е. Основные концепции и механизмы объектно- 640 с. ориентированного программирования Рапаков Г., Ржеуцкая С. Программирование на языке Pascal 480 с. Сафронов И. Бейсик в задачах и примерах 224 с. Сеннов А. Курс практической работы на ПК 576 с. Смирнов В. Курс высшей математики. Том I - 24-е изд. 624 с. Смирнов В. Курс высшей математики. Том II - 24-е изд. 848 с. Солонина А. Цифровая обработка сигналов. Моделирование в 816 с. MATLAB Солонина А. Основы цифровой обработки сигналов. 608 с. Курс лекций Солонина А., Улахович Д., Яковлев Л. Алгоритмы и процессоры 464 с. цифровой обработки сигналов Сорокина С. и др. Программирование драйверов и систем 256 с. безопасности Стешенко В. P-CAD. Технология проектирования печатных плат 720 с. Сырецкий Г. Информатика. Фундаментальный курс. Том I. 832 с. Основы информатики и вычислительной техники Сырецкий Г. Информатика. Фундаментальный курс. Том II. 848 с. Информационные технологии и системы Угрюмов Е. Цифровая схемотехника, 2-е изд. 800 с. Ускова О. и др. Программирование алгоритмов обработки 192 с. данных Файншмидт В. Дифференциальное и интегральное исчисление 224 с. функций одного аргумента Файншмидт В. Дифференциальное и интегральное исчисление 208 с. функций нескольких аргументов Хабибуллин И. Программирование на языке высокого уровня. 512 с. C/C++ Хейфец А. З-d технологии построения чертежа. AutoCAD, 3-е 256 с. изд. Хейфец А. Инженерная компьютерная графика AutoCAD 336 с. Хрящев В., Шилова Г. Моделирование и создание чертежей в 224 с. системе AutoCAD
Частиков А. и др. Разработка экспертных систем. Среда CLIPS 608 с. Черноруцкий И. Методы принятия решений 416 с. Черняк А. и др. Математика для экономистов на базе Mathcad 496 с. Черняк А. и др. Высшая математика для экономистов на базе 608 с. Mathcad. Общий курс Шапорев С. Дискретная математика. Курс лекций и 400 с. практических занятий Шапорев С. Математическая логика. Курс лекций и 416 с. практических занятий Шапорев С. Информатика. Теоретический курс и практические 480 с. занятия Шелест В. Программирование 592 с. Щука А. Электроника - 2-е изд. 752 с. Юревич Е. Основы робототехники, 2-е изд. (+CD-ROM) 416 с. Юревич Е. Теория автоматического управления, 3-е изд. 560 с.
Книги издательства "БХВ-Петербург1 в продаже: www.bhv.ru Магазин "Новая техническая книга": СПб., Измайловский пр., д. 29, тел.: (812)251-41-10 www.techknjga.com Отдел оптовых поставок: e-mail: opt@bhv.spb.su Серия «В подлиннике» Андреев А. и др. Microsoft Windows ХР. Home Edition и Professional. 640 с. Русские версии Андреев А. и др. Microsoft Windows 2000 Professional. Русская 752 с. версия Андреев А. и др. Microsoft Windows 2000 Server и Professional. 1056 с. Русские версии Андреев А. и др. Microsoft Windows ХР. Руководство 848 с. администратора Бергер A. Microsoft® SQL Server 2005 Analysis Services. OLAP и 928 с. многомерный анализ данных Борри X. Firebird: руководство разработчика баз данных 1104 с. Бурлаков М. CorelDRAW 11 720 с. Бурлаков М. Создание видеоклипов 1216 с. Бурлаков М. 3ds Мах 9. Энциклопедия пользователя 1024 с. Бурлаков М. 3ds Мах 2008 1168 с. Давыдов С, Ефимов A. IntelliJ IDEA. Профессиональное 800 с. программирование на Java (+CD-ROM) Долженков В., Колесников Ю. Microsoft Excel 2002 1072 с. Дронов В. Adobe Dreamweaver CS3 816 с. Дубовцев A. Microsoft .NET (+CD-ROM) 704 с. Дударева Н. SolidWorks 2007 1328 с. Дунаев В. HTML, скрипты и стили 832 с. Закер К. Компьютерные сети. Модернизация и поиск 1088 с. неисправностей Касперски К. Искусство дизассемблирования 896 с. Кирьянов Д. Mathcad 12 576 с. Кирьянов Д. Adobe Premiere Pro CS3 640 с.
Клепинин В. Visual FoxPro 9.0 Колесниченко О., Шишигин И. Аппаратные средства PC, 5-е изд. Котеров Д., Костарев А. РНР 5 Матросов А. и др. HTML 4.0 Ноутон П. Java 2 Пауэлл Т. Web-дизайн, 2-е изд. Полещук Н. AutoCAD 2004. Разработка приложений и адаптация Полещук Н. AutoCAD 2005 Пономаренко С. Adobe Illustrator CS Пономаренко С. Adobe Illustrator CS3 Пономаренко С. Adobe Photoshop CS Пономаренко С. Adobe Photoshop CS3 Extended Стахнов A. Linux, 2-е изд. Тозик В. ArchiCAD и архитектурная графика Тозик В. 3ds Мах 9: трехмерное моделирование и анимация Тайц А. М., Тайц A. A. Adobe PageMaker 7.0 Тайц А. М., Тайц A. A. CorelDRAW Graphics Suite 11: все программы пакета Трасковский A. BIOS Фаронов В. Turbo Pascal Фаронов В. Система программирования Delphi Чекмарев A. Microsoft® Windows Vista. Руководство администратора Шлее М. Qt. Профессиональное программирование на C++ 1216с. 1152 с. 1120 с. 672 с. 1072 с. 1072 с. 624 с. 944 с. 768 с. 752 с. 928 с. 1072 с. 944 с. 592 с. 1056 с. 784 с. 1200 с. 544 с. 1056 с. 912 с. 784 с. 544 с.
ттщгттшттштшташттт Магазин-салон ■имм 'V 190005, Санкт-Петербург, Измайловский пр., 29 В МАГАЗИНЕ ПРЕДСТАВЛЕНА ЛИТЕРАТУРА ПО компьютерным технологиям радиотехнике и электронике физике и математике строительству и архитектуре транспорту машиностроению и другим естественно-научным и техническим направлениям Низкие цены . / Прямые поставки ^ от издательств Ежедневное пополнение ассортимента Подарки и скидки покупателям Тел.: (812) 251-41-10, e-mail: trade@techkniga.com