Теги: математика   алгебра  

ISBN: 5-02-015238-2

Текст
                    B.A. ГОРБАТОВ
Фундаментальные
основы
ДИСКРЕТНОЙ
МАТЕМАТИКИ
ИНФОРМАЦИОННАЯ МАТЕМАТИКА
Рекомендовано Министерством общего и профессионального
образования Российской Федерации в качестве учебника
для студентов высших технических учебных заведений
МОСКВА
НАУКА «ФИЗМАТЛИТ
2000


УДК 519.45 Г 62 ББК 22.145 @75.8) Издание осуществлено при содействии 000 (Фирма (Издательство ACT» Горбатов В. А. Фундаментальные основы дискретной математики. Информационная математика. — М.: Наука. Физматлит, 2000.—544 с.— ISBN 5-02-015238-2. В учебнике излагаются основы многосортных множеств, математической ло- логики, теории графов и мографов, теории формальных грамматик и автоматов, прикладной теории алгоритмов и характеризационного анализа, которые в сово- совокупности образуют основы дискретной математики, представляющие собой ме- методически взаимосвязный курс "Компьютерно-информационная математика". Для студентов технических университетов, академий и институтов, обучаю- обучающихся по специальности "Информатика и вычислительная техника", а также научных работников и инженеров, работающих в области информатики и вычи- вычислительной техники. Табл. 163. Ил. 313. Библиогр. 46 назв. Рецензенты: кафедра "Информационные технологии" Московского государственного института электроники и математики; доктор фиаико-математических наук, профессор В. Я. Решетников ТП-99-И ISBN 5-02-015238-2 © В.А.Горбатов, 1999 © Наука. Физматлит, оформление, 1999 ОГЛАВЛЕНИЕ К читателю Предисловие Введение . Глава 1. Основы многосортных множеств 1.1. Множество, функция, операция. Способы задания 5 7 10 13 13 1.2. Понятие алгебры. Фундаментальные алгебры 18 1.3. Бинарные отношения, способы их задания и свойства . 22 1.4. Решетка 29 1.5. Модель. Алгебра отношений 36 1.6. Аксиоматика теории множеств, минимизация представ- представления множеств 44 § 1.7. Алгоритм — двусортное множество. Системы счисления 55 j 1.8. Компьютерные арифметики 61 § 1.9. Нечеткие подмножества 75 it 1.10. Метрические пространства 83 § 1.11. Задачи и упражнения 86 § 1.12. Комментарии 93 Глава 2. Математическая логика 94 2.1. Логика высказываний 94 2.2. Разложение Шеннона. Декомпозиция булевых функций 98 2.3. Минимизация булевых функций в классе ДНФ 102 2.4. Полнота. Построение суперпозиций булевых функций . 108 2.5. Дифференцирование булевых функций 116 §2.6. Разложение булевой функции в заданной точке прост- пространства 123 §2.7. Исчисление высказываний 127 ]2.8. Коиечнозначные логики 132 j 2.9. Исчисление предикатов 142 [ 2.10. Теория трасс 145 i2.ll. Задачи и упражнения 150 B.12. Комментарии 156 Глава 3. Теория графов и мографов 157 §3.1. Взвешенный граф и его матричное задание 157 3.2. Связность и сильная связность графа 163 3.3. Цикломатика и коцикломатика 170 3.4. Дифференцирование графов и мографов 174 3.5. Устойчивость, покрытия, паросочетания 183 3.6. Вложение графов 194 3.7. Раскраска вершин и ребер графа. Характеризация ре- берности 208 § 3.8. Квазиполные модели, их структура и свойства 216
Оглавление jj 3.9. Характеризация частичного упорядочения мографа . . . 227 § 3.10. Логарифмические оценки хроматического числа. Реше- Решение проблемы четырех красок 239 §3.11. Задачи и упражнения 255 §3.12. Комментарии 257 Глава 4. Теория формальных грамматик и автоматов 258 D.1. Формальные грамматики 258 D.2. Основные этапы проектирования автоматов 265 14.3. Алгоритмический этап проектирования 271 j 4.4. Абстрактное проектирование автоматов 279 j 4.5. Кодирование внутренних состояний 292 j 4.6. Построение выходных функций и функций возбуждения памяти автомата 305 j 4.7. Синтез логических структур в топологических базисах 310 14.8. Синтез логических структур в несвязных базисах . . . 342 14.9. Синтез логических структур в связных базисах 361 {4.10. Синтез нейронных структур 370 j4.ll. Моделирование автоматных систем сетями Петри .... 373 j 4.12. Задачи и упражнения 385 §4.13. Комментарии 387 Глава 5. Прикладная теория алгоритмов 388 §5.1. Принципы характеризационного анализа. Построение комбинаторных алгоритмов 388 §5.2. Характеризация и методы оптимального размещения данных в памяти ЭВМ 404 § 5.3. Характеризация выходной связности логических струк- структур 414 §5.4. Теоретико-структурная минимизация булевых функций 423 § 5.5. Характеризация разложения графа переходов в частич- частичное декартово произведение 429 §5.6. Семантическое ослабление функциональной связности памяти автомата 000 § 5.7. Решение проблемы повторной функциональной деком- декомпозиции в булевой логике 454t § 5.8. Синтез функциональной декомпозиции в fc-значной ло- логике 467 § 5.9. Синтез функциональной декомпозиции заданной размер- размерности 473 $5.10. Семантическое проектирование нейронных сетей .... 478 §5.11. Оценка динамики логических структур 494 §5.12. Семантическое проектирование скоростной транспорт- транспортной сети большого города 518 §5.13. Техническая диагностика сильносвязных объектов . . . 526 §5.14. Задачи и упражнения 530 §5.15. Комментарии 532 Список литературы 533 Предметный указатель 536 К ЧИТАТЕЛЮ Горбатов Вячеслав Афанасьевич, академик многих академий, в том числе Международной академии информатизации (МАИ), РАЕН, Российской академии медико-технических наук, профес- профессор, доктор физико-математических наук, доктор технических иаук, родился 19 апреля 1939 года в Москве. С отличием закончил Московский энергетический институт, в тридцать три года защи- защитил докторскую диссертацию, женат, имеет дочь и сына. Много лет возглавляет кафедру "Вычислительные машины" Московского государственного горного университета. В.А. Горбатов является автором научного открытия — теории характеризационного анализа. Это открытие, сделанное в сере- середине 60-х годов, явилось основой научной школы В.А. Горбатова по информационной математике, идеи которой получили разви- развитие как у нас в стране, так и за рубежом. В рамках этого науч-
К читателю ного направления В.А. Горбатовым разработана теория частично упорядоченных систем, получившая большое практическое значе- значение в информатике; при этом решена проблема проектирования больших и сложных систем при различных предметных интер- интерпретациях (информационной, компьютерной, транспортной, диа- диагностической, атомной, экономической, медицинской и других). Им создана семантическая теория проектирования автоматов, в которой предложен принципиально новый путь эффективного ре- решения фундаментальных общетеоретических проблем синтеза ав- автоматов на основе интерпретации выражений входного языка в категориях выходного без фактического построения соответствую- соответствующих конструкций на выходном языке, что позволило эффективно проектировать оптимальные системы логического управления на современных интегральных структурах, в том числе с использо- использованием нейронной технологии. На основе характеризационного анализа В.А. Горбатовым пред- предложена новая интеллектуальная информационная технология ре- решения проблемных задач большой размерности на дискретных структурах. Используя эту технологию, он и его ученики разрабо- разработали и успешно внедрили в различные области народного хозяй- хозяйства системы автоматизированного проектирования, системные и семантические прикладные программные пакеты, инструменталь- инструментальные компьютерные средства. Научные достижения В.А. Горбатова отмечены рядом междуна- международных и российских премий и медалей, в том числе Международ- Международной премией фон Неймана, медалью Лауреата Нобелевской премии П.Л. Капицы за научное открытие, медалью Петра I "За заслуги в деле возрождения науки и экономики России", Георгиевским Кре- Крестом I степени "За заслуги в деле развития науки и экономики России", именной медалью ООН, Международной премией и Зо- Золотой медалью ООН за большой вклад в области информатизации мирового сообщества, медалью "Лауреат премии имени Алексан- Александра Чижевского". В.А. Горбатов уделяет большое внимание научным кадрам: им подготовлено свыше ста кандидатов и докторов наук в области ин- информатики, вычислительной техники и экономики. Основные научные результаты профессора В.А. Горбатова опу- опубликованы более чем в 400 научных трудах. В.А. Горбатов — автор 35 книг, в том числе 18 монографий по дискретной мате- математике, информатике и вычислительной технике, ряд которых переведен на английский, испанский, немецкий, китайский, бол- болгарский, польский языки. Академик МАИ, РАЕН, профессор МГУ, доктор физико-математических наук С.Я. Герценштейн ПРЕДИСЛОВИЕ Общество XXI века — общество информационное (постинду- (постиндустриальное), в котором одной из главных проблем является про- проблема гармонии Человека и Природы. Составляющей этой гармо- гармонии является мощная информационная инфраструктура общества. Вопрос об исключительности Человека в связи с наличием у него разума после Коперника и Дарвина был поставлен в конце 50-х годов нашего столетия, когда началось исследование "искусствен- "искусственного интеллекта", когда центр тяжести решения задач переме- переместился от задач конечномерной (вычислительной) математики к Задачам на дискретных структурах. Если задачи конечномерной математики были связаны с проблемой создания ракетно-ядерного щита, то задачи дискретной математики — с проблемами управле- управления и организации в сложных системах. Заметим, что эти задачи волновали Человека и в древние времена. ...Весна. Север. Вождь одного из племен задумчиво смотрит на собранный хворост. Сегодня ему предстоит большое испытание: управление построением ритуальных костров. Его предки установили весенний ритуальный праздник по- построения костров. На этом празднике племя радуется приходу солнечных теплых дней, тому, что благодаря удачной охоте племя пережило суровую зиму. На празднике строятся ритуальные ко- костры в виде цепочек. Каждая цепочка посвящена одной из охот ми- минувшей холодной зимы. Между кострами стоят воины, отличив- отличившиеся на охоте силой удара или быстротой бега, или смелостью, находчивостью, позволившими заманить зверя в гибельную для него яму, или меткостью, или проявлением другого охотничьего качества. На празднике молодежь посвящается в воины, она в плясках проходит по, цепочке, и тепло ритуальных костров "пере- "передает" молодежи отвагу, силу удара и другие навыки воинов-со- воинов-соплеменников. В следующую зиму молодежь, посвященная в во- воины, будет достойной взрослых охотников при добыче пищи. Всем построением ритуальных костров управляет вождь пле- племени: он определяет место каждого отличившегося воина в цепочке так, чтобы каждая цепочка была посвящена одной и только одной охоте. Для него этот день — день испытания его мудрости. Если он не сможет построить ритуальных костров, то будет считаться, что духи отвернулись от него, что он потерял мудрость и должен лишиться шкуры вождя. Вождь плотнее натягивает свою шкуру, хотя снежинки, сбро- сбросив свои белые шубки и образовав веселые потоки прозрачной воды, уже возвестили о приходе тепла. Он начинает готовиться
8 Предисловие к построению костров: в прошедшую зиму было пять охот (охоты будем идентифицировать числами), в которых отличились девять воинов (воинов идентифицируем буквами). В первой охоте отли- отличились воины а, к, р; во второй — воины с, /, к, р; в третьей — воины а, d, /, р; в четвертой — воины b, e, g, р; в пятой — воины а, с, е, р. Вождь чертит на земле расположение воинов в цепочках. Один вариант взаимного расположения воинов сменяет другой — ко- костры не строятся. Неужели он лишился мудрости? Воин р ему не мешает — через него должны пройти все пять цепочек. Воинов b и д следует поставить рядом, ибо они отличились только в одной охоте — четвертой. Воины anb,cud, enf,gvik соответственно не должны находиться в одной и цепочке, так как ни одна из этих пар, например а и d, не отличалась в одной и той же охоте. Все эти рассуждения не дают вождю ключа к построению костров. Он снова начинает перебирать варианты взаимного расположения во- воинов в цепочках. Перебирать ему придется долго — число таких вариантов со- составляет около двух миллионов: П5»' = 3.' х 4! х 4! х 4! х 4! = t = 1 990 656, где s,- — число охотников, отличившихся в г'-й охоте. Костры не строились. Вождь вошел в пещеру и в изнеможе- изнеможении опустился на шкуру. Шкура... а что, если тем воинам, из-за которых не строились цепочки, выдать по шкуре за то, чтобы они "забыли" о своих геройствах в некоторых охотах. Такая "забывчи- "забывчивость" воинов упростит процесс построения ритуальных костров. Выход найден. Он останется вождем!.. Читатель, чтобы легче следить за дальнейшими рассуждения- рассуждениями вождя, давайте построим матрицу Q = [$•_,•], каждой строке которой взаимно однозначно соответствует охота, столбцу — воин, и если jVi ин й 1 р д светствует и если j-Vi. воин отличился в г-й охоте, то случае g,j = 0: , у , = 1, в противном а 1 0 1 0 1 Ь 0 0 0 1 0 с 0 1 0 0 1 d 0 0 1 0 0 е 0 0 0 1 1 / 0 1 1 0 0 9 0 0 0 1 0 Jb 1 1 0 0 0 р 1 1 1 1 1 Хотя глава племени и сохранил за собой шкуру вождя, перед ним снова встала проблема: каким образом построить ритуальные костры, истратив при этом минимальное число шкур? Что должен сделать вождь? Существовал такой обычай или нет — автору неизвестно. Но пример построения ритуальных костров является хорошей иллю- иллюстрацией тех трудностей, которые появляются при решении про- проблем организации некоторой системы, удовлетворяющей задан- заданным свойствам. Предисловие Характерной чертой этих задач является проблема "проклятия размерности", или "информационного взрыва в ЭВМ". Решение их полным перебором вариантов невыполнимо даже при исполь- использовании самых мощных ЭВМ при реальной размерности задачи. Решению задач реальной размерности с учетом ограниченно- ограниченности временных и емкостных ресурсов ЭВМ и посвящен настоя- настоящий учебник. Учебник имеет двойное название. С точки зре- зрения математика (внутренней) это — "Фундаментальные основы дискретной математики", с точки зрения пользователя (внешней) это — "Информационная математика". Книга написана на базе учебника "Основы дискретной математики" (М.: Высшая школа, 1986,312 с). Книга представляет собой единый методически взаимосвязан- взаимосвязанный курс, формирующий культуру абстрактного мышления при подготовке бакалавров, инженеров и магистров наук по направле- направлению "Информатика и вычислительная техника". Она включает основные разделы современной дискретной математики: основы многосортных множеств, математическую логику, теорию графов и мографов (гиперграфов), теорию формальных грамматик и ав- автоматов, прикладную теорию алгоритмов и характеризационный анализ. Последняя глава посвящена центральному разделу компью- компьютерно-информационной математики — характеризационному ана- анализу, позволившему впервые укрупнить варианты и осуществлять их сравнение не на уровне фактически полученных решений, а на уровне заданной информации. При этом каждый сравнивае- сравниваемый вариант соответствует целому классу в некотором смысле изоморфных решений. Такое укрупнение перебора конструктивно осуществляется интерпретацией исходной информации в терми- терминах решения. Эта интерпретация, являющаяся связующим зве- звеном между исходной информацией и решением, позволяет опреде- определять свойства решения без его фактического построения, что дает возможность находить минимальное решение без перебора всех эквивалентных решений. Автор выражает искреннюю благодарность за критические за- замечания академику РАН А.А. Самарскому, академикам МАИ, РАЕН Д.А. Поспелову, С.А. Редкозубову, В.Н. Решетникову, акаде- академикам МАИ, член-корреспондентам РАЕН О.С. Бартеневу и И.Г. Шрамкову. Учебник создан в соавторстве с доцентом М.В. Горбатовой (ею написаны § 1.9, 1.10, 2.10, 5.11) и академиком МАИ, член-коррес- член-корреспондентом РАЕН А.В. Горбатовым (им написаны § 2.2,4.10,5.7— 5.10). Автор
Sapienter Cogitare Honeste Operare Loqui Argute. А. Комениус ВВЕДЕНИЕ Вы, читатель, являетесь уже студентом высшей школы (уни- (университета, академии или института), и пора вам узнать, что поня- понятие ШКОЛА (SCHOLA) есть аббревиатура, составленная из шести слов, приведенных в эпиграфе и принадлежащих перу известного чешского гуманиста, просветителя Амоса Камениуса A592-1671). Переводятся первые два слова как "мудро мыслить", следующие два слова — "благородно действовать", последние два слова — "лаконично говорить". По окончании высшей школы ты должен обладать этими тремя свойствами. Первое свойство — мудро мы- мыслить — основывается на фундаментальных естественных зна- знаниях, одной из основ которых является абстрактное мышление, формированию которого и способствует дискретная математика; ее ты будешь успешно использовать при решении проблем инфор- информатизации в XXI веке. Эффективность используемых информационных технологий во многом определяется оптимальностью разработанного алгоритма, которая оценивается временной и емкостной сложностью. Под вре- временной сложностью понимается время работы алгоритма, под емкостной сложностью — объем памяти, необходимый для ре- решения задачи. Временная и емкостная сложности являются функ- функциями от размерности задачи. В настоящее время в связи с широ- широким использованием вычислительной техники в различных сфе- сферах человеческой деятельности все большее значение приобретают вычисления на дискретных структурах — комбинаторные вычи- вычисления. Исследованию алгоритмов на дискретных структурах по- посвящены многочисленные публикации [2, 9, 11, 17, 18, 22, 25, 28, 29, 40, 43]. Анализ трудностей, имевших место при поиске эффективных алгоритмов решения задач дискретной математики, привел к фор- формулировке центральной теоретико-методологической проблемы дискретной математики — решению вопроса о возможности ис- исключения перебора вариантов при решении задач на дискретных структурах. Была выдвинута гипотеза, что для широкого класса задач дискретной математики, имеющих практический интерес, не существует эффективного алгоритма их решения, трудоемкость которого была бы полиномиальной функцией от размерности за- задачи. Эти задачи образуют класс NP-татых задач, трудоем- трудоемкость решения которых оценивается экспоненциальной функцией. Согласно этой гипотезе задачи реальной размерности (равной не- нескольким сотням) не могут быть эффективно решены даже на ЭВМ будущих поколений. Действительно, если представить себе ЭВМ, в Введение 11 которой символы используемой системы счисления или логики мо- моделируются различными состояниями атомов, причем масса ЭВМ равна массе Земли, то на основании общих законов физики эта ЭВМ не сможет даже в течение всех геологических эпох перерабо- переработать больше 1073 двоичных разрядов информации [25]. При реше- решении же NP-полных задач реальной размерности объем перераба- перерабатываемой информации превышает величину 1073. Этот факт вы- вызвал пессимизм среди математиков-теоретиков, которые акценти- акцентировали внимание в основном на исследовании понятийного уровня дискретной математики и асимптотических зависимостей. Математики-прикладники направили усилия на разборку ал- алгоритмов решения задач дискретной математики, что диктуется практической потребностью ускоренного движения от физического смысла задачи к алгоритмическим построениям и широкому ис- использованию ЭВМ. При решении проблемы уменьшения перебора вариантов име- имеются группы алгоритмов: эвристические и характеризационные. К эвристическим относятся алгоритмы широкого класса, начиная от ГСН-алгоритмов (ГСН — грубая сила и невежество) и кончая "хитрыми", "жадными" и другими эвристическими алгоритмами. Название алгоритма соответствует тому виду эвристики, ко- который определяет процедуру борьбы с перебором. Оценить, на- насколько удалено полученное с помощью эвристического алгоритма решение от минимального в смысле значений функционала каче- качества решения, принципиально невозможно. От этого существен- существенного недостатка свободны характеризационные алгоритмы, струк- структура которых была предложена автором в 60-х годах [9]. На осно- основании характеризации проводимых комбинаторных преобразова- преобразований можно найти минимальное решение без поиска всех эквива- эквивалентных решений, исключая их перебор. Характеризационный алгоритм решения задачи состоит из процедуры эквивалентирования и фактического получения реше- решения. Первая процедура состоит в преобразовании исходной ин- информации к виду, при котором, фактически не строя решения, можно вычислить функционал его качества. Трудоемкость ха- рактеризационных алгоритмов для практических задач оценива- оценивается полиномиальными функциями, степень которых не превы- превышает 3-5. Расхождение полученных результатов с результатами, полученными математиками-теоретиками, объясняется двумя причинами. Во-первых, математики-теоретики оценивают трудо- трудоемкость алгоритмов решения комбинаторной задачи экспоненци- экспоненциальной зависимостью, исходя из наихудшего случая, который, как правило, является искусственным, не имеющим на практике ме- места, и, во-вторых, доказывают асимптотические оценки, т. е. рас- рассматривают предельный переход при п —> со (п — размерность задачи). Практически же размерность задачи является конечной
12 Введение величиной. Например, получение экспоненциальной оценки тру- трудоемкости раскраски вершин произвольного графа сновано на зна- знании максимального числа /(п) пустых подграфов в графе с п вер- вершинами: Cn/3, n = 0(mod3), 4-3("-4)/3, n = l(mod3), 2-3<n-2>/3, n = 2(mod3), но эта зависимость справедлива только для графов единственного класса, являющихся дополнениями графов Муна—Мозера до пол- полных. Комбинаторные задачи необходимо рассматривать, принимая во внимание исходную конкретную информацию, и на ее базе разрабатывать интеллектуальные информационные технологии и стратегии их решения. Подобно тому как дар слова обогащает нас мнениями других, так язык математиче- математических знаков служит средством, еще более совершенным, более точным и ясным... Н.И. Лобачевский Глава 1 ОСНОВЫ МНОГОСОРТНЫХ МНОЖЕСТВ § 1.1. Множество, функция, операция. Способы задания Любое понятие дискретной математики можно определить с помощью понятия множества. Под множеством понимают объ- объединение в одно общее объектов, хорошо различаемых нашей ин- интуицией или нашей мыслью. Таково интуитивное определение понятия множества, данное основателем теории множеств Геор- Георгом Кантором. Это понятие является в математике первичным и, следовательно, не имеет строгого определения. Объекты, кото- которые образуют множество, будем называть элементами множества и обозначать, как правило, малыми буквами латинского алфави- алфавита. Если элемент т принадлежит множеству М, то будем ис- использовать запись m € М, в противном случае используем запись т ^ М; знак € принадлежности элемента множеству является сти- стилизацией первой буквы греческого слова sort, (есть, быть). Множество, содержащее конечное число элементов, называется конечные. Если же множество не содержит ни одного элемента, то оно называется пустым и обозначается 0. Множество может быть задано различными способами: пере- перечислением элементов (конечные множества) или указанием их свойств (при этом для задания множеств используют фигурные скобки). Например, множество М цифр десятичного алфавита можно задать в виде М = {0, 1, ..., 9} или М = {г/ i целое, О < г < 9}, где справа от наклонной черты указано свойство эле- элементов этого множества. Множество М четных чисел можно за- записать в виде М = {т/ т — четное число}. Множество М' называется подмножеством множества М (М' включено в М) тогда и только тогда, когда любой элемент множе- множества М' принадлежит множеству М: М' С М <-> (т € М' -> т € М) или М'СМ«М'= {т{/ т{ € М}; здесь С — знак включения подмножества; а -> Ь означает: если а, то 6; а «-> Ь означает: 6, если и только если а. В частном случае множества М' и М могут совпадать.
14 Гл. 1. Основы многосортных множеств Невключение подмножества М' в множество М обозначается Очевидно, что если множество Ма — подмножество множества Мь и множество Мь — подмножество множества Ма, то оба этих множества состоят из одних и тех же элементов. Такие множества называются равными: Ма = Мь. Если же множество М' — под- подмножество множества М, а множество М не является подмноже- подмножеством множества М', то множество М' называется собственным подмножеством множества М; запись: М' С С М. Для каждого множества М существует множество, элементами которого являются подмножества множества М, и только они. Та- Такое множество будем называть семейством множества М или булеаном этого множества и обозначать В(М), а множество М бу- будем называть универсальным, универсумом или пространством и обозначать 1. При рассмотрении различных подмножеств и их свойств часто приходится обращаться к комбинаторике — разделу дискретной математики, посвященному решению задач выбора и расположе- расположения элементов некоторого, как правило, конечного множества в соответствии с заданными свойствами. Каждое такое свойство определяет способ построения некото- некоторой конструкции из элементов множества, называемой комбина- комбинаторной конфигурацией. Простейшими комбинаторными конфи- конфигурациями являются размещения, перестановки и сочетания. Размещение А(п, К) мощности К из п элементов (К < п) — это любая последовательность (т. е. множество с зафиксирован- зафиксированным в нем порядком элементов) попарно различных К элемен- элементов, взятых из п элементов; для записи размещений используются круглые скобки. Первый элемент последовательности можно зафиксировать п способами, второй элемент — п — 1 способами и т. д., К-й эле- элемент — п — К + 1 способами. Следовательно, количество таких последовательностей (размещений) равно произведению чисел п, п- 1, ..., п- К+ 1: К t=0 В этой конфигурации важен как состав элементов, так и их по- порядок. Размещение при К = п называется перестановкой Р(п). Чи- Число перестановок |.Р(гс)| из п элементов есть п-1 Д (п - i) = п ¦ (п - 1) •... • 2 • 1 = п\. t=0 Сочетанием С(п, К) мощности К из п элементов называется любое подмножество, содержащее К элементов, набранных из п §1.1. Множество, функция, операция. Способы задания 15 элементов. В сочетании важен только состав элементов, порядок же не играет роли. Очевидно, что число размещений из п по К, содержащих одни и те же К элементов, равно К\, так как эти раз- размещения отличаются друг от друга только порядком. Такие раз- размещения соответствуют одному сочетанию. Следовательно, число сочетаний из п по К элементов есть Это число, кстати, равно К-ыу коэффициенту в разложении би- бинома Ньютона (а + Ь)п. Рассмотрим образование булеана 5A) от универсума 1 = {у, х, а). Первым множеством является пустое множество 0, не со- содержащее ни одного элемента. Образуем затем ('J') — число соче- сочетаний из |1| по 1 — множеств, содержащих по одному элементу, Затем образуем ('j') множеств, содержащих по два элемента, и т. д., наконец, образуем множество, содержащее все элементы мно- множества 1. Здесь ]1| — количество элементов конечного множества 1, в дальнейшем называемое мощностью множества. Очевидно, что мощность |ВA)| булеана от универсума 1 рав- на В рассматриваемом случае 5A) = {0,{у}, {х},{а}, {у, х}, {а, х}, {а.У>, {У,*,all- Множество также часто задают графически с помощью диа- диаграмм Эйлера. Например, задание множества {{а, 6, с}, {6, d,e}} в пространстве 1 = {а, 6, с, d, e) приведено на рис. 1.1, где зам- замкнутые линии, называемые в дальнейшем кругами Эйлера, ог- ограничивают элементы множест- множества, при этом рамка, в верхнем правом углу которой стоит 1, ог- ограничивает элементы простран- пространства. Другие способы задания мно- множеств будут рассмотрены по мере р необходимости. Ис' ' Одним из важнейших понятий теории множеств является по- понятие декартова произведения множеств. Декартовым произве- произведением Ма X Мь множеств Ма и Мь называется множество вида М = {(m,-, nij)/ m,- € Ма, щ €
16 Гл. 1. Основы многосортных множеств Подмножество .jP С Му х Мх называется функцией, если для каждого элемента х (Е Мх найдется не более одного элемента у 6 Му вида (у, я) € F, при этом функция называется всюду (полностью) определенной; в противном случае функция назы- называется частично определенной (недоопределенной). Множество Мх образует область определения функции F, множество Му — область значений функции F. Часто вместо записи (у, х) ? F используют запись у = F(x); при этом элемент х называют аргу- аргументом или переменной, а у — значением функции F. Сопоставим с декартовым произведением двух множеств пря- прямоугольную решетку, узлы которой взаимно однозначно соответст- соответствуют элементам декартова произведения. Подмножество декартова произведения на рисунках будем отмечать зачернением соответ- соответствующих элементов. Пример 1.1. На рис. 1.2,а изображено подмножество декартова произве- произведения множеств Му = {yi, у?, уз, у*} и М% = {х%, х%, хз}, не являющееся У2О~ Рис. 1.2 функцией, на рис. 1.2,6— подмножество, являющееся полностью определенной функцией, на рис. 1.2, в — частично определенной функцией. Количество аргументов определяет местность функции. Выше были рассмотрены одноместные функции. Аналогично понятию декартова произведения двух множеств определим декартово произведение п множеств. Декартовым произведением п Mi х М2 х ... х М„ = множеств Mi, М2, ..., Мп называется множество м = {("*,-!, ш,-2,..., m,-J/ iml G Mi,mi2e М2,..., m,n ? М„}. Элементами декартова произведения М\ х М2 х ... х Мп являются всевозможные последовательности, каждая из которых § 1.1. Множество, функция, операция. Способы задания 17 состоит из п элементов, причем первый элемент принадлежит мно- множеству Mi, второй — множеству М2 и т. д., n-й элемент принад- принадлежит множеству Мп. Если множество Мх в определении функции у = F(x) явля- является декартовым произведением множеств МХ1, МХ2, ..., МХп, то получим определение п-местной функции: y = F(xx,x2, ..., х„). Частным случаем п-местной функции у = F(xi, х2,..., хп) яв- является n-местная операция. Под п-местной операцией Оп в мно- множестве М понимается n-местная функция у = F(xi,x2,. ..,хп), у которой области определения аргументов и область значений функции совпадают: М = МХ1 = МХ2 = ... = МХп = Му. Таким образом, n-местная операция по п элементам множества М определяет (п -f 1)-й элемент этого же множества. Рассмотрим пространство 1 и определим в нем четыре опера- операции над множествами: объединение, пересечение, разность, до- дополнение. Объединением МаиМь двух множеств Ма и Мь является мно- множество М, состоящее из элементов множества Ма и из элементов множества Му М = Ма U Мб = {т,/ т,- € Ма и/или т,- € Мь}. Пересечением МаПМь двух множеств Ма и Мь является мно- множество М, состоящее из элементов, которые принадлежат как мно- множеству Ма, так и множеству Му. М = Ма П Мь = {mi/ m,- € Ма и т,- е Мь}; часто союз "и" заменяют знаком &: М = Ма ПМь = {тп,/ т^ еМа&m,- G Мь}. Разностью Ма \ Мь множеств Ма и Мь является множество М, состоящее из элементов, принадлежащих множеству Ма и не принадлежащих множеству Му M=Ma\Mb = {mi/ mi € Ма k mi $ Мь}. Введенные операции являются двуместными. Рассмотрим_операцию дополнения, являющуюся одноместной. Дополнением М множества М является множество Операции объединения, пересечения, разности и дополнения проиллюстрированы на рис. 1.3; результирующее множество каж- каждой операции выделено штриховкой. Используя эти операции, можно выражать одни множества через другие, при этом сначала выполняется одноместная операция дополнения, затем пересече-
18 Гл. 1. Основы многосортных множеств ния и только затем операция объединения и разности. Для изме- изменения этого порядка в выражении используют скобки. Ма МЬ Ма М„ 1 М„(\МЬ Ма Mb Ма\Мь м Рис. 1.3 Ль Рис. 1.4 Таким образом, множество можно задать выражением, в ко- которое входят идентификаторы (указатели) множеств, операции и, быть может, скобки. Такой способ задания называется аналити- аналитическим. Пример 1.2. Рассмотрим операцию дополнения множества, являющегося пересечением множеств Ма и Мь- Ее результат совпадает с объединением до- дополнений этих множеств: М = Ма П Мь = Ма U Мь\ в этом можно убедиться с помощью диаграмм Эйлера (рис. 1.4). § 1.2. Понятие алгебры. Фундаментальные алгебры Алгеброй А называется совокупность множества М с задан- заданными в нем операциями S — {/ill /12, ¦ ¦ • i /lni, /2I) /22, • • • • • •) /2п21 • • •) /ml i Jm.21 • • • i /mnm /i обозначается A = (M, S); здесь множество М — носитель, S — сигнатура алгебры. Первый нижний индекс у идентификатора операции указывает ее местность. Замечание. Для идентификации единого целого, содержа- содержащего объекты, которые имеют различное математическое строе- строение (например, множества и операций в нем), было предложено ис- использовать термин многосортное множество или совокупность и обозначать его угловыми скобками. Рассмотрим фундаментальные алгебры. Алгебра вида (М, /г) называется группоидом. Если /2 — операция типа умножения, то группоид называют мультипликативным, если /г — операция типа сложения, то ад- аддитивным. §1.2. Понятие алгебры. Фундаментальные алгебры 19 Пусть А = (М, /г) — группоид; обозначим операцию /2 как о. Тогда элемент е?м называется правым нейтральным элемен- элементом группоида А, если для всякого элемента т € М выполняется равенство т о е = т, и левым нейтральным элементом, если g о т = т. Если элемент е ? М группоида А = (М, о) является одновре- одновременно и левым, и правым нейтральным элементом, то его назы- называют двусторонним нейтральным элементом или просто ней- нейтральным элементом. Никакой группоид не может иметь бо- более одного нейтрального элемента. Действительно, если т о е = = еот = тпи moe' = e'om = m справедливо для всех m G М, то е' = е' о е = е. Если группоид (М, о) мультипликативный, то нейтральный элемент называется единицей и обозначается 1; если группоид (М, о) аддитивный, то нейтральный элемент называется нулем и обозначается 0. Группоид А = (М, о) называется идемпотентным, если его сигнатура удовлетворяет закону идемпотентности (Vm G M) (m о т = т). Группоид А = (М, о), сигнатура которого удовлетворяет за- закону коммутативности (Vz, у G М)(жоу = у ох), называется коммутативным или а^елевьш. Группоид (М, о), в котором выполняется закон ассоциатив- ассоциативности (Vz, у, z e М) (х о (у о z) = (ж о у) о z), называется ассоциативным или полугруппой. Полугруппа (М, о), в которой выполнимы обратные операции, т. е. для любых а, Ь € М каждое из уравнений аох = b, yoa = b обладает единственным решением, называется группой. Проиллюстрируем понятие группы на примере группы подстановок, содер- содержащей шесть элементов. Группу подстановок исследовал выдающийся фран- французский математик Эварнст Галуа в связи с решением уравнений в радикалах. Подстановкой п-й степени называется взаимно однозначное отображение мно- множества из п элементов на себя. Рассмотрим три элемента: х\, Х2, хз. Существует шесть перестановок из трех элементов: цхгхз, х^хзхх, цхзх-ъ, хзХ\Х2, х-ъхххз, хзхгх\. Запишем две перестановки нз трех элементов друг под другом: (Xx X2 Хз\ \хг хз хх) Эта запись означает, что х\ переходит в Х2, хг — в хз, хз — в х\. Число возможных подстановок равно числу перестановок. Введем следую- следующие обозначения для шести возможных подстановок: _ хх ~ \хх — (ХХ \хг Х2 хг Х2 Хз Хз Хз Хз Хх )• -с Х\ Xl Х\ Хз Х2 Хз Х2 Xl Хз Х2 Хз Х2 )• "С )• /-С XI Х2 XI Хз хг Xl Х2 Х2 Хз Хз хз Х\ ). )¦
20 Гл.1. Основы многосортных множеств Введем операцию умножения х над подстановками. Произведением под- подстановок называется подстановка, получаемая в результате последовательного выполнения сначала первой, а затем второй из перемножаемых подстановок. На- Например, с хЬ \*3 Х2 XX х3 хз XI Хз Хз Х2 и XI хз XI ХЗ Х2 Значения выражения а х C, где а, /3 = а, Ь, с, d, e, /, представлены в табл. 1.1. Таблица 1.1 а а Ь с d е f а а Ь с d е f Ъ Ъ а е f с d с с d f е а Ь d d с f е а Ъ е е f Ъ а d с f f е d с Ь а В рассматриваемой алгебре (М, х) выполняется закон ассоциативности, но не выполняется закон коммутативности. Рассматриваемая алгебра (М, х) не является абелевой, так, а х /3 / /3 х а, например, прн значениях а = с, /3 = Ь; с х Ь = е, Ь х с:'= d. В алгебре выполняется аакон ассоциативности (а х /3) х 7 = о х (/? х у), следовательно, она является полугруппой (рнс. 1.5). A.1) Рис. 1.5 Диаграмма выполнения подстановок согласно левой (а) н правой (о) частям выражения A.1) Каждое уравнение ахх = /3иуха = /3 имеет однозначное решение (рис. 1.6). Следовательно, эта алгебра является группой. § 1.2. Понятие алгебры. Фундаментальные алгебры 21 Алгебра (М, х, +), которая по умножению является мульти- мультипликативным группоидом, а по сложению — абелевой группой, причем умножение связано со сложением законами дистрибутив- дистрибутивности ах(Ь + с) = ахЬ+ахс, (Ь+с)ха = Ьха + сха, называется кольцом. Кольцо, в котором все отличные от нуля элементы составляют группу по умножению, называется телом. Тело, у которого мультипликативная группа абелева, называется полем. Рассмотрим алгебру множеств (алгебру Кантора, алгебру классов) _ Ак = (B(l), U, П, " ), носителем которой является булеан универсального множества 1, сигнатурой — операции объединения U, пересечения П и дополне- дополнения ~. Для операций алгебры Кантора выполняются следующие законы: закон коммутативности объединения и пересечения закон ассоциативности объединения и пересечения Ма U (Мб U Мс) = (Мв U Мь) U Ме1 Ма П (Мб П Me) = (Me П Мь) П Mc; закон дистрибутивности пересечения относительно объе- объединения и объединения относительно пересечения Ма П {Mb U Мс) = Ма П МЬ U Ма П Мс, Ма U Мб П Мс = (Ма U Mb) П (Ма U Мс); законы поглощения МаиМаПМь = Ма, МаП(МаиМб) = Ма; законы склеивания М0ПМ(,иМаПМб = Ма, (Ма U Мь) П (Ма U Мб) = Ма; законы Порецкого закон идемпотентности объединения и пересечения МаиМа=Ма, МаПМа=Ма; закон действия с универсальным A) и пустым @) множе- множествами MU0 = M, МП0 = 0, MU_1_=1, МП1 = М, MUM = 1, МПМ = 0;
22 Гл. 1. Основы многосортных множеств §1.3. Бинарные отношения, способы их задания и свойства 23 законы де Моргана закон двойного дополнения Ш=М. Алгебра Кантора по аддитивной операции объединения и муль- мультипликативной операции пересечения является абелевой полугруп- полугруппой (так как для этих операций выполняются законы коммутатив- коммутативности и ассоциативности), но она не является группой (поскольку уравнения Ма UX = Мь, МаПХ = Мъ не имеют решения, напри- например, для случая когда множества не пересекаются: МаГ\Мь = 0). Следовательно, алгебра Кантора по двуместным операциям U и П не является кольцом. Эта алгебра принадлежит к другому классу фундаментальных алгебр — к классу решеток, который рассмо- рассмотрен ниже. § 1.3. Бинарные отношения, способы их задания и свойства Фундаментальным понятием дискретной математики является понятие отношения, которое используют для обозначения связи между объектами или понятиями. Квадратом множества М называется декартово произведе- произведение двух равных между собой множеств: М х М — М2. Бинар- Бинарным отношением Т в множестве М называется подмножество его квадрата: Т С М2. Говорят, что элементы тп,- и mj находятся в отношении Т, если (т,-, m,j) ? Т. Совокупность множества М с заданным в нем бинарным отношением Г С М2 называется гра- графом G: G=(M,T), где М — носитель графа (множество вершин), Т — сигнатура графа (множество дуг). Пример графа был использован при рассмотрении группы Га- луа (рис. 1.6). Рассмотрим задание бинарного отношения с помощью матри- матрицы смежности и фактормножества. При матричном задании используют двумерную таблицу — ма- матрицу смежности, каждой строке (столбцу) которой взаимно одно- однозначно сопоставляют элемент множества М. Тогда каждая клетка (г, j) взаимно однозначно соответствует элементам множества М2. Клетку (г, j), которая соответствует элементу, принадлежащему Т С М2, каким либо образом помечают, например, зачерняют или помещают в нее единицу; остальные клетки оставляют незачер- ненными или в них записывают нули. Рассмотрим предложенную фон Нейманом блок-схему ЭВМ, которая состоит из множества устройств М = {а, Ь, с, d, e}, где а — устройство ввода, Ъ — арифметическое устройство (процессор), с — устройство управления, d — аапоминающее устройство, е — устройство вывода. Рассмотрим информационный обмен между устройствами яг, и ягу, кото- которые находятся в отношении Т, если из устройства т, поступает информация в устройство ту. Это отношение можно задать в виде матрицы смежности сле- следующим образом: а 0 0 1 0 0 6 1 0 1 1 ¦ 0 с 1 1 0 1 1 d 1 1 1 0 0 е 0 1 1 1 0 а 6 с d с Граф G, задаваемый рассмотренным отношением Г, изобра- изображен на рис. 1.7. Здесь (и в дальнейшем) вершины графа изобра- изображаются в виде кружков (иногда в виде точек), дуги — в виде стрелок, исходящих из тп,- и входящих в mj, если (m,-, rrij) € Г; при этом вершина т,- — начало дуги, а вершина тп,- — ее конец. Рассмотрим задание бинарного отношения с помощью фактормножества. Окрестностью единичного радиуса эле- элемента т,- € М называется множество элемен- элементов тп,- € М таких, что (тп,-, тп,-) € Т, Т С М2. Часто вместо термина окрестность единич- единичного радиуса используют термин сечение. Множество окрестностей единичного радиу- радиуса, взятых для всех элементов множества М при задании в нем отношения Г С М2, называется фактормно- фактормножеством М/Т множества М по отношению Т. Фактормножество М/Т полностью определяет отношение Г. Зададим фактормножество для рассматриваемого примера в виде двух строк, в первой из которых поместим элементы множества М, во второй под каждым элементом запишем окрестность единичного радиуса этого элемента: Рнс. 1.7 Ъ {с, d, e} {a,b,d,e} d {Ъ,с,е} Тогда вторая строка аадает фактормножество М по Т. Бинарное отношение, задаваемое графом G = (М, Т) (рнс. 1.7), можно за- задать и перечислением его дуг: М = {а, Ъ, с, d, е], Т= {(о, Ь), (а, с), (о, d), (Ь, с), (Ь,е), (М), (с,а),(с,Ь), (c,d), (c,e), (d.c), (d,b), (d,e), (e,c)}. Рассмотрим наиболее важные свойства бинарных отношений. Отношение Г в множестве М называется рефлексивным, если для каждого элемента тп € М справедливо (тп, тп) € Г. Свойст- Свойство рефлексивности при задании отношения матрицей смежности
24 Гл. 1. Основы многосортных множеств Рнс. 1.8 характеризуется тем, что все элементы, лежащие на главной диаго- диагонали, отмечены (равны 1 или зачернены); при задании отношения графом каждый элемент имеет петлю — дугу вида (т, т) (рис. 1.8, а). Отношение Т в множестве М называется симметричным, если из (m,-, rrij) 6 Г следует (пц, rrij) € М, т{ ф ту Матрица смежности симме- симметричного отношения являет- является симметричной относительно главной диагонали, а при за- задании отношения в виде графа следствием симметричности является наличие между всякой па- парой вершин, находящихся в отношении Г, двух противоположно направленных дуг (рис. 1.8,6). Отношение Т в множестве М называется транзитивным, ес- если из (m,-, rrij) € Т и (mj, Шк) € Т следует (т,-, т*) € Т, где тп,-, t/Tj, Шк € М; т,' ^ Щ, "I; т^ "Н, "»j # "U. В графе, задающем транзитивное отношение Т, для всякой пары дуг таких, что конец первой совпадает с началом второй, существует третья дуга, имеющая общее начало с первой и общий конец со второй (рис. 1.8, в), — тпранзитпивно замыкающая дуга. Отношение Т', задаваемое частичным графом G' графа G (см. рис. 1.7), после удаления дуг (а, 6), (а, d), (b, е) и (d, е) становится симметричным. Частичным графом G' графа G = (V, U) называется граф вида G' = (V, U'), U' С U, т. е. граф G', G' С G, получается путем удаления дуг из графа G. Дуга называется инцидентной вершине v, если эта вершина является началом или концом дуги. При удалении, вершин и инцидентных с ними дуг получаем подграф G' графа G: G' С G. Если в подграфе G', G' С G, удалены некоторые дуги, то получаем частичный подграф G", G" С G' С С G, графа G. Отношение Т", задаваемое частичным подграфом G" графа G (см. рис. 1.7), полученным после удаления всех дуг, кроме (а, 6), (а, d), F, е) и (d, e) и вершины с (рис. 1.9, а), не обладает ни свойством симметричности (<т), ни рефлексивности (р), ни тран- транзитивности A7). Оценим, к какому из этих свойств отношение Г" наиболее близко. Близость Д(Т", а) отношения Т" к свойству будем оценивать минимальным числом дуг, которые нужно уда- удалить или добавить к графу, задающему это отношение, для того, чтобы граф задавал отношение Т, которое обладает свойством а, §1.3. Бинарные отношения, способы их задания и свойства 25 а = а, р, г]. Для рассматриваемого примера (рис. 1.9,6) Д(Т",<т) = 4, А(Т",р) = 4, Д(Т",г?) = 1. Используя эти свойства, определим бинарное отношение упоря- упорядоченности, имеющее большое теоретическое и практическое зна- значение. Рис. 1.9 Бинарное отношение R в множестве М, обладающее свойст- свойствами: рефлексивности {4aeM)((a,a)eR); антисимметричности ч (Va, 6 ? М) (((а, Ь) € R (Ь, а) € R) <* а = Ь); транзитивности (Va, 6, с € М){{(а, Ь) € R (Ь, с) € R) -+ (а, с) е R); называется отношением упорядоченности и обозначается <. Бинарное отношение в множестве М, обладающее свойствами антирефлексивности, антисимметричности и транзитивности, на- называется отношением строгой упорядоченности и обозначается <. Отношение R в множестве М, обладающее свойствами ре- рефлексивности и транзитивности, называется отношением пред- порядка. Рассмотрим отношение включения С . Это отношение рефлек- рефлексивно: М{ С М, (множество М,- включает самое себя); если М,- С С Mj и Mj С М^, то М{ — Mj и, следовательно, оно антисимме- антисимметрично; еслиМ,- С Mj и Mj С Mjfe, To М{ С Mjfc, значит, отношение С транзитивно. Отношение включения С является отношением упорядоченно- упорядоченности <. Множество М с заданным в нем отношением упорядочен- упорядоченности < называется упорядоченным этим отношением. Если любые два элемента т,- и rrij упорядоченного множества находятся в отношении упорядоченности т,- < ту или mj < m,-,
26 Гл. 1. Основы многосортных множеств то это множество называется линейно упорядоченным (цепью); в противном случае множество называется частично упорядочен- упорядоченным. Пример частично упорядоченного множества приведен на рис. 1.10 (в качестве отношения < рассмотрено отношение вклю- включения множеств с). Часто частично упорядоченное множество изображают в виде графов Н = (У, <), у которых удалены все петли и все транзи- тивно замыкающие дуги. Граф Н = (У, <), задающий частично упорядоченное множество с удаленными петлями и транзитивно {У. х, а) замыкающими дугами, называется диаграммой Хассе Н. Диа- Диаграмма Хассе Н, задающая частично упорядоченное множество, которое показано на рис. 1.10, а, изображена на рис. 1.10,5. Диаграмма Хассе известна с конца XIX века, и в течение мно- многих лет ее применяли в генеалогии для указания родства. Понятие непосредственного старшего легко задается в частично упорядочен- упорядоченном множестве следующим определением: т,- покрывает ту; это означает, что ту < т,- и не найдется такого элемента тх, что ту < тх < тм,-. Рассмотрим подмножество М' упорядоченного множества М. Если найдется элемент та € М такой, что т,- < та для любого элемента т,- подмножества М', то элемент та называется мажорантой подмножества М'. Аналогично, если найдется эле- элемент тр € М' такой, что тр < т,- для любого элемента т,- под- подмножества М', то элемент тр называется минорантой подмно- подмножества М'. На диаграмме Хассе Н (рис. 1.10, б) элемент {х} яв- является минорантой подмножества {{у, х}, {а, х}, {у, х, а}}, эле- элемент {а, х} — мажорантой подмножества {{х}, {а}, 0}. § 1.3. Бинарные отношения, способы их задания и свойства 27 Если мажоранта та подмножества М' принадлежит М'. та € € М', то она называется максимальным элементом (тмакс) этого подмножества. Аналогично, если миноранта тр подмножества М' принадлежит М', тр 6 М', то она называется минималь- минимальным элементом (тмии) подмножества М'. В диаграмме Хассе Н (рис. 1.10, б) минимальным и максимальным элементами подмно- подмножества {{х}, {у, х}, {а, х}, {у, х, а}} являются соответственно {х}, {у, х, а}. Для пары элементов линейно упорядоченного мно- множества всегда существуют максимальный (равный одному из них) и минимальный (равный другому) элементы. Пару элементов ли- линейно упорядоченного множества т,-, ту, для которых т,- < ту или ту < т,-, называют сравнимыми. Если множество мажорант (минорант) в свою очередь имеет максимальный (минимальный) элемент, то его называют верхней (нижней) гранью подмножества М'. Верхнюю (нижнюю) грань множества М' обозначают supM' (infM'). Верхняя (нижняя) грань подмножества М', принадлежащая М', называется наибольшим (наименьшим) элементом подмно- подмножества М'. Теорема 1.1. Упорядоченное множество М содержит не более одного наибольшего (наименьшего) элемента. Докажем теорему для случая наибольшего элемента. Действи- Действительно, если та, тр — два наибольших элемента, то та < тр и тр < та, откуда в силу антисимметричности отношения < сле- следует та = тр. Доказательство для наименьшего элемента анало- аналогично. Наибольший элемент упорядоченного множества М, если он существует, назовем единичным и будем обозначать 1. Наимень- Наименьший элемент упорядоченного множества М, если он существует, назовем нулевым и будем обозначать 0. В упорядоченном семействе множества 1 пустое множество со- соответствует нулевому элементу, 1 — единичному элементу. Элемент, покрывающий 0 в частично упорядоченном множе- множестве М, т. е. минимальный элемент в подмножестве множества М, полученном исключением 0, называется атомом или точ- точкой. При задании с помощью графа семейства множества М точке (атому) соответствует элемент универсума. Под изоморфизмом между двумя упорядоченными множества- множествами М и М* будем понимать взаимно однозначное соответствие г) между М и М* такое, что из т,- < ту следует т;(т,) < т;(ту) и из Vfai) < V(mj) следует m,- < my. Два упорядоченных множества, М и М", называются изо- изоморфными тогда и только тогда, когда между ними существует изоморфизм.
28 Гл. 1. Основы многосортных множеств Под отношением R, обратным R, понимают такое отношение, при котором (m,-, rrij) ? R тогда и только тогда, когда (rrij, m,) € € R. Принцип двойственности. Отношение, обратное от- отношению упорядоченности, также является отношением упо- упорядоченности. Двойственным к частично упорядоченному множеству М на- называется частично упорядоченное множество М, определенное на том же носителе с помощью обратного отношения. На рис. 1.10, в изображена диаграмма, являющаяся двойственной к диаграмме Хассе (рис. 1.10,6). Часто принцип двойственности формулируют следующим образом: если теорема справедлива для частично упорядоченных множеств, то справедлива и двойственная ей теорема. Очевидно, что подмножество М' упорядоченного множества М является упорядоченным множеством, и если это упорядоченное' множество М' является линейным, то подмножество М' является цепью М' в М. Одной из важных числовых характеристик цепи М' является ее длина I, равная \М'\ - 1, где \М'\ — мощность носителя линейно упорядоченного подмножества М'. Каждая цепь длины I изоморфна цепи целых чисел 1, 2, ..., I + 1. Высотой d(m,i) элемента т,- упорядоченного множества М на- называется максимум длины (/макс) цепей т0 < пц < ... < т,- в М, для которых т,- — наибольший элемент, т0 — минимальный элемент множества М. Длиной d(M) упорядоченного множества М называется макси- максимум длин цепей в М. Другими словами, длиной d(M) упорядочен- упорядоченного множества называется максимум высот d,-(m,-) его элементов d(M) = rnaxd,(m,), m, 6 М. Наименьшей верхней гранью называется верхняя грань, мень- меньшая всякой другой верхней грани. Наибольшая нижняя грань определяется аналогично. Очевидно, что подмножество упорядо- упорядоченного множества имеет не более одной наименьшей верхней и не более одной наибольшей нижней грани. Другим важным бинарным отношением является отношение эквивалентности (^). Бинарное отношение эквивалентности, об- обладающее свойствами рефлексивности, симметричности и тран- транзитивности, называется отношением эквивалентности. Назовем классом эквивалентности К{та) элемента та мно- множество всех элементов mi, каждый из которых находится с этим элементом в отношении эквивалентности (множество эквивалент- эквивалентных элементов): К{та) = {m,/ mi ~ ma}. § 1.4. Решетка 29 Согласно свойству рефлексивности отношения ^ имеем та € € К(та). Из свойства транзитивности отношения эквивалентно- эквивалентности (та *л ть) & (тъ ^ ™>с) -> тпа ^ тпс следует К(та) Э К(ть), а из свойства симметричности — та * ть - К(та) = К(ть). Два различных класса эквивалентности, К(тх) и К(ту), тх / тпу, не пересекаются: К(тх) Г\К(ту) = 0, так как в про- противном случае они бы совпали. Действительно, пусть найдется элемент mz, принадлежащий этим классам: тг е К(тх), К(ту); тогда согласно приведенным выше свойствам К(тх) = К{тг) = = К(ту). Иначе говоря, если найдется элемент mz, принадлежа- принадлежащий двум классам эквивалентности, К(тх) и К(ту), то К(тх) = = К(ту), что можно записать (используя вместо слова "найдется" обозначение 3) Cmz € К(тх), К(ту)) -+ (К(тх) = К{ту)). Представление множества М в виде попарно непересекающих- непересекающихся подмножеств {М,} будем называть разбиением этого множе- множества: Рис. 1.11 U Mi = М, Mi, П М1Ь = 0, te ф ц. Таким образом, классы эквивалентности образуют разбиение множества. Тестом распознавания отношения эквивалентно- эквивалентности, заданного матрицей смежности, может быть приведение с помощью пере- перестановки строк (столбцов) матрицы смеж- смежности к виду, изображенному на рис. 1.11, где около главной диагонали расположены подматрицы, состоящие из единиц (они заштрихованы), остальные элементы матрицы равны нулю. Каж- Каждая заштрихованная подматрица соответствует классу эквивалент- эквивалентности. § 1.4. Решетка Используя понятие частичного упорядоченного множества, оп- определим понятие решетки. Решеткой называется упорядоченное множество (М, <), любые два элемента m,-, mj которого имеют наибольшую нижнюю грань, или пересечение т,- П т;, и наи- наименьшую верхнюю грань, или объединение т,- U mj. Очевидно,
30 Гл.1. Основы многосортных множеств что упорядоченное множество М, двойственное решетке М, явля- является решеткой, в которой пересечение и объединение меняются местами. Упорядоченное множество, в котором любое подмножество име- имеет наибольшую нижнюю и наименьшую верхнюю грани, называ- называется полной решеткой. Очевидно, что если все цепи в решетке конечны, то всякое подмножество в решетке имеет наименьшую верхнюю и наибольшую нижнюю грани. Найдем в качестве упражнения пересечение и объединение некоторых эле- элементов решетки, определенной диаграммой Хассе Я (см. рнс. 1.10,6): {у} U {*} = {у, х}, 1 U 0 = 1, {у} П {о, у} = {у}, {у, х}Г\{а}=0, {у, х} П {а, х) = {х}, {у} U {а, х) = 1. Решетку можно определить и как алгебру А = (М, U, П), сиг- сигнатура которой обладает следующими свойствами: комм утатив ности m,- U rrij — mj U m,-, m,- П mj = m,j П m,-; A.2) ассоциативности (m,- U mj) U nik = m,- U (mj U m*), (m,- Пт,-)Ппц = m,- П (mj П m*); поглощения miUm,Tlm,=mi, m,- П (m,U rrij) = m,-. A.4) На основе закона поглощения можно доказать свойство идем- идемпотентности (дедекиндовости) этой алгебры: тп,- = m,- U m,- П (т,- U mj) = т,- и т,-, т,- = ггц П (т,- U т^ П т,-) = т,- П т,- (этот результат получен Дедекиндом). В любой алгебре, удовлетворяющей свойствам A.2)—A.4), т,- П mj = rrij тогда и только тогда, когда m,- U mj = m,- U т,- П mj = m,-. При введении отношения упорядоченности <: m,- > mj ^ miD rrij = rrij, получаем определение решетки, в которой т,Пт;- и m,Umj явля- являются соответственно наибольшей нижней и наименьшей верхней гранями. Свойство рефлексивности отношения <: A.3) вытекает из справедливости закона идемпотентности ТП{ П т,' = пх{; § 1.4. Решетка 31 свойство антисимметричности отношения < вытекает из закона коммутативности: т,- < rrij & rrij < m,- f^ m,- = mj П т,- = т,- П mj = mj. Если т,- > mj &mj > rrik, то согласно A.3) m,- П mj; = m,- П (mj П rrik) = (m^ П mj) r\mk = rrij Drrik = m^, откуда m,- > mjt; в результате доказано свойство транзитивности отношения <. Наконец, согласно свойствам идемпотентности, коммутативно- коммутативности и ассоциативности операции пересечения получаем т,- П (т,- П rrij) = (т,- П т,) П mj = т,- П mj, и т,1 П rrij является нижней гранью для т,-, а согласно A.2) — и для rrij. Более того, m,- rirrij есть наибольшая нижняя грань, так как из m,- > rrik wrrij > m^ вытекает согласно A.3) (mi Пrrij) Г\тк = т,-П (mj Пт^) = т,- Птк = т^. Согласно принципу двойственности m,Umj является наименьшей верхней гранью для т,- и mj. В результате проведенного доказательства получена связь меж- между определениями решетки как частично упорядоченного множе- множества и как алгебры с двумя операциями Пии, где U — операция взятия наименьшей верхней грани элементов (объединения); П — операция взятия наибольшей нижней грани элементов (пересече- (пересечения). В качестве упражнения вычислим значение некоторой формулы F, рассма- рассматривая решетку как алгебру. Имеем F(a, b) = (о П (о U о)) П ((о U (о П о)) П n(oUb)) UOUo = оП(оП(ои6)) UOUo = (ono)UOUo = oUOUo = oUo = о. При упрощении F(a, Ь) были использованы свойства A.4), A.2) и идемпо- идемпотентность. Здесь и ниже 0 и 1 в решетке будем называть структурными нулем и единицей; при этом (Vm,)@ П m,- = 0, 0 U m; = т,-, пц П 1 = т,-, m,- U 1 = 1). Определим в решетке свойство дистрибутивности. Лодрешет- кой А решетки А называется подмножество решетки А, которое вместе с каждой парой элементов т{, rrij из А содержит также m,- U rrij и т; П rrij. Интервалом J, определенным элементами та и тр в решехке А, называется подрешетка А' решетки А с наибольшим элементом тр и наименьшим элементом та: J = [та, тр] — {т,- € А'/ та < т,- < тр}. В решетке А со структурными нулем и единицей два элемента, та и тр, называются дополнительными, если таПтр = 0, maUmp = 1.
32 Гл.1. Основы многосортных множеств S 1.4. Решетка 33 Элемент, дополнительный к т (тп), называется также допол- дополнением элемента m в решетке А. Два элемента, обладающие об- общим дополнением в решетке А, называются связанными в А. Важным классом решеток являются дистрибутивные решетки. Решетка А называется дистрибутивной, если она удовлетворяет следующим тождествам: (m,- U m.j) П тк — гщ П mk U щ П тк, тк П (т,- Umj) = тпк Пт^т^Пrrij для всех т,-, rrij, mk € М. Согласно свойству коммутативности пересечения для опреде- определения дистрибутивной решетки достаточно выполнения одного из этих тождеств. Критерий дистрибутивности решетки. Решетка А дистрибутивна тогда и только тогда, когда в каждом ин- интервале J решетки А любые два связанных в J элемента равны. Этот критерий можно выразить в более удобной для вычисле- вычислений форме, если найти структуру подрешеток, наличие которых выводит решетку из класса дистрибутивных. Введем понятие дедекиндовых (модулярных) решеток. Решет- Решетка А называется дедекиндовой тогда и только тогда, когда (Vm,-, rrij,mk€ A, rrij < mk)((гщ Urrij) Птк = rrij Птки m,). Критерий дедекиндовости решетки. Решетка А дедекиндова тогда и только тогда, когда она не содержит подрешетки, изоморфной решетке Ат (рис. 1.12, а). Решетка Ат содержит один элемент нулевой высоты, два эле- элемента единичной высоты и по одному элементу, высота которых 2 и 3. Используя критерий модулярности решеток, сформулируем критерий дистрибутивности в более удобной для вычислений фор- форме: решетка дистрибутивна тогда и только тогда, когда она не содержит подрешетки, изоморфной Ат, т. е. является дедекиндовой, и не содержит подрешетки, изоморфной под- решетке Ад (рис. 1.12,6). Ре- Решетка Ад содержит три цепи длины 2, состоящие из одного элемента нулевой высоты, трех р"с. 1.12 элементов единичной высоты и одного элемента высоты 2. Решетка А, задаваемая диаграммой Хассе Н (см. рис. 1.10,6), является не только дедекиндовой, но и дистрибутивной. В решетке А со структурными нулем и единицей, в которой каждый элемент т обладает дополнением т, можно считать за- заданной унарную одноместную операцию /i(m) = т. Решетка А называется решеткой с дополнениями, если она обладает струк- структурным нулем и такой унарной операцией fi(m) — m, что Ш=т, A.5) A.6) A.7) тп; U rrij — ГГЦ П тпПт = 0. Согласно A.5) и A.6) одна из операций U, П может быть выражена через другую. Следовательно, решетку с дополнениями можно определить как алгебру, сигнатура которой состоит из U, ~. Отметим некоторые следствия тождеств A.5)—A.7). Имеем 0 < т для всех т ? М; следовательно, 0 П т = 0. Бели положить 1 = 0, а0Пт = 0и0итп = тп подставить в A.6), то получим 1Пт = тп, 1ига = 1. Следовательно, 1 — наи- наибольший элемент решетки, т. е. является структурной единицей. Согласно тождествам A.7) и A.6) mUm= 1. Дистрибутивная решетка с дополнениями называется булевой алгеброй. Изоморфизмом г] между алгебрами А\ — (Mi, Si) и А2 = = (Мг, 5г) называется такое взаимно однозначное соответствие между элементами носителей и сигнатур, что /,(тп в1, таз, m aj Mi, ri{maj) eM2, j = 1, 2, ..., k, /,- € Su = ri{mak), 52. Алгебры, между которыми существует изоморфизм, называ- называются изоморфными. Все законы алгебры А\ справедливы и в изоморфной ей алгебре Аг. Теорема 1.2 (Стоун). Булева алгебра изоморфна алгебре Кантора. Для рассматриваемых алгебр имеется следующий изоморфизм: МаиМъ, МаПМь, где в левых частях выражений стоят теоретико-решетчатые, в пра- правых — теоретико-множественные операции. Эти операции имеют одно и то же написание, поэтому, чтобы их различать, аргументы теоретико-решетчатых операций будем обозначать малыми бук- буквами, а аргументы теоретико-множественных операций — боль- большими буквами латинского алфавита. 2 В. А. Горбатов
34 Гл. 1. Основы многосортных множеств На рис. 1.13 изображена дистрибутивная решетка с дополнениями, в которой результаты действия теоретико-решетчатых операций объединения, пересечения и дополнения определены в табл. 1.2-1.4. Таблица 1.2 Операция объединения (a U /3) а 0 а Ъ с d е к 1 13 0 0 а Ь с d е к 1 а а а d е d е 1 1 Ь Ъ d Ь к d 1 к 1 с с е к с 1 е Jfc 1 d d d d 1 d 1 1 1 e e e 1 e 1 e 1 1 it к 1 к к 1 1 к 1 1 1 1 1 1 1 1 1 1 Операция пересечения (а П /3) Таблица 1.3 а 0 а Ь с d е Jfc 1 0 0 0 0 0 0 0 0 0 а 0 а 0 0 а а 0 а Ь 0 0 Ь 0 Ь 0 Ь Ъ с 0 0 0 с 0 с с с d 0 а Ь 0 d а d d е 0 а 0 с а е е е Jfc 0 0 Ь с Ь с к к 1 0 а Ъ с d е к 1 Операция дополнения E) Таблица 1.4 а 0 а Ъ с е к 1 а 1 к е d Ъ а 0 Комментарии OU1 = 1, 0П1 = 0 aUfc = 1, оП)Ь = 0 bUe = l, ЬПе = О cUd = l, cnd = 0 eUb = l, еПЬ = О JkUo = l, Jkno = 0 1UO = 1, 1П0 = 0 Элементам а и а соответствуют максимально (в смысле длины соединяющей их цепи) удаленные вершины диаграммы Хассе. Рассмотрим еще один пример решетки, образованной бинарным отношением делимости Rig в множестве целых чисел {1, 2, 3,4, 5, 6, 10, 12, 15, 20, 30, 60}; (о, Ь) € Rig ¦* rest (Ь/о) = 0, где rest (Ь/а) — остатоп от целочисленного деле- деления о на а. $ 1.4. Решетка 35 Отношение делимости R?9 рефлексивно: rest (a/a) = 0; антисимметрично: rest (Ь/а) = 0 -+ rest (а/Ъ) / 0 (rest (а/Ь) = о), rest (Ь/а) = rest (а/Ъ) <+ а = Ъ; транзитивно: rest (Ь/а) — 0&rest(c/d) = 0 -+ rest (с/а) = 0. Следовательно, NО Рис. 1.13 Рис. 1.14 отношение Rig является отношением частичной упорядоченности. Диаграмма Хассе, определяющая это отношение, представлена на рнс. 1.14. Для каждой пары элементов диаграммы Хассе имеется наибольшая нижняя грань (табл. 1.5) и наименьшая верхняя грань (табл. 1.6). В диаграмме име- имеются структурный нуль (число 1) н структурная единица (число 60). Имеет ли каждый элемент дополнение (табл. 1.7)? Нет, элементы 2, 6, 10, 30, вошедшие В пересечение носителей диаграмм На н Нъ, не имеют дополнений: Я. = ({1, 2, 3, 5, 6, 10, 15, 30}, < >, Нъ = ({2, 4, 6, 10, 12, 20, 30, 60}, < >. Следовательно, диаграмма Хассе (рис. 1.14) задает дистрибутивную решетку без дополнений, так как она не содержит подрешеток, изоморфных Ат и Ая (см. рис. 1.12); прн этом структурное объединение двух элементов определяет наи- наименьшее общее кратное соответствующих чисел, а структурное пересечение — наибольший общий делитель. Таблица 1.5 Операция пересечения (а П /3) а 1 2 3 4 5 6 10 12 15 20 30 60 Р 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 2 1 2 2 2 1 2 2 2 3 1 1 3 1 1 3 1 3 3 1 3 3 4 1 2 1 4. 1 2 2 4 1 4 2 4 5 1 1 1 1 5 1 5 1 5 5 5 5 6 1 2 3 2 1 6 2 6 3 2 6 6 10 1 2 1 2 5 2 10 2 5 10 10 10 12 1 2 3 4 1 6 2 12 3 4 6 12 15 1 1 3 1 5 3 5 3 15 5 15 15 20 1 2 1 4 5 2 10 4 5 20 10 20 30 1 2 3 2 5 6 10 6 15 10 30 30 60 1 2 3 4 5 6 10 12 15 20 30 60
36 a 1 2 3 4 5 6 10 12 15 20 30 60 a a Гл.1. Основы многосортных множеств Операция объединения (a U C Таблица 1.6 P 1 1 2 3 4 5 6 10 12 15 20 30 60 1 60 2 2 2 6 4 10 6 10 12 30 20 30 60 2 нет 3 3 6 3 12 15 6 30 12 15 60 30 60 4 4 4 12 4 20 12 20 12 60 20 60 60 5 5 10 15 20 5 30 10 60 15 20 30 60 Операция 3 20 4 15 5 12 6 6 6 6 12 30 6 30 12 30 60 30 60 10 10 10 30 20 10 30 10 60 30 20 30 60 12 12 12 12 12 60 12 60 12 60 60 60 60 пополнения (а) 6 нет 10 нет 12 5 15 15 30 15 60 15 30 30 60 15 60 30 60 15 4 20 20 20 60 20 20 60 20 60 60 20 60 60 30 30 30 30 60 30 30 30 60 30 60 30 60 60 60 60 60 60 60 60 60 60 60 60 60 60 Таблица 1.7 20 3 30 нет 60 1 Рис. 1.15 Если после замены дуг на цепи соответствующей длины диа- диаграмма Хассе На преобразуется в диаграмму, изоморфную диа- диаграмме Нь, то диаграммы На и Щ называ- называются гомеоморфными. Теорема 1.3. Диаграмма Хассе Н не определяет решетку, если она содер- содержит поддиаграмму, гомеоморфную Н3 (рис. 1.15). Доказательство. Очевидно, что эле- элементы а и /3 не имеют наибольшей нижней грани, элементы у и S — наименьшей верхней грани. § 1.5. Модель. Алгебра отношений Аналогично бинарному отношению определим n-арное отно- отношение. Декартово произведение п равных между собой множеств М называется n-й степенью Мп множества М. Под п-арным от- отношением Т в множестве М понимается подмножество Г его п-й степени Г С Мп. Бели элементы mtl, тп,-2, ..., гп,{п принадлежат М и (mtl, тп,{2, ..., m,n) € Г, то говорят, что элементы находятся в отношении Т. Любое n-арное отношение может быть задано в виде списка, элементами которого являются последовательности §1.5. Модель. Алгебра отношений 37 (кортежи), определяемые этим отношением. Рассмотрим свойство симметричности n-арных отношений, позволяющее эффективно использовать n-арные отношения при формализации многих прак- практических задач. Симметричным называется n-арное отношение Г в множестве М такое, что если (mtl, m,-2, ..., m,n) € Т, то и любая последовательность (т;1, rrij2, ..., m,jn), полученная из (т,и т,-2, ..., т,{п) перестановкой элементов, также находится в отношении Т: (mjl, m,j2, ..., m,jn) € Т. По существу n-арное отношение, обладающее свойством сим- симметричности, задает подмножества, которые состоят из п элемен- элементов, — подмножества мощности п. В дальнейшем n-арное отно- отношение, обладающее свойством симметричности, будем называть S-ричным отношением (S-отношением или словесным отноше- отношением). Элементы множества М, в котором определено 5-отно- 5-отношение, будем называть буквами, а подмножества, определяемые 5-отношением, будем называть словами и обозначать щ. Задавать 5-отношение можно более удобными способами: ма- матрицей инцидентности и модельным графом (мографом). Матрицей инцидентности Q = [gtJ] называется двумерная матрица, каждому столбцу которой взаимно однозначно соответ- соответствует буква, строке — слово, определяемое 5-отношением, и , mj €/ii, Например, 3-отношение в множестве М = {о, и, о, р, с, ы}, определяющее слова щ = {с, о, р}, fi2 = {р, и, с}, цз = {с, ы, р}, fi* = {о, с, а}, с помощью Матрицы инцидентности Q можно аадать следующим образом: а и о р с ы 10 0 1110 0 10 110 0 0 0 111 10 10 10 Если отношение 5 определяет подмножество М', М' С М', то число s будем называть степенью отношения 5. Задать 5-отношение произвольной степени с помощью графа, носитель которого совпадает с множеством букв, нельзя (см. тео- теорему 1.4). Граф называется полным, если все его вершины попарно смежны. Теорема 1.4. Если хотя бы три различных слова, опреде- определяемые отношением 5, соответствуют полному подграфу гра- графа G, то граф G не задает отношение 5. Доказательство. При задании словесного отношения гра- графом будем ассоциировать определяемое слово с полным подгра- подграфом графа G. Тогда теорема очевидна. Действительно, достаточно
38 Гл.1. Основы многосортных множеств рассмотреть следующий пример. Пусть 3-отношение в множестве М = {в, т, о, р) определяет слова pi = {т, о, р}, /i2 = {р, о, в}, ц3 = {в, т, о}, которым соответствует граф G, изображенный на рис. 1.16, а. Это полный граф на четырех вершинах. Он может за- 0A.2,3) A.2) вB, 3) Рис. 1.16 давать слово {в, т, о, р} или слова {т, о, р}, {р, о, в}, {в, о, т}, или слова {т, о}, {р, о}, {т, р}, {в, р}, {т, в}, (в, о}, т. е. имеет место неоднозначность. Для однозначного задания словесных отношений необходимо каждой букве (вершине) сопоставить множество идентификаторов слов, в которые эта буква входит. Тогда всякому слову взаимно однозначно соответствует полный подграф, каждой вершине ко- которого соответствует идентификатор этого слова. Такой полный подграф, соответствующий слову, в дальнейшем будем называть элементным. Процесс сопоставления каждой букве множества идентификаторов слов, в которые эта буква входит, будем называть моделизацией графа G. В результате моделизации графа G ка- каждой вершине взаимно однозначно соответствует буква, взвешен- взвешенная множеством идентификаторов слов, в которые она входит; при этом две вершины смежны (соединены линией без ориентации — ребром), если им соответствует хотя бы один общий идентифи- идентификатор. Полученную таким образом на графе функцию, областью определения которой являются вершины графа, а областью значе- значений — множества идентификаторов слов, будем называть модель- модельным графом (мографом) и обозначать GM = ((V, W), U). Здесь W — множество идентификаторов слов. Мографы Gf* и Gif, задающие соответственно отношения Sy = {{m, о, р}, {р, о, в}, {в, о, т}} в множестве М\ = {в, т, о, р} и S2 = {{с, о, р), 1 {р, и, с}, {с, ы, р}, {о, с, а}} в множестве Mj = {о, и, о, р, с, ы}, изображены з з 4 на рис. 1.16, б, 1.17,о. Для задания 5-отношений используют также термин гипер- гиперграф. При геометрической интерпретации гиперграфа его буквы взаимно однозначно сопоставляются вершинам, слова — кругам § 1.5. Модель. Алгебра отношений 39 Эйлера, которые охватывают буквы, входящие в соответствующее слово. Геометрическая интерпретация гиперграфа, определяющая совокупность (М, 53>, где М = {а, и, о, р, с, ы}, S3 = {{с, о, р}, {р, и, с}, {с, ы, р}, {о, с, о}}, изображена иа рис. 1.17,6. Однозначно задать 5-отношение с помощью графа можно, если в качестве носителя графа взять не только множество букв, но рп, 2,3)оA,4) Рис. 1.17 и множество идентификаторов слов. Такое задание 5-отношения осуществляется двудольным графом. Граф G — {V, U) называется двудольным (простым или гра- графом Кёнига), если его носитель разбит на два подмножества, V+ и V~, не имеющих общих вершин, и начало каждой дуги и € U принадлежит подмножеству V+, и только ему, а конец — подмно- подмножеству V", и только ему. При задании 5-отношений элементам подмножества V+ в двудольном графе G = (V, U) взаимно одно- однозначно сопоставляют буквы, элементам подмножества V~ — иден- идентификаторы слов и (va, i/p) € 17, если и только если вершина va соответствует букве, входящей в слово vp. Двудольный граф, задаю- задающий 3-отношение 53 = {{с, о, р}, {р^и^с}, {^ь^р}, {о, с, а}} в 12 3 4 множестве {а, и, о, р, с,}, изображен на рис. 1.17, в. Одним из основных в дискретной математике является поня- понятие модели. Моделью Ф называется совокупность множества М с заданными в нем отношениями S = , R2I} R22, • • •) где множество М — носитель модели, а заданные отношения Ria, Ria С М1 образуют сигнатуру модели Ф = (М, S).
40 Гл. 1. Основы многосортных множеств Степень носителя определяет арность отношения. Два от- отношения Ra и Rp, имеющие одну и ту же степень, называются совместимыми по объединению или просто совместимыми. Очевидно, что n-местную операцию /„(ттн, т2, ..., т„) = = mn+i можно рассматривать как (n-f 1)-арное отношение iin+i- Совокупность множества М с заданными в нем операциями и отношениями, следуя А.И. Мальцеву, будем называть алгебраиче- алгебраической системой. Частным случаем алгебраической системы является алгебра отношений и ее расширение — реляционная алгебра. Рассмотрим алгебру отношений, носитель которой — множе- множество отношений, а сигнатура — операции объединения, пересе- пересечения, разности и расширенного декартова произведения отно- отношений. Объединением Ra U Rp двух совместимых отношений Ra и Rp является множество всех кортежей, каждый из которых при- принадлежит хотя бы одному из этих отношений. Объединение отно- отношений Ra = {{a,b,c), (a, 6, d), F, с, е)} Rp = {(a,b,d),(b,d,e), (с, d, е)} есть RaURp = {(а, Ь, с), (а, Ь, d), F, с, е), F, d, e), (с, d, e)}. Рассмотренные отношения Ra и Rp являются совместимыми, так как их степени равны: s(Ra) = s(Rb) = S,Ra,RbC M3, M = = {а, Ь, с, d, e}. Пересечением Ra П Rp двух совместимых отношений Ra и Rp является множество всех кортежей, принадлежащих как отно- отношению Ra, так и отношению Rp. Пересечение отношений Ra и Rp для рассматриваемого примера есть RanRp= {(а, 6, с), (а, Ь, d), F, с, е)} П П {(а, Ь, d), F, d, e), (с, d,e)} = {(а, 6, d)}. Разностью Ra \ Rp двух совместных отношений Ra и Rp является множество всех кортежей, принадлежащих отношению Ra и не принадлежащих отношению Rp] для данного примера = {(а, 6, с), (а, 6, d), F, с, е)} \ {(а, 6, d), F, d, e), (с, d, e)} = = {(а. *i с), F, с, е)}. Расширенным декартовым произведением Ra х Rp двух от- отношений Ra и Rp является множество всех кортежей ж таких, что § 1.5. Модель. Алгебра отношений 41 Я" — конкатенация кортежа а € Ra и кортежа b ? Rp (конкате- (конкатенация кортежей (ai, aj, ..., an) и (&i, 62, • • • > &m) — кортеж (ai, a2, ..., an, &i, 62, ..., bm)). Например, для рассматривавшихся отношений Ra и Rp расширенное декартово произведение есть RaxRp = {(a, 6), (с, d), (a, e)} x {(a, 6, с), F, d, e)} = = {(a, b, a, 6, с), (a, b, 6, d, e), (с, d, a, 6, c), (c, d, 6, d, e), (a, e, a, 6, c), (a, e, 6, d, e)}. Понятия модели и алгебры отношений находят широкое при- применение при формализации реальных объектов. Рассмотрим, как используется алгебра отношений при создании информационного обеспечения, т. е. при разработке реляционной базы данных. Основой построения реляционной базы данных является двумерная таблица, каждый столбец которой соответствует домеиу (или атрибуту, соответствующему части домена), а каждая строка — кортежу значений атрибутов, находящихся в отношении R. Рассмотрим 5-ариое отношение i?s (экзамены) (табл. 1.8). Таблица 1.8 Rs 1 2 3 4 5 6 7 8 Di К 5-01 К 5-02 К 5-03 К 5-04 К 5-01 К 5-02 К 5-03 К 5-04 D2 ТЕОРИЯ АВТОМАТОВ МАТЕМАТИЧЕСКАЯ ЛИНГВИСТИКА ФИЗИКА АЛГОРИТМИЧЕСКИЕ ЯЗЫКИ ФИЗИКА ТЕОРИЯ АВТОМАТОВ АЛГОРИТМИЧЕСКИЕ ЯЗЫКИ МАТЕМАТИЧЕСКАЯ ЛИНГВИСТИКА D3 ПРОФ. ИВАНОВ ПРОФ. ПЕТРОВ ПРОФ. СИДОРОВ ПРОФ. ПЕТРОВ ПРОФ. СИДОРОВ ПРОФ. ИВАНОВ ПРОФ. ПЕТРОВ ПРОФ. ИВАНОВ Dt 03 ЯНВ. 03 ЯНВ. 03 ЯНВ. 05 ЯНВ. 09 ЯНВ. 09 ЯНВ. 10 ЯНВ. 10 ЯНВ. Dt АУД.210 АУД.211 АУД.211 АУД. 210 АУД.210 АУД. 211 АУД.211 АУД.210 Табл. 1.8 определяет отношение реляционной модели данных. Отношение Ra является подмножеством декартова произведения Di x D-i x D3 x D* x Ds, в котором сомножители являются доменами. Элементами домена Di служат значения атрибутов. Домеи D\ (группа) содержит значения К 5-01, К 5-02, К 5-03, К 5-04: Di = {Kb - 01, К, 5 - 02, Kb - 03, Kb - 04}; аналогично получаем домены ?>2 (дисциплина), Di (экзаменатор), D* (дата), Ds (аудитория): D3 = {ТЕОРИЯ АВТОМАТОВ, МАТЕМАТИЧЕСКАЯ ЛИНГВИСТИКА, ФИЗИКА, АЛГОРИТМИЧЕСКИЕ ЯЗЫКИ},
42 Гл. 1. Основы многосортных множеств D3 =(ПРОФ. ИВАНОВ, ПРОФ. ПЕТРОВ, ПРОФ. СИДОРОВ}, D* = {03 ЯНВ., 05 ЯНВ., 09 ЯНВ., 10 ЯНВ.}, Оь = (АУД. 210, АУД. 211). Порядок столбцов в таблице фиксирован, строки в общем случае могут рас- располагаться произвольно. Цифры первого столбца 1, 2, ..., 8 идентифицируют элементы отношения R&. Для преобразования отношений определим реляционную ал- алгебру. Носитель реляционной алгебры представляет собой множе- множество отношений, сигнатура, кроме введенных операций (объедине- (объединение, пересечение, разность и расширенное декартово произведение отношений), включает специальные операции над отношениями: выбор, проекцию и соединение.. Операция выбора представляет собой процедуру построения "горизонтального" подмножества отношения, т. е. подмножества кортежей, обладающих заданным свойством. Пример 1.3. С помощью операции выбора построить отношение Ri (рас- (расписание экзаменов проф. Иванова). Результатом операции выбора являются строки, в которых домен D3 представлен значением ПРОФ. ИВАНОВ; это строки 1, 6, 8 табл. 1.9). Таблица 1.9 1 6 8 К 5-01 К 5-02 К 5-04 ТЕОРИЯ АВТОМАТОВ ТЕОРИЯ АВТОМАТОВ МАТЕМАТИЧЕСКАЯ ЛИНГВИСТИКА D3 ПРОФ. ИВАНОВ ПРОФ. ИВАНОВ ПРОФ. ИВАНОВ 03 ЯНВ. 09 ЯНВ. 10 ЯНВ. АУД.210 АУД.211 АУД.210 Для определения проекций отношений множество в реляцион- реляционной алгебре разбивается на два подмножества в случае бинарного отношения и на п подмножеств в случае я-арного отношения: R2 С М2, M = AUB, АП5 = 0, R2 С А х В; Rn С Мп, М = у А{, Aia П Aib = 0, »а, Ч € {ч, t2> ..., г„}, te фЧь, Rn С Ах X А2 X ... х Ап. Проекцией Rp(R2/A) бинарного отношения R2, R2 С А х В, на А называется множество элементов {а,/ (а,-, Ь,) € R2}. Проекцией Пр(Rn/ Atl, A,2, ..., A,m) п-арного отношения Rn С А\ X А2 х ... х Ап, п > т, на A,j, А,-2, ..., А,т называется множество кортежей (atl, a,-2, ..., a,m), где atl € Atl, щ3 еА;„... • • • i aim € А{т, каждый из которых является частью элемента n-арного отношения Rn. Операция проекции определяет построение "вертикального" под- § 1.5. Модель. Алгебра отношений 43 множества отношения, т. е. множества подмножеств кортежей, по- получаемого выбором одних и исключением других доменов. Пример 1.4. Проекция Пр(Д5/ Di, ?)з) порождает множество пар, каждая из которых определяет дисциплину и экзаменатора (табл. 1.10). Таблица 1.10 ТЕОРИЯ АВТОМАТОВ МАТЕМАТИЧЕСКАЯ ЛИНГВИСТИКА ФИЗИКА АЛГОРИТМИЧЕСКИЕ ЯЗЫКИ МАТЕМАТИЧЕСКАЯ ЛИНГВИСТИКА D3 ПРОФ. ИВАНОВ ПРОФ. ПЕТРОВ ПРОФ. СИДОРОВ ПРОФ. ПЕТРОВ ПРОФ. ИВАНОВ Одинаковые строки в табл. 1.10 объединены в одну. Операция соединения по двум таблицам, имеющим общий до- домен, позволяет построить одну таблицу, каждая строка которой образуется соединением двух строк исходных таблиц. Из задан- заданных таблиц берут строки, содержащие одно и то же значение из общего домена; общему домену сопоставляется один столбец. Пример 1.5. Найдем по двум заданным таблицам (табл. 1.11, 1.12) резуль- результат операции соединения по домену D\ (табл. 1.13). Таблица 1.11 К 5-01 К 5-02 К 5-03 К 5-04 ТЕОРИЯ АВТОМАТОВ МАТЕМАТИЧЕСКАЯ ЛИНГВИСТИКА ФИЗИКА АЛГОРИТМИЧЕСКИЕ ЯЗЫКИ D3 ПРОФ. ИВАНОВ ПРОФ. ПЕТРОВ ПРОФ. СИДОРОВ ПРОФ. ПЕТРОВ 03 ЯНВ. 03 ЯНВ. 05 ЯНВ. 05 ЯНВ. АУД. 210 АУД.211 АУД.211 АУД. 210 Таблица 1.12 R* К 5-01 К 5-04 К 5-02 К 5-03 D3 ФИЗИКА МАТЕМАТИЧЕСКАЯ ЛИНГВИСТИКА ТЕОРИЯ АВТОМАТОВ АЛГОРИТМИЧЕСКИЕ ЯЗЫКИ D3 ПРОФ. СИДОРОВ ПРОФ. ИВАНОВ ПРОФ. ИВАНОВ ПРОФ. ПЕТРОВ 09 ЯНВ. 10 ЯНВ. 09 ЯНВ. 10 ЯНВ. АУД. 210 АУД. 210 АУД.211 АУД. 211
44 Гл. 1. Основы многосортных жноясеств К 5-01 К 5-02 К 5-03 К 5-04 ТЕОРИЯ АВТОМАТОВ МАТЕМАТИЧЕСКАЯ ЛИНГВИСТИКА ФИЗИКА АЛГОРИТМИЧЕСКИЕ ЯЗЫКИ D3 ПРОФ. ИВАНОВ ПРОФ. ПЕТРОВ ПРОФ. СИДОРОВ ПРОФ. ПЕТРОВ 03 ЯНВ. 03 ЯНВ. 05 ЯНВ. 05 ЯНВ. АУД.210 АУД.211 АУД. 211 АУД.210 Аналогично можно определить операцию соединения не только по условию "равенства", но и по другим условиям сравнения: >, >i Ф, <i <• Определим, например, операцию соединения по усло- условию "больше, чем" (>). Соединением по условию "больше, чем" отношения Ra по ат- атрибуту X и отношения Щ по атрибуту У (атрибуты X и У явля- являются атрибутами одного и того же домена, общего для отношений Ra и Щ) X > Y называется множество всех кортежей Ж{ таких, что тг,- — конкатенация кортежа а,, принадлежащего Ra, и кортежа 6,-, принадлежащего Rb, где X — часть a,-, Y — часть &,• и X > Y. Запрос в реляционной базе данных будет выполнен тем бы- быстрее, чем меньше операций над отношениями он содержит. Та- Таким образом, представляет практический интерес рассматривае- рассматриваемая ниже задача упрощения представления множества через вве- введенные операции (§ 1.6). § 1.6. Аксиоматика теории множеств, минимизация представления множеств Используя аксиоматический подход, формально построим тео- теорию множеств на основании следующих аксиом. Аксиома существования. Существует по крайней ме- мере одно множество. Аксиома объемности (экстенциональности).Если множества М„ и Мь составлены из одних и тех же элементов, то они совпадают (равны): Ма — Мь. Аксиома объединения. Для произвольных множеств Ма и Мь существует множество, элементами которого являются все элементы множества Ма и все элементы множества Мь и которое никаких других элементов не содержит. Из аксиом объемности и объединения следует, что для про- произвольных множеств Ма и Мь множество, удовлетворяющее усло- условиям аксиомы объединения, единственно. Действительно, если бы имелись два таких множества, МС1 и М^, то они содержали бы § 1.6. Аксиоматика теории множеств 45 Таблица 1.13 ФИЗИКА ТЕОРИЯ АВТОМАТОВ АЛГОРИТМИЧЕСКИЕ ЯЗЫКИ МАТЕМАТИЧЕСКАЯ ЛИНГВИСТИКА D'3 ПРОФ. ПРОФ. ПРОФ. ПРОФ. СИДОРОВ ИВАНОВ ПЕТРОВ ИВАНОВ 09 ЯНВ. 09 ЯНВ. 10 ЯНВ. 10 ЯНВ. л; АУД. АУД. АУД. АУД. 210 211 211 210 одни и те же элементы (все элементы, принадлежащие множеству М„, и все элементы множества Мь), и поэтому согласно аксиоме объемности MCi — МСз = Мс. Назовем это единственное множест- множество Мс объединением множеств Ма и Мь и будем писать Мс = = маимь. Аксиома разности. Для произвольных множеств Ма и Мь существует множество, элементами которого являются те и только те элементы множества Ма, которые не явля- являются элементами множества Мь. Аналогично, из аксиом объемности и разности заключаем, что для произвольных множеств Ма и М\, существует в точности одно множество, содержащее элементы множества М„, не принадлежа- принадлежащие множеству Мь. Назовем это множество Мс разностью мно- множеств Ма и Мь: Мс = М„ \ Мь. Аксиома степени. Для каждого множества М сущест- существует семейство множеств В(М) (булеан), элементами кото- которого являются все подмножества Mi, Mi С М, и только они. Аксиома существования пустого множества. Су- Существует такое множество 0, что ни один элемент ему не принадлежит. Бели операции и понятия теории множеств были введены ин- интуитивно, то аксиоматический подход позволяет формально на основании введенных шести аксиом определить эти операции и понятия теории множеств. С помощью операций объединения и разности, используя вве- введенные аксиомы, определим еще три операции на множествах. Пересечение множеств М„ и Мь определяется формулой МоПМь = М0\(М0\Мь). Можно показать, что элементами пересечения М„ П Мь являются те и только те элементы, которые принадлежат как множеству Ма, так и множеству Мь. Дополнение М множества М определяется формулой М = 1\М.
46 Гл. 1. Основы многосортных множеств Симметрическая разность множеств М„ и Мь определяется формулой Ма\'Мь = (Мо \ Мь) U (Мь \ Ма). На основании введенной аксиоматики можно доказать справед- справедливость как приведенных выше законов, определяющих свойства сигнатуры алгебры множеств (законы идемпотентности, комму- коммутативности, ассоциативности, дистрибутивности, действия с кон- константами, двойного дополнения, законы де Моргана), так и сле- следующих законов: закон дистрибутивности пересечения относительно разно- разности Мо П (Мь \ Мс) = Мо П Мь \ Мо П Мс; закон коммутативности симметрической разности закон ассоциативности симметрической разности Ма \ ' (Мь \ *МС) = (Мо \ 'Мь) \ 'Мс; закон дистрибутивности пересечения относительно сим- симметрической разности Ма П (Мь \ *МС) = Ма П Мь \ *Ма П Мс; законы склеивания Ма П Мь U Ма П Мь = Ма, (Ма U Мь) П (Ма U Ж) = Ма; законы поглощения МаиМоПМь = Мо, МоП(МоиМь) = Ма; законы Порецкого Используя эти законы, рассмотрим задачу минимизации пред- представления множества М с помощью операций U, П, Под сложностью представления множества М будем понимать число символов Mi, Mi в задающем его выражении. Пусть в пространстве 1 = {Mi, Мг, Мз} задано множество вида U Mi П ЗЙа П М7и Mi П М2 П Мз U Mi П М2 П Мз. На основании законов идемпотентности, коммутативности и ассоциативности объединения получаем М(МЬ М2, Мз) пМз)и(мТпЖпм7и U Mi П Мг П Мз) U (Mi П М2 П Мз U Mi П М2 П Мз). § 1.6. Аксиоматика теории множеств 47 Согласно аакоиам коммутативности объединения и пересечения и закону склеи- склеивания получаем М(МЬ М2, Согласно законам коммутативности пересечения и поглощения имеем M(Mi, Мг, Мз) = МГпМгиМзиМ1ПМ2. Сложность представления заданного множества уменьшилась с 18 до 5. Последовательность применения законов будем называть стратегией преобразования. Сложность представления множе- множества, получаемого в результате применения этих законов (каждый из которых определяет эквивалентное преобразование), зависит от используемой стратегии. Найдем стратегию, всегда порождающую минимальное выражение заданного множества. Рассмотрим алгебру А = (-B(l), U, П, ) и определим множе- множества, которые могут быть порождены (образованы) из произволь- произвольных подмножеств Mi, Мг, ..., Мп, называемых порождающими или образующими пространство 1 с помощью операций U, Г), Множество в дальнейшем будем называть первичным термом. Множество вида ПМр =Mf1nMJ2n...nM?", a,-= 0,1, Назовем конституентой. Общее число различных конституент не превышает 2П. Ка- Каждой конституенте можно сопоставить двоичный набор длины п; число этих наборов равно 2П. Бели некоторые конституенты рав- равны 0, то общее количество конституент меньше 2П, при этом среди подмножеств найдутся хотя бы два таких, которые можно выра- выразить одно через другое, т. е. зависимые. Например, если п = 2 и Mj = Mi, то существуют только две отличные от 0 конституенты: d = м° п м\, с2 = mi п м20. Лемма 1.1. Пересечение двух различных конституент пусто. п п » Действительно, если конституенты С„ = П М?' и Сь = П М°; различны, то crjfe ф <г? по крайней мере для одного к, к < п. Но тогда М?* П М?* = 0 и, следовательно, С„ П Сь = 0.
48 Гл. 1. Основы многосортных множеств Лемма 1.2. Объединение всех конституент равно 1. п Представим 1 в виде 1 = П (Mf U М/), и, раскрыв скобки, в правой части равенства получим объединение всех конституент. Лемма 1.3. Множество Mi равно объединению конститу- конституент, каждая из которых содержит МК Согласно лемме 1.2 1 = С\ U С2 U ... U С\ = U С,-, где С;, г = 1, 2, ..., 2П, — конституенты. Определим пересечение левой и правой частей этого выражения с М,\ Имеем М{ = (Mi П d) U (Mi П C2) U ... U (Mi nCj)U... Если Cj содержит в качестве аргумента пересечения М,°, то М, П Cj = 0. Если же Cj содержит М}, то Су П М; = Су. Следо- Следовательно, М,- — объединение тех конституент, которые содержат М} в качестве сомножителя; число этих конституент равно 2п~1. Теорема 1.5. Каждое непустое множество, образованное из множеств Mi, М2,..., Мп с помощью операций U, П, ~~, явля- является объединением некоторого числа конституент. Согласно лемме 1.3 теорема справедлива для множеств Mi, М2, ..., Мп. Следовательно, достаточно показать, что если про- произвольные множества М„ и Мъ представимы в виде объединения некоторого числа конституент, то и множества М„ U Мь, Ма Г) Мь и М, если они не пустые, также можно представить в виде объе- объединения конституент. Пусть множества М„ и Мь представимы в виде объединения конституент М„ = COlUCOJU...UCOjk и Мь = CblUC^U.. .UCb.. Тогда множество М„ U Мь, очевидно, можно представить в виде объединения конституент. По закону дистрибутивности М„ П Мь = (Са, Г) Cbl) U ... ... U (Cak П Сък); при этом если Спа = Cbff, то согласно лемме 1.1 Са„ П Сь„ = 0, в противном случае С„в = Сь„. Следовательно, пе- пересечение Ма ПМь либо пусто, либо представимо в виде объедине- объединения конституент. Докажем, что множество М также представимо в виде объединения конституент, если М = С\ U С2 U ... U С*. Согласно закону де Моргана Aff " П М22 П ... П M?ln П Affи П M2*" П ... П M^2n П ... ... n Ml" n m2*" n... n м^*» = (a*J» и л^17 и... и м^) п иМ3'8 U . ..UMf") П . ..П (Mf*1 U . ..UJiC"). § 1.6. Аксиоматика теории множеств 49 Раскрывая скобки и используя соотношения Ма П Ма = 0, Ма U МИ = 1, а также добавляя в те пересечения, в которых от- отсутствует нижний индекс /3, сомножитель М^иМ^, получаем, что множество М также представимо в виде объединения конституент. Теорема 1.6. Изп множеств в алгебре А = EA),и,П, ) можно образовать не более чем 22" множеств. Каждое множество М согласно теореме 1.5 является объедине- объединением конституент, число которых не превышает 2П; следовательно, число различных объединений не превышает 22 . При этом если множества Mi,M2, ...,М„ независимые, т. е. все конституенты отличны от пустого множества, то число различных конституент равно 2П, и число множеств, образованных из этих конституент в виде их объединения, равно 22" (с учетом пустого множества). Введение понятия конституенты позволяет задавать множество М при фиксированных независимых подмножествах М\, М2, ... ..., М„ универсального множества 1 в виде объединения консти- конституент: Каждое фиксированное множество М; С_1_разбивает простран- пространство на две части: на собственно Mi и на Mj. При независимых множествах М, € {М,/ i = 1, ..., п} пространство разбивается на 2 X 2 X ... х 2 = 2П областей. Каждая область является пере- праэ сечением п множеств М,- или Mi, г = 1, ..., п. Сопоставим этой области двоичный вектор (ai, ег2, ..., <тп), в котором Oi = 1, если в пересечение С = Г)МГ входит М,, и <г< = 0, если входит М,-, а также десятичный эквивалент Любое множество М в пространстве 1 можно задать в виде объединения этих областей. Сопоставим множеству М двоичный вектор длины 2П, в котором i-му разряду соответствует область с десятичным эквивалентом, равным »'. Вектор, определяющий множество, представим в виде десятичного эквивалента: 2п-1 d(M)= Y,*-*' с,-= 0,1. t=0 Следовательно, множество М в пространстве может быть задано в виде соответствующего десятичного эквивалента.
50 Гл. 1. Основы многосортных множеств Рассмотрим, например, в трехмерном пространстве 1 = {Mi, Мг, Мз} множество Af (Mi, Mj, М3) с десятичным эквивалентом d(M) = 217. Имеем 217 = 1 • 27 + 1 • 26 + 0 • 2s + 1 • 24 + 1 • 23 + 0 • 22 + 0 • 21 + 1 • 2°. Множеству М соответствует двоичный вектор A, 1, 0, 1, 1, 0, 0, 1), определяющий включение областей в множество М (рис. 1.18, а). Кроме диаграммы Эйлера, пространство может быть задано в виде гиперкуба или n-мерного куба (п — размерность простран- пространства, равная числу фиксированных множеств). Гиперкубом (п-мерным кубом) называется граф Я, каждая вершина которого взаимно однозначно соответствует области про- пространства, и две вершины соединены ребром, если они соответ- Ш1.3.4) в щ щ Таблица 1.14 Рис. 1.18 ствуют соседним областям (имеющим общую границу). Сопоста- Сопоставленные этим областям двоичные векторы отличаются в одном и только одном разряде. Гиперкуб для рассматриваемого примера изображен на рис. 1.18,5 (вер- (вершины, соответствующие коиституентам множества М, заштрихованы). Часто множество М задают в виде дво- двоичной таблицы, каждой строке которой взаимно однозначно соответствует консти- туеита. Множество строк таблицы линейно упорядочено по возрастанию десятичного эквивалента соответствующего двоичного набора. Столбцам соответствуют множества, образующие пространство, последний стол- столбец сопоставляется множеству М и едини- единица указывает иа вхождение конституенты в множество М. В данном случае имеем табл. 1.14. d(c) 0 1 2 3 4 5 6 7 Mi 0 0 0 0 1 1 1 1 м2 0 0 1 1 0 0 1 1 Мз 0 1 0 1 0 1 0 1 м 1 0 0 1 1 0 1 1 §1.6. Аксиоматика теории множеств 51 Аналитически множество М задается в виде м = ЖпЖпЖи Жп м3 п Мз и или в виде мографа GM = (V, 53), V = {M,, S3 = {{МГ, Ma, Ж}, {Ж, М2, Мз}„ TA = 1, 2, 3}, 1 2 {Mi, Ж, Мз), {Mi, Ма, Ж), {Mi, Ма, Мз» 3 4 5 (рис. 1.18, в). В рассматриваемой алгебре А = (-B(l), U, П, ) операции яв- являются зависимыми. Действительно, согласно закону де Моргана любое множество из 22 множеств может быть построено и с помо- помощью алгебры А = (-B(l), U, ). Равносильными в смысле поро- порождения любого множества из 22" множеств являются алгебры А = = EA), U, ),А = (ВA), Г), ), которые могут быть заменены соответственно алгебрами А = (В{1), U, \, 1), А = EA), П, \, 1) согласно формуле М = 1 \ М, где универсум 1 рассматривается как нульместная операция. Алгебра EA), U, \, 1) в силу равенств Ма U Мь = Ма \ *Мь \ *{Ма П Мь), Ма\Мь = Ма\*(МаПМь) может быть заменена алгеброй вида EA), П, \*, 1). Рассмотрим задачу минимизации представления множеств в алгебре Кантора. Пересечение попарно различных множеств П М°' называется элементарным. Выражение, задающее множество М в виде объединения различных элементарных пересечений, на- называется нормальной формой Кантора (НФК) множества М. Объединение конституент множества М называется совершенной НФК множества М. Минимальной НФК множества М называется НФК этого множества, имеющая минимальную сложность. Рассмотрим метод Квайна, который будем использовать для получения минимальной НФК множества М. Этот метод заключа- заключается в последовательном выполнении таких этапов. 1. Выделение максимальных интервалов. Интер- Интервалом множества М называется множество конституент множе- множества М, образующих гиперкуб (некоторой размерности). Очевидно, что мощность интервала равна степени 2 (т. е. 2°, 21 и т. д.).
52 Гл. 1. Основы многосортных множеств Запишем, например, множество интервалов для рассмотрен- рассмотренного выше примера: {000, 100, 110, 011, 111, -00,1-0, 11-, -11}. Здесь и далее - означает, что множество, соответствующее это- этому разряду, в пересечении отсутствует, т. е. по этому множе- множеству после объединения соответствующих конституент произошло склеивание. Например, интервал -00, соответствующий множе- множеству конституент 000 и 100, получается в результате преобразова- преобразования , Тж~ Л/Г л/Г Интервал 1а называется максимальным интервалом 1макс множества М, если не найдется другого интервала Ц этого мно- множества, содержащего интервал 1а, 1а Ф 1р- В данном случае имеется четыре максимальных интервала: -00, 1-0, 11-, -11; каждый из них образует гиперкуб размер- размерности 1 (ребро). Пересечение Г)Мр, соответствующее максимальному интер- интервалу множества М, называется простой импликантой этого мно- множества. Объединение простых импликант множества М называ- называется сокращенной НФК множества М. Количество первичных термов, образующих простую импли- канту, называется рангом простой импликанты, а элементарное пересечение — рангом соответствующего ин- интервала. При выделении максимальных интерва- интервалов множество интервалов, имеющих один и тот же ранг, разбивают на пояса, причем t-й пояс содержит интервалы, которым соот- соответствуют наборы с » единицами в каждом. Тогда выделение максимальных интервалов сводится к сравнению элементов только с о- седних поясов, номера которых отлича- отличаются на единицу. Если построенные интервалы не являются мак- максимальными, то процесс сравнения продолжают. Результаты срав- сравнения для рассматриваемого случая приведены на рис. 1.19. Со- Сокращенная НФК множества М{М\, Mi, M3) имеет вид 000 -оо 1-0 Af (Afi, M2, Построением сокращенной НФК множества М заканчивается первый этап метода Квайна. Тупиковой НФК множества М называется такая НФК этого множества, которая при вычеркивании хотя бы одного первичного терма не определяет М. Минимальной НФК множества М называется НФК этого множества, содержащая минимальное количество первичных тер- термов. § 1.6. Аксиоматика теории множеств 53 Лемма 1.4. Минимальная НФК множества М является тупиковой. Сложность минимальной НФК множества М нельзя умень- уменьшить вычеркиванием первичного терма. Следовательно, эта форма является тупиковой. Лемма 1.5. Тупиковая НФК множества М состоит из простых импликант этого множества. Если хотя бы одно пересечение соответствует интервалу мно- множества М, не являющемуся максимальным, то это пересечение можно заменить простой импликантой вычеркиванием соответ- соответствующих первичных термов, не выходя из класса эквивалент- эквивалентных НФК (задающих одно и то же множество) множества М, что противоречит определению тупиковой НФК. Теорема 1.Т. Тупиковые НФК множества М, в том числе и минимальная НФК, содержатся в сокращенной НФК этого множества. Тупиковая НФК множества М, в том числе и минимальная НФК, состоит согласно лемме 1.5 из простых импликант. Сокра- Сокращенная НФК множества М включает все простые импликанты. Следовательно, тупиковая (минимальная) НФК множества М со- содержится в сокращенной НФК этого множества. Согласно теореме 1.7 построение тупиковой НФК множества М сводится к покрытию двумерной таблицы. Покрытием столбцов строками в двумерной таблице назы- называется такое множество строк, при котором для каждого столбца найдется хотя бы одна строка из этого множества, на пересечении с которой этот столбец имеет единицу, причем при вычеркивании хотя бы одного элемента из этого множества строк указанное свой- свойство не выполняется. 2. Построение и покрытие таблицы Квайна. Таб- Таблица Квайна — двумерная таблица, каждой строке которой вза- взаимно однозначно соответствует максимальный интервал, столб- столбцу — конституента, а на пересечении »-й строки и j-ro столбца находится единица, если j-a конституента входит в t-й максималь- максимальный интервал, в противном случае клетку (i, j) не заполняют или ставят в ней 0. Для рассматриваемого примера таблица Квайна имеет вид табл. 1.15. Таблица 1.15 Максимальный интервал -00 1-0 11- -11 Конституеита 000 1 100 1 1 110 1 1 011 1 111 1 1
54 Гл. 1. Основы многосортных; множеств Максимальный интервал называется обязательным, если най- найдется конституента, принадлежащая ему и только ему. Столбец, соответствующий этой конституенте, содержит только одну еди- единицу. Множество обязательных интервалов образует ядро покры- покрытия. В данном случае ядром покрытия является множество {—00, -11}, которое покрывает первый, второй, четвертый и пятый сто- столбцы. Для образования покрытия можно взять либо вторую, либо третью строку. В результате получаем два покрытия: {—00, —11, 1-0}, {-00, -11, 11-}; каждое из них является минимальным и имеет сложность 6. Для определенности выберем первое из покры- покрытий, которое соответствует минимальной НФК, задающей множе- множество М(Mi, М2, Мз) = МгПЛ^иМзПМзиМхПМз. В результате упрощения сложность L(M) уменьшилась от 15 до 6. Минимальная НФК находится в результате перебора всех по- покрытий, осуществляемого с помощью преобразования мультипли- мультипликативно-аддитивной формы в аддитивно-мультипликативную форму. Для рассматриваемого примера обозначим четыре строки табл. 1.15 соответственно буквами а, Ь, с, d. Запишем множество строк, каждый элемент которого покрывает j-й столбец: , j = 2-+A2 = {a, b), } j A {d} A {} Покрытием столбцов строками этой таблицы является множество строк, покрывающее все столбцы таблицы, и при удалении хотя бы одной из этих строк найдется непокрытый столбец. Следова- Следовательно, если каждое множество Aj представить в виде объедине- объединения его элементов и найти пересечение всех множеств Aj, (~)Aj, то каждое пересечение в полученной аддитивной форме соответ- соответствует покрытию, а число всех покрытий равно числу различных пересечений в полученной аддитивно-мультипликативной форме: ПА, =an(aU6)DFUc)ndn(cUd) = = anFUc)nd=an6ndUaDcnd. Полученные пересечения aDbDd и аП сГ\ d порождают два покрытия: {-00, 1-0, -11} и {-00, 11-, -11}; каждое из них со- соответствует минимальной НФК заданного множества М. Дальней- Дальнейшее уменьшение сложности выражения, определяющего заданное множество, возможно, если из класса НКФ перейти в класс скобоч- скобочных форм Кантора (СФК). Выражение, определяющее множество М, называется скобочной формой Кантора, если кроме первич- первичных термов и знаков операций объединения и пересечения в него входят круглые скобки. § 1.7. Алгоритм — двусортное множество. Системы счисления 55 В рассматриваемом примере сложность представления множе- множества, равная 6, понижается до 5 в результате применения закона дистрибутивности пересечения относительно объединения: М(МХ, М2, М3) = Мз П (Мг U Мг) U М2 П М3. Преобразование мультипликативно-аддитивной формы в адди- аддитивно-мультипликативную называется методом Петрика, кото- который может быть определен соответствующим алгоритмом. § 1.7. Алгоритм — двусортное множество. Системы счисления Важным классом многосортного множества является класс, элементами которого являются алгоритмы. Слово "алгоритм" (al- (algorithm) является латинской транслитерацией арабского имени хорезмского математика IX века аль-Хорезми. Дадим интуитивное определение алгоритма. Алгоритмом называется двусортное множество (Мр, R2), где Мр — множество правил (процедур) решения задачи, обладающих следующими свойствами: массовости — инвариантности относительно входной инфор- информации; детерминированности — однозначности применения этих правил на каждом шагу; результативности — получения после применения этих пра- правил информации, являющейся результатом; элементарности (прозрачности) — отсутствия необходимости дальнейшего уточнения правил. Символ R2 — бинарное отношение в множестве Мр, R2 С Mj, (pitPj) € R2, если после процедуры р,- выполняется процедура pj. Алгоритм можно представить в виде графа, каждая вершина которого соответствует правилу, и бинарное отношение R2 опреде- определяет порядок выполнения этих правил. Бели при этом вершина является началом или концом только одной дуги, то правило назы- называется арифметическим. Если правило является концом только одной дуги, а началом — более чем одной дуги, то правило называ- называется логическим. После выполнения логического правила проис- происходит ветвление вычислительного процесса согласно полученному результату. Первоначально построение алгоритма нельзя выполнить пол- полностью формальным образом. Это — искусство. Рассмотрим, на- например, построение алгоритма перевода целых чисел, заданных в десятичной системе счисления, в систему счисления с основа- основанием 5. Как строить алгоритм, будет понятно, если догадаться, что сдвиг на один разряд вправо целого числа (рис. 1.20, а) экви- эквивалентен делению этого числа на основание системы счисления и
56 Гл. 1. Основы многосортных множеств что при этом содержимое нулевого разряда может быть выявлено как дробная часть в виде остатка при целочисленном делении на 5 (рис. 1.20,6). Очевидно, что при переводе дробного числа идея Целое число Р Считаем частное за заданное число Целочисленно делим число на S. Остаток запоминаем нет Последовательность остатков, занесенных в обратном порядке их получения, есть запись заданного числа в системе счисления с основанием S Рис. 1.20 алгоритма основана на его сдвиге влево на один разряд (эхо эквива- эквивалентно умножению на 5); при этом содержимое 1-го разряда при умножении будет представлять собой целую часть произведения (рис. 1.21, а). Отсюда имеем алгоритм перевода дробного числа с заданной точностью S~k (рис. 1.21,6). Примечание. В средневековой Европе алгоритмом назы- назывались десятичная система счисления и искусство счета в ней, так как благодаря латинскому переводу в XIII веке трактата аль- Хорезми "Книга о сложении и вычитании на основе индийского исчисления" Европа познакомилась с позиционной системой. Системой счисления, или нумерацией, называется совокуп- совокупность приемов и правил для обозначения и наименования чисел. Система счисления задает правила кодированной записи количе- § 1.7. Алгоритм — двусортное множество. Системы счисления 57 ственных эквивалентов, позволяющие для каждого числа одно- однозначно получать его кодовую запись и по каждой кодовой записи — соответствующий ей количественный эквивалент. По соглашению Дробное число Считаем дробную часть произведения за заданное число Умножаем заданное число на S. Отделяем целую часть произведения и запоминаем ее нет Выполнили умножение К раз? да Последовательность целых частей произведений, записанная в прямом порядке их получения, есть запись заданного числа в системе счисления с основанием S Рис. 1.21 количественный эквивалент записывается в десятичной системе счисления. Множество элементарных знаков, используемых для кодирования, называют цифрами счисления. Слово "цифра" — от арабского слова "сыфр", которое в свою очередь является переводом древнеиндийского слова (алфавит "де- ванагари") "сунья", что означает пустое место (разряд), в которое помещается числовой знак при задании количественных отноше- отношений. Системы счисления бывают непозиционные и позиционные. В непозиционных системах каждой цифре сопоставлен некоторый стандартный количественный эквивалент, а количественный эк- эквивалент кода числа вычисляется как некоторая функция от ко- количества эквивалентных цифр, входящих в запись этого кода. Примером такой системы является система счисления, в которой
58 Гл. 1. Основы многосортных множеств используется только одна цифра, например I. Этой цифре сопо- сопоставлен количественный эквивалент, равный единице. Тогда код ПИИ означает количественный эквивалент шести, функцией при вычислении количественного эквивалента кода здесь является опе- операция сложения. В позиционных системах каждой цифре некоторый количествен- количественный эквивалент сопоставляется не однозначно, а в зависимости от ее положения в коде числа. Будем рассматривать только ли- линейно упорядоченные записи. Выберем в записи начало отсчета (нулевой разряд). Разряды влево от него будем нумеровать 1, 2, ..., а вправо от него —1, -2, ... Каждой цифре а;, стоящей в разряде с номером j, сопоставляется количественный эквива- эквивалент <fi(a.ij). Функция if> либо одинакова для всех разрядов, либо ее вид изменяется от разряда к разряду. В дальнейшем будут рас- рассматриваться только позиционные системы с одинаковой функ- функцией всех разрядов. Всякая позиционная система задается тремя компонентами: (А, <р, F). Здесь А — множество цифр системы; Ч> — функция, определяющая для цифр в каждом разряде их ко- количественный эквивалент; F — функция, определяющая по коли- количественным эквивалентам в записи числа количественный экви- эквивалент самого числа. В зависимости от вида функции F выделим системы счисле- счисления двух типов: аддитивные vi мультипликативные. В системах первого типа F — функция сложения, а в системах второго ти- типа — функция умножения. Если для любых цифр А и любого j имеет место равенство V(°«! j) — Sx • v(ai, 0), то говорят о системе счисления с основа- основанием S. Если ?>(а,, j) = pj ¦ <fi(ui, 0) и pj не совпадают при различных j, то система весомозначного типа, а pj — веса разрядов. Если в системе с основанием 5 множество цифр состоит из 0, 1,..., 5-1, то система имеет естественное множество цифр (есте- (естественная система счисления); если S = m + k + ln множе- множество цифр— {-т, -т + 1, ..., -1, 0, 1, 2, ..., к}, то при т = к система имеет симметрическое множество цифр (симметрическая система счисления); при к > т или т > к система имеет асим- асимметрическое соответственно в положительную или отрицательную сторону множество цифр (асимметрическая система счисления). Наиболее часто используют естественные системы счисления с натуральным основанием. Любое число х в системе с основанием 5 представимо в следующем виде: х = 5', где [о,-] — количественный эквивалент цифры а,' в нулевом раз- разряде. §1.7. Алгоритм — двусортное множество. Системы счисления 59 Пример 1.6. Представить количественный эквивалент [83.16]ю в восьме- восьмеричной системе 5 = 8 с алфавитом цифр {0, 1, 2, ..., 7} с точностью до 8~2. Используя вышеприведенные алгоритмы, получаем > 3 83 |8 "80 1 —> 2 \ 3 -108f 1 •¦> 2 \ 3 ¦5a (T [123]» -? 1 • 82 + 2 ¦ 81 + 3 • 8° = [83]ю; 1 *-• «— 0.16X8=1.28 1 2 «— 0.28X8 = 2.24 [0.12] = 1 • 8 + 2 • 8~2 « 0.16. Часто для повышения информационной безопасности фирмы изменяют как алфавит цифр, так и основание арифметики. Рассмотрим перевод числа 83.16 на десятичной арифметики в восьмеричную с алфавитом цифр {6, 5, 4, 3, 2, 1, 0, 1}, где количественный эквивалент цифр таков: _ _ [6] = -6, [5] = -5,. [4] = -4, [3] = -3, Для искомой записи представим количественный эквивалент цифр есте- естественного алфавита {0, 1,2, ..., 7}, используя количественные эквиваленты цифр заданного алфавита: Для определения_правой части последнего выражения заметим, что 2=8 — 6 = = 8+ (-6) -* [16],, следовательно, [2]е = [16],. Аналогично получаем [3]е = = [15]., [4]. = [14],, [5]. = [13],, [6], = [12],, [7]. = [И],. Подставляя найденные соотношения в запись [123.12]е, получаем 123.12 -* 100.00 160.00 + 015.00 000.10 000.16 255.26 -* 1600.00 + 0055.06 0001.60 [1654.66], Количественный эквивалент 83.16 в восьмеричной системе счисления с ал- алфавитом цифр {6, 5, 4, ..., 0, 1} будет представим в виде 1654.66. Действительно, [1654.66], -Я • 83 - 6 • 82 - 5 • 81 - 4 • 8° - 6 • 8 - 6 • в «84-0.84 = 83.16.
60 Гл. 1. Основы многосортных множеств Определим запись количественного эквивалента 83.16 в системе счисления с основанием 0.125 и алфавитом цифр {6,5,4, ..., 0,1}. Замечая, что 0.125 = 8, получаем, что количественные эквиваленты раз- разрядов в системах счисления с основанием 8 и 8 симметричны относительно 81 8° 8" 8- 5 = 8 5-Г1 ) я Г1J-8 1 -2/о-1\1_ о-1 /в~1\( \о ) = о \о ) Рис. 1.22 • 1 \ 2= нулевого разряда (рис. 1.22). Отсюда получаем искомую аапись 83.16 в виде [бб4.5б1]0.т. Определим оптимальное в смысле сложности реализации осно- основание 5-позиционной арифметики. Под сложностью реализации С будем понимать произведение разрядов L на количество значе- значений каждого разряда S. Количество чисел N, кодируемое 5-ичным Z-разрядным век- вектором, равно N = SL. A.8) Найдем значение 5, при котором сложность реализации С мини- минимальна: min L • 5. s Логарифмируя A.8), получаем lniV = L -\nS, L = \nN/lnS. От- Отсюда сложность реализации имеет вид C = S-lnN/\nS. Найдем условие экстремума С: dC _\nN-\nS-S-(l/S)-\nN dS~ ln2S " ' отсюда In S - 1 = 0, 5 = e. Определим, является ли 5 = e условием минимума или макси- максимума: dS2 \nS §1.8. Компьютерные арифметики 61 lniV-(l/5)-ln25-lniV-ln5-2-ln5-(l/5) d2C dS2 .In4 5 _ In N{- in2 S -A/5) + 2 in S) S=e Получили условие минимума. Следовательно, оптимальным осно- основанием позиционной арифметики является число 3, являющееся ближайшим большим от основания натурального логарифма е. Каждой арифметике с основанием S /-\ /~\ т\ /-\ ~ можно сопоставить L-дольный граф, ка- каждая доля которого содержит S вершин, определяющих количественные эквива- эквиваленты 0, 1, 2, ..., S — 1; число при этом представляется ломаной, соединяющей соответствующие цифры. На рис. 1.23 представлено число 1021 в арифметике с основанием S = 3. Рис. 1.23 § 1.8. Еомпьютерные арифметики В естественных системах счисления, получивших наибольшее распространение, можно записывать числа (при натуральном ос- основании) только одного знака. Для изображения чисел противопо- противоположного знака в таких системах используют знак + или —. Более целесообразно кодировать знак числа с помощью цифр, исполь- используемых при записи числа. Для этого в записи числа выделяют один специальный разряд, называемый знаковым. Цифра, стоя- стоящая в нем, не кодирует количественного эквивалента и не участ- участвует в вычислении эквивалента с помощью функции F. Будем кодировать знак + нулем, знак - цифрой 5-1 в нулевом разряде при задании чисел х, \х\ < 1. Для этого определим прямой код числа х, \х\ < 1 следующим образом: f O.xix2...xn, x>0, [х]п = < (S -I.xix2...xn, x < 0. Учитывая, что |ж| < 1, это соотношение можно переписать в видё -, *>о, В настоящее время широко используют полулогарифмическую форму представления чисел, или представление с плавающей точкой. Любое число х в системе счисления с натуральным основа- основанием S можно представить (неоднозначно) как Sp№ • т(х), где
62 Гл.1. Основы многосортных множеств \т(х)\ < 1. Будем называть т(х) мантиссой числа х, р(х) — порядком числа х в системе с основанием 5. Бели при фиксиро- фиксированном 5 задать р{х) и т(х), то число х определяется однозначно. Пара р(х) и тп(х) хранится в памяти ЭВМ. Для однозначного пред- представления чисел в полулогарифмической форме обычно требуется, чтобы мантисса удовлетворяла неравенству S < тп(х) < 1. Та- Такая мантисса называется нормализованной. В машинном представлении числа в самом левом разряде коди- кодируется знак порядка, затем в п\ разрядах записывается величина порядка, далее имеется разряд для записи знака мантиссы и пг разрядов для записи величины мантиссы. Рассмотрим реализацию операций сложения, вычитания, ум- умножения и деления в позиционных арифметиках с естественным множеством цифр. При любом основании S операции сложения и умножения определяются таблицами выполнения этих операций в одном разряде и правилами образования переносов в старшие разряды. При этом необходимо, чтобы в операции участвовали соответствующие разряды слагаемых. Поэтому при сложении не- необходимо еще выравнять порядки слагаемых (сдвинуть мантиссы так, чтобы суммировать разряды с одинаковыми номерами). При сложении выравнивание порядков происходит в результате увеличения меньшего порядка до большего. Для того чтобы коли- количественный эквивалент числа при этом не изменялся, необходимо каждое увеличение порядка на единицу компенсировать сдвигом мантиссы вправо на один разряд. Полученному результату при- приписывается выровненный порядок. При нормализации мантиссы результата необходимо сдвигать ее вправо (на один разряд) или влево до тех пор, пока не будут выполняться условия нормализа- нормализации. Для сохранения количественного эквивалента числа при этом необходимо увеличить (при сдвиге мантиссы вправо) или умень- уменьшить (при сдвиге мантиссы влево) порядок результата на число единиц, совпадающее с числом сдвигов. Пример 1.7. Вычислим сумму двух количественных эквивалентов 24.17 и 32.98 в арифметике S = 5; алфавит цифр — {0, 1, 2, 3, 4}. Для задания этих чисел в полулогарифмической форме в памяти компью- компьютера определим их порядки и мантиссы в заданной арифметике с точностью представления мантисс до 5~4; 24.17 ->¦ [44.04]5: целая часть — дробная часть — _ 24 Li. 0.17 х 5 = ©.85 Ж _4 LL 0.85 х 5 = ®.25 <3> О О Следовательно, рD4.04) = 2, тD4.04) = 0.4404, [44.04J5 5* х 0.4404. §1.8. Компьютерные арифметики 63 38.92-4[112.44]5: целая часть — ¦_ 32 I 5 30 6 |5 ® 5 11 5 Ф _9_0 Ф дробная часть — 0.98 х 5 = ф.90 0.90 х 5 = ф.50 Следовательно, рA12.44) =3, тA12.44) = 0.1124 (пятый разряд после точки не пишем, так как заданная точность 5~4), Таблица 1.16 [112.44]5 -? 53 х 0.1124. Сложение цифр в пятиричной арифме- арифметике определяется табл. 1.16. В клетке [t, j] табл. 1.16 левая цифра указывает значение переноса в старший разряд, правая — значение суммы в со- соответствующем разряде. Выравниваем порядки до большего: [44.04]5 ->¦ 5* х 0.4404 -+ 53 х 0.0441 (единица в младшем разряде получилась после округления), [112.44]s -+ 53 х 0.1124. Производим сложение мантисс согласно табл. 1.16: + 0 1 2 3 4 0 00 01 02 03 04 1 01 02 03 04 10 2 02 03 04 10 11 3 03 04 10 11 12 4 04 10 11 12 13 0.0441 .1124 0.2120 Следовательно, [44.04 + 112.44]$ найденной суммы равен 53 х 0.2120. Количественный эквивалент 5s х 0.2120 -? 5s х B • 5 + 1 • 5~2 + 2 • 5~3 + 0.5~4) = = 2 • 52 + 1 • 51 + 2 • 5° = 57.0. Порядок р суммы равен 3, мантисса суммы — 0.2120. При вычитании двух чисел возникают трудности, связанные с Заемом единиц в старших разрядах. Эта операция плохо реали- реализуется в современных ЭВМ для систем счисления с естественным множеством цифр и натуральным основанием. Для систем с отри- отрицательным основанием или систем с натуральным основанием и симметрической (симметрической) совокупностью цифр эта опера- операция осуществляется просто: вычитаемое инвертируется (т. е. вме- вместо записи числа —а берется запись числа —а в этой системе), и полученные коды суммируются. Для систем с натуральным осно- основанием и естественным множеством цифр операция алгебраиче- алгебраического сложения осуществляется с помощью дополнительного или обратного кодов этих чисел.
64 Гл.1. Основы многосортных множеств §1.8. Компьютерные арифметики 65 Заменим операцию вычитания у — ж операцией сложения у и 5 — ж с последующим уменьшением результата на величину, рав- равную 5: у - ж = у + E - ж) - 5. Введем понятие дополнительного кода числа аг. Ид = { х, х > О, S + x, х < 0. Операцию вычитания можно заменить операцией сложения и на основании следующего соотношения: у - х = у + E - S~n - х) - S + S~n. Отсюда получаем определение обратного и дополнительного кодов _ J ж, ж > О, ж-5~п, ж < О, числа х: Ид = Но + 5"п, х < 0. Дополнительный код отрицательного числа х «-» xiX2...xn, \х\ < 1, имеет следующий вид: [х]д = (S - 1).E - 1 - Xl){S - 1 - х2).. .E - хп). Обратный код этого числа имеет вид И» = E - 1).E - 1 - Xl),(S - 1 - х2).. .E - 1 - хп). Таким образом, имеем следующие правила образования обратного и дополнительного кодов для отрица- отрицательных чисел. 1. Для получения обратного кода отрицательного числа необ- необходимо в каждом разряде 5-ичной записи числа заменить цифру этого разряда на цифру, дополняющую ее до 5 - 1. В знаковом разряде следует записать цифру 5-1. 2. Для получения дополнительного кода отрицательного числа необходимо прибавить единицу к младшему разряду его обратного кода. Отсюда имеем соответственно следующие правила алгеб- алгебраического сложения. 1. Для алгебраического сложения чисел ж и у произвольного знака в системе счисления с натуральным основанием и естествен- естественным множеством Цифр достаточно перевести запись этих чисел в дополнительный код, просуммировать полученные коды по прави- правилам сложения чисел в системе с основанием 5 и отбросить единицу переноса из знакового разряда, если таковая возникает. Получен- Полученный результат представляет собой дополнительный код алгебраи- алгебраической суммы чисел ж и у. 2. Для алгебраического сложения чисел ж и у произвольного знака в системе счисления с натуральным основанием 5 и есте- естественным множеством цифр достаточно перевести запись этих чи- чисел в обратный код, просуммировать полученные коды по прави- правилам сложения чисел в системе с основанием 5 и добавить единицу в младший разряд полученного выражения, если при суммирова- суммировании появляется единица переноса знакового разряда. Полученный результат представляет собой обратный код истинной (алгебраи- (алгебраической) суммы чисел ж и у. Пример 1.8. Вычислим алгебраическую сумму количественных эквива- эквивалентов 19.43 — 28.57 в троичной арифметике 5 = 3 и естественном алфавите цифр {0, 1, 2}, используя дополнительный код. Определим запись числа 19.43 в этой арифметике с точностью до 3~3: целая часть — дробная часть — _ 19 |_3_ 0.43 х 3 = Ж _6 |_3_ 0-29 х 3 = Ф JL _2 UL 0.87 х 3 ; 0 0 = ©.87 19.43 -? [201.102]з -+ З3 х 0.201102. Аналогично определяем запись числа 28.57: целая часть — _ 28 |3 ф 9 3|3 | дробная часть — 0.57 х 3 = ф.71 0.71x3 = ®. 13 0.13 х 3 = ©.39 Ф 28.57 -4 [1001.120]з -+ З4 х 0.1001120. Выравниваем порядки до большего: 19.43 -4 З4 х 0.0201102, 28.57 -+ З4 х 0.1001120. Заменяем вычитание сложением в дополнительном коде: д 0.0201102 ^* 2.1221102 [2.1221102] —дополнительный код суммы, [2.2122211],, — обратный код суммы, [-0.0100011]3 — мантисса суммы. В результате количественный эквивалент суммы равен —9.14. Тот же результат получаем, используя обратный код: г—| 0.0201102 2.1221102 [2.1221102]в [—0.0100011], — мантисса суммы. В. А. Горбатов
66 Гл. 1. Основы многосортных множеств При умножении необходимо просуммировать порядки сомно- сомножителей, произвести умножение мантисс по правилам умножения чисел, нормализовать результат и, если произошел сдвиг ман- мантиссы произведения, изменить соответственно порядок произве- произведения. Знак произведения определяется отдельно естественным образом: если сомножители имеют одинаковые знаки, то произве- произведение — положительное число, в противном случае — отрицатель- отрицательное. Пример 1.9. Вычислим произведение количественных эквивалентов 12.13 х 17.21 в арифметике с основанием 4 и естественным алфавитом ии<Ьо {0,12,3}. Представим эти количественные эквиваленты в этой арифметике с точностью до 4" целая часть — 12 3 1 4 О О дробная часть — 0.13x4 = ©.52 I 0.52 х 4 = @.О8 У 12.31 -» [30.02]4 -+ 4? х 0.3002; целая часть — _ 17 |4 16 4 14 ф _4_ _1 |_4_ _р_ о Ф дробная часть — 0.21 х 4 = ©.81 0.84 х 4 = @.36 17.21 -» [101.03]4 -+ 43 х 0.1011. Порядок произведения равен 5: 2 + 3 = 5. Правила умножения цифр определены в табл. 1.17, где в клетке [i, j] левая цифра соответствует переносу, правая — значению произведения в этом разряде. Табли а 117 Согласно табл. 1.17 произведем умножение 0.3002 0.1011 3002 + 3002 3002 X 0 1 2 3 0 00 00 00 00 1 00 01 02 03 2 00 02 10 12 3 00 03 12 21 0.03101022 После нормализации получим, что произведение равно 44 х 0.3101; это определяет количественный эквивалент, равный 44 х C • 4 + 1 • 4~2 +0 -4-3 + 1 -4~4) = 3- 43 + 1 • 42 +0-4 + 1 • 4° = 209. При делении из порядка делимого вычитают порядок делителя. Деление мантисс заменяют вычитанием делителя из делимого до тех пор, пока в результате очередного вычитания не будет полу- получена отрицательная разность. Затем прибавляют делитель к отри- отрицательной разности (эта операция называется восстановлением § 1.8. Компьютерные арифметики 67 остатков) и в качестве цифры частного записывают число вы- вычитаний делителя без учета последнего вычитания. После этого роль делимого начинает играть остаток, а роль делителя — преж- прежний делитель, сдвинутый на один разряд вправо, и т. д. Мантиссу частного нормализуют и соответственно изменяют порядок част- частного. Знак частного определяют аналогично определению знака произведения. Пример 1.10. Вычислим частное, полученное в результате деления 8.17 на 3.33 в двоичной арифметике 5 = 2 с алфавитом цифр {0, 1}. Определим запись чисел 8.17 и 3.33 в двоичной арифметике, вычисляя дроб- дробную часть с точностью до 2~4: целая часть — дробная часть — _ 8 |_2_ 0.17 х 2 = ©.34 |_2_ 0.34 х 2 = ©.68 _2 |_2_ 0.68 х 2 = ф.36 -L 1 LL. 0.36 х 2 = ©.72 ' _р_о .Ф 8 8.17 ->¦ [1000.0010]а целая часть — _ 3 12 2 1 |2 ф О О х 0.10000010; дробная часть — 0.33 х 2 = ©.66 0.66 х 2 = ф.32 0.32 х 2 = ©.64 0.64 х 2 = ф.28 . 3.33 -+ [11.0101]2 ->¦ 2* х 0.11010100. Порядок частного равен 2: 4 — 2 = 2. Вычислим мантиссу частного, используя обратный код; прк этом знак будем кодировать двумя цифрами для того, чтобы правильно определять нарушение нормализации мантиссы: + кодируем 00, — кодируем 11. Первый цикл алгоритма: 00.10000010 00.11010100 00.10000010 11.00101011 11.10101101 Знак разности отрицательный, следовательно, целая часть частного при делении мантисс равна 0: ШИШ Произведем операцию восстановления: г—, 11.10101101 Шо 00.10000001 100.10000001 1 t Сумматор обратного кода является циклическим сумматором: перекос из знако- знакового разряда суммируется с цифрой младшего разряда. Сумматор дополнитель- дополнительного кода является ациклическим: перенос из знакового разряда не суммируется с цифрой младшего разряда, перенос "пропадает".
68 Гл.1. Основы многосортных множеств После восстановления получим уменьшаемое 00.10000010. Второй цикл алгоритма: 00.10000010 00.01101010 00.10000101 11.10010101 100.00010111 i j 00.00011000 Знак разности положительный, следовательно, следующая цифр а мантиссы част- частного — 1: Третий цикл алгоритма: 00.00011000 00.00110101 00.00011000 11.11001010 11.11100010 Знак разности отрицательный; следующая цифра мантиссы частного — 0: о-1 И q Производим восстановление остатка и переходим к вычислению четвертой цифры частного. Четвертый цикл алгоритма: 00.00011000 00.00011010 00.00011000 11.11100101 11.11111101 Знак разности отрицательный, следовательно, четвертая цифра мантиссы част- частного — 0: После восстановления остатка вычисляем пятую цифру мантиссы частного: 00.00011000 |—, 00.00011000 00.00001101 Ш« 11.11110010 100.00001010 I t 00.00001011 Знак разности положительный, следовательно, пятая цифра — 1: I о. 111 о ГоЩ Для правильного округления аналогично вычисляем шестую цифру; этой цифрой является 1. Отсюда мантисса частного имеет вид Искомое частное есть 22 х 0.1010; оио соответствует количественному экви- эквиваленту 2.5: 22 х A • 2-1 + 0 • 2~2 + 1 • 2~3 + 0 • 2~4) = 2 + 2 = 2.5. Как уже отмечалось, система счисления является весомознач- ной, если для каждого разряда с номером j можно указать такое §1.8. Компьютерные арифметики 69 число pj, что количественный эквивалент, который сопоставля- сопоставляется цифре а,-, записанной в этом разряде, равен pj ¦ [о,], где [а,] — количественный эквивалент, сопоставляемый этой же цифре в ну- нулевом разряде. Количественный эквивалент числа х определяется как +ОО X = j=-oo В вычислительной технике представляет интерес двоично-де- двоично-десятичные системы счисления, в которых каждая десятичная ци- цифра кодируется четырьмя двоичными цифрами и, следовательно, каждый разряд десятичной записи замешается четырьмя разря- разрядами. Если этим четырем разрядам соответствуют некоторые веса, то имеет место весомозначная система для этих четырех двоич- двоичных разрядов. При использовании двоично-десятичных систем в ЭВМ жела- желательно, чтобы кодирование (оно неоднозначно, так как для коди- кодирования десяти цифр можно использовать любые из 16 тетрад — четверок из нулей и единиц) удовлетворяло некоторым ограниче- ограничениям. Приведем пять основных требований, которые сформули- сформулированы Рутисхаузером. Единственность. Необходимо однозначное соответствие цифр и тетрад. Если это требование не выполнено, то невозможно ко- кодирование и декодирование чисел. Упорядоченность. Большим десятичным цифрам должны Соответствовать большие (по количественному эквиваленту) тет- тетрады. Выполнение этого требования необходимо при сравнении кодированных чисел. Четность. Четным десятичным цифрам должны соответство- соответствовать четные тетрады (тетрады, у которых в крайнем правом раз- разряде стоит нуль), а нечетным цифрам — нечетные тетрады. Дополнительность. Если цифры десятичной системы тако- таковы, что сумма их равна девяти, то им должны сопоставляться те- тетрады, которые взаимно инвертированны, т. е. получаются друг из Друга заменой единиц на нули, а нулей на единицы. Выполнение Этого требования необходимо для того, чтобы ввести в двоично- десятичной системе дополнительный или обратный код. Весомозначностъ. Должны существовать четыре веса р\, р2, рз, Ра таких, что если десятичной цифре х сопоставлена тетрада а^а^сиза^) то имеет место равенство х ~ <*1 • Pi + »2 ' Р2 + «3 • РЗ + «4 • Р4, Oti = 0, 1. Кодирование, удовлетворяющее всем пяти требованиям, назы- называется совершенным. Условимся через Т(х) обозначать тетраду, сопоставимую деся- десятичной цифре х. Рассмотрим правила сложения для чисел, запи-
70 Гл.1. Основы многосортных множеств санных в двоично-десятичной системе. Пусть в десятичной сис- системе взяты цифры ж и у. Тогда либо х + у — некоторая новая цифра этой системы (если х + у < 10), либо результатом сумми- суммирования этих цифр является цифра, соответствующая х + у — 10, и возникает единица переноса в следующий разряд. Тогда правила сложения в двоично-десятичной системе имеют вид '(ж + у), ж + у<10, {х + у- 10) -I-16, х + у > 10. Здесь прибавление 16 соответствует переносу единицы в следую- следующий разряд (перенос в правый разряд тетрады, стоящей слева от данной). Как следует из этого соотношения, при суммировании чисел в такой системе необходимо вносить поправки. Пусть, например, кодируется каждая десятичная цифра ее за- записью в двоичной системе с использованием четырех двоичных разрядов. В этом случае цифра 5 будет закодирована тетрадой 0101. Такой способ кодирования называется кодом прямого за- замещения (8421). В данном случае, учитывая, что для кода прямого замещения Т(х) = х, можно записать Т(х)+Т(у) = х + у, х + у < 10, ж + у + 6, ж + у>10. Таким образом, при суммировании в коде прямого замеще- замещения необходимо произвести суммирование в каждой паре тетрад по правилам двоичного сложения, учитывая перенос между те- тетрадами, если последний возникает. После этого в те разряды, где сумма кодированных цифр превысила 10, следует добавить по- поправку ОНО. Проиллюстрируем это на следующем примере. Пусть требуется в коде прямого замещения найти сумму чисел 205 и 768. Выполним необходимые операции: 205 — 0010 0000 0101 768 — 0111 ОНО 1000 , 1001 ОНО 1101 + 0000 0000 ОНО 973 — 1001 0111 ООП кодирование первое суммирование поправка результат Код прямого замещения удовлетворяет всем требованиям Ру- тисхаузера, кроме четвертого. Нарушение этого требования не по- позволяет вводить дополнительный или обратный код, что в свою очередь не позволяет заменить вычитание операцией сложения. Для выполнения свойства дополнительности будем кодировать де- десятичную цифру х тетрадой Т(х), равной х + 3. Полученный код называется кодом с избытком 3, или кодом Штибитца. В этом §1.8. Компьютерные арифметики 71 случае сумма тетрад принимает следующий вид: х + у < 10, Т{х) + Т{у) = ж + 3 + У + 3 = ж + у + 6, Т{х + у) = х + у + 3, следовательно, поправка равна —3 (в обратном коде — 1100, в до- дополнительном — Н01), т. е. Т(х + у)-{Т{х)+Т{у))=:-3; Т{х) + Т{у) = ж + 3 Т(х + у) = х + у - 10 + 16 + 3 = х + у + 9, следовательно, поправка равна +3, т. е. Таким образом, получаем '(ж + у) + 3, х + у < 10, Т{х + у)-3, * + у>10. Приведем пример суммирования чисел -471 и 607 с использо- использованием дополнительного кода: -471 — 1000 0101 1100 кодирование +607 — 1001 ООН 1010 + 10001 1001 ОНО 0001 1001 ОНО первое суммирование, отбрасывание переноса из левого разряда ООН 1101 ООН 136 — 0100 ОНО 1001 поправка получение результата после поправок Кодирование с избытком 3 не обладает свойством весомозна- чимости. Единственным кодированием, которое обладает всеми пятью свойствами, является кодирование Айкена—Эмери. Это кодирование с весами B, 4, 2, 1). Вычислим эти коды при р; > 0. Для кодирования 1 необходимо, чтобы один из весов был равен 1. Для определенности будем считать, что р\ — 1, тогда р\+ рг + +Рз — 8. Возможные комбинации весов (pi, рг, рз) с точностью До их перестановки: A,1,6), B,1,5), B,2,4), B,3,3), A,3,4). В системе с весами F,1,1,1): 0 — 0000, 1 — 0001, 2 — 0011, 3 — 0111, 4— , 5— , 6 — 1000, 7 — 1001, 8 — 1011, 9 — 1111.
72 Гл. 1. Основы многосортных множеств Для случая A,1,6) нарушается первое требование Рутисхаузера: для цифр 4 и 5 отсутствуют соответствующие тетрады. В системе с весами E,2,1,1): 0 — 0000, 1 — 0001, 2 — 0100, 3 — 0101, 4 — 0111, 5—1000, 6 — 1010, 7 — 1011, 8 — 1110, 9 — 1111; не выполняется требование четности для цифр 4 и 5. В системе с весами C,3,2,1): 0 — 0000, 1 — 0001, 2 — 0010, 3 — 0011, 4 — 0101, 5 — 1010, 6 — 1100, 7 — 1101, 8 — 1110, 9—1111; не выполняется требование четности для цифр 4 и 5. В системе с весами D,3,1,1): 0 — 0000, 1 — 0001, 2 — 0011, 3 — 0100, 4 — 0110, 5—1001, 6—1011, 7 — 1100, 8 — 1110, 9 — 1111; не выполняется требование четности цифр для цифр 2, 3, 6, 7. В системе с весами B,4,2,1): 0 — 0000, 1 — 0001, 2 — 0010, 3 — 0011, 4 — 0100, 5 — 1011, 6 — 1100, 7 — 1101, 8 — 1110, 9 — 1111; все пять требований выполнены, соответствующая арифметика является совершенной и называется в честь авторов — арифме- арифметикой Айкена—Эмери. Анализируя коды, замечаем, что ' х, ж < 5, ж+ 6, ж > 5. Для определения правил суммирования тетрад необходимо рас- рассмотреть следующие случаи: 1) ж < 5, у < 5, ж + у < 5; Т(ж) + Т(у) = ж + у, Т(х + у) = = ж + у, Д = Т(х + у) - (Т(ж) + Т(у)), А = 0; 2) ж < 5, у < 5, 5 < ж + у < 10; Т(х) + Т(у) = ж + у, Т(х + у) = ж + у + 6, Д = 6; 3) ж < 5, у > 5, 5 < х + у < 10; Т(х) + Т(у) = ж + (у + 6), Т(ж + у) = ж + у + 6, Д = 0; 4) ж < 5, у > 5, 10 < ж + у < 15; Т(х) + Т(у) = х + (у + 6), Т(х + у) + 6 F из-за переноса) ?= ж + у + 6, Д = 0; 5) ж > 5, у > 5, 10 < ж + у < 15; Т(ж)+Т(у) = (ж + 6) + (у + 6), Т(х + у) + 6 = (ж + у) + 6, Д = -6; 6) ж > 5, у > 5, ж + у > 15; Г(ж) + Т(у) = (ж + 6) + (у + 6), Т(х + у) + 6 = (ж + у + 6) + 6, Д = 0. Таким образом, при суммировании ж+у в коде Айкена—Эмери необходима поправка +6 в тетрадах, когда ж < 5, у < 5, 5 < ж+у < < 10, и поправка -6, когда х > 5, у > 5, 10 < х + у < 15. _ J *1 § 1.8. Компьютерные арифметики 73 Просуммируем в этом коде рассмотренную выше пару чисел 471 и 607, используя при этом дополнительный код. Имеем -471 — 1000 0101 1100 +607 — 1001 ООН 1010 10111 ООН 1100 0111 ООН 1100 + 1010 + 0000 + 0000 14 4 случай 5) случай 1) случай 6) +136 — 0001 ООН 1100 Производительность процессора существенно повышается, ес- если обработать каждый разряд независимо от других. Эту возмож- возможность предоставляет код в остатках. Системой счисления, позволяющей производить вычисления в каждом разряде независимо от результатов, полученных в других разрядах, является код в остатках. Множеством модулей кода в остатках называется множество S взаимно простых натураль- натуральных чисел: qx, q2, ..., qs. Обозначим через res (x/qi) остаток от целочисленного деления ж на <7,-. Кодом в остатках числа ж по множеству модулей qi, 92, • • •, Я* называется выражение вида XX X res — res —... res —. Если res (x/qi) = а и res (x/qi) = /3, то ж = ng,- + а и у = = тЧ< + /3. Проведем алгебраическое суммирование последних двух ра- равенств. В результате получаем ж ^ у = (п ц: т) • д,- + (а ^ р). Теперь перемножим соответственно правые и левые части исход- исходных равенств: х ¦ у — (т • п ¦ q{ + п • /3 + т • а) • qi + а • C. Если а + C и а • C меньше д,-, то можно утверждать, что при Суммировании и умножении двух чисел их остатки от деления д,- также складываются или перемножаются. Если же а + /3 и а • /3 больше qi, то, разделив их на д,- и определив целое частное, полу- получим, что утверждение о суммировании и перемножении остатков совпадает с ранее высказанным, если считать, что после выполне- выполнения этих операций происходит деление на модуль данного разряда И выделение истинного остатка. Подобная операция может иметь место для каждого разряда независимо от других, поэтому код в остатках позволяет суммировать и перемножать поразрядно, что позволяет увеличить скорость выполнения операций ЭВМ. Пусть, например, имеется система из трех модулей: 7, 8, 9. Тогда коды в остатках для чисел ж = 11иу = 6 имеют соответ- соответственно виды 432 и 666. Просуммируем и перемножим поразрядно
74 Гл.1. Основы многосортных множеств коды ж и у; тогда получаем 10 9 8 и 24 18 12. После деления в каждом разряде результата на модуль этого разряда и выделе- выделения истинного остатка получим соответственно 318 и 323. Сумма и произведение х и у, равные 17 и 66, имеют коды в остатках 318 и 323. Для получения взаимно однозначного представления чисел в коде в остатках следует учитывать, что если произведение всех модулей qi, используемых для кодирования, есть N, то взаимно однозначно в коде в остатках с этими модулями можно кодировать лишь N различных чисел (от 0 до N — 1, от N до 2N - 1 и т. д.). Элементы попарно различны Другие виды многосортных множеств Рис. 1.24 Число N называется мощностью системы модулей. Недостат- Недостатком этой арифметики является трудность реализации операции деления, которая обычно заменяется умножением на обратную ве- величину. Арифметика как многосортное множество (М, +, -, х, :), где М — носитель арифметики, представляющий собой множество чисел, а операции -f, -, X, : — сигнатура арифметики, в инфор- информатике имеет фундаментальное значение. Арифметика является полем над числами. Дискретную математику, являющуюся основой информацион- информационной математики, можно определить как науку о многосортных §1.9. Нечеткие подмножества 75 множествах (совокупностях) <М, {Oi}, {Rj}, {Ofc1}), где М — множество, в котором заданы операции {О,}; {Rj} — отношения и {О^1} — кооперации, определяющие соответственно законы композиции, свойства и законы декомпозиции. Вложение друг в друга основных понятий дискретной матема- математики показано на рис. 1.24, где посетом названо частично упоря- упорядоченное множество (partially order set), комплектом — множе- множество, в котором найдутся хотя бы два одинаковых элемента. § 1.9. Нечеткие подмножества Расширим понятие подмножества, введя свойство нечеткости (размытости). Принадлежность элемента х подмножеству А: х е А, АсМ, будем задавать с помощью характеристической функции , еслихеЛ, в противном случае. Представим теперь, что характеристическая функция может принимать любое значение в интервале [0, 1]. В соответствии с этим элемент х множества М может не принадлежать А (ца{х) — = 0), может быть элементом А в небольшой степени (ft а близко к 0) или, наконец, может быть элементом А {ца = !)• Таким обра- образом, понятие принадлежности получает интересное обобщение при решении практических задач. Математический объект, определяемый выражением А= (М0.2), (х2|0), (х3|0.3), (х4|1), (х5|0.8)}, где х,- — элемент универсального множества М, а число после вертикальной черты дает значение характеристической функции на этом элементе, будем называть нечеткими подмножеством А множества М и обозначать А С М. При этом нечеткое подмно- подмножество А: содержит в небольшой степени х\\ не содержит х2; со- содержит хз в немного большей степени, чем х2; полностью содер- содержит Х4; в значительной мере содержит Х5. Таким образом, мы можем создать математическую структуру, которая позволяет опе- оперировать с относительно неполно определенными элементами и принадлежность которой к данному подмножеству упорядочена. К таким структурам можно, например, отнести: в заданном мно- множестве людей — некоторое подмножество очень высоких людей; во множестве основных цветов — нечеткое подмножество темно- зеленых цветов; во множестве решений — нечеткое подмножество
76 Гл.1. Основы многосортных множеств хороших решений и т. д. Далее мы увидим, как обращаться с та- такими понятиями, которые особенно хорошо подходят к описанию неточности, присущей моделям искусственного интеллекта. Дадим строгое определение нечеткого подмножества. Пусть М — множество и ж — элемент М. Тогда нечеткое подмножество А множества М определяется как множество упо- упорядоченных пар {ж, (ла{х)} Va; € М, где /х^(х) — характеристи- характеристическая функция принадлежности, принимающая свои значения на упорядоченном множестве Р, которая указывает степень или уро- уровень принадлежности элемента х к подмножеству А. Множество Р будет называться множеством принадлежностей. Если Р = {0, 1}, то нечеткое подмножество А будет рассма- рассматриваться как "не нечеткое", или "обычное" подмножество. Та- Таким образом, понятие нечеткого подмножества связано с понятием множества и позволяет изучать нестрого определенные понятия, используя математические структуры. Рассмотрим несколько примеров: 1) нечеткое подмножество чисел х, приблизительно равных данному действительному числу п, где п € Л (й — множество действительных чисел); 2) нечеткое подмножество целых чисел, близких к 0; 3) пусть о — действительное число и а; — небольшое поло- положительное приращение а; тогда числа а + х образуют нечеткое подмножество во множестве действительных чисел. Пусть М — множество, Р — множество принадлежностей, А и В — два нечетких подмножества М. Будем говорить, что А содержится в В, если (Va; € М) (цА{х) < Цв{х)), и обозначать А С В. Строгое включение соответствует случаю, когда по крайней ме- мере одно неравенство строгое, и обозначается А С С В. Пусть М — множество, Р — множество принадлежностей, А и В — два нечетких подмножества. Скажем, что А и В равны тогда и только тогда, когда (Vz e M) (ца(х) = Рв(х)), и будем обозначать А = В. Если найдется по крайней мере один такой элемент х из М, что равенство Ца(х) = /^в(ж) не удовлетворяется, то мы будем говорить, что Аи В не равны, и обозначать Аф В. Определим операции над нечеткими подмножествами, анало- аналогичные операциям алгебры Кантора. Дополнение. Пусть М — множество, Р = [0, 1] — множество принадлежностей, А и В — два нечетких подмножества; скажем, что А и Б дополняют друг друга: А-Ъ или В = А, если (V* ем) Ы*) = 1() Очевидно, что имеет место закон двойного дополнения ~А — А. §1.9. Нечеткие подмножества 77 Для нечетких подмножеств можно построить визуальное пред- представление, родственное представлению обычных подмножеств, ис- используя диаграммы Эйлера. Визуальное представление операции дополнения показано на рис. 1.25; при этом использована прямо- Рис. 1.25 угольная система координат, на оси ординат которой откладыва- откладываются значения Ма(я), а на оси абсцисс в произвольном порядке расположены элементы множества М. Принадлежность каждого элемента определяется величиной его ординаты, заштрихованная часть наглядно изображает нечеткое подмножество А С М. Пример 1.11. М = {xi/ i = l,..., 5}, Р = {0, 1}, А= {(*i|0.1), (*а|0.6), (*.|0.4), (*4|0.0), (ss|1.0)}. Тогда дополнение множества А имеет вид А= {(и|0.9), (хз|0.4), (z3|0.6), (*4|1.0), (*s|0.0)}. Пересечение. Пусть М — множество и Р = [0, 1] — соответ- соответствующее ему множество принадлежностей, Аи В — два нечетких подмножества М. Пересечение АП В определяют как наиболь- Рис. 1.26 шее нечеткое подмножество, содержащееся одновременно в А и В (рис. 1.26): (Va; е М) (цАпв(х) = тЫ{цА(х), мв(*)))•
78 Гл. 1. Основы многосортных множеств Пример 1.12. М = {ii/ i = l,..., 5}, Р = {О, 1}, А= {(*i|0.2), (*а|0.8), (*.|1.О), (*«|0.5), (*В|О.О)}, В = {(*i|0.6), (*а|0.4), (*в|0.2), (xt\0.7), (*,|0.9)}, АП В = {(*х|0.2), (*а|0.4), (*»|0.2), (*«|0.5), (*s|O.O)}. Объединение. Пусть М — множество и Р = [0, 1] — соответ- соответствующее ему множество принадлежностей, А и Б — два нечетких Рис. 1.27 подмножества М. Определим объединение AUB как нечеткое под- подмножество, которое содержит как А, так и В (рис. 1.27): (Vas € М) (haub(x) = т&х(цА(х), Цв{*))). Результат операции объединения нечетких подмножеств Аи В (см. пример 1.12) имеет вид Аи В ={(жх|0.6), (ж2|0.8), (ж3|1.0), (х4|0.7), (х5|0.9)}г Разность. Операция разности А \ В, А, В С М определяется соотношением (Vas € М)(рА\в{х) = т\п(цА{х), 1 - цв(х)) т. е. А\В- AD'S (рис. 1.28). Пример 1.13. М = {*.-/ t = 1, ..., 5}, Р = {0, 1}, А = {(*х|0.7), (*а|0.1), (*8|1.0), (^10.0), В = .0), (*5|0.4)}. § 1.9. Нечеткие подмножества 79 Введенные операции дополнения, пересечения и объединения удовлетворяют законам: коммутатив ности ЛиВ = Я U Л, АГ\В = ВПА; ассоциативности AU {В UС) = {AU Б) U С, АП{ВПС) = {АПВ)ПС; идемпотентности AL)A = A, АПА = А; дистрибутивности АП{ВиС) = АГ\ВиАПС, Al)BnC={A\JB)n{AUC)i действия с константами АП0 = 0, AU0-A] 0 — пустое множество, 0 f+ (^х{)(це(х{) = 0), 1 — универсальное множество, 1 «-»¦ (Va;,)(/ii(xt) = 1); двойного дополнения (инволюции) J=A; де Моргана поглощения . П В = А, А П (A U В) = А.
80 Гл. 1. Основы многосортных множеств Докажем, например, закон поглощения: Аи АПВ <-> тах(/*д(х), т\п(цА(х), При цА(х) > рв(х) имеем т&х(цА(х), цв{х)) = ЦА{х) f> A. При цА(х) < цв{х) имеем тах(/*Л(х), цА{х)) = цА(х) f> A. Выше было показано, что булеан .8A) универсального множе- множества 1 является дистрибутивной решеткой с дополнениями, т. е. булевой решеткой. Однако множество нечетких множеств является дистрибутивной решеткой без дополнений; соотношения АПА = 0, АиА = 1 A.9) в этом случае не выполняются. В силу несправедливости соотношений A.9) в этой решетке не выполняются законы склеивания АПВиАПВфА, (AU В) П (AU В) ф А и законы Порецкого AUADB = AUB, АП(АиВ)=АПВ. Действительно, согласно дистрибутивности пересечения отно- относительно объединения получаем АПВиАПВ = An(BUB), В1)Ъ~ф1. Следовательно, АпВиАПВф А. Аналогично доказываются и другие соотношения. Множество нечетких подмножеств представляет собой вектор- векторную решетку. Векторной решеткой называется алгебра (М, х, +), где но- носитель М — множество нечетких подмножеств, сигнатура — опе- рация алгебраического произведения Ах В, А,В С М: и алгебраической суммы А + В, А, В С М: (Vx € М) (мд;в(х) = мл(х) + Мв(*) - Иа{х) ¦ цв{х)). Пример 1.14. М = {*,¦/ i = 1, 2, 3, 4}, Р = [0, 1], А, В С М, А = {(xi|1.0), (xa|0.1), (х8|0.8), В = {(xi|0.4), (ха|0.6), (х,|0.0), А х В = {(и|0.40), (i2|0.06), (i3|0.0), (i4|0.15)}, А + В= {(zi|1.0), (i2|0.64), (i3|0.8), (i4|0.65)}. §1.9. Нечеткие подмножества 81 Сигнатура векторной решетки удовлетворяет законам: коммутативности АВ ВА А В В А = {АхВ)хС, ассоциативности А( действия с константами • • • А х 0 = 0, А + 0 = А, Ах1 = А. Расширим сигнатуру введенной алгебры унарной операцией до- дополнения, определенной в начале этого параграфа (дополнением, определяемым свойством нечеткости подмножества; не путать с дополнением, определенным в § 1.4). Тогда к перечисленным за- законам добавляются еще два: закон инволюции _ А~=А; законы де Моргана • • • • ? = АхВ. Докажем законы де Моргана. Пусть цА(х) = а, тогда 1 - аЬ = A - о) + A - Ь) - A - а)A - Ь) = 1 - (а + Ь - аЬ) = A - а) • A - Ь) = 1 - а - Ь + аЬ. Законы дистрибутивности в векторной решетке не выполня- выполняются. Действительно, рассмотрим закон дистрибутивности Для левой части соотношения имеем о • (Ь+ с —be) = ab + ас— abc, а для правой — ab + ас - (ab) ¦ (ас) = ab + ас — a2bc, с = fic(x). Следовательно, закон дистрибутивности не выполняется, если а2 фа. Для операций алгебраического произведения х и алгебраиче- ской суммы + также не выполняются закон идемпотентности и соотношения, аналогичные A.9): АхАф0, А + А^1.
82 Гл. 1. Основы многосортных множеств Связь между операциями х и + и операциями пересечения П и объединения U устанавливают законы: Ах (В ПС) = (А х В) П (А х С), Ax(Bl)C) = (AxB)l)(AxC), Докажем, например, последний закон. Пусть tiA{x) - а, цв{х) = Ь, цс(х) = с; тогда левая часть соотношения имеет вид а + maxF, с) -a- maxF, с), правая — тах(а + Ь — ab, а + с — ас). При b > с слева получаем а + Ь — ab, справа (учитывая, что а < 1) также о + Ь — ab. Аналогичный результат имеем и при Ь < с. Рассмотрим зависимость мощности множества нечетких под- подмножеств от мощности универсального множества 1 и мощно- ш 011 000 Рис. 1.29 сти множества принадлежностей Р. Характеристическая функ- функция /i(i) может принимать \Р\ значений; тогда если число порож- § 1.10. Метрические пространства 83 дающих множеств (размерность универсума) равно п, то мощ- мощность множества нечетких подмножеств |5A)| имеет вид |5A)| = \Р\\ На рис. 1.29 представлена векторная решетка, соответствую- соответствующая универсальному множеству 1(М\, Мг, Мз) размерности 3 и множеству принадлежностей Р = {0; 0.5; 1}. Векторная решетка определена диаграммой Хассе, в которой каждой вершине f{ соот- соответствует вектор X{i MMi (z) ММз(х) и {va, щ) — дуга, если Ха < Хь] при этом Y ?* Y л_л. (\4' *г \ ( ^ \ Лд \ -Л-Ь it \* Л|1 ^Ь» / V ai — biz' Как было оговорено раньше, в диаграмме Хассе по сравнению с графом, определяющим отношение упорядоченности, не указы- указываются петли и транзитивно замыкающие дуги. § 1.10. Метрические пространства Некоторые задачи информационной математики сводятся к определению "близости" нечеткого подмножества к подмножеству, выполняющему роль эталона (образца). При решении этих задач, как правило, используется понятие метрического пространства. Метрическим пространством называется многосортное мно- множество (М, D), состоящее из элементов множества М (точек) и определенного в нем расстояния d(mi, mj) € D между любыми дву- двумя точками mi, mj € М, удовлетворяющего условиям: неотрицательности — 0, если mi = mj, симметричности d(mi, mj) ~ d(mj, mi); транзитивности d(m,-, mj) + d(mj, mk) > d(mi, mk). Введем широко используемые понятия "расстояния". Рассмотрим детерминированные (обычные) подмножества в пространстве 1. Расстоянием Хемминга dh(A, В) между подмно- п жествами А, В С 1 называется число, равное где п — размерность пространства.
84 Гл. 1. Основы многосортных множеств Пример 1.15. А, В С ЦМХ, М2, М3, МА, Ms), А В 1 0 0 1 1 1 1 0 0 1 dh(A, В) = |1 - 0| + |0 - 1| + |1 - 1| + |1 - 0| + |0 - 1| = 4. Расстояние Хемминга показывает количество разрядов, в кото- которых соответствующие векторы отличаются. Относительным расстоянием Хемминга dho(A, В) между подмножествами А, В С 1 называется число, равное п -йд(А, J3), где п — размерность пространства 1. Для примера 1.15 а\о(А, В) = 5*" • 4 = 0.8. Очевидно, что 0 < dho(A, В) < 1. Обобщим понятие "расстояние Хемминга" для нечетких под- подмножеств. Обобщенное расстояние Хемминга (линейное расстояние) йЛ(А, В) между нечеткими подмножествами А, В С 1 определя- п п ется значением ?) \рл(х{) - t=i странства. Пример 1.16. А, В С l(Mi, М2, ..., М6), «)|, где п — размерность про- А В 0.2 0.3 0.8 0.9 1.0 0.8 0.0 0.6 0.7 1.0 0.8 0.0 как 1, В) = |0.2 - 0.3| + |0.8 - 0.9| + |1.0 - 0.8| + |0.0 - 0.6| + + |0.7 - 1.0| + |0.8 - 0.0| = 2.1. Относительное линейное расстояние dOJ1(A, В) определяется Для примера 1.16 d^A, В) = б • 2.1 = 0.35. Очевидно, что 0 < <*ОЛ(А, В) < 1. Евклидовым (квадратным) расстоянием de(A, В) между не- нечеткими подмножествами А, В С 1 называется число \ где п — размерность пространства 1. Очевидно, что 0 < de(A, В) < у/п. Относительное евклидово расстояние deo(A, В) определя- определяется как §1.10. Метрические пространства 85 Очевидно, что 0 < deo(A, В) < 1. Пример 1.17. Вычислим d, (A, B)vtdta{A, В) для нечетких подмножеств, заданных в примере 1.16: d.(A, В) = V0.12 + 0.12 + 0.2г + 0.62 + 0.32 + 0.82 = а/Тл5 « 1.07, Легко показать что детерминированное подмножество А явля- является ближайшим в смысле наименьшего значения евклидова рас- расстояния от нечеткого подмножества А' при характеристической функции .,'/.л_|1. если fiA,(Xi)> 0.5, »А(х,) - | о, если мл'(х.) < 0.5. Пример 1.18. Пусть нечеткое подмножество А' имеет вид тогда ближайшим С А' 0.2 0.8 0.4 0.5 0.6 0.9 детерминированным подмножеством будет А 0 1 0 0 1 1 1 Рассмотрим еще два определения "расстояния" — линейный индекс нечеткости А (А'), вычисляемый через относительное ли- линейное расстояние dOJI(A', А), и квадратичный индекс нечетко- нечеткости x(^')i определяемый посредством относительного евклидова расстояния deo(A', A): А(А') = 2 • (п)  i) - ца(х<)\), Х(А') = 2 -1 \ где п — размерность пространства. Коэффициент 2 в выражениях проставлен для того, чтобы вы- выполнялось О < НА') < 1, 0 < х(А') < 1, так как относительное линейное расстояние dOJI(A', А) и относи- относительное евклидово расстояние deo(A', А) принимают значения на отрезке [0; 0.5]. , Пример 1.19. Вычислим линейный и квадратичный индексы нечеткости подмножества А': А' [ 0.1 | 0.8 | 1.0 | 0.6 | 0.5
86 Гл. 1. Основы многосортных множеств Нечеткое подмножество А' определяет ближайшее детерминированное под- подмножество А: 1 I 1 I 1 I о 1 Отсюда получаем линейный и квадратичный индексы нечеткости: А(Л') = 2 ¦ (б) • (|0.1 - 0.0| + |0.8 - 1.0| + + |1.0 - 1.0| + {0.6 - 1.0| + |0.5 - 0.0|) = 2 • 5 • 1.2 = 0.48, х(А') = 2 • (у/Е)~1 • ¦у/спб « 0.63. Применение операций в алгебре нечетких множеств изменяет индекс нечеткости случайным образом. § 1.11. Задачи и упражнения 1.1. Доказать, что 1.2- Доказать, что АП(В\А) = 0, А\(ВиС) + (А\В)\С. 1.3. Решить систему уравнений , где А, В, С — заданные множества и В С А С С. 1.4. Доказать, что А = В <-*¦ (А \ В) U (В \ А) = 0. 1.5. Доказать, что если отношения Ri и Яг рефлексивны, то рефлексивны и отношения Ri U Яг, Ri Л Яг. 1.6. Доказать, что если отношения Ri и Яг симметричны, то симметричны и отношения Hi U Яг, Ri Л Ri ¦ 1.7. Доказать, что конечное множество мощности п содержит г»!/(р!(п — р)!) различных подмножеств мощности р < п. 1.8. Доказать, что U М; — наименьшее множество, содержащее все множе- ства Mi. 1.9. Доказать, что П М,- — наибольшее множество, содержащееся во всех множествах Mi. 1.10. Доказать, что если Ма, Мь, Мс и Ма не пусты, то: а) Мо С Мь и Мс С Мd <+ Мв х Мс С Мь х Mj; б) М. = Mi и Мс = Mj <+ Ма х Me = Mt х Md. 1.11. Доказать, что П М., X П Mb; = f)(Mai X Mbi). 1.12. Доказать, что (Мв х Мь) U (Мс х Md) С (Ма U Мс) х (Мь U Md). Установить, в каком случае в этой формуле имеется равенство. 1.13. Доказать, что: а) (Ma U Мь) х Мс = (М„ х Мс) U (Мь х Мс); б) Мо х (Мь и Мс) = (Ма х Мь) U (Ма х Мс); в) (МвиМь) х(McUMd) = (Ма хМс)и(МьхМс)и(Мв хMd)u(MbхMd); § 1.11. Задачи и упражнения 87 г) U Mai х U Мь( = П (М.( х М^ д) П Mei х Г) Mbj = . . П (Mai x Mbi) ' 1Ж1 isl l,J=l,...,n 1.14. Построить бинарное отношение: а) рефлексивное, симметричное, иетранзитивное; б) рефлексивное, транзитивное, несимметричное; в) иерефлексивиое, антисимметричное, иетранзитивное. 1.15. Какие из следующих отношений являются однозначными, какие обрат- обратно однозначными и какие вззимно однозначными: (х, у) € Я «-* у есть отец х, (х, у) € Я «-* у есть сын х, (х, у) € Я <-* х = у2, (г, у) е я <+ г2 = у, (г, у) € Я « |х + 5| > |3 - у|? 1.16. Найти число всевозможных антисимметричных бинарных отношений между элементами конечного множества, состоящего из п элементов. 1.17. Пусть М — множество всех параллелограммов иа плоскости, А\ — множество квадратов, Ai — множество прямоугольников, Аз — множество ром- ромбов на плоскости. Найти результаты следующих операций: Ai U Aj, Ai П Aiy Ai П Ai, i, j = 1, 2, 3. 1.18. Доказать, что два множества равны тогда и только тогда, когда резуль- результаты их пересечения и объединения совпадают. 1.19. Известно, что из 100 студентов живописью увлекаются 28, спортом 42, музыкой 30, живописью и спортом 10, живописью и музыкой 8, спортом и музыкой 5, живописью, спортом и музыкой 3. Определить: а) количество студентов, увлекающихся только спортом; б) ничем ие увлекающихся. 1.20. Установить, образует ли группу алгебра с носителем {0, 1,2,..., р— 1} и сигнатурой — операцией сложения по модулю р. 1.21. Выяснить, образует ли группу алгебрз с носителем {0, 1, 2, ..., у — 1} и сигнатурой — операцией умножения по модулю р. 1.22. Является ли полем алгебра с носителем {0, 1, 2, ..., р — 1} и сигнату- сигнатурой — операциями сложения и умножения по модулю р? 1.23. Показать, что отношение < в множестве целых чисел от 1 до к можно задать треугольной матрицей смежности. 1.24. Доказать, что любое подмножество частично упорядоченного множе- множества имеет не более одной верхней и одной нижней грани. 1.25. Для множества двоичных векторов длины 4 построить граф, задающий отношение Ха < Хь «¦* (VZej, rbi)(Zoi < JCbj). Выяснить, задает ли этот граф алгебру, если да, то установить результат опера- операций умножения и сложения. 1.26. Обозначим через (Ма X Mb, р) = Ra X Яь, Ra - (Ма, <), Яь = (Мь, < >, множество, для которого (mai, т^)р(тац л»ь() «¦* maj < т Показать, что:
88 Гл. 1. Основы многосортных множеств а) Я„ х Яь — частично упорядоченное множество; б) Ra х Rb является цепью только в том случае, если Ra или Яь состоит из одного элемента. 1.27. Доказать, что любая цепь является дистрибутивной решеткой. 1.28. Интервал [а, Ь] в частично упорядоченном множестве состоит из всех элементов х, удовлетворяющих условию а < х <Ь. Доказать, что: а) сечение двух интервалов является интервалом (быть может, пустым); б) любой интервал в решетке является подрешеткой. 1.29. Рассмотрим объединение множеств взаимно простых чисел М и мно- множества всех произведений, сомножителями которых являются элементы множе- множества М; определим сложение и умножение в этом объединении как вычисление наименьшего общего кратного и наибольшего общего делителя соответственно. Установить, является ли совокупность объединения рассмотренных множеств и операций сложения и умножения булевой алгеброй. 1.30. Доказать, что в любом коммутативном кольце (а + Ь)п = ап + ' 1.31. Доказать, что в любом коммутативном кольце Ъ)п=: апЪп, (ат)п = а атап = ат+п, 1.32. Рассмотрев совокупность (М, 0, +, х), где 0 + 0 = 0 и О х О = О, выяснить, является ли она: кольцом; телом; полем. 1.33. Доказать, что минимальное число цепей в представлении конечного частично упорядоченного множества в виде суммы цепей равно максимальному числу попарно несравнимых элементов. 1.34. Доказать, что в каждой решетке: а) (а < Ь)&(с <d)-+aUc<bUd; б) (а < Ь ¦)(«< г) (а < &(с < Ъ) -V a U с < Ь; (V)( ) ) ; (Vc)(a U с) < (Ь U с); • а Л с < Ь Л d; д) (а < Ь)к(а < с) -)• а < о Л с; е) (а<Ъ)-> (уС)(а Л с) < (Ь Л с). 1.35. Доказать, что в каждой решетке для любых элементов а,Ь, с: а) a U Ь Л с < (a U Ь) П (a U с); б) а Л (Ь и с) > а Л Ь и а л с; в) а < Ы- a U Ь П с < (a U с) Л Ь. 1.36. Доказать, что решетка модулярна тогда и только тогда, когда для любых трех элементов а,Ь, с а П Ь U с Л (a U Ь) - (а Л Ь U с) П (a U Ь). 1.37. Доказать, что решетка дистрибутивна тогда и только тогда, когда для любых трех элементов а,Ь, с а Л (Ь U с) U Ь Л с = (с U а Л Ь) Л (a U Ь). 1.38. Найти множество "запрещенных фигур", выводящее частично упоря- упорядоченное множество из класса решеток. 1.39. Метрическое пространство является совокупностью множества М с за- заданным в нем расстоянием з(та, тпъ) между двумя любыми элементами ma, пц € М, удовлетворяющим следующим условиям: §1.11. Задачи и упражнения 89 s(ma, шь) > 0, если т„ ф тпъ, и з(та, т») = 0, если элементы совпадают; j(ma, ян,) ss з(ть, ma); 5(ma, ть) + з(ть, тс) < s(ma, mc) (условие треугольника). Задать метрику в гиперкубе и установить, что она собой представляет. 1.40. Доказать, что в совершенной НФК множества М при замене каждой операции объединения иа симметрическую разность равенство ие нарушается. 1.41. Установить, является ли форма M(Mi, Mi, М3) = Mi Л М2 лЖи Mi Л Mi Л Ms UШ совершенной. 1.42. Установить, является ли форма m(Mi, м2, м3) = М1лм7иМ1иМз~иМ2лм7имГлм3 сокращенной. 1.43. Минимизировать в классе нормальных форм Кантора множество М, заданное как объединение своих конституеит: M(Mi, M2, Мз, Mi) = U@, 2, 7, 8, 11, 14, 15), где десятичные числа являются числовыми эквивалентами двоичных векторов, определяющих соответствующие коиституенты этого множества. 1.44. Определить сложность минимальной скобочной формы множества М, заданного своей нормальной формой: М = Mi Л Mi Л Мз U Mi Л М2 П Ms U Mi Л Мз Л М< Л Л Me U М2 Л М4 Л М5 П Мв. 1.45. Найти число тупиковых НФК множества М(МЬ М2, Мз, Mt) = МГпМ2 л МзиМГ^лМг^л Mi UM2 л М7л 1.46. Определить ранг (число конституеит) множества М(МЬ М2, ..., Me) = (Mi Л Me U Mi Л М2) Л (Mi Л Мз U Ms Л Me). 1.47. Найти минимальную НФК множества М, определенного в четырех- четырехмерном пространстве: М = U(l - 00, -110, 0101, -0-1, 0010, -01-, 0-0-). 1.48. Определить уменьшение мощности сигнатуры мографа GM(M), опре- определяющего множество M(Mi, M2, Мз, Mi) = U@, 4, 6, 7, 8, 9, 11, 13, 15), после минимизации в классе НФК. 1.49. Определить мощность класса множеств, каждое из которых ие содер- п п жит два пересечения М М, и (I Mi в n-мериом пространстве. 1=1 |=:1 1.50. Определить уменьшение мощности носителя мографа GM(M), опре- определяющего множество M(Mi, M2, Мз, Mi) = U@, 1, 2, 3, 5, 11, 15), после минимизации в классе НФК. 1.51. Найти минимальную скобочную форму представления множества M(Mi, М2, Мз, Mi), включающего интервалы 0—01, 01—1, 110—, 01—0 и ие содержащего интервалы 10—1, 111— и 00-0. 1.52. Записать числа 704, 21, —77 в системах счисления с основаниями * = 3, 7, 11. Множество цифр симметрическое.
90 Гл. 1. Основы многосортных множеств 1.53. Записать числа 0.6; —56.1 в системах счисления с основаниями 5 = = 5, 7. Множество цифр симметрическое, число разрядов после запятой брать для обеих систем равным 3. 1.54. Записать числа 39.88 и —101 в системах счисления с основанием 5 = = 4, 8, 12. Множество цифр асимметрическое в положительную сторону. 1.55. Записать числа 88, 41 в системе счисления с основанием 6 и цифрами — 1, 0, 1, 2, 3, 4. Число разрядов после запятой ваять равным 4. 1.5S. Записать число —0.77 в системе счисления с основанием 10 и цифрами —3, —2, —1, 0, 1, 2, 3, 4, 5, 6. Число разрядов после запятой взять равным 4. 1.57. В системе счисления с основанием 5 записано число 22001. Найти его десятичный эквивалент. Какому числу будет соответствовать этот же код, если система счисления десятичная? 1.58. Установить, в какой системе счисления произведено следующее дей- действие: B3 — 5) + A — 642) = 42423. Цифры, стоящие на месте прочерков, ие известны. 1.59. Записать числа 71, -16 и 203 в системе счисления с основанием 2. Чему равен десятичный эквивалент полученного кода, если рассматривать его как запись в двоичной системе? Множество цифр естественное. 1.60. Доказать следующую теорему: в системе счисления с натуральным основанием естественное множество цифр позволяет однозначно закодировать любой количественный эквивалент. 1.61. Обосновать правила перевода целых и дробных чисел из системы с натуральным основанием R в систему с натуральным основанием Q. 1.62. Установить правила перевода чисел из десятичной системы счисления в систему счисления с основанием 2 и естественным множеством цифр. 1.63. Установить правила перевода записей из системы счисления с основа- основанием —3 и естественным алфавитом цифр в систему счисления с основанием 3 и той же совокупностью цифр. 1.64. Определить, как меняется запись числа при переходе от системы с 5 = = 3 и симметрическим множеством цифр к системе 5 = — 3 и тем же множеством цифр. 1.65. Установить правила перевода из системы счисления с основанием 2 с цифрами 0, 1 в систему счисления с основанием 4 и асимметрическим множе- множеством цифр, смещенным в отрицательную сторону. 1.66. Записать в системе счисления с основанием 0.25 число 61. Устано- Установить связь между записью чисел в этой системе и записью чисел в четверичной системе с цифрами 0, 1, 2, 3. 1.67. Найти множество цифр для системы счисления с основанием 0.125, обеспечивающее однозначное представление любого числа. 1.68. Записать в дополнительном коде в системе счисления с основанием 5 и естественным множеством цифр числа 60, —15 и —607. 1.69. Записать в дополнительном коде число 0 в системе счисления с осно- основанием 6 и естественным множеством цифр. 1.70. Записать в обратном коде в системе счисления с основанием 7 и есте- естественным множеством цифр числа 55, —70 и 118. 1.71. Записать число 0 в обратном коде в системе счисления с 5 = 11 и естественным множеством цифр. 1.72. Записать в дополнительном коде число —65 в системе счисления с 5 = = 4 и цифрами —3, —2, —1, 0. §1.11. Задачи и упражнения 91 1.73. Установить зависимость между дополнительным и обратным кодами числа х в системе с натуральным основанием 5 и естественным множеством цифр. 1.74. Записать в полулогарифмической форме в двоичной системе счисле- счисления с цифрами 0, 1 следующие числа: 75.5; —0.25; 0.125; —1000. По условию мантисса должна быть нормализованной. 1.75. Установить, для каких чисел х (х ие предполагается меньшим еди- единицы) дополнительный код этих чисел совпадает с записью самого числа. Ана- Аналогично, для обратного кода (по предположению х < 0). 1.76. Перевести дополнительный код 6.1124 в обычную запись. Аналогичная задача для обратного кода 7.770045. 1.77. Найти сумму двух чисел 0.1101 и 0.0010 в двоичной системе с цифрами 0,1, построив предварительно правила сложения в одном разряде. Порядки чисел одинаковы. 1.78. Найти произведение чисел 0,3302 и 0,1102 в четверичной системе с естественным множеством цифр. Предварительно построить таблицу умножения для этой системы. 1.79. Найти сумму и произведение чисел 0.210ДД0 и 0.000009 в системе счисления с 5 = 11 и естественным множеством цифр: 0, 1, 2, ..., 9, Д, где ко- количественный эквивалент пифры Д равен 10. Условная запись пифры с количе- количественным эквивалентом 10 есть Д. Предварительно построить таблицы сложения и умножения в одиннадцатиричной системе счисления. 1.80. Используя дополнительный код, иайти в двоичной системе с цифрами 0, 1 сумму чисел 0.1101 и —0.1000. Результат суммирования перевести в обыч- обычную запись. 1.81. Используя обратный код, иайти в троичной системе с цифрами 0, 1, 2 сумму чисел 0.2210 и —0.1122. Результат перевести в обычную запись. 1.82. Найти сумму чисел —0.0011 и 0.1001 в обратном коде в двоичной си- системе счисления с цифрами 0, 1. 1.83. Найти в семиричной системе счисления в дополнительном коде сумму двух чисел: 0.00065 и —0.01125. 1.84. Найти произведение чисел З1 ¦ 0.201 и —3s • 0,102 в троичной системе счисления с цифрами 0, 1, 2. Результат перевести в обычную запись. 1.85. Найти сумму чисел -7 х 0.11066 и -7° х 0.11055 в дополнительном ходе в системе счисления с 5 = 7 и естественным множеством цифр. Результат нормализовать. 1.86. Найти сумму двоичных чисел —21 -0.1001 и 2° -0.1102 в обратном коде в системе с цифрами 0, 1; результат нормализовать. 1.87. Найти частное для чисел 0.0111 и 0.1100, ограничиваясь четырьмя цифрами частного. Результат перевести в десятичную запись. 1.88. Найти четыре цифры частного чисел 0.0442 и —0.4343 в системе счи- счисления с основанием 5 и естественным множеством цифр. Результат перевести в десятичную запись. 1.89. Найти частное от деления 4 • 0.1101 на 4* ¦ 0.3301. Подсчитать при поиске мантиссы частного пять цифр. Результат перевести в двоичную запись с Цифрами 0, 1. 1.90. Найти частное от деления 21 -0.1101 на —2s -0.1001. Результат деления мантисс должен содержать пять разрядов и быть нормализованным. 1.91. Определить правила сложения и умножения одного разряда для тро- Ичиой системы с симметрическим множеством цифр. Используя эти правила,
92 Гл. 1. Основы многосортных множеств найти сумму и произведение чисел 0.1101 и 0.1101. В этой записи цифра 1 соответствует количественному эквиваленту, равному —1. 1.92. Установить правила сложения и умножения в системе счисления с основанием 6 и асимметрическим множеством цифр, смешенным в отрицатель- отрицательную сторону. Найти сумму и произведение чисел —0.3012 и 0.1102. Черточка над цифрой означает, что она отрицательна. 1.93. Определить правила сложения в двоичной системе счисления с ци- цифрами 1, 0, 1. Найти сумму чисел 0.11011 и 0.11101. 1.94. Сколькими способами можно закодировать десять десятичных цифр двоичными тетрадами? 1.95. Сколькими способами можно осуществить кодирование из предшест- предшествующей задачи, если потребовать еще взаимно однозначное соответствие цифр и тетрад? 1.96. Найти сумму чисел 5764 и 2433 в коде прямого замещения и в коде с избытком 3. 1.97. Найти сумму чисел —79 и —981 в коде с избытком 3. 1.98. Установить правила сложения в коде с избытком 6. Сложить, используя эти правила, числа 203 и 479. 1.99. Доказать утверждение: если все веса в двоично-десятичном кодирова- кодировании р, неотрицательны, то все они строго положительны. 1.100. Доказать, что единственным совершенным кодом является код с ве- весами 2 4 2 1. 1.101. Доказать утверждение: если в весомозиачном коде есть два одинако- одинаковых веса, то их сумма ие превышает 9 (веса предполагаются положительными). 1.102. Доказать утверждение: код с положительными весами ие может иметь вес, больший 8. 1.103. Установить правила сложения и умножения для кода с избытком 5. Определить сумму и произведение чисел 87 и 56. 1.104. Выписать таблицы кодов с избытком от 1 до 15. Убедиться в том, что только коды с избытком, меньшим 7, удовлетворяют требованиям единствен- единственности, четности и упорядоченности, а свойству дополнительности удовлетворяет среди последних только код с избытком 3. 1.105. Установить правила сложения и умножения для кода Айкена—Эмери (код с весами B, 4, 2, 1). Используя эти правила, иайти сумму и произведение чисел -401 и 587. 1.106. Установить правила сложения для кода B, 5, 2, 1). Найти сумму чи- чисел 90 и 73. 1.107. Определить правила сложения для кода C, 3, 2, 1) и найти сумму чисел 601 и -670. 1.108. В системе модулей gi = 2, gj = 3, дз = 5 некоторое число имеет код в остатках вида 010. Определить это число. 1.109. В системе модулей gi = 7, дг = 8 заданы числа хну своими кодами в остатках 31 и 03 соответственно. Установить, что больше: х или у. 1.110. Записать алгоритм перевода кодов в остатках в десятичную запись числа. 1.111. Найти способ определения знака числа в коде в остатках. 1.112. Найти способ сравнения чисел по величине в коде в остатках. 1.113. Установить правила деления для кода в остатках. §1.12. Комментарии 93 § 1.12. Комментарии Официально теория множеств была признана в 1897 г. на Первом междуна- международном конгрессе математиков, иа котором Адамар и Гурвиц привели многочи- многочисленные примеры применения этой теории в математическом анализе. Теория множеств явилась основой создания алгебраических систем, имеющих большое практическое применение при разработке математического обеспечения ЭВМ. Большой вклад в развитие теории алгебраических систем внесли А.И. Маль- Мальцев, Г. Биркгоф. Особенно бурное развитие получила теория моделей, сигнатура которых обладает свойством симметричности (симметричных моделей). Этот класс моделей позволяет эффективно рассматривать исследуемый объект как чер- черный ящик. Элементы (конструктивные или функциональные) объекта образуют носитель модели, а ее сигнатура определяет их взаимосвязь. Для оптимального задания моделей этого класса было предложено понятие мографа [8], спустя три года оно вновь было "введено" во Франции и идентифицировано термином ги- гиперграф [34]. Алгебраические понятия весьма эффективны при проектировании сложных систем управления, ЭВМ, вычислительных систем и сетей ЭВМ, банков данных и пакетов прикладных программ. Для углубления знаний по многосортным множествам рекомендуем работы [11, 12, 14-16, 23, 34].
Математика, оперируя со строками своих символов, имея дело с формальными исти- истинами, тем ие менее, может получить бес- бесконечно важные результаты, относящиеся к описанию физической Вселенной. К. Пирсон Глава 2 МАТЕМАТИЧЕСКАЯ ЛОГИКА § 2.1. Логика высказываний Высказыванием называется повествовательное предложение, о котором можно сказать в данный момент, что оно истинно или ложно, но не то и другое одновременно. Истинность или лож- ложность предложения есть истинное значение высказывания. Со- Сопоставим каждому высказыванию переменную, равную 1, если высказывание истинно, и равную 0, если оно ложно. Если Р и Q — некоторые высказывания, то можно образовать высказыва- высказывания "Р или Q", "Р и Q", "не Р", введя операции дизъюнкции (V), конъюнкции (к) и отрицания ( ). Действия этих операций задаются таблицами истинности (табл. 2.1-2.3), каждой строке которых взаимно однозначно соответствуют набор значений соста- составляющих высказываний и соответствующее значение составного высказывания. р 0 - 0 1 1 Таблица 2.1 Q 0 1 0 1 PVQ 0 1 1 1 Р 0 0 1 1 Таблица 2.2 Q 0 1 0 1, PkQ 0 0 0 1 Таблица 2.3 Р 0 1 Р 1 0 Операции дизъюнкции, конъюнкции и отрицания читаются соответственно как "или", "и" и "не". Приведем основные законы, определяющие эти операции: закон идемпотентности дизъюнкции и конъюнкции aVa = a, aka = a; B.1) закон коммутативности дизъюнкции и конъюнкции aVb = b\/a, akb = bka; B.2) закон ассоциативности дизъюнкции и конъюнкции ) = {akb)kc; B>3) §2.1. Логика высказываний 95 закон дистрибутивности конъюнкции относительно дизъ- дизъюнкции и дизъюнкции относительно конъюнкции ak(bVc) = akbVakc1), aVbkc= (aVb)k{aVc); закон двойного отрицания законы де Моргана B.4а) B.46) B.5) akb=a\/b; (а V Ь) к (а V 6) = о; B.6) B.7) B.8) B.9) K законы склеивания a&bV akb = о, законы поглощения а V akb = а, а к (а V Ь) = а\ законы Порецкого аУакЬ = aV b, ak(aV b) = akb; законы, определяющие действия с константами 0 и 1, aV0 = a, a&0 = 0, aVl = l, akl = a, oVS=l, a&o = 0. Всякое высказывание, построенное с помощью операций V, к, , имеет некоторое истинное значение, зависящее от значений составляющих высказываний. Любое высказывание / может быть задано в виде таблицы истинности. Бели значение высказыва- высказывания / зависит от п составляющих высказываний Xi, хг, •.., хп, то таблица истинности содержит 2П строк. Составляющее высказы- высказывание х,- будем называть атомарным высказыванием или просто переменной х,-, рассматривая при этом сложное высказывание как функцию / от п переменных. Рассмотрим, например, устройство, фиксирующее принятие некоторой ре- резолюции "комитетом трех". Каждый член комитета при одобрении резолюции нажимает свою кнопку; если большинство членов согласны, то резолюция при- принимается, что фиксируется регистрирующим прибором. Устройство реализует высказывание /(xi, хз, х3), таблица истинности которого имеет вид табл. 2.4. Таблица 2.4 Ху 0 0 0 0 Х2 0 0 1 1 Хз 0 1 0 1 /(*1 ,Х2, 0 0 0 1 хз) XI 1 1 1 1 Х2 0 0 1 1 Хз 0 1 0 1 ,Х2, 0 1 1 1 Хз) ') Скобки в выражении a&bVa&c не ставим, так как конъюнкция & как мультипликативная операция более старшая по отношению к дизъюнкции (яв- (являющейся аддитивной операцией) и выполняется в первую очередь.
Гл. 2. Математическая логика Исчисление высказываний можно построить, используя соот- соответствующие таблицы истинности. При этом очевидно, что алгебра высказываний изоморфна алгебре Буля (М, V, &, ), элементы носителя которой принимают значения 0 или 1, а сигнатура V, &, обладает свойствами операций дистрибутивных решеток с до- дополнениями. Алгебра Буля простейшая в классе булевых алгебр; она является двухэлементной булевой алгеброй. Алгебру высказы- высказываний и законы, определяющие ее сигнатуру, можно получить, формально рассмотрев предельный случай решеток — двухэле- двухэлементную решетку, в которой о U 6 = Ь при а < Ь. Эта решетка преобразуется в булеву алгебру, если положить о = 6, 6 = о. Од- Одним из элементов двухэлементной булевой алгебры является 0, так как булева алгебра является решеткой с дополнениями, поэтому вторым элементом этой алгебры является 1. Согласно теоремам 1.2 и 1.5 каждое высказывание и соответ- соответствующую ему булеву функцию /(xi, х2, ...,хп) можно предста- п вить в виде дизъюнкции конституент & xf', где <п _ /х,-, сг,• = 1, Для рассматриваемого примера /(ii, 12, %з) может быть пред- представлена в виде /(ii, i2, X3) = X1Z2Z3 V х{х2хз V ххХ2Х3 V xix2x3. В дальнейшем представление булевой функции f[x\, х2,..., хп) в виде дизъюнкции конституент будем называть совершенной дизъюнктивной нормальной формой функции /(xi, х2,..., хп). Переменную или ее отрицание будем называть первичным термом. Количество первичных термов, которые образуют форму, за- задающую булеву функцию f(x\, х2, ..., хп), называется сложно- сложностью L(f) этой формы. Сложность совершенной ДНФ функции /(хх, х2, хз) голосова- голосования равна 12. Уменьшим сложность этой функции, используя основные тождества алгебры Буля. Согласно свойствам идемпо- идемпотентности дизъюнкции имеем /(Xi, X2, Х3) = XiX2X3VXiX2X3VXil2^3VXiX2X3VXiX2X3VxiX2X3. Используя свойства коммутативности, ассоциативности и дистри- дистрибутивности, получаем i, х2, х3) = (xi V Х!)х2х3 V (х2 V x2)xix3 V (х3 V x3)xix2. Окончательно имеем /(Xi, Х2, Х3) = Х2Х3 V XiX3 V ХХХ2 = Х3(Х2 V Xi) V X!X2. §2.1. Логика высказываний 97 В результате получаем сложность L(f) функции /(xi, X2, хз), равную 5. Функции fa(xi, х2, ..., хп) и /^(хь х2, ..., хп) называются равными, если на каждом двоичном наборе (а\, а2, ..., о~п) ( ) /( ) Количество бит (binary unit — двоичная единица), необходи- необходимое для задания булевой функции f(x\, x2, ..., хп) в виде таблицы истинности, равно п • 2П. Это количество можно уменьшить в п раз, если использовать двумерную таблицу Вейча. Для этого пред- представим исходное пространство Рп размерности п в виде декартова произведения пространств РП1, Р„2 размерности п\, п2 соответ- соответственно, где п\ + п2 = п. В двумерной таблице, каждой строке которой взаимно одно- однозначно соответствует точка пространства Рп,, каждому столбцу — точка пространства РП2, на пересечении строки и столбца запи- записывается значение булевой функции f{x\, x2, ..., х„) в соответст- соответствующей точке пространства Рп. Пример 2.1. Построим таблицу Вейча для неполностью заданной булевой функции /(xi, X2, ¦•., Xs), задавая двоичные наборы (оч, <rj, ..., <т5) десятич- 5 ными эквивалентами 5Z а> ' 2п~': /(xi, XS)={ 1 иа [0, 6], [5, 29], [2, 10], 0 иа [3, 11], [18, 31]. Булева функция /(xi, хг, ¦.., х$) задана интервалами, слева в квадратной скобке указан минимальный, справа — максимальный элементы. Единичная область этой функции включает интервалы, содержащие соответствующие точки: [0, 6] = {0, 2, 4, 6}, [5, 29] = {5, 13, 21, 29}, [2, 10] = {2, 10}. Нулевая область включает точки, образующие указанные интервалы: [3, 11] = {3, 11}, [18, 31] = {18, 19, 22, 23, 26, 27, 30, 31}. Мощность единичной области равна 9, нулевой области — 10, в остальных 13 точках булева функция /(xi, хг, ..., Хь) ие определена. Задание булевой функции называется противоречивым, если пересечение единичной и нулевой области непусто. Представим исходное множество Pi — {х\, хг, ..., xs} в виде декархова про- произведения Рг — {xi, хг} и Р3 — {хз, хч, xs}: Pi = Pi x Р3; нижний индекс у идентификатора пространства Р указывает размерность про- пространства. При таком разбиении переменных Xi, Хг, ...,xs таблица Вейча для заданной функции имеет вид табл. 2.5. Таблица 2.5 Х1Х2 0 1 2 3 Х3Х4Х5 0 1 1 2 1 1 0 0 3 0 0 0 0 4 1 г 5 1 1 1 1 6 1 0 0 7 0 0 4 В. А. Горбатов
98 Гл. 2. Математическая логика § 2.2. Разложение Шеинона. Декомпозиция булевых функций Рассмотрим разложение булевой функции /(xi, 12, ..., х„) по к переменным (для определенности по х\, х2, ..., Хк) — разло- разложение Шеннона. Теорема 2.1. Любая функция /(xi, х2, ..., хп), не равная тождественно нулю, представима в виде разложения Шеннона f(xu X2, • . ., Xfc, Xfc+i, . . ., Xn) = fc = V &x Используя метод полной индукции, покажем, что xj' = 1 н <-» Xi = сг,- (табл. 2.6). Подставим произвольно вместо первых к переменных их зна- чения: хх = а*, х2 = <72«, ..., х* =: а?. Тог- да левая часть доказываемой формулы равна /(erf, а\, ...., cr^,xfc+1, ..., хп). Пра- Правая часть представляет собой дизъюнкцию 2к конъюнкций вида x^'X Таблица 2.6 .x ?* /(<7i, Xi 0 0 1 1 ffi 0 1 0 1 *v 0 = 1 0 1 = 0 1 ^j ?/(i, cr2,..., ffjt, xjt+i,..., xn), которые этой под- подстановкой разбиваются на два класса. К первому классу относится конъюнкция, у которой набор (<7i, <т2, ..., (Тк) совпадает с набором (cj", а\, ..., = 1 • 1 Ч{°1, о$, ..., at, хш, ..., хп) = 1 • /(cTj, CrJ, . . ., CTfc, Xjfe+l, . . ., Xn) = = f{°U a2i • • -i aL xk+l, • • •, Xn). Эта конъюнкция равна левой части формулы. Ко второму клас- классу относится 2к~1 конъюнкций, у каждой из которых хотя бы в одной переменной Х{, i ? {1, 2, ..., к}, а* ф с,-. Следовательно, каждая из них равна нулю. Тогда согласно закону, характеризую- характеризующему действия с константами: а V 0 = о, получаем, что левая и правая части формул равны при любой подстановке переменных xi, х2, ..., Хк- Следствие. Предельное разложение Шеннона (к = п) бу- булевой функции f(x\, х2, ..., хп), не равной 0, имеет вид , *2, •••, *»)= V B.11) § 2.2. Разложение Шеннона. Декомпозиция булевых функций 99 Предельное разложение Шеннона булевой функции f(x\, х2,..., х„) является ее совершенной дизъюнктивной нормальной формой. В алгебре Буля справедлив принцип двойственности, посколь- поскольку, как было показано в гл. 1, она является дистрибутивной решет- решеткой с дополнением. Согласно этому принципу имеем следующие двойственные разложения Шеннона булевой функции /(xi,x2,... ,..., xn) no k переменным: , . . ., Xn) = it X2, • • ., Xjfc, Согласно закону двойного отрицания f(x\, x2, ..., xn) = f{x\, x-i, •. •, х„) имеем /(Xl, X2, . . ., Xjfc, Xk+l, . . ., Xn) = = /{Xl, X2, . . ., Xfc, Xfc+b . . ., Xn) = = & (rVx7rV/(ai,a2,...,afc,xfc+1,...,xn)). B.12) Таким образом, любая булева функция /(xi, x2, ..., хп), не равная тождественно 1, представима в виде выражения B.12). При к = п двойственное предельное разложение имеет вид Двойственное предельное разложение Шеннона булевой функ- функции /(xi, х2, ..., хп) является ее совершенной конъюнктивной нор- нормальной формой. Пример 2.2. Построим совершенные ДНФ и КНФ булевой функции f{x\, Xi, Хз), заданной таблицей истинности (табл. 2.7). Таблица 2.7 Xl 0 0 0 0 X2 0 0 1 1 Хз 0 1 0 1 f(xl,X2,X3) 1 0 1 0 Xl 1 1 1 1 Xi 0 0 1 1 x3 0 1 0 1 /(Х1,Х2,Хз) 0 1 0 1
100 Гл. 2. Математическая логика Совершенные ДНФ и КНФ этой функции имеют соответственно вид /(*1, Х2, Х3) =XlX2X3 VxiX2X3 V Х\Х2Хз V1H213, /(n, x2, xa) = (n Vr2Vr3)(*i Vr2 Vr3)(*i Vr2 Vr3)(*i Vx2Vx3). Далее будет рассмотрена теория ДНФ, из которой на основании принципа двойственности легко построить теорию КНФ. Будем называть булевы функции f(xi, хг, ..., rjt, ?jt+i, ... ..., хп) в выражениях B.10) и B.12) остаточными мультипли- мультипликативными и аддитивными функциями соответственно. Укажем на важную связь между разложениями Шеннона и таб- таблицами Вейча. Представим исходное пространство Рп(Х) в виде декартова произведения пространств Рк(Ха) и Р3(Хъ), ХаиХь = Х,ХаП ПХь = 0, к + s = п: РП(Х) = Рк(Ха) х Р3(ХЬ). Каждой строке таблицы Вейча взаимно однозначно сопоста- сопоставим точку пространства Pk(Xa), столбцу — точку пространства Р3 (Хь) и рассмотрим разложение Шеннона булевой функции f(xai, хп2,..., хак, Xbt, хъ2, ..., хь,) по первым к переменным. Тогда, очевидно, г-я строка таблицы Вейча, идентифицируемая конъюнк- конъюнкцией ха[1 к Ха? к... к ха"кк, соответствует остаточной функции /(^оц <7а2, •••, <7ак, Х^, Хь2, . . ., Хь,). Будем называть разложение Шеннона булевой функции f(X) строчным, если разложение осуществляется по переменным, со- соответствующим строкам таблицы Вейча. Аналогично определяется столбцевое разложение Шеннона булевой функции f(x): j'-й столбец таблицы Вейча, идентифици- идентифицируемый конъюнкцией х^1 к х^2 к.. .к х^', соответствует оста- остаточной функции f(ai, п2, , пк, Ьг, Ь2 > • • ч аЬ.)- Найденная связь позволяет сводить исследование булевых функций к анализу функций от меньшего числа переменных путем построения декомпозиции исходных булевых функций. Декомпозицией булевой функции /(х%, х^, ..., хп) называется посет, носителем которого являются терминальные {х,} и функ- функциональные {/, F{, <fj, ...} переменные, сигнатурой — отношение включения одной переменной в качестве аргумента другой. Теорема 2.2. Булева функция f(x\, x%, ..., хп) декомпози- декомпозируема, если найдется разбиение ее переменных {хп1, хп2, ... ..., хпк}, {хь1, хь2, ..., аг^} такое, что при объединении строк или столбцов в соответствующей таблице Вейча не образу- образуется противоречивого задания, при котором [log2 Na] < к или [log2 § 2.2. Разложение Шеннона. Декомпозиция булевых функций 101 где [ ] — целое ближайшее число; Na — число различных строк таблицы Вейча (число остаточных булевых функций строч- строчного разложения), каждая пара которых <pil, <р{2 не находит- находится в отношении включения: <р^ <f_ у>,2; Щ — число различных столбцов таблицы Вейча (число остаточных булевых функций {<Pj} столбцевого разложения), попарно не находящихся в от- отношении включения: <pjl <? <pj2. Пример 2.3. Рассмотрим построение декомпозиции булевой функции f(xi, х2, ..., xs), заданной табл. 2.5. Остаточные функции строчного разложе- разложения <ро, <fii и if2, <р3 находятся в отношении включения: у>о Э у>ь у>2 Э у?з; объединяя соответствующие строки, получаем табл. 2.8. Таблица 2.8 XlX2 0,1 2,3 13 Xt Xs 0 1 1 2 1 0 3 0 0 4 1 5 1 1 6 1 0 7 0 Отсюда получим Na = 2, к = 2, [log2 2] < 2. Следовательно, можно вместо двух терминальных переменных, х\ и х2, ввести функциональную переменную Vi и, кодируя первую строку в табл. 2.8 нулем, вторую — единицей, получить зависимость ?>i(*i, *a)|i = VB, 3). Аналогично, объединяя столбцы {0, 1, 2, 4, 6, 7}, {3} и {5}, получаем таб- таблицу Вейча в виде табл. 2.9. Таблица 2.9 0 1 X3XiXs 0,1,2,4,6,7 1 0 3 0 0 5 1 1 Отсюда получим Nb = 3, S - 3, pbg2 3] < 3. Три полученных различных столбца кодируем, вводя две функциональные переменные <р2, <рз; первый столбец закодируем в виде 00, второй — 01, тре- третий — 10. Отсюда получаем зависимости = VE), = VC). В результате введения функциональных переменных ipi, if2, уз получаем таблицу Вейча (табл. 2.10), определяющую заданную функцию f(x\, хз, ..., хъ) через функциональные переменные Vi, V2. V3- Таблица 2.10 0 1 0,1,2,4,6,7 1 0 3 0 0 5 1 1 Таблица Вейча (табл. 2.10) определяет внешнюю функцию 0 иа на 0, 2, 6, 1, 4, 5
102 Гл. 2. Математическая логика построенной декомпозиции (рис. 2.1) заданной булевой функции /(ll, 12, ..., I5) =F(<fil(xi, 12), (<Р2(*3, 14, IS), Ч>з(х3, Исследование функции от пяти переменных замеиеио на анализ одной функ- функции от двух переменных и трех функций от трех переменных. § 2.3. Минимизация булевых функций в классе ДНФ Часто, как было уже показано, двоичные наборы задают де- п сятичными эквивалентами: (о\, o-i, •••¦> ^п) <->• ]С<?»2П~'; булеву функцию — перечислением десятичных эквивалентов, соответ- соответствующих конституентам (конъюнкциям предельного разложения Шеннона). Например, f{xh х2, x3)\i = V@, I, 2, 3, 7) (табл. 2.11). Таблица 2.11 Десятичный эквивалент 0 1 2 3 4 5 6 7 ii 0 0 0 0 1 1 1 1 12 0 0 1 1 0 0 1 1 хз 0 1 0 1 0 1 0 1 /(ц,12,гз) 1 1 1 1 0 0 0 1 Зададим булеву функцию f(xi, х2, ..., хп) с помощью гипер- гиперкуба, каждой вершине которого взаимно однозначно соответствует двоичный набор (<7i, o-i, •••, <тп); вершины упорядочены по яру- ярусам (в i-й ярус входят (") вершин, которым соответствуют двоич- двоичные наборы, содержащие t единиц); вершины соединены ребром, §2.3. Минимизация булевых функций в классе ДНФ 103 если соответствующие им двоичные наборы отличаются в одном и только одном разряде. Вершины, в которых f(x\, r2, ..., хп) = 1 и которые образуют гиперкуб, порождают единичный интервал этой функции. Единич- Единичный интервал /„ булевой функции / называется максимальным, если не найдется единичный интервал Д, строго включающий /„. В данном примере единичными интервалами являются множе- ства вершин {0}, {1}, {2}, {3}, {7}, {0, 1}, {0, 2}, {1, 3}, {2, 3}, {3, 7}, {0, 1, 2, 3}; максимальными интервалами — {0, 1, 2, 3}, {3, 7}. Конъюнкция, соответствующая максимальному единичному интервалу функции /, называется простой импликантой этой функции: {0,1,2,3}«*1, {3, 7} f+z2r3. Будем задавать единичный интервал перечислением вершин, а также с помощью последовательности символов 0, 1, —, где про- прочерк означает отсутствие в конъюнкции соответствующей перемен- ной: {0, 1, 2, 3} f+ 0-, {3, 7} f+ -11. Дизъюнкция всех простых импликант булевой функции назы- называется сокращенной ДНФ этой функции. Переход от совершенной ДНФ к сокращенной однозначен и осу- осуществляется с помощью попарного сравнения конституент сосед- соседних ярусов (номера которых отличаются на единицу). Пример 2.4. Найдем сокращенную ДНФ булевой функции /(ii, 12, хз, xt) (рис. 2.2): /(ц, 12, is, I4)|i = V@, 1, 2, 3, 6, 7, 8, 10, 12, 14, 15). Рис. 2.2 Сравнивая точку 0000 нулевого яруса с точками первого яруса 1000, 0010 и 0001, получаем три ребра, -000, 00—0 и 000- соответственно, которые образуют
104 Гл.2. Математическая логика нулевой реберный ярус. Действуя аналогично, получаем: ребра первого яруса {8, 12} -> 1-00, {8, 10} -> 10-0, {2, 10} -> -010, {2, 6} -> 0-10, {2,3}-+001-, {1,3}-+00-1; ребра второго яруса {12, 14} -> 11-0, {10, 14} -> 1-10, {6, 14} -> -110, {6, 7} -> 011-, {3, 7} -> 0-11; ребра третьего яруса {14, 15} -> 111-, {7, 15} -> -111. Все точки включены в ребра, следовательно, ни одна из точек не образует максимальный интервал. Сравнивая ребра соседних ярусов, формируем ярусы граней: нулевой — первый — {-000, -010} = {00-0, 10-0} -у -0-0, {000-, 001-} = {00-0, 00-1} -> 00—-; {1-00, 1-10} = {10-0, 11-0} -> 1 0, {-010, -110} = {0-10, 1-10} -> 10, {0-10, 0-11} = {001-, 011-} -> 0-1-; второй — {ОН—, 111-} = {-001, -111} -> -11- . Все шестнадцать ребер включены в грани, следовательно, ни одна из них не образует максимальный интервал. Сравнивая грани соседних ярусов, замечаем, что ни одна из пар сравнивае- сравниваемых граней ие образует куб. Следовательно, все шесть граней являются мак- максимальными интервалами, и соответствующие им конъюнкции представляют собой простые импликанты. В результате сокращенная ДНФ рассматриваемой булевой функции имеет вид X2, Хз, Г4) = X2Xi V XiX2 V Г3Х4 V 11Г3 V Х2Х3, и сложность ее 12. Сложность уменьшится до 6 в результате определения минимального покры- покрытия столбцов строками в импликантной таблице (табл. 2.12) Таблица 2.12 Простые импликаиты -0-0 00 1 0 10 0-1- -11- Коиституенты 0 1 1 1 Ф 2 1 1 1 1 3 1 1 6 1 1 1 7 1 1 8 1 Ф 10 1 Ф 1 12 Ф 14 Ф 1 1 15 Ф § 2.3. Минимизация булевых функций в классе ДНФ 105 В столбцах, соответствующих конституеитам 1, 12 и 15, находится одна 1, следовательно, соответствующие строки {00 , 1 0, —11—} образуют ядро покрытия. Это ядро является покрытием столбцов строками, следовательно, оно минимальное (рис. 2.2): Х2, Х3, Г<) ^ V X2X3. Большое значение имеют слабоопределенные булевы функции f(xi, х2, ..., хп) которые обладают следующими свойствами: 1) число переменных п велико; 2) мощность объединения единичной Vi и нулевой Vo областей намного меньше, чем 2П, где единичную и нулевую области обра- образуют вершины, в которых функция равна соответственно 1 и 0; 3) единичная и нулевая области задаются соответствующими интервалами. Множество вершин гиперкуба, на которых функция равна 0 и которые образуют гиперкуб, называется нулевым интервалом. Со- Сокращенную ДНФ слабоопределенных функций строят с помощью таблицы различий. Таблицей различий называется двумерная таблица размера п X |Vo|, каждой строке которой взаимно однозначно соответствует разряд рассматриваемого единичного интервала, столбцу — нуле- нулевой интервал, а на пересечении г-й строки с j-u столбцом нахо- находится результат операции: 0ф0 = 0, 100=1, -00 = 0, 001 = 1, 101 = 0, -01 = 0, ое-=о, ie-=o, -0-=o, причем в качестве первого аргумента берется значение i-го разряда единичного интервала, в качестве второго — значение г-го разряда нулевого интервала, соответствующего j-му столбцу. Выделение максимальных интервалов сводится к покрытию столбцов строками таблицы различий. В самом деле, максималь- максимальные интервалы в слабоопределенных функциях состоят из вер- вершин единичной и неопределенной областей. Единица в клетке (г, j) таблицы различий показывает, что если оставить г-й раз- разряд в конъюнкции, то j-й нулевой интервал не входит в гипер- гиперкуб, соответствующий этой конъюнкции. Следовательно, покры- покрытие столбцов строками порождает максимальный интервал полно- полностью определенной булевой функции /(xi, х2, • •., хп), единичная и нулевая области которой включают соответственно единичную и нулевую области заданной функции f(xi, х2, ..., хп). Функция i, х2,..., хп) называется мажорирующей функцию f(xi, x2,... ) Яп), 7(*1, «2» • • •) хп) Э f(xi, Х2, . . ., Хп). Пример 2.5. Найдем минимальную ДНФ булевой функции 2, . .., Х7) = иа интервалах 0-0-0-0, 11-0-01, 0—001-, иа интервалах 10-0-01, 00 10-, 1101-0-
106 Гл. 2. Математическая логика или функции, заданной с помощью десятичных эквивалентов минимальных и максимальных элементов соответствующих интервалов, которые получаются в результате подстановки нулевого @0.. .0) и единичного A1.. .1) кода вместо про- прочерков: » f 1 на интервалах [0, 42], [97, 117], [2, 51], С2, ..., *tJ - ^ Q м ин1ервалах. [65, 85], [4, 29], [104, 109]. Выделим множество максимальных интервалов {/макс}, содержащих еди- единичный интервал [0, 42] по таблице различий (табл. 2.13), у которой строки идентифицированы буквами а, Ь, с, d, e, g, h. Таблица 2.13 Единичный интервал а Ь с d е 9 h 0 — 0 - 0 - 0 [65,85] 1 0 0 0 0 0 1 Нулевые интервалы [4,29] 0 0 0 0 1 0 0 [104,109] 1 0 0 0 0 0 0 Используя метод Петрика, найдем все покрытия этой таблицы (aVh)ea = ае. Имеем одно покрытие, соответствующее максимальному интервалу 0 0— Э Э [0, 59], которому соответствует простая импликанта xirs- Аналогично находим множества максимальных интервалов, содержащих остальные единичные интервалы: {/м«с Э [97, 117]} = {[32, 119]} t» х2х4, {/-«с D [2, 51]} = {[0, 59], [2, 123]} t+ xtxit xiXe. В результате получена сокращенная ДНФ булевой функции/(г 1, х2, ..., х7), являющейся уже полностью определенной. Единичная область Vi функции / со- ДНФ функции *еРтт единичную область Vi функции /: . х2 лг„) Покрытие таблицы различий | Сокращенная (~\ ДНФ функции Й Э Vi, нулевая область Vo функции / — нулевую область Vo функции /: Vo Э Vo; /Т\ .*„> f(n, и, ..., х7) = х{х Выделение максимальных ин- интервалов, построение сокращенной ДНФ функции / — первый этап ми- минимизации в классе ДНФ, при этом нулевой столбец в таблице разли- различий указывает на противоречивость заданной функции. Вторым этапом является переход от сокращенной ДНФ^функции / к тупиковой ДНФ этой функции (рис. 2.3). Функция /мажорирует заданную функ- функцию/, / Э/. | Покрытие импликаитной таблицы | С/ 6 Тупиковые ДНФ функции /'ЛГ^, ^2» .*>, ДГЯ) Рис. 2.3 §2.3. Минимизация булевых функций в классе ДНФ 107 Тупиковой ДНФ булевой функции f(x\, x2,..., хп) называется ДНФ, не определяющая функцию / с точностью до неопределенной области при вычеркивании хотя бы одного произвольного первич- первичного терма xai. Тупиковая ДНФ булевой функции получается в результате покрытия столбцов строками импликантной таблицы (двумерной таблицы, каждой строке которой взаимно однозначно соответствует максимальный интервал, столбцу — единичный ин- интервал, а на пересечении i-й строки с j-u столбцом находится 1, если j-й единичный интервал входит в i-й максимальный интер- интервал, в противном случае на пересечении находится 0). Построим для рассматриваемого примера импликантную таблицу (табл. 2.14). Таблица 2.14 Максимальные единичные интервалы функции / [0,59] [32,119] . [2,123] Единичные интервалы функции / [0,42] 1 0 0 [95,117] 0 1 0 [2,51] 1 0 1 Таблица имеет одно покрытие, его образуют первая и вторая строки. покрытие порождает тупиковую ДНФ функции Это Теоретически число тупиковых ДНФ булевой функции /(zi, ?2) • • •, ?п) при п —> (х растет как число всех различных буле- булевых функций от п переменных 22". Практически же количество тупиковых ДНФ увеличивается значительно медленнее, чем 22", из-за большого количества недоопределенных вершин гиперкуба. Перебор всех тупиковых ДНФ булевой функции определяет выбор минимальной ДНФ этой функции. В рассматриваемом примере тупиковая ДНФ одна; следова- следовательно, она является минимальной ДНФ функции }{х\,Х2, ... ...,х7): f{a,b, c,d) = ad\/bc, где а = xi, Ь = Х2, с = х4, d = x5. При таком доопределении функция зависит от четырех переменных. Булева функция, полученная из функции f{x\, 12,..., хп) фик- фиксированием i-й переменной, г 6 {1, 2, ..., п}, как уже было опреде- определено, называется остаточной. Если ц = 1, то остаточная функ- функция называется единичной, если ц = 0 — нулевой. Булева функция }{х\, х2, ¦¦•, хп) несущественно зависит от i-й переменной, если ее остаточные функции по этой переменной равны.
108 Гл. 2. Математическая логика § 2.4. Полнота. Построение суперпозиций булевых функций Любое сложное высказывание можно представить в виде вы- выражения, в которое входят простые высказывания (переменные) z,-, операции дизъюнкции, конъюнкции, отрицания и, быть может, скобки. Рассмотрим, каким свойствам должны удовлетворять опе- операции, с помощью которых можно выражать любое сложное вы- высказывание. Будем моделировать конъюнкцию и дизъюнкцию соответст- соответственно последовательным и параллельным соединением ключевых элементов (для определенности — полупроводниковых), отрица- отрицание — включением нагрузки в коллекторную цепь транзистора. Тогда полученная в конце предыдущего параграфа булева функция реализуется в виде интегрального модуля со схемой, изображенной на рис. 2.4. Обозначим операцию, реализуемую этим элементом, А й IMM Ьа Ьс а(а, Ь, с, d) Рис. 2.4 как П(а, Ь, с, d) и рассмотрим алгебру высказываний вида (М, ?), где М — логические высказывания и П(а, Ь, с, d) = ad V be. Установим, можно ли любую булеву функцию /(xi, х2, ..., хп) выразить в виде суперпозиции системы S = {?}, как это возможно для случая системы {V, &, }. Суперпозицией системы S = {<pl(xi, Х2, . . ., Хк1),<р2{хх,Х2, . . ., Zjfc2), . . ., Vl{xi,X'2, . . ., Xkl)} называется любая функция /, полученная: а) i/aipj(xx, X2, ..., zjtj) переименованием переменных, y>j G S; б) подстановкой вместо некоторых переменных функции 4>а{х\, Х2, . . ., Хка) фуНКЦИЙ <fij(xi, Х2, . . ., Xkj), lfia, Ifij 6 S; в) с помощью многократного применения пп. а) и б). Система S называется полной в Рк, если любая функция / 6 6 Рк представима в виде суперпозиции этой системы; система S называется базисом, если полнота S теряется при удалении хотя бы одной функции, где Рк — fc-Значная логика. §2.4. Полнота. Построение суперпозиций булевых функций 109 Выразим дизъюнкцию и отрицание через П(а, Ь, с, d); тогда согласно разложению Шеннона и закону де Моргана любую булеву функцию f(xi, х2, ..., хп) можно выразить через 5 = {П}: а = П(а, а, а, а); a V /? = Ш V /?jf = D(a, /3, 0, a) = = D(D(a, a, a, a), /3, П(C, /3, C, /3), D(a, a, a, a)). В общем случае для установления полноты системы S буле- булевых функций /, (S в Р2) используют критерий полноты Поста- Яблонского. Определим предварительно пять классов булевых функций. Классом Ко булевых функций fi(x\, х2, ..., хп), сохраняющих константу 0, называется множество функций вида {?(*lf х2, ..., *п)//,@,0, ...,0) = 0}. Классом К\ булевых функций /,-(xi, x2, ..., хп), сохраняющих константу 1, называется множество функций вида ) } На примере системы S = {D} рассмотрим тесты распознавания функций, обладающих этими свойствами: D(a,b, c,d) = adVbc, Q@, 0, 0, 0) = Об V00 = 1 VO = 1, D(o, Ь, с, d) $ Ко, , 1, 1) = 11V11=OVO = O, D(o, Ь, с, d)$ Ki. Классом Кл линейных булевых функций fi{x\, x2, ..., хп) на- называется множество функций вида , ..., хп)/ fi(xi, x2, ..., хп) = где ф — знак операции сложения по модулю 2: ОфО = 0, 0ф1 = 1, 1ФО = 1, 1ф1 = 0. Установим, является ли булева функция D(a, b, с, d) линейной. Предполо- Предположим, что она линейная и, следовательно, представима в виде П(о, Ь, с, d) = со 0 еаа 0 сьЬ 0 ссс © cjd. Определим коэффициент со: 0@, 0, 0, 0) = 1, но по предположению D@, О, О, 0) = со. Следовательно, со = 1. Аналогично определим коэффициенты с„, съ, сс, ел, фиксируя соответствен- соответственно наборы 1000, 0100, 0010, 0001. Имеем: ОA, О, О, O)=T-OVO-O = OVO = O, 1 0 Со • 1 0 сь ¦ 0 0 Сс • 0 ф а ¦ 0 = 1 0 со, 1 ф Се = 0, со = 1; D@, 1, 0, 0) = 0 ¦ О V 1 • 0 = 1 V 1 = 1, 1 ф 1 Офсь-1 фСс-0фс<* 0 = 1фсь, 1фсь = 1, сь = 0;
110 Гл. 2. Математическая логика D(O, 0, 1, O)=O-OVO-1 = 1VO = 1, 1®1 -ОфО-ОфСс- 1®аО = 1фсС) 1®сс = 1, сс=О; С1(О, О, О, l)=6TvOO = OVO = O, l®l-O®OO®O-O®Cd-l = O, l®Cd = O, cd = 1. Подставляя значения коэффициентов в приведенное выше выражение, получаем D(a, Ь, с, <f) = 1 © a © d. Это равенство в каждой из остальных 11 точек не сохраняется. Действи- Действительно, в точке A, 1, 1, 1) имеем ОA, 1, 1, 1)=TTV1O = OVO = O, 101®1=?=1, 0/1. Следовательно, сделанное предположение является неверным. Функция D(a, Ь, с, d) нелинейная: D(a, о, с, d) $ Кж. Классом самодвойственных булевых функций /,-(zi, х2, -. - ..., хп) называется множество булевых функций вида {/i(*i> х2, • • ¦> хп)/ /(*i, х2, ..., хп) = Ji(xi, х2, ..., хп)}. Рассмотрим свойство самодвойственности булевой функции D(a, Ь, с, d). По- Построим таблицу значений 2 х 2" (п = 4), в которой в первой строке распола- располагаются десятичные эквиваленты, соответствующие наборам X = (а, Ь, с, d), во второй — значения функции f(X) = D(a, Ь, с, d), которые соответствуют этим наборам. X f(X) 0 1 1 0 2 1 3 0 4 1 5 1 6 1 7 0 8 0 9 0 10 1 11 0 Таблица 12 1 13 1 14 0 2.15 15 0 Функция самодвойственная, если на любой паре противопо- противоположных наборов (наборов, сумма десятичных эквивалентов кото- которых равна 2П —1) функция принимает противоположные значения. Функция Ща, Ь, с, d) ие является самодвойственной: ОG) = О(8). Классом Кы монотонных булевых функций /,-(xi, х2, ..., хп) называется множество булевых функций вида Х2, -> /К. СТ2. • • •> О > /(СТ1> ^2, • • -, ^п)}- Для тестирования функции П(о, Ь, с, d) на монотонность построим гиперкуб и проанализируем распределение в нем значений этой функции (рис. 2.5). Если найдется хотя бы одно ребро, концам которого сопоставлены двоичные наборы (<гГ,<г|,...,<г*) и (<ri,<r2,...,<rn) вида («r'.orj,..., а'п) > (<ri, <г2,.. .,<г„), §2.4. Полнота. Построение суперпозиций булевых функций 111 Покрывающий 1. ООП Рис. 2.5 Рассматриваемая булева функция D(a, Ь, с, d) немонотонная (рис. 2.5): A, 0, 0, 0) > @, 0, 0, 0), /A, 0, 0, 0) < /@, 0, 0, 0). Критерий полноты. СистемаSбулевых функций U явля- является полной тогда и только тогда, когда выполняются пять условий: существует функция /,¦ 6 S, не сохраняющая константу 0, /, ? Ко; функция /, е 5, не сохраняющая кон- константу 1, fi $ K\; нелинейная функция, несамодвойственная функция и немонотонная функция в системе S. Используя критерий полноты и метод Петрика, построим воз- возможные базисы в Р2 с нуль-, одно- и двуместными операциями. Построим все булевы функции от двух переменных (табл. 2.16). Таблица 2.16 Переменные 0 0 1 1 0 1 0 1 fo 0 0 0 П и 0 0 0 1 h 0 0 1 п h 0 0 1 1 /4 0 1 0 0 и 0 1 0 1 Зулевы i h 0 1 1 0 h 0 1 1 1 >уив Ы 1 0 0 0 ции и 1 0 0 1 /10 1 0 1 0 /11 1 0 1 1 /» 1 1 0 0 /и 1 1 0 1 /14 1 1 1 0 hi 1 1 1 1 Индекс i функциональной переменной /,-, i — 0, 1, 2, ..., 15, равен десятичному эквивалентному набору значений этой функ- функции, читаемому сверху вниз. Приведем эти булевы функции: fo(xi, х2) = 0 — константа 0; fi(xi, х2) = х\х2 — конъюнкция;
112 Гл. 2. Математическая логика f{i, 2) i2 = xi v Х2 = xi —> Х2 = х\ -» Х2 — левая коимпликация (читается "не если х\, то х2"; префикс ко — от лат. conversus — обратный); /з(*1, х2) = xi^2 V xiX2_=_xi; /4B:1, х2) = ~х~\х2 = х\ V х2 = х\ «- Х2 = xi +^- Х2 — правая коимпликация; Ы*1, х2) = Щх2 V ziz2 = аг2; /б(^1, агг) = ^i2T2 V 2:112 = х\ ф Х2 — сложение по модулю 2 или функция неравнозначности, неэквивалентности; h(xi, хт) = ari V х2 — дизъюнкция; /s(*ii гг) = х\х2 = xi V Х2 = хг о аг2 — функция Вебба; /э(*1| агг) = ^1^2 V ariX2 = zi ~ х2 — функция эквивалент- эквивалентности, равнозначности; fio(x\, х2) = х2 — отрицание; fu(xi, х?) = "х{Х2VXix2\/xix2 = х~2 VXi — х\ *r- x<i — правая импликация (читается "если х2, то х\"); /12(^1, х2) ="Щ\ — отрицание; /i3(*ii Х2) — ^1^2 Vx~\x2 V Х\Х2 — "%\ V х2 = х\ —> х2 — левая импликация (читается "если х\, то Хг"); fu(xi, Х2) = ^1^2 V Xix2 V х\х2 = x~i V «2 = ^ll^a — функция Шеффера; fis(xi, х2) = 1 — константа 1. Для порождения всех базисов в Р2 построим двумерную табл. 2.17, каждой строке которой взаимно однозначно сопоставим Таблица 2.17 Идентификатор строки а Ь с d е 9 к т п Р г Функции /. 0 1 2 6 7 8 9 12 13 14 15 Классы Ко 1 1 1 1 1 1 1 1 1 1 1 1 К. 1 1 1 1 1 1 Кс 1 1 1 1 1 1 1 1 1 1 Кы 1 1 1 1 1 1 1 одиннадцать функций (функции /з, /4, /s, /10, /11 не рассматри- рассматриваем), столбцу — класс Ко (функции, сохраняющие константу 0), К\ (функции, сохраняющие константу 1), Кл (линейные функ- функции), Кс (самодвойственные функции), Км (монотонные функций) §2.4. Полнота. Построение суперпозиций булевых функций 113 и в клетке (i, j) ставим 1, если i-я функция не принадлежит j-му классу, в противном случае клетку (г, j) оставляем пустой. Методом Петрика преобразуя мультипликативно-аддитивную форму в аддитивно-мультипликативную, порождаем все покрытия столбцов строками этой таблицы: = (g V ak V kc V kd V m V an V en V dn V p V ar V cr V rd) fc; &(iVeVeVsVnVp)(cVdV(/Vil;VmVnVp) = = E V afc V kc V fcd V m V an V en V dn V p V ar V cr V rd) к к (с V j V n V p V bd V bfc V bm V ed V ek V em) = = g\/ рУ abk\/ kc\/ an\/ спУ dn\/ акеУ kbd V fced V V me V mn V bm V me V cr V rbd V red = = дУ рУ ксУ апУ спУ dny me V mn V bm V me V V cr V abk V afce V fcbd V ked V rbd V red. Каждое из полученных покрытий 7Г,- порождает базис В,-: ffi = {5} *+ Bi = {0} — базис Вебба; 7г2 = {р} <-)¦ В2 = {|} — базис Шеффера; тг3 = {*, с} н- В3 = {^>, ~}; 7г4 = {а, п} н- В4 = {—>, 0} — ш«пликативный базис; тг5 = {с, п} н- В5 = {-», -^}; тг6 = {d, п} н- В6 = {->, в}; 7г7 = {т, с} <-»• Bj = {-+*, } — коилтликативный базис; 7г8 = {т, п} н- Вв = {->, "} — идтликативный базис; 7Г9 = {Ь, т} н- Вд = {&, } — конъюнктивный базис Буля; тгю = {т, e}f^Bio = {&> } — дизъюнктивный базис Буля; ""и = (с) г} ^ ^и = {•^*i 1} — коилтликативный базис; тг12 = {а, Ь, к} «- В12 = {~, к, 0}; тг13 = {о, к, е} «• В13 = {~, V, 0}; тг14 = {*, Ъ, d) н- В14 = {в, к, ~}; тг15 = {fc, e, <f} н- В15 = {0, V, ~}; л-Х6 = {г, b, d} н- Bi6 = {ф, к, 1} — базис Л(егалкина; тг17 = {г, е, d} «- В17 = {ф, V, 1}. Получено 17 базисов, в каждом из которых нельзя вычеркнуть ни одну функцию без потери полноты в Р2. Каждому сложному высказыванию в системе {V, к, } соответствует эквивалентное высказывание в любом из этих базисов. Например, высказыванию
114 Гл. 2. Математическая логика "не а или b и с" в импликативном базисе {—>, } соответствует эквивалентное высказывание "если а, то не если Ь, то не с": bc = a-tb\/c = a a\/bc=a-tbc = a-tb\/c = a-t (b ->¦ с) . Техническая реализация базисных функций может быть осно- основана на использовании различных физических явлений, напри- например, импликация и коимпликация может быть основана на ис- использовании магнитных явлений, а функции Шеффера и Веб- ба — на использовании явлений в полупроводниках. Базисные элементы графически изображают в виде прямо- прямоугольников, в которых инверсные входы и выход изображают в виде незаштрихованных кружков и в верхнем правом углу ставят 1, если внешняя связка — дизъюнкция, и &, если — конъюнкция, за исключением сложения по модулю 2 (тогда сверху ставят М2) и эквивалентности (обозначают =) (рис. 2.6, а). Более сложные эле- элементы графически изображают в виде композиций перечисленных Константа 0 0 1 - Импликация (JFvy) дг у_ , 1 - Отрицание (х) X Коимпли- Коимпликация (ж&у) ж У & - Дизъюнкция (xvy) дс у 1 - Сложение по модулю 2 ж©у ж у_ -1 - Конъюнкция (х&у) ж У & — Эквива- Эквивалентность (хьпу) X У ш - Элемент Вебба (xvy) У 1 >— Константа 1 1 - Элемент Шеффера (х&у) У т 1 11 Рис. 2.6 элементов на основе представления реализуемой этим элементом булевой функции в виде ДНФ или КНФ. Например, рассмотрен- рассмотренный выше элемент D(a, Ь, с, d) графически можно представить в виде прямоугольника (рис. 2.6,6), соответствующего ДНФ функ- функции D(a, b, с, d) = ad V be. Рассмотрим метод построения суперпозиций булевых функций в заданном базисе — метод непосредственного моделирования. 1. Для заданной булевой функции находят ее оптимальную в смысле количества связок V, к, скобочную форму, т. е. форму, §2.4. Полнота. Построение суперпозиций булевых функций 115 представляющую собой композицию первичных термов ха{\ i = 1, 2, ..., п, операций V, &, и скобок, вводимых в выражение булевой функции на основе использования закона дистрибутивно- дистрибутивности. _ 2. Выражают классические связки V, &, в виде суперпози- суперпозиции заданного базиса. 3. Подставляют результаты п. 2 в выражение, полученное в п. 1^отмечая штриховой линией стыки блоков, моделирующих V, &, в заданном базисе. 4. Анализируя стыки, устраняют избыточность логической схе- схемы, используя закон двойного отрицания. Пример 2.6. Синтезировать логическую схему, реализующую булеву функ- ЦИЮ t(~ , ^ / * на ~° -10> 10 -П>0-101, /(*!, Х2, хз, г4)г5) = |0 иа 1 _ ю-, 1 - 00].; О - 100 в базисе В = {->, 0}. 1. Покрывая таблицы различий (табл. 2.18), найдем сокращенную ДНФ пол- полиостью определенной булевой функции /, единичная Mi н нулевая Мо области Таблица 2.18 Интервалы единичной области функции / — XI — х* Xi XI Х2 — Х4 Xi Xl — хз Xt Xi - 0 — 1 0 1 0 — 1 1 0 — 1 0 1 Интервалы 1-10- 0 0 0 1 0 0 0 0 1 0 1 0 0 0 0 нулевой области функции / 1-001 0 0 0 1 1 0 0 0 1 0 1 0 1 0 0 0-100 0 0 0 1 0 1 0 0 1 1 0 0 0 0 1 которой включают соответственно единичную и нулевую области заданной функ- функции /, / D /. Функция / мажорирует функцию /. Сокращенная ДНФ функции / имеет следующий вид: /(*1, Х2, ..., Xi) = Х4 VIH5. Эта форма является и минимальной. 2. Выражаем связки V, fc, через связки импликативного базиса: _ а = a -> О, о V b = fv Ь = а -> Ь = (о -> 0) -> Ь, ab = aVb = a ->Ь = о -> (Ь -> 0) = (а -> (Ь -> 0)) -> 0.
116 Гл. 2. Математическая логика 3. Выполнение п. 3 представим в виде графа, вершины которого взвешены символами ->, /, Xi, О (рис. 2.7,а). В данном базнсе закон двойного отрица- ( 1 1, 0 1 1 0 a 1 0 1 J 1 -г L 1 — , 1 -Г Рис. 2.7 нин можно изобразить так, как показано на рис. 2.7,6. Устраняя избыточность, получаем логическую схему 5 (рис. 2.7,в), которая определяет суперпозицию в импликативном базисе рассматриваемой функции /, f(ll, Х2, ¦ • ; Xi) = (is -> Xl) -+ Ц. Описанный метод синтеза можно с успехом применять при проектировании простых схем. § 2.5. Дифференцирование булевых функций Рассмотрим метод, позволяющий проектировать логические схемы и соответствующие им суперпозиции большей сложности — метод каскадов. Метод каскадов, основанный на разложении Шеннона f(Xi, . . ., Xk, Zjfc+l, . . ., Хп) = к = V &S arf'/(CTi, <т2, • • •, <^J 2,—,<rk)t=1 позволяет при наличии блоков исключения к переменных свести реализацию булевой функции от п переменных к реализации функ- функции от п - к, к > 1, переменных. Размерность остаточных функций /(ffi, о~2, • • -, ^Ь zjfc+i, • • •, хп) в свою очередь можно по- понизить, исключая t переменных до тех пор, пока остаточные функ- функции не примут простой вид и их реализация в заданном базисе не будет очевидной. . Сложность остаточных функций зависит от порядка исключе- исключения переменных в заданной булевой функции f{x\, Х2, ..., хп). Число всевозможных способов исключения переменных растет комбинаторно. Например, при использовании только блоков, ис- исключающих одну и ту же переменную на каждом ярусе, это число §2.5. Дифференцирование булевых функций 117 равно п!, но на каждом ярусе можно исключить не только одну и ту же переменную, но и различные переменные; далее, можно исключать на каждом шаге различное число переменных (одну, две, три и т. д.). Выбор оптимального исключения переменных перебором всех способов исключения — трудоемкий процесс. Оптимальное исключение переменных ищут, используя эври- эвристические критерии, один из которых основан на использовании понятия производной от булевой функции. Производная первого порядка df/dx{ от булевой функции / по переменной Х{ есть сумма по модулю 2 соответствующих оста- остаточных функций: x2, ..., *WlO *„), B.13) где f(xi, X2, ..., x,-_i, 1, ..., xn) — единичная остаточная функ- функция; /(*i, X2, ..., 24-1, 0, ..., xn) — нулевая остаточная функция; ф — сумма по модулю 2. Единичная остаточная функция получается в результате при- приравнивания переменной ж, единице, нулевая — приравниванием Xi нулю. Пример 2.7. Вычислим производную df/dxi от булевой функции /(*i, x2, x3)\i - V@, 4, 7), где 0, 4, 7 — десятичные эквиваленты двоичных наборов, на которых функция / равна 1: /(xi, Х2, Согласно определению *L - я,. gj V Х2Х3) ф Х2*3 = (Х2Х3 V Х2Хз) & X2l3 V [х2Х3 V Х2Х3) & Х2ХЗ = = (х2хз V х2х3)(х2 V г3) V (х2 V х3)(х2 V х3) & х2х3 = х2х3. Производная первого порядка df/dx; от булевой функции /(*i, x2, ..., хп) опре- определяет условия, при которых эта функция изменяет значение при переключении переменной х, (при изменении значения г; на противоположное). В рассмотренном примере функция f(xi, х2, хз) изменяет свое значение о на Ща -> о), а — 0, 1, при изменении значения переменной ц, ai -> Wi при условии, что конъюнкция х2хз принимает значение "истинно", т. е. х2 = = «з = 1. Смешанной производной dkf/{dxildxi2...dxik) от булевой функции / по переменным x,-t, х,2, ..., цк называется выраже- выражение вида dkf ^_г dxik дх\к \дх~дх~дх~~)- BЛ4)
118 Гл. 2. Математическая логика Смешанную производную fc-ro порядка dkf/(dx{l дх{2.. .dxik) вычисляют, применяя соотношение B.13) к раз фиксацией пере- переменных x.-j, xii, ..., Х{к (порядок фиксации переменных не имеет значения); количество упорядочиваний равно к\ Производная к-го порядка dkf/d(xii, я,-2, ..., Х{к) от булевой функции f{x\, x-i, ..., хп) по переменным х^, х{2, ..., х{к опре- определяет условия, при которых эта функция изменяет значение при одновременном изменении значений переменных х^, х,-2, ..., x1Jt. Согласно Бохману производная к-го порядка dkf/d(xil, х,-2, ..., Х{к) от булевой функции f{x\, хг, ..., хп) по перемен- переменным iit, Х{2, ..., х{к равна сумме по модулю 2 всех производных первого порядка, вторых, третьих и т. д., k-х смешанных про- производных при фиксации переменных х^, х,2, ..., x,t: dkf i2, © d2f ¦e а3/ xj dxs ...е dkf B.15) *, J, ., »*• Пример 2.8. Определим условия переключения выходного канала / логи- логической схемы, реализующей булеву функцию /(и, i2, 1з) = 11I2 V1113, прн переключении каждого входного канала, первого и второго каналов одновременно и всех трех каналов ii, i2, 1з одновременно. Имеем Я f rlf = I2 Vl3, g = Xl ©Ц1з =ПA ®Xi) = XiX3, ¦jT^- = HU ®Xl =Xl(x2 Ф1) = XlX2. z Условие dffdxi = 1 является условием переключения выходного канала / при переключении входного канала п: при подаче на второй канал 1 или на третий 0, при переключении первого канала xi с а на ~5 (а —> 7) выходной канал переключается с с на ~5 (<г -> 7, в — 0, 1). Выходной канал / переключается {с -> 7) при переключении входного канала х2 (сг —»• 7), если ri = гз = 1, и / переключается (<г -+ 7), когда переключается гз G -> сг) при xi = 1, хг =0, о- = 0, 1, Далее находим дх2 д (df\ = з— I о— 1 = 1©*з =х3, дх2 \dxij d(xi, x2) df « &f - (x2Vx3)&zxix3V(x2 Vi3) У x{x2. § 2.5. Дифференцирование булевых функций 119 Выходной канал / переключается при любом одновременном переключении входных каналов ii, 12» когда 1з = 0, или независимо от состояния входного канала 1з при переключении ii и 12 с 11 на 00 или с 00 на 11. Вычислим 1, 12, 1з): х3 д дх3 а3/ дх2 дх3 Х2 ф 1 =12, д дхх х3 __ дх3 дх2дх3) а3/ df « Bf d(xi, х2, х3) df_ дх3 а3/ = (I2 ф Г1Г3 Ф 11*2 ф Гз 0 ?2 Ф ^1 Ф 1 = dxi дх2 дх3 = (х2 V гз) Ф х3(ц ф 1) 0 x2(xi ф 1) ф ii = (г2 V гз) Ф xiх3 ф г1г2 Ф xi = = (г2 Угз)Фг1Гз Фг1(г2 01) = (i2 V x3) © гиз Ф ?i(г2 © 1) = = ((X2VX3) kxiX3VX2 V 13 4гХ11з)©1112 = ((l2Vl3)(llVl3)Vl2l3 4?Ill3)® ф гиг = A3 V цх2 V1112Г3) Ф xix2 = A3 V Г1Г2 V1112) Ф11X2 = (l3 VI1I2 = A3 V Щ2 V Iil2)(li V 12) V 13A1 V I2)(li V 12I112 = = I1I3 V I1I2 VI2I3 V Iii2 V 11I2I3 = = X1IJI3 V I1I2I3 V I1I2I3 V I1I2I3 V Ж1Г213 V I1I2I3. При переключении входного вектора 4НЗ, 6н1и7нО выходной канал / переключается. Критерий оптимального исключения переменных в методе кас- каскадов заключается в исключении сначала переменных, при пере- переключении которых булева функция переключается при максималь- максимальном числе условий. Это максимальное число определяется весом производной. Весом производной от булевой функции называется число кон- ституент этой производной. При использовании блоков, исключающих к переменных, на- находят производные к-ro порядка от реализуемой функции и ищут максимальное значение веса производной Р(дк//д(х^,х{2,... ..., Zjk)), которое и определяет исключаемые переменные. Для полученных остаточных булевых функций снова находятся про- производные: определяются веса, а производная от рассматривае- рассматриваемой остаточной функции, имеющая максимальный вес, опреде- определяет соответствующие переменные, которые исключаются на этом
120 Гл.2. Математическая логика ярусе для этой остаточной функции, и т. д., пока остаточные функ- функции не будут иметь простую реализацию. Пример 2.9. Синтезируем логическую схему, реализующую булеву функ- функПИЮ /(Xl, Х2, • • ., Xi) = Х1Х2ХЗ V Х1Х3Х5 V Х2Х3Х5 V I3X4XS, используя блоки исключения одной переменной (рис. 2.8, а). Определим пере- переменную х,, по которой производная df/дц имеет максимальный вес, т. е. функ- /@), Рис. 2.8 ция /(xi, X2, . ¦., xs) зависит от нее наиболее существенно. Имеем - = (Х2ХЗ V X3XS V Х2Х4 V Х2Х3Х5 V Х3Х4Х5) ф (х3Х4 V Х2Х3Х5 V X3Z4X5). Для вычисления веса производной df/dxi, зависящей от четырех перемен- переменных Х2, хз, Xi, X5, представим 4-мериое пространство с образующими {хг, хз, Х4, хв} в виде декартова произведения двух двумерных пространств {хг, хз} х х{х4, xs} с образующими {хг, хз} и {г4, хь} соответственно. Тогда произ- производную df/dxi можно задать в виде двумерной таблицы: каждому значению <т2, (Тз переменных х2, хз взаимно однозначно соответствует строка таблицы, столбцу — значения <Т4, <гъ переменных i<, 15 и на пересечении 1-й строки и j-ro столбца, взаимно однозначно соответствующем точке четырехмерного про- пространства с образующими {хг, хз, Х4, xs}, записываем значение df/dxi в этой точке. Вес производной df/dxi равен числу единиц в этой таблице (табл. 2.19). Таблица 2.19 Х2ХЗ 0 1 2 3 Х4Х5 0 0 1 0 1 1 о о о о 2 1 1 0 1 3 1 0 0 1 §2.5. Дифференцирование булевых функций 121 Итак, P(df/dxi) = 7. Аналогично вычислим вес производных df/дц, t = 2, 3, 4, 5 (табл. 2.20-2.23). Имеем: Я/ —— = (Х1Х3Х4 V X1X3X5 V X1X4 V дхз VX3X4X5)© (xiX3 Vxix3r4_y V Х1Г3Х5 V Х3Х5 V Х3Х4Х5), Таблица 2.20 р- = (Х1Х2 V Х1Х5 V ПХ2Х4 V ОХЗ _ V Х2Х5) ф (Х1Х4 V Х1Х2Х4 V Г4Х5), Таблица 2.21 Х^з 0 1 2 3 X4Xs 0 о о о о 1 0 1 0 1 2 0 0 1 0 3 0 1 1 0 Xl X2 0 1 2 3 Х4Х5 0 0 0 1 0 1 0 1 0 1 2 1 1 1 0 3 0 1 1 0 P(df/dx2) = 5; = (Х1Х2Х3 V Х1Х3 V Х1Х3Х5 V — ¦ — V Х1Г2 V ХъХзХь) Ф (Х1Х2ХЗ V V Х1Х3Х5 VX2X3X5 VX3X5), Таблица 2.22 Р(Э//Эхз)=8; —— = (xixjX3 V Х1Х3Х4 V Х1Х2Х4 V 0x5 _ _ _ VX2X3 V Х3Х4) ф (arix2X3 V V Z1X3X4 V Х1Хз V Х1Х2Х4), Таблица 2.23 *,*2 0 1 2 3 ХЗХ5 0 1 1 0 1 1 0 0 1 0 2 0 0 0 0 3 0 0 0 1 Х1Х2 0 1 2 3 ХЗХ4 0 1 1 1 1 1 о о о о 2 1 0 0 1 3 1 0 0 0 5; Р(Э//Эх5) = 7. Максимальное значение maxP(d//dx,) получено при дифференцировании функции / по переменной хз. Исключая эту переменную, получаем две остаточ- остаточные функции: единичную f{x\, X2, хз = 1, Х4, xs) = /A) и нулевую /(xi, X2, Хз = 0, X4Lx5) = /@); /A) = Х1Х2 V xixs V Х1Х2Х4 V 12X5, /@) = Х1Х4 V V«iarsX4 VX4X5. Аналогично определяем оптимальиое исключение переменных на следую- следующем ярусе логической схемы (табл. 2.24-2.27): «?-<**• V XJX4 V V X2Xs)©X2X5, Таблица 2.24 0x2 Vxix4)® ф (Xl VX1X5 Vis), Таблица 2.25 Х2 0 1 X4XS 0 1 1 1 0 0 2 1 1 3 0 1 Xl 0 1 Х4Х5 0 0 0 1 1 1 2 0 0 3 1 0 Р(Э/A)/Э*а) = 3;
122 Гл.2. Математическая логика 0x4 V x2x5) V Х1Х2 V V nrs V Я2Х5), Таблица 2.26 © (X1X2 VXl VX1X2X4), Таблица 2.27 Xl 0 1 X2X5 0 0 0 1 0 0 2 0 0 3 0 1 Xl 0 1 X2X4 0 1 0 1 1 0 2 0 1 3 0 0 P(df(l)/dxt) = 1; Р(Э/A)/Эх5) = Исключая переменную xi, получаем остаточные функции вида f(H = 1,Х2,Хз = 1,X4,XS) = /A,1) = 12 Vl5 VTJX4 V Х2Х5 — Х3 V Х5 Vx4, /(Xl = О, Х2, Хз = 1, Х4, Х5) = /A, 0) = Х2Г5, /@) = Х1Х4 V Х1Х2Г4 V Х4Х5 = Х1Х4 V X2X4 V Х4Х5. Определяем оптимальное исключение переменной для булевой функции /@) = = /(п, Х2, 0, х4) (табл. 2.28-2.31): 4г = (Х2Х4Х5 V Х4Х5) = (Х1Х4 V Г4 V Х4Г5) Ф (Х4 V Х2Х4 V Х4Х5), Таблица 2.28 _ © (Х!Х4 VX4X5), Таблица 2.29 Х2 0 1 Х4Х5 0 0 0 1 0 0 2 1 0 3 1 0 XI 0 1 Х4Х5 0 0 0 1 0 0 2 0 1 3 0 1 Р(Э/(О)/ЭхО = Таблица 2.30 Р(Э/(О)/ЭХ2) = 2; = (xix4 V Х2Х4 V Z4) © ф (X1X4 VX2X4), Таблица 2.31 XI 0 1 X2X5 0 1 0 1 0 1 2 1 1 3 0 0 Xl 0 1 XJX4 0 1 1 1 0 0 2 1 1 3 0 0 Р(Э/@)/Эх4) = 4; Р(Э/@)/Эх5) = 4. Исключая переменную Х4, получаем остаточные функции вида /(Xl, X2, Хз = О, Г4 = 1, Х5) = /@, 1) = XI V XJ, /(Xl, X2, Хз = О, Х4 = О, Х5) = /@, 0) = Х5. В результате получаем логическую схему, реализующую функцию /(xi, Х2,,..., х5) (рис. 2.8,6). § 2.6. Разложение функции в заданной точке пространства 123 Критерий оптимального исключения переменных имеет эври- эвристический характер, что основано на предположении о том, что чем больше вес производной P(df/dxi), тем больше функция / зависит от переменной х,. Если имеются блоки исключения к пе- переменных, то построение схемы проводят аналогично, вычисляя вес производных А;-го порядка P{dkf/d(xii, х,-2, ..., Xik)). § 2.6. Разложение булевой функции в заданной точке пространства В дискретной математике отсутствует понятие предела, однако в выражениях B.13)-B.15) используется термин "производная". Это связано с разложением булевой функции в ряд, аналогичный ряду Маклорена в точке 00.. .0 или ряду Тейлора в произволь- произвольной точке пространства. Рассмотрим данные разложения булевой функции /(xi, х2, ..., хп). Две функции fa и fp называются взаимно ортогональными, если их конъюнкция равна 0: /а&/о = 0. Выражение B.11) эквивалентно равенству п /(х1)х2,...,хп)= .& B16) где ??— сложение по mod 2, так как а V /3 = а ф /3 ф а/3 и кон- ституенты единицы функции /(xi, х2, ..., хп) попарно взаимно ортогональны. _ Заменим в выражении B.16) в каждой конституенте х, на (х,- ф ф 1). Применяя следующие тождества: коммутативности аф/3 = /Зф а; ассоциативности а Ф (/? Ф 7) = (« Ф /3) Ф Г, дистрибутивности конъюнкции относительно сложения по модулю 2 ) (&)(&) B-17) () ()( действия с константами афа = 0, аф1 = а, аф0 = а, афа=1; получаем представление функции /(xi, х2, ..., хп) в виде п п /(хь Х2, ..., Хп) = /о Ф ^Г/пЯп Ф ^fiii2xiixi2 Ф • ¦ • /12...„х1х2...хп, B.18)
124 Гл.2. Математическая логика где /о, /tl, /tl,-2, . •., /tii2...im • • ¦. /12...П = 0, 1; ti, i2, • • •, ik € {О, 1, ..., п}, индексы (»'i, t2, ..., г^) попарно не равны друг другу, что в дальнейшем обозначаем как ®{i\, %г, • ¦ ¦, »*). Выражение B.18) называется полиномом Жегалкина функ- функции /(ац, х2, ...,хп). Последовательно продифференцируем полином Жегалкина функции /(ал, х2, ..., хп) по переменным ал, х2, ..., Хк и опреде- определим значение этой производной в точке 00.. .0. Учитывая, что 8f ду ф iT' BЛ9) дх дх "л B.20) после дифференцирования по переменным ал, х2, ..., х^ получаем Я*10*2...0**ОО..Л Действительно, после дифференцирования по переменным ал, х2, ..., Xk все члены разложения в выражении B.18) до /12..jt обращаются в 0, а в результате подстановки Xk+i = хь+2 = ... ... = хп — 0 остальные члены этого разложения, кроме /i2...fc, так- также будут равны 0. Отсюда получаем теорему о разложении любой булевой функции /(ал, х2, ..., хп) в точке 00.. .0. Теорема 2.3. Любая булева функция /(ал, х2, ..., хп) пред- ставима своим значением в точке 00.. .0 и значениями всех производных df _ дх-%1' д в этой точке в виде дх2... дхп , ia, .. , хп) = /@, 0, ..., 0) ф W^~ дх; 1=1 00...0 & XiXj ф . . . 00...0 Н, «li«2i-",«k=l ...дх: 00...0 Ф...Ф dnf дх\дх2.. .дхп 00...0 B.21) • -, »„ € {1, 2, ..., n}, ®(i'i, t2, ..., tfc, ..., in). §2.6. Раз^оз<сенце функции в заданной точке пространства 125 Пример 2.10. Найдем разложение булевой функции i, х2, хз, х4) t = V(O, 2, 4, 6, 13) в точке 0000. Вычисляем производные первого порядка и смешанные производные от бу- булевой функции f(xi, X2, хз, ц): I = 1, f(ll = 1) = Х f(Xl = О) = Х = 1) = Х2ХЗИ, ) Л f _ _ V Х2Г3Х4 V Х2Х3Г4 = Ц, —— = Х2Г3Х4 ф Х4 = Х2Х3Х4 • 14 V Х2Г3Г4 • Х4 = Х4 V 9x i = 2, /(Х2 = 1) = Х1Х3Х4 V Х1Х3Х4 V Х1Х3Х4 = Х1Х4 V Х1Х3Х4, /(Х2 = 0) = Х1Х3Х4 VX1X3X4 = XlX4, df = Х1Х3Х4; I = 3, /(Хз = 1) = Х1Х2Х4 V Х1Х2Х4 = XlX4, f{x$ = 0) = Х1Х2Х4 V Х1Х2Х4 V Х1Х2Х4 = Х1Х4 V Х1Х2Х4, -^- = Х1Х4 ф (Xll4 VX1X2X4) = Х1Х2Х4; 9хз i = 4, /(X4 = 1) = X1X2X3, /(x4 = 0) = X1X2X3 V X1X2X3 V X1X2X3 V X1X2X3 = xi, df 8x4 — X1X2X3 ®ri = X1X2X3 • xi V X1X2X3 ¦ xi = xi V X2X3. Вычислим вторые смешанные производные 92//(9х,- дх,): i = 1, 3 = 2, = Х4 V ХЗ • Х4 V (я4 V Хз) • Х4 = Х3Х4; - -3 9а/ 9 ( &f\ 9xi 9хз 9xi \дхзJ d?f 9 ( df\ i=l,J=4, . ' =д— ^-1 =X2X3©1 = X2VX3; 0x10x4 ox 1 \ox\ j « = 2, j = 3, 9x2 9хз 9хз \дх2 ) 9 (df\ ' 9X2 I ' i = 3,3= 4, 9хз 9x4 9 /9/\ = -5— -Г1-) =XlX2. 9X4 V9x3/
126 Гл.2. Математическая логика Вычислим третьи смешанные производные c?f/(dxi dxj 9х*): i = 1, j = 2, fc = 3, i = 1, j = 2, k = 4, « = 1, j = 3, fc = 4, i = 2, j: = 3, fc = 4, 9 9xi л = 9x29хз/ 93/ x2 9x4 = a ( ay ^ 9xi \ 9x2 9x4, i 9хз 9x4 93/ = Xl. Наконец, четвертая смешанная производная 94//(9xi 9хг 9хз 9x4) имеет вид 9/ 9X2 9xi Производные 9/ 93/ 9хз' 9xi 9x2 8Tf 9x2 9хз Э2/ 9xi 9x3 9l4 Э2/ 9xj 9j 9 9xi Э2/ Э2/ 9X2 9X4 ' 9хз 9X4 ' 93/ 93/ 9xi 9x2 9хз' 9xi 9хз 9х4 ' 9х2 9хз 9х4 в точке 0000 равны нулю, остальные — единице. Согласно выражению B.21) имеем разложение рассматриваемой булевой функции в точке 0000 в виде /(Xl, Х2, ХЗ, Х4) = 1 © XI © Х4 © Х1Х4 ф XlX2X4 ф Х1Х2Х3Х4. Для получения разложения булевой функции в ряд, аналогич- аналогичный ряду Тэйлора в точке а\а?,- • -сгп, введем новые координаты х[ х'2, ..., х'п, где х\ — х,ф<г,-, t = l,2,..., п. Тогда точка <п<т2. ..стп, в координатах xi, х2, •.., хп будет соответствовать точке 00.. .0 в координатах х[, х'2, ..., х'п. Используя разложение B.21) буле- булевой функции в точке 00.. .0 в координатах х[, х'2, • ¦ •, х'п и заме- заменяя каждую переменную х\ на х,- ф <т,-, t = 1, 2, ..., п, получаем теорему о разложении булевой функции /(xi, x2, ..., хп) в точке а\сг2.. .сгп. Теорема 2.4. Любая булева функция f{x\, x2, ..., хп) оп- определяется своим значением в точке сг\<г2...сгп и значениями всех своих производных a/ 5x,-, dnf dx i2 i дх2... дхп §2.7. Исчисление высказываний 127 в этой точке согласно выражению f(xu х2, ..., хп) = /(«л, сг2, ..., сгп) i t=l к (xi ф <tj) ...dx ik n &(x,-. фо-.-Лф. dnf " dxidx2...dxn *ii *2, -.., и, ..., г„ € {1, 2, ..., n}, «=i ^); B-22) Найдем разложение рассматриваемой булевой функции f(x\, Х2, 2=3) ха) в точке 1010. Производные df df df d2f d2f d2f d2f d2f ' дх1дх2у дхз дх2дх3' дх2дх4' дх3дх4' d3f d3f d3f дххдх2дх3 дх1дх2дх41 дххдхъдх4 равны нулю в точке 1010, остальные — единице. Согласно теореме 2.3 имеем разложение булевой функции в виде , х2, х3, х4) = (х! ф 1) ф (х! ф 1) • х4 ф х2 • (х3 ф 1) • х4 ф ф (ХХ ф 1) • Х2(Х3 ф 1) • Х4 = X~i ф ХХХ4 ф Х2Х3Х4 ф § 2.7. Исчисление высказываний Исчисление высказываний как формальную теорию можно оп- определить с помощью аксиоматического метода. Аксиоматическая (формальная) теория Г считается опреде- определенной, если выполнены следующие условия: 1) задано некоторое счетное множество, т. е. множество, элементы которого могут быть взаимно однозначно сопоставлены элементам натурального ряда 1, 2, ... символов — символов те- теории Т. Конечные последовательности символов теории называ- называются выражениями теории Г;
128 Гл.2. Математическая логика 2) имеется подмножество выражений теории Т, называемых формулами теории Т (формулы теории Т часто называют пра- правильно построенными формулами). Чтобы определить, является ли выражение формулой в теории, существует эффективная про- процедура; 3) выделено некоторое множество формул, называемых аксио- аксиомами теории Т; 4) имеется конечное множество R\, jR2, • • •, Rn отношений меж- между формулами, называемых правилами вывода. Для каждого Д, существует натуральное j такое, что для всякого множества, со- состоящего из j формул, и для всякой формулы F эффективно ре- решается вопрос о том, находятся ли данные j формул в отношении Ri с формулой F, и если да, то F называется непосредственным следствием данных j формул по правилу Д,-. Выводом в Т называется всякая последовательность Fi, ^2) • • ч Fm формул такая, что для любого i формула F,- есть либо аксиома теории Г, либо непосредственное следствие каких-либо предыдущих формул. Формула F теории Т называется теоремой теорий Т, если су- существует такой вывод в Г, в котором последней формулой является F; этот вывод называется выводом формулы F. В общем случае может не существовать эффективной процедуры, с помощью кото- которой можно определить по данной формуле, существует ли ее вывод в теории Т. Формула, для которой такая процедура существует, называется разрешимой в этой теории, в противном случае — неразрешимой. Иначе говоря, для неразрешимых формул нельзя построить ал- алгоритм выяснения свойства формулы быть теоремой, для этого требуются все новые и новые озарения (изобретательства), не под- поддающиеся формализации. Используя понятие аксиоматической теории Г, определим ис- исчисление высказываний в дизъюнктивном базисе Буля. 1. Символами теории Т являются V, , (, ) и буквы тп,- с це- целыми положительными числами в качестве индексов: mi, тпг, ... Символы V, называются связками, а буквы тп,- — пропозицио- пропозициональными буквами. 2. а) Все пропозициональные буквы являются формулами; б) если Аи В — формулы, то (AVB) и (Л) — также формулы; в) выражение является формулой тогда и только тогда, когда это может быть установлено с помощью п. а) и б). Таким образом, всякая формула исчисления высказываний есть некая пропозициональная формула, построенная из пропози- пропозициональных букв с помощью связок V и §2.7. Исчисление высказываний 129 3. Каковы бы ни были формулы А, В, С теории Т, следующие формулы есть аксиомы Т: AVA-tA, AVB-+BV А, A-+AVB, {В-*С)-*{А\/В->АчС), ^где запись и а -> /3 эквивалентна записи а V /?. 4. Правила вывода исчисления высказываний следующие. Правило подстановки: если а — выводимая формула и вме- вместо любой переменной в этой формуле всюду произвести подста- подстановку любой формулы, то новая формула также является выводи- выводимой. Правило заключения: если а —> /3 и а — выводимые формулы, то /? также выводимая формула; 2i^^- Например, если высказывания А и А -> (q -> А) истинны, то высказывание q —> А также является истинным согласно правилу заключения. Аналогично можно определить и другие булевы алгебры: алгебру Вебба А = (М, о); алгебру Шеффера А — (М, |); импликативную алгебру А = (М, ->, 0); коимпликативную алгебру А— (М, -**+, 1); алгебру Жегалкина А = (М, &, ©, 1). Логический вывод широко используется в современных информационных технологиях при разработке экспертных систем. Рассмотрим механизм логи- логического вывода иа примере прогнозирования месторождении полезных ископае- ископаемых. Пусть геологическая партия после изучения одного из районов Тянь-Шаня получила апостериорную информацию вида: /i — если обнаружен крутопадающий сфалерит, то имеем нерудное тело; /а — азимут падения доломита равен 180°; /з — интервал угла падения рудного тела, содержащего барит, равен 35-60°; /i — пологое залегание кальцита имеет азимут падения 300 ; Д — галенит имеет азимут падения 160°; /в — полезное ископаемое с крутопадающим залеганием и азимутом падения от 5° до 270° является рудным телом; /7 — азимут падения, равный 271-360°, имеют рудные тела или крутопа- крутопадающие полезные ископаемые; /в — пологое залегание нерудного тела имеет азимут падения 320°. Цель геологоразведки — прогнозирование месторождения рудного тела. Априорная информация по этому району: — крутопадающим залеганием считается залегание с углом падения, превы- превышающим 30°; — результат минерализации нерудного тела — доломит, барит, кальцит; — рудная минерализация представлена преимущественно галенитом и сфа- сфалеритом, причем последний нередко образует обособленные залежи. Обозначим первичными термами: xi — рудное тело, zi — нерудное тело; х* — галеннт, сфалерит; яг — доломит, барит, кальцит. Угол падения: хз — пологое залегание @-30°), хз — крутопадающее за- залегание (свыше 30°); азимут падения: х\ — от 271° до 360°, Х4 — от 0° до 270°. S В. А. Горбатов
130 Гл. 2. Математическая логика Секвенцией называется высказывание, записываемое в виде F —? Ф, где F — конъюнкция формул {fi}, Ф — дизъюнкция формул {Vj}, CZ fi -* V Vj, и читаемое неформально как "F влечет Ф" или формально — "F имплици- имплицирует Ф". Левая часть секвенции называется антецедентом (посылкой), правая — сукцедентом (консеквентом, заключением). Эти термины являются терми- терминами схоластической логики. Используя введенные обозначения х,-, г,, i = 1, ..., 4, и секвенциальное исчисление, апостериорную информацию запишем в следующем виде: /l — X2Z3 -* Xi, /2 = Х2 -> Х4, /з = ?1X2 ~* ^3, /4 = Х2ХЗ —> Х4, /s=X2->l4, /б = Х3Я4 -* Xl, /7 = Xl VX3 -* Х4, /в=Х1Хз->Х4. Система секвеиций {/,} несовместна, если антецедент этой системы о? /, тождественно равен нулю. В пространстве Р(х\, хг, хз, х*) характеристические векторы секвенций /, имеют вид: XI, Х2, Хз, Х4 Х\, Х2, Хз, Х4 Х\, ^2, Хз, Х4 , Х2, Хз, Х4 l Х2, Хз, Х4 XI, Х2, Хз, Х4 Xl, X2, ХЗ, X* XI, Х2, ХЗ, Х4 — 1111 1111 1111 ООН, — 1010111110101111, — 1111111111001111, — 1101111111011111, — 1111101011111010, — 0111011111111111, — 0111 01110101 0101, — 1101110111111111, где каждый характеристический вектор представляет собой значения соответ- соответствующей функции /;(xi, хг, хз, it) в точках 0, 1, 2, ..., 15. Антецедент &Lfi =0000000000000000 1 равен нулю, следовательно, секвенциальная система {/<} противоречива. Для порождения всех непротиворечивых секвенциальных систем, используя свойство критичности покрытия двоичных таблиц, предложим следующий алгоритм. 1. Построим двумерную таблицу Q (табл. 2.32), каждая строка которой вза- взаимно однозначно соответствует секвеиций /;, столбец — точке пространства P(xi, хг, хз, Х4) и i-я строка представляет собой/,(xi, xj, хз, Х4) = /;(xi, гг, Хз, Х4)ф1. Таблица 2.32 fi /1 /2 /3 /4 /5 /б /7 h 0 1 1 1 Ф 2 1 1 3 Ф 4 1 1 5 Ф 6 Ф 7 Ф 8 Ф 9 Ф 10 1 1 1 11 1 1 12 1 1 13 1 1 14 Ф 15 Ф 2. Покрываем столбцы строками. Строки /2, /s, /7, ft являются обязатель- обязательными, онн образуют покрытие ir = {fi/i = 2, 5, 7, 8}. § 2.7. Исчисление высказываний 131 Покрытие ядерное, следовательно, оно одно. В общем случае алгоритмом Детрнка порождаем все покрытия таблицы Q. 3. Удаляем из каждого покрытия любой элемент. С учетом свойства кри- критичности покрытия очевидно, что ir//j является непротиворечивой системой. Проведя возможные удаления из покрытий, получаем все множество непроти- непротиворечивых секвенционных систем. Для исследуемого случая имеем четыре непротиворечивые секвенциальные системы: 1) ж//а; 2) *//5; 3) x/fy; 4) ж//,. Вычисляем непротиворечивые антецеденты. 1) & fi — 0101000001010000, •«5,7,8 /, = X1X2X3X4 V X1X2X3X4 V X1X2X3X4 V X1XJX3X4 = = Х1Х2Х4 V T1Z2X4 = X2«4- На основании истинности этого антецедента заключаем, что результат ми- минерализации нерудного тела — доломит, барит, кальцит — проявляется в зоне с азимутом падения от 271° до 360°. Секвенциальная система противоречива: Покрытие точек признакового пространства отрицаниями посылок. Удаление одного элемента из покрытия Непротиворечивые секвенциальные 2) & fi — 0000010101010101, .& fi 1=2,7,8 = VE, 7, 13, 15) = Рис. 2.9 X1X2X3X4 VJ1X2X3X4 V VXIX2X3X4 VX1X2X3X4 = = X1X2X4 V Х1Г2Х4 = Г2Х4. Заключение: в зоне с азимутом паде- паде'=2,5,8 ния 271-360° имеются результаты минерализации рудного тела. 3) & U — 100010001010 1010, ' 1=2,5,8 fi = V@, 4, 8, 10, 12, 14) = xix2X3X4 V xiXax3X4 V l V X1X2X3X4 V X1X2X3X4 = X1X2X3X4 V X1X2X3X4 = xiX4 V X3X4. Заключение 1: в зоне с азимутом падения 0-270° имеется рудное тело. Заключение 2: в зоне с азимутом падения 0-270° имеются крутопадающие залегания. 4) & fi — 0010001000000000, CL fi = VB, 6) = VZ1XSX3X4 = Заключение: пологие залегания нерудного тела имеются в зоне с азимутом падения 0-270°. Граф логического вывода имеет вид, представленный на рис. 2.9.
132 Гл.2. Математическая логика Каждое заключение ip, представляет собой конъюнкцию сукцедента. Из со- совместного анализа пяти заключений имеем общий логический вывод: в зоне с азимутом падения 0-270° имеется крутопадающее залегание рудного тела. § 2.8. Конечнозначные логики Обобщением двузначных логик являются конечнозначные ло- логики. Функция f(xi, X2, ..., хп), отображающая n-мерный А;-знач- ный кортеж (сги сг2, ..., сгп), <г, € {0, 1, ..., к - 1}, i = 1, 2, ..., п, во множество {0, 1, ..., к - 1}, называется функцией к-значной логики. Будем задавать функцию Л-значной логики f(x\, х2) ... ..., х„) с помощью таблицы истинности (одномерной таблицы), число строк которой равно кп, или двумерной таблицы, число кле- клеток которой равно А;п. Рассмотрим трехзначную функцию — функцию Вебба, задан- заданную табл. 2.33, 2.34. Таблица 2.33 Таблица 2.34 Ха 0 0 0 1 1 1 2 2 2 хь 0 1 2 0 1 2 0 1 2 У 1 2 0 2 2 0 0 0 0 Ха 0 1 2 хь 0 1 2 0 1 о to to 2 0 0 0 Функция Вебба у = ха о хь — max (ха, хь) + l(mod k) является полной в конечнозначной логике. Таким образом, конеч- нозначная алгебра Вебба определяет соответствующую логику. Другими часто встречающимися А;-значными логиками явля- являются логики, определяемые: алгеброй Поста АП = (М, V,~>, M = {0, 1,2, ...,*- 1}, где ха V хь = тах(ха, хь) — дизъюнкция, х = х + l(modA;) — цикл; алгеброй Россера—Тъюкетта Apt = (М, V, &, jh t), M = {0, 1, 2, ..., к - 1}, §2.8. Конечнозначные логики 133 jiW = где ха к хь = min (ха, хь) — конъюнкция, _ / к - 1, х = i, хфг, — характеристические функции i = О, 1, ..., к - 1. Сигнатура любой алгебры должна быть полной, независимой и непротиворечивой. Сигнатура является полной, если любая дру- другая формула может быть представлена в виде пропозициональной формы с помощью ее элементов. Сигнатура называется независимой, если в ней не найдется элемента, выводимого с помощью правил вывода из других эле- элементов сигнатуры. Сигнатура непротиворечива, если не найдется формулы F, которая справедлива вместе с формулой F. Конечнозначные логики являются обобщением двузначных ло- логик. Например, логика Поста (М, V, ~) обобщает логику Буля (М, V, "). При минимизации логических функций конечнозначных ло- логик можно использовать результаты двузначной логики — теорию ДНФ булевых функций. Для этого введем булеву переменную х1а, равную 1 при ха = i и 0 в противном случае, ха ф i. Будем назы- называть х%а i-й фазой переменной ха, ха = {0, 1, ..., к - 1}: -«' _ / ¦*¦) хо B.23) Отрицание г-й фазы равно дизъюнкции остальных фаз этой переменной: fc-i х\= V *' Очевидно, что Действительно, Используя введенное высказывание хга, рассмотрим миними- минимизацию трехзначной функции Вебба, заданной табл. 2.33, 2.34: у = ха о хь, у0 = х°ах2ь V х\х2ь V х2ах°ь V х\х\ V х2ах2ь. Согласно законам коммутативности, идемпотентности, ассоци- ассоциативности и дистрибутивности имеем
134 Гл. 2. Математическая логика Этот же результат можно получить, сравнивая тройки конъ- конъюнкций для определения истинности выражения B.23) после применения закона дистрибутивности (рис. 2.10). Каждая конъюнкция соответ- соответствует максимальному интервалу — ре- ребру. Ответ на вопрос о том, можно ли минимизировать полученную сложность функции, получаем, строя и покрывая та- таблицу Квайна (табл. 2.35). Таблица 2.35 Максимальные интервалы 2- -2 Интервалы 02 1 12 1 20 1 21 1 22 1 1 Рис. 2.10 Имеем одно покрытие тг = {2-, -2}, которому соответствует минимальная ДНФ нулевой фазы трехзначной функции Вебба у° = х2аУх1 Аналогично получаем минимальные формы для 1-й и 2-й фаз функции у = ха о хь _О_0 „2 _ _0_1 у/ т1<гО Ч/ -г1-г1 х У Хх V^^ V ХХ „1 _ У ~ „2 _ _0_1 У — ХахЬ Таким образом, минимизация функции А;-значной логики сво- сводится к минимизации системы, состоящей из к булевых функций, каждая из которых определяет соответствующую фазу этой функ- функции. При минимизации логических функций {/,•} уменьшается коэффициент связности соответствующего мографа GM({fi}). Коэффициентом связности графа S(G) называется отношение мощности сигнатуры к мощности носителя этого графа. Коэффи- Коэффициент связности мографа определяется как коэффициент связно- связности графа, полученного в результате снятия его моделизации. Неминимизированная функция Вебба определяется моделью вида *! = (М, S3>, М = {х°а, xl xl, xl xl у°, у1, у2}, {xl х°ь, У2}, {xl xl y2}, {xl xl у0}, §2.8. Конечнозначные логики 135 Мограф G]1, определяемый этой моделью, изображен на рис. 2.11, а. Его коэффициент связности S(G^) равен 2\: а(пМ\ - 2 + 6 + 6 + 4 + 5 + 5 + 6 + 4 + 4 _ 1 b{G1 ) - — - 2-. Эта функция после минимизации соответствует модели Ф2 вида Ф2 = (М, S2, 53>, М = К, xl xl xl x\, xl y°, y\ y2}, Мограф 2116 рис. , 8, 9) 3 4 5 , определяемый моделью ,2A.2,3) ±2A. 4, 7) х]A) изображен на х°C, 4) x°A3, б) у2 D, 5, б) . 6, 7. 8, 9) ^ОЫ?ЧЛ/ У2а, 4, 5) ж» C,6, 7, 8, 9) xJa,S, 8) a Рис. 2.11 После минимизации коэффициент связности уменьшится по- почти в два раза: спМ^ 2+4+4+4+3+3+2+1+1 1 S{G, ) = ^ = 1-. Примечание. На рис. 2.11 вершины, соответствующие фазам функции, заштрихованы; вершины, соответствующие фазам аргументов, не заштрихо- заштрихованы. Коэффициент связности графа находится как сумма количеств ребер, инцидентных вершинам графа, деленная на удвоенное число его вершин. Рассмотрим алгоритм минимизации трехзначной функции, ко- который естественно применим и для общего случая значения числа к (к — значность логики). Пусть задана функция f(x\, x2, хз) вида ГО на 6,7,9,15,16,18,24, f(xi, x2, х3) = <1 на 4, 8, 13, (.2 на 11,20,26;
136 Гл.2. Математическая логика в остальных точках пространства (рис. 2.12) 0, 1, 2, 3, 5, 10, 12, 14, 17, 19, 21, 22, 23, 25 функция не определена: f{x\, х2, х3) = = <г = 0, 1,2. 1. Мажорируем заданную функцию f(xi, х2, х3) с помощью вводимой таблицы отличий. Таблицей отличий называется двумерная таблица, каждой строке которой взаимно однозначно соответствует первичный терм рассматриваемой точки .ЙГ-значного пространства, в которой опре- определена функция, принимающая значения а = 0, 1, 2, ..., К - 1, a каждому столбцу соответствует точка, в которой исследуемая функ- 220 Рис. 2.12 ция принимает значение, отличное от а, и на пересечении г-й строки с j-м столбцом ставится 1, если рассматриваемая точка отличается от j-ft точки i-м первичным термом. Каждое покрытие столбцов строками порождает максимальный интервал, включающий точки а-Й фазы рассматриваемой функции и точки, в которых эта функция не определена. Этот максималь- максимальный интервал соответствует простой импликанте (PI), мажори- мажорирующей функции / (/э /). В точках, где определена функция /, мажорирующая функция / принимает те же значения, что и /. Очевидно, что таблица отличий является обобщением таблицы различий A-й таблицы Квайна). Построим таблицы отличий (табл. 2.36) для семи точек 0-й фазы заданной функции. Их покрытия порождают сокращенную ДНФ функции f°{xi, х2, х3). §2.8. Конечнозначные логики 137 Таблица 2.36 f 0 2 0 0 2 1 1 0 0 1 2 0 1 2 1 2 0 0 2 2 0 ОН 1 1 Ф 1 1 1 1 1 1 1 1 1 1 1 1 1 1 022 Ф Ф 1 1 1 1 1 1 1 1 1 1 1 1 111 1 1 1 1 1 1 _, 1 1 1 Ф 1 1 1 1 1 1 /2 102 1 1 1 1 1 1 Ф 1 1 1 1 1 1 1 1 1 202 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Ф 1 1 222 1 1 1 1 1 1 1 1 1 1 1 1 1 Ф PI функции 7й --0 <-> х° Ъ<*х\ X. ?» ~"" тт X | Э?2 — ?,\_~— 4"т Д*зД<2 Сокращенная ДНФ функции /°(zi, х2, х3), 7° Э /°, мажори- мажорирующей 0-ю фазу функции /(xi, х2, х3), имеет вид ]*(xuX2,xz) = xo3Vx\-x\Vx\-x\. Аналогично находим сокращенные ДНФ функций /1(хь х2, х3) и }2{хи х2, х3) (табл. 2.37, 2.38). Таблица 2.37 f1 0 1 1 0 2 2 1 1 1 020 1 1 Ф 1 1 1 021 Ф 1 1 1 100 1 1 1 1 1 1 1 1 102 1 1 1 1 1 1 1 120 1 1 1 1 1 1 1 Г 121 1 1 1 1 Ф 200 1 1 1 1 1 1 1 1 1 202 1 1 1 1 1 1 1 1 220 1 1 1 1 1 1 1 1 222 1 1 1 Ф 1 1 1 PI функции /' -1- <-» х\ 0-2 *+ х\х\ -1- <-» zj
138 Гл.2. Математическая логика Сокращенная ДНФ функции /1(xi, х2, х3), мажорирующей 1-ю фазу заданной функции fx{x\, х2, хз) (f1 D f1), имеет вид ?{хи х2, х3) = х\ч х\-х\. Таблица 2.38 Г 1 0 2 2 0 2 2 2 2 /° 011 1 1 1 1 1 1 1 1 1 020 1 1 1 1 1 1 1 1 021 1 1 1 1 1 1 1 1 022 1 1 1 1 Ф 100 ф 1 1 1 1 1 f 111 1 1 1 1 1 1 1 1 120 1 1 1 1 1 1 1 121 1 1 1 1 1 1 1 200 1 1 Ф 1 1 220 1 1 1 1 1 Ф PI функции /2 1-2^x1x1 -02 <-*• х%х\ 2-2 f+ x\x'i -02 <-» х%х\ 2-2 <-*• х\х\ Сокращенная ДНФ функции /2(*i, х2, x3) G2 Э /2) имеет вид t х2, х3) = х\ -х\ Ух 0 *2Vx2 2. Покрывая импликантную таблицу для мажорирующей функ- функции фазы заданной функции, получаем тупиковые ДНФ для ка- каждой фазы (табл. 2.39-2.41 соответственно для фаз /°, f1, /2). Таблица 2.39 (PI), —0 -21 12- к, 020 Ф 021 Ф 100 ф 120 1 1 121 1 200 Ф 220 Ф Тупиковая ДНФ 0-й фазы функции / имеет вид (PI), -1- 0-2 Таблица 2.4С «i Oil Ф 022 Ф 111 Ф (PI). 1-2 -02 2-2 Таблица 2.41 к, 102 1 1 202 1 1 222 Ф Тупиковая ДНФ 1-й фазы функции / имеет вид §2.8. Конеинознаиные логики 139 Тупиковые ДНФ 2-й фазы заданной функции / имеют вид 1 l в табл. 2.39-2.41 Kj и (PI)i — j-я конституента соответствую- соответствующей фазы и i-я простая импликанта мажорирующей ее функции соответственно. В точках неопределенной области фазы мажорирующей функ- функции / (/ Э /) могут пересекаться, так как они соответствуют нереализуемым ситуациям. В нашем примере 0-я и 1-я фазы (/° и 71) пересекаются в точках 010, ПО, 210; 1-я и 2-я фазы — в точках 112 и 212. Минимизированная функция /(xi, x2, х3) определяется одной из двух систем: /rl ~" Х ИЛИ ^д.! J\ _ xl Vx°x2, ,2-1 7\ — ~1 Х2Х3) /т2 — Х2 7\ _ Х\Х2 w т1 — Х\Х3 V _ T0r2 ~ Х2Х 7о _ «О ч/ ,,2-1 7\ — ~1 ч/ ~0_2 7l _ Tr /т2 ~Х3У Х2Х3) /т2 — Х2 V Z1Z3) Jt2 ~ Х2ХЪ Рассмотрим уменьшение коэффициента связности Ксв могра- фов, определяющих совершенную, сокращенную и тупиковые ДНФ заданной функции f{x\, x2, х3). *°F,7, 4,8) /°F, 7. 9, 15, 16, 18. 24) x\(9,15,16, 13,11) ^A8,24,20,26) ^(9,18,11,20) ,13) ^F,7,15,16,24,8,26) х0F, 9, 15, 18, 24) :| (8, 11, 20, 26) ~x\a, i6,4,13) Рис. 2.13 Мограф G^B(f), определяющий совершенную ДНФ функции Ь Х2, х3), представлен на рис. 2.13. Роль идентификаторов на рисунке выполняют эквиваленты соответствующих троичных на- наборов. Коэффициент связности KCB(G^B) равен 3,25: is ,nMs 7 + 9 + 6 + 6 + 4 + 9 + 7 + 6 + 6 + 5 + 6 + 7 _оос cbv^cob7 2-12
140 Гл. 2. Математическая логика Сокращенная ДНФ функции f{x\, хг, хз) определяется систе- Ус — Х3 v *2 *3 v *1 г2> /с — *2 v Х1 *3> /2 — т1 . ч-2 \/ <г° . т2 \/ -г2 . <г2 /с — *1 *3 v *2 *3 v Х1 *3- Произведем логическое умножение каждого выражения на ее левую часть и логически сложим эти три выражения; в результате получим мажорирующую функцию определяющую мограф G^ (рис. 2.14). Коэффициент связности мографа G^f, определяющего сокра- сокращенную ДНФ функции f(xi, X2, х3), равен 1,25: 2 12 = 1,25. Аналогично вычисляем коэффициенты связности мографов, определяющих тупиковые ДНФ функции /(хь Х2, х3). Мажори- Рис. 2.14 рующая функция f(xi, х%, хз), определяемая первой тупиковой ДНФ, имеет вид 71 _О_2 7** V 7?1*{*з V f&lxl. §2.8. /Гонечноэначные логики 141 Коэффициент связности KCB(G^) мографа G%[ (рис. 2.15), определяющего функцию /ri(xi, X2, хз)> равен 1,18: „ ,~м, 2 + 2 + 2 + 1 + 2 + 1 + 5 + 2 + 3 + 3 + 3 ^llg , e, m) Рис. 2.16 Мажорирующая функция /(xi, X2> *з)> определяемая второй тупиковой ДНФ, имеет вид Aa(*i, *2, *з) =^*|^g *Л О 2 /^1 1 2 72 2 2 V /Т2*1*3 V./t2*1*3 V/t2*1*3 >
142 Гл.2. Математическая логика и соответствующий ей мограф G^ (рис. 2.16) имеет коэффициент связности, равный 1,18: к tr**\ 2+2+2+1+2+2+5+1+3+3+3 Лсв(Стт2) = 27п = 1,18. Полученные тупиковые ДНФ функции /(xi, x2, хз) имеют рав- равные сложности. § 2.9. Исчисление предикатов Исчисления высказываний недостаточно для задания более сложных логических рассуждений. По существу Jfc-значная ло- логика позволяет определить наличие того или иного свойства на конечном множестве элементов; в случае бесконечных множеств для установления определенного свойства у рассматриваемого аб- абстрактного понятия необходимо введение функций, аргументы ко- которых пробегают бесконечное число значений во множестве М. Функция Р, принимающая одно из значений, 0 или 1, аргументы которой пробегают значение из произвольного множества М, на- называется предикатом Р в предметной области М. Число аргу- аргументов предиката P(xi, x2, ..., х„) называется его порядком. Предикат P(xi, х2, ..., х„) определяет n-арное отношение Д в М: если P(xJ, х2, ..., х*) = 1, то (xj, x2, ..., х*) находятся в отношении Д, определяемом этим предикатом, и если P(xJ, xj, ... ..., х*) = 0, то эти элементы не находятся в отношении Д, т. е. *2i • • •) хп) Т п- Для упрощения структуры сложных логических рассуждений введем специальные обозначения для некоторых часто встречаю- встречающихся выражений. Угловимся обозначать выражение "для вся- всякого элемента х G М свойство Д выполнено" как (Vx € М)(Д(х) = = 1), а выражение "существует по крайней мере один элемент х € М, обладающий свойством Д" — как (Зх € М)(Д(х) = 1). В выражениях (Vx ? M)(R(x) = 1) и (Зх € М)(Д(х) = 1) обозначе- обозначения Vx и Зх будем соответственно называть квантором всеобщ- всеобщности и квантором существования. Определим индуктивно формулу исчисления предикатов ана- аналогично определению формулы исчисления высказываний. Будем использовать запятые, скобки, символы исчисления высказыва- высказываний, предметные переменные xi, х2) ... (переменные, принимаю- принимающие значения из предметной области), предметные константы ai, a2, ..., предикатные буквы Pi, P2, ... и функциональные буквы Л, /г, ••• Определим понятие терма и элементарной формулы. Определение терма: 1) всякая предметная переменная или предметная констан- константа — терм; Д §2.9. Исчисление предикатов 143 2) если / — функциональная буква и i/i, п2, ..., пп — термы, то /(i/i, т?2, ..., пп) — терм; 3) любое выражение, полученное многократным повторением правил 1), 2), является термом. Если Р — предикатная буква, а тд, п2, • • •> V* — термы, то P(Vu m, • • •> Vn) — элементарная формула. Определение формулы: 1) всякая элементарная формула является формулой; 2) если А и В — формулы их — предметная переменная, то каждое из выражений Л о В (о — связка исчисления высказыва- высказываний) и (Vx € М)(Л(х)) является формулой; 3) любое выражение, полученное многократным использова- использованием правил 1), 2), является формулой. В выражении (Vx € М)(А(х)) формула А(х) называется об- областью действия квантора Vx. Предметная переменная, входящая в формулу, называется свободной, если она не следует непосредственно за квантором и не входит в область действия квантора по этой переменной; все дру- другие переменные, входящие в формулу, называются связанными. В пределе всякая формула без свободных переменных (замкнутая формула) является высказыванием, которое истинно или ложно, а всякая формула со свободными переменными задает некоторое отношение в предметной области, которую иногда называют об- областью интерпретации. Это отношение может быть истинно или ложно в зависимости от значений свободных переменных. В определении формулы в числе основных символов запись Зх можно заменить на Vx(A(x)). Квантор всеобщности можно рассматривать как обобщение конъюнкции. Если предметная область конечна и состоит из эле- элементов mi, m2, ..., тп„, то формула (Vx)(F(x)) равносильна конъ- конъюнкции F(mi) & F(m2) & .. .& F(mn), а квантор существования можно рассматривать как обобщение дизъюнкции, при этом за- записи Cx)(F(x)) и F(my) V F{m2) V ... V F(mn) равносильны. Для бесконечных предметных областей кванторы играют роль бесконечных дизъюнкций и конъюнкций. Каждая формула F(Pi, Р2, ..., Рт, *ь х2, ..., х„) в исчисле- исчислении предикатов задает оператор, перерабатывающий систему пре- предикатов Рь Р2, ..., Рто в предикат Ра от аргументов хь х2, ... •.., хП) где все эти переменные в формуле являются свободными. Две формулы, Fa(Pi, Р2, •.., Рт, *1, х2, ..., х„) и Fj(Pi, Р2, .. • ..., PTO,xi, x2, ..., х„), которые задают один и тот же оператор, перерабатывающий систему предикатов Pi, Р2, ..., Рто в предикат ¦faC1!) X2, • • •) хп), будем называть эквивалентными и обозначать Fa = Fb.
144 Гл. 2. Математическая логика Переход ох формулы F к ее эквивалентной форме будем назы- называть, как и в исчислении высказываний, тождественным пре- преобразованием. Основываясь на введенных понятиях, можно доказать следую- щие четыре тождества: тождества двойственности (Эх) (Р(х)) = (У»)(Щ), (V*) {Р(х)) = (Зх)(Щ); тождества для к-операций (т. е. для конъюнкции и кван- квантора всеобщности) (Vx)(Fe(x) Л Fb(z)) = (Vx)(Fe(x) Л (Vx)F6(x))t (Vx)(Vy)(F(x,y)) = (Vy)(Vx)(F(x,y)); тождества для а-операций (т. е. для дизъюнкции и квантора существования) Cx)(Fe(x) V Fb(*)) = Cx)(Fe(x) V Cx)F6(x)), Cx)Cy)(F(x, у)) = Cy)Cx)(F(x, у)); тождество вынесения константы (Ex)(Fe о F6(x)) = Fa о (Ex)(F6(x)), где (Ex) = (Эх), (Vx); о = Л, V; Fa — подформула, не содержащая связанную предметную переменную х, которая в дальнейшем будет называться константой относительно квантора (?х). При вынесении константы из области определения квантора существования подкванторное выражение предварительно приво- приводят к виду дизъюнкции конъюнкцией; при вынесении константы из области определения квантора всеобщности выражение приво- приводят к виду конъюнкции. Рассмотрим, например, вынесение константы G(y): (Vx = (Vx) (F(x) Л Щу) V tf(x)VG(y)) = (Vx) (F(x) Л G(y) V V (ЩлЩ)) = (Ух)(ЩлЯ(*) VF(x)) = = (Vx)(G(y) Л (Я(х) -4 F(x))) = (Щ) Л (Ух)(Я(х) -4 F(x)). В рассматриваемом исчислении кванторы применены только по предметным переменным. Формулы будут более выразитель- выразительными, если наряду с кванторами по предметным переменным ис- использовать и кванторы по предикатным переменным. Исчисление, в котором применяются только кванторы по пред- предметным переменным, называется узким исчислением предика- предикатов; последнее можно преобразовать в расширенное исчисление предикатов, добавив кванторы по предикатным переменным. §2.10. Теория трасс 145 Определение формулы в расширенном исчислении предикатов аналогично ее определению в узком исчислении; разница состоит в том, что в п. 2) определения формулы переменная х может быть как предметной, так и предикатной. Тождества двойственности 7Г-, сг-операций и вынесение константы в расширенном исчислении предикатов тоже справедливы. Рассмотрим вопрос выводимости в исчислении предикатов. Расширим систему аксиом некоторого исчисления высказываний, включенного в узкое исчисление предикатов, следующими аксио- аксиомами: (Vx)(G(x) -* G(y)); H(y) -* (Зх)Я(х). Смысл этих аксиом следующий: если предикат G(x) истинен для любого х, то он истинен и для любого у, и если предикат Н(у) истинен для какого-нибудь у, то существует такой х, что Я(х) истинен. В узком исчислении предикатов два правила вывода (подста- (подстановки и заключения) исчисления высказываний дополняют еще тремя правилами. Правило для V: если <рх -4 ip2 выводима ив^1 нет х в качестве свободной переменной, ав (^ переменная х содержится в виде свободной переменной, то формула <рх -4 V(x)y?2 также выводима. Правило для 3: если (рх -4 <$i выводима и х содержится в качестве свободной переменной в щ и не содержится в качестве свободной переменной ф2, то формула 3(х)<^ -4 if2 также выво- выводима. Правило переименования связанных переменных: если (рх — выводимая формула ив^ имеется квантор всеобщности или квантор существования, то одна связанная переменная в ipx мо- может быть заменена другой связанной переменной одновременно во всех областях действия квантора и в самом кванторе; полученная формула также выводима. § 2.10. Теория трасс Выше было рассмотрено применение математической логики в экспертных системах при геологоразведке полезных ископаемых. Рассмотрим ее использование при оценке переходных процессов в электронных системах, реализующих субмикронную техноло- технологию, т. е. в системах, рабочая частота которых — сотни мегагерц И выше. В этом случае ложная информация порождается неод- неодновременными переключениями входных каналов из-за задержек .сигналов в каналах связи. Рассмотрим интегральную схему (ИС) (рис. 2.17, а), реали- реализующую булеву функцию (рис. 2.17,6) /(xi, х2, х3, x4)|i = V@, I, 2, 5, 12, 15),
146 Гл. 2. Математическая логика и интервал J — [О, 15], который соответствует переключениям входных каналов X(ti) -4 Xfa) для 0 -4 15 (рис. 2.18). Последовательность переключений входных каналов (яг, обеспечивает смену входных векторов 0-44-46-47 §2.10. Теория трасс 147 х4, 15; \ \ л & и & I & 1 /Ос,, х2, х3 О/<*>=° значения выходного канала /(х) при этом следующие: /@) = = /A5) = 1, /D) = /F) = /G) = 0. Следовательно, в интервале [ti, t2] имеем ложный 0. Определим, в общем случае все условия возникновения ложной информации в ИС, используя теорию трасс [16] и логику преди- предикатов. ТрассойТ(Ха, Хь) булевой функции f(X) называется цепь ин- интервала J(Xa, Хь). Если v(Xa) — минимальный элемент, соот- соответствующий вектору Ха интервала «7, у(Хь) — максимальный элемент, соответствующий вектору Х(, интервала «7: (V«№) €'J)((u(Xe) < v(Xi))k(v(Xi) < v{Xb)))> то „ f(Xa) = f(Xb), f(Xi) = f(Xa), гфа,Ь. В рассмотренном примере цепь @, 4, 6, 7, 15) является трассой 2i@, 15). Выбор цепи переключения носит статистический характер. Очевидно, что количество трасс Т{(Ха, Хь) удовлетворяет нера- неравенству \{ЩХа,Хь)}\<Н(Ха,Хь)\, где Н(Ха, Хь) — расстояние по Хеммингу между точками Ха, Хь. Интервал [0, 15] рассматривае- рассматриваемой функции содержит шесть трасс: Ti@, 15) <4 и@) < иD) < < и(б) < иG) Г2@, 15) <4 и@) < иD) < < и(б) < иA4) Г3@, 15) О и@) < и(8) < < и(9) < иA1) Т4@, 15) <4 и@) < и(8) < < и(9) < иA3) Г5@, 15) f> u@) < и(8) < < «A0) < Г6@, 15) <4 v{0) < v(8) < < uA0) < uA4) < из 24 цепей, соединяющих точки D о . 0 О и 15. Рис 2.18 Максимальная длина трассы в пространстве размерности п равна диаметру соответствующего гиперкуба, т. е. числу п. Минимальная длина трассы в пространстве той же размерно- размерности равна 2. В рассматриваемом случае трассами длины 2 являются: Г@, 5) <4 и@) < иD) < иE);
148 Гл. 2. Математическая логика } "* «@) < «(8) < «A2); j иD) < иE) < «A3), ' ** «D) < «A2) < «A3); Т(8, 13) «¦ и(8) < «A2) < «A3); Т(8, 14) <-> и(8) < «A2) < «A4); ТE' 15> \ „E) < „A3) < «A5); г «A2) < «A3) < «A5), ' ** «A2) < «A4) < «A5). Распределение трасс в булевом пространстве определяет качество переходного процесса: чем больше трасс, тем больше возможность порождения ложной информации (количественная оценка будет рассмотрена в гл. 5); чем больше расстояние по Хеммингу между концами трассы, тем больше длительность сигнала ложной ин- информации. Введем функцию Д(ха1, ха2, ..., хпк) риска сбоя (т. е. ложной информации): {1, если возможна ложная информация хотя бы на одной из К\ цепей са(х6,, хб2,..., xbk), 0 в противном случае, где ха1, хаз, ..., Xak — переменные интервала [Ха, Хр], изменяю- изменяющие свое значение на противоположное: Ха к Хр = Ху, xai ^ Xy, i = 1, 2, ..., к. Условие порождения трассы определяет формула §2.10. Теория mpacc 149 к I 3ca(xi1, Xi2, ..., xbk) G < c,(xtl, x,-. m (aly a2, ..., ak), I . к (*ь *2, • • -, tfc) = 02/ ¦& ^(хь,, X(,2, xj3) "'¦ 0(хб1,хь2, .... Va(xbl) 0(*bl>s6a) = lH, B.24) где: dkf/d(xai, xaj, ..., xafc) — производная от булевой функции / по переменным xai, xaj, ..., х„к, единичное значение которой указывает на изменение значения функции / при одновременном изменении значений переменных хп1, ха2, ..., хак; perm (oi, O2, ..., ak) — результат перестановки (permutation) индексов ai, a2, ..., a^; переменные xbl ,xbj,..., хЬк попарно не равны друг другу (® (xbl, a?i2, ..., хЬк)) и являются элементами множества переменных {^oi) ^аг) • • •) Хак}. Вычислим функцию риска сбоя при переключении каналов ц, %1 для ИС (см. рис. 2.17, а): d2f д(хих2) f(xi, х2, х3, х4) = df df дх2' J\X\ — 1) — x2x^x4 V х2хзх4, J\X\ ~: 0) == x2x4 V После тождественных преобразований получаем ' = х2х4 V х2х4 V х3, -J- = f(x2 = 1) ф /(х2 = 0), Имеем /(г2 = 1) = «^3X4 V Х1Х3Х4 V xix3x4, /(х2 = 0) = х{х4 V X1X3Z4. 5х2 df (df = Х1Х4 V Х3Х4 V Х!ХзХ4, V; Отсюда = (х2х4 V х2х4 V х3) ф х3 Ф (x"ix4 V Х3Х4 V Х1Х3Х4). ных преобразований получае: = VA,2, 3,5, 9,13, 14, 15), д(хи х2) В результате тождественных преобразований получаем а2/ д(хи х2) а2/ д(хи х2) = V@,4, 6, 7, 8, 10, 11,12).
150 Гл.2. Математическая логика Согласно формуле B.24) V X1l2^3a;4 V V Л2 f J т^ ' ™ Т^ ^^ V У ^^ jw ^^ V V При переключении входных каналов xi согласно B.25) и B.26) имеем 6 трасс (рис. 2.19): ) B.25) V XiX2^3^4- B.26) в ИС (см. рис. 2.17) ) Рнс. 2.19 если раньше переключается канал ц, то трассы и@) < и(8) < иA2), иD) < иA2) < и(8), иG) < если раньше переключается канал х2, то трассы и@) < иD) < иA2), иD) < и@) < и(8), и(б) < иB) Теория трасс позволяет вычислить распределение трасс в буле- булевом пространстве, определяющее объективные причины порожде- порождения ложной информации в ИС. §2.11. Задачи и упражнения 2П 2.1. Доказать, что число всех булевых функций от п аргументов равно 2 . 2.2. Записать в совершенных ДНФ и КНФ булеву функцию у = /(xi, х2, хз), принимающую значение 1 на наборах с номерами 3, 4, 7. 2.3. Записать в ДНФ и КНФ булеву функцию у = /(«i, x2, х3, х<), прини- принимающую значение 0 иа наборах с номерами 2, 6, 7, 8, 11, 12. 2.4. Проверить справедливость равенства х = х ф 1. 2.5. Проверить справедливость следующих равенств: XlX2=XlVX2, Xl -» Х2 = Х\ VX2, Xl |Х2 = Xl & Х2- §2.11. Задачи и упражнения 151 2.6. Показать, что число булевых функций, существенно зависящих от п аргументов, определяется рекуррентным соотношением 1=0 где А, — число булевых функций, зависящих от t аргументов. 2.7. Булева функция /, зависящая от трех аргументов, называется мажори- мажоритарной, если имеет место равенство / = I1I2 VI1I3 V Х2Х3. Будем обозначать Sty операцию знаком # и записывать х 1#Хг#хз. Доказать, что имеют место следующие соотношения: l)xi#xi#X2 =xi; 2)x1#x1#x2=x2; 3) Xi#x2#x3 = Xi#x2#x3. 2.8. Найти минимальную ДНФ функции у = /(xi, 12, х3, 14), принимаю- шей значение 1 на наборах 0, 1, 2, 5, 6, 7, 8, 12, 13. 2.9. Найти минимальную ДНФ функции у = /(ii, 12, хз, х<, 15), при- принимающей значение 1 иа наборах с номерами от 0 до 7, от 11 до 21 и от 26 до 31. 2.10. Функция у = /(xi, х2, хз) равна 1 на наборах 1, 3, 4 и не определена на иаборе с номером 5. Найти ее минимальную ДНФ. 2.11. Разработать тест распознавания противоречивого задания неопреде- неопределенной булевой функции /(xi, x2, ..., х„) (функция задана противоречиво, если (ЭХ)ШХ) = 0,1)). 2.12. Найти минимальную ДНФ булевой функции ., . _ / 1 на 01-0-, 001-0, -О10-, ДХ1, Х2, ..., х&)- ^0 иа цо-1,000-1,1001-. 2.13. Определить скобочную форму булевой функции ,, ч_/1 на -0-100,100-01,-01 1, ДХ1,Х2, ..., х6)- ^о на 110-0-, 011 0,00-1-1. 2.14. Найти мощность единичной области неопределенной булевой функции 12, ..., Xi) после ее доопределения: ,, . _ / 1 на 001-1, 01-01, -1011-, ДХ1.Х2, ..., х&) -^0 иа 0001-, 100-1, 11-011. 2.15. Проверить линейность булевой функции /(xi, x2, x3)|i = V@, I, 5, 6). 2.16. Установить, является ли самодвойственной функция эквивалентности. 2.17. Проверить монотонность конъюнкции от п аргументов. 2.18. Привести пример монотонной функции, которая одновременно была бы линейной. 2.19. Привести пример самодвойственной функции, которая одновременно была бы линейной. 2.20. Привести пример линейной и монотонной функций. 2.21. Убедиться, что функции Шеффера и Вебба ие являются ни линейными, ни монотонными, ни самодвойственными. 2.22. Установить, образует ли булева функция/(xi, xi, х3, %\)\\ = V@,3,7, 11, 13) базис в Р2. 2.23. Верно ли утверждение: если булева функция существенно зависит более чем от одного аргумента и оиа монотонна, то оиа несамодвойственна? 2.24. Верно ли утверждение: если булева функция существенно зависит более чем от одного аргумента и оиа линейна, то она немонотонна? 2.25. Найти все булевы функции, удовлетворяющие системе уравнений ^(х) —f = tfiCx\t tfi(x)tfiCx) =г 0. 2.26. Доказать следующую теорему: при суперпозиции линейных функций (подстановке функций в функцию вместо ее аргументов) получаются линейные Функции.
152 Гл. 2. Математическая логика §2.11. Задачи и упражнения 153 2.27. Доказать теорему: при суперпозиции самодвойственных функций вновь получаются самодвойственные функции. 2.28. Доказать теорему: при суперпозиции монотонных функций вновь по- получаются монотонные функции. 2.29. Функция называется сохраняющей константу г (г = 0, 1), если на наборе аргументов вида (г, г, ..., г) она принимает значение г. Доказать, что суперпозиция функций, сохраняющих константу г, вновь является функцией, сохраняющей эту константу. 2.30. Если функции ifii и </>з самодвойственны, то самодвойственны ли функ- функции Ifil V V>2, V1V2? 2.31. Если функции ifii и у?2 линейны, то линейны ли </>i VV2, ^ и (^1 —>¦ у?2? 2.32. Булева функция называется симметричной, если она не изменяется при любом переименовании аргументов. Фундаментальной симметричной бу- булевой функцией индекса т называется такая симметричная булева функпия, у которой все коиъюнкпии, входящие в совершенную ДНФ этой функции, имеют ровно m букв без отрицания. Доказать следующую теорему: любая симметричная булева функция есть дизъюикпия фундаментальных булевых функций, индексы которых однозначно определяются представляемой симметричной функцией. 2.33. Определить число самодвойственных функций, зависящих от п аргу- аргументов. 2.34. Доказать полноту системы булевой функции, состоящей из дизъюнк- дизъюнкции, константы 0 и эквивалентности. Образует ли эта система базнс? 2.35. Образует ли базис система булевых функций, состоящая из имплика- импликации и константы О? 2.36. Установить, является ли полной система, состоящая из дизъюнкции, импликапии и конъюнкции. 2.37. Образуют ли полную систему функция xix2 VX1X3 Vx2x3 и отрицание? 2.38. Доказать, что если некоторая булева функция не сохраняет константы и несамодвойствениа, то она немонотонна и нелинейна. 2.39. Сравнить связности мографов, определяющих конъюнкцию и дизъ- дизъюнкцию в 3-значной логике до и после минимизации. 2.40. Выяснить, возможна лн реализация любой булевой функции на эле- элементах УСЭППА (универсальной системы промышленной пневмо-автоматики), являющихся пневмореле, описываемым функцией а(Ь V с) V bed. 2.41. Синтезировать логическую схему, реализующую булеву функцию /(xi, Х2, хз, Х4, х5) xe)|i = V@, I, 2, 5, 7, 11, 13, 15, 19, 20, 32, 57, 61, 62) в базисе Вебба. 2.42. Синтезировать логическую схему, реализующую булеву функцию /(si, X2 rs)K = V@, 3, 5, 8, 10, 12, 14, 15, 17, 25, 27, 31) в базисе {->, 0}. 2.43. Определить сложность одноразрядного сумматора в базисе Шеффера. 2.44. Показать, что j, ..., х„) _ дц j, ..., х„) дц 2.45. Установить, справедливо ли равенство i, Х2, ¦¦¦, х„) _ df(xj, xa, ..., хп) дц dxi 2.46. Синтезировать логическую схему, реализующую булеву функцию /(ri, *2, хз, Х4, x5)|i = V@, 3, 5, 8, 10, 12, 14, 15, 17, 25, 27, 31) в базисе Вебба. 2.47. Определить сложность одноразрядного сумматора в базисе {->*, 1}. 2.48. Синтезировать логическую схему, реализующую булеву функцию /(*ь х2, хз, Х4, Xi, хв)Ц = V@, 1, 2, 5, 7, И, 13, 15, 19, 20, 32, 57, 61, 62) в базисе {-», }. 2.49. Синтезировать логическую схему, реализующую булеву функцию /(xi, х2, хз, х4, xs)|i = V@, I, 2, 5, 6, 7, И, 12, 15, 16, 18, 25, 30) в базисе {гп V at V аз}. 2.50. Синтеаировать логическую схему, реализующую булеву функцию /(si, xi x7)|i = V@, 2, 4, 5, 6, 7, 11, 12, ..., 81, 101) » базисе {->, 0}. 2.51. Определить порядок исключения переменных при реализации булевой .функции /(*!, Х2, х3, x4)|i = V@, I, 2, 4, 7, 8, 11, 15), если имеется каталог реализации всех функций от двух переменных. 2.52. Установить, что больше: вес производной df /дхг или вес производной df/дхз от булевой функции Д*1, х2, хз, x4)|i = V(l, 3, 7, 8, 12, 14, 15). 2.53. Предложить алгоритм подсчета веса производной от булевой функции С использованием двоичных матриц. 2.54. Установить, что выгоднее с точки зрения уменьшения аппаратурных затрат в базисе импликации и константы 0: исключение по одной переменной или исключение по двум переменным. 2.55. Найти все остаточные функции при оптимальном порядке исключения переменных булевой функции /(ал, х2, хз, x4)|i = V@, 4, 6, 8, 10, 13, 14, 15). 2.56. Сколько входов имеет блок исключения к переменных? 2.57. Найти реализацию блока исключения одной переменной в базисе Вебба. 2.58. Какова сложность блока исключения одной переменной в базисе Шеф- Шеффера? 2.59. Найти вес производной df/dxj от булевой функции f{x\, 12, хз)|1 = • V@, 1, 5, 6, 7). 2.60. Показать, что Э/(Х1, Х2, ..., Xj, ..., Хп) _ Э/(Х1, Х2, ..., Xi, ..., Хп) dxi ~ dxi 2.61. Найти производную первого порядка для функции цепи переноса в Жолном одноразрядном сумматоре. 2.62. Определить производную второго порядка от функции суммы в пол- полном одноразрядном сумматоре, определяющую условия переключения функции суммы при переключении каналов, соответствующих слагаемым. 2.63. Доказать, что любая булева функция однозначно определяется значе- значением функции и всех производных в точке 00.. .0. 2.64. Спроектировать счетчик нечетности в коимпликативном базисе. 2.65. Спроектировать одноразрядный сумматор в импликативном базисе. 2.66. Синтезировать схему, реализующую функцию, принимающую значе- значение 1 на тех наборах своих пяти аргументов, в которых есть не менее четырех единиц. При синтезе использовать элементы эквивалентности, дизъюнкции и «рицання. 2.67. Синтезировать дешифратор иа три входа и восемь выходов, используя «аементы V, к, ~. 2.68. Реализовать функцию импликации иа элементах, реализующих отри- нание и функцию у = Х1Х2 V Х1Х3 V Х2Х3. 2.69. Реализовать импликацию иа элементах, реализующих функцию Вебба.
154 Гл. 2. Математическая логика §2.11. Задачи и упражнения 155 2.70. Реализовать сумму по модулю 2 на элементах Шеффера. 2.71. Реализовать одноразрядную суммирующую схему на элементах &с V, ". 2.72. Реализовать одноразрядную суммирующую схему с учетом совместной минимизации функции суммы и переноса на элементах V, &, 2.73. Доказать, что полный дешифратор на п входов может быть построен из двух полных дешифраторов на m и п — m входов и 2" элементов типа И. 2.74. Реализовать иа мажоритарных элементах и элементах НЕ функцию У = Х\Хъ VX1X2X3. 2.75. Реализовать функцию у = xi -? A2 -4 хз) иа элементах у = х\# #Х2#Х3 И НЕ. 2.76. Реализовать на мажоритарных элементах и элементах НЕ схему про- проверки кода на четность, т. е. схему, на выходе которой при четном числе единиц на входе схемы возникает единичный сигнал. Число входов равно 3. 2.77. Доказать, что Э(/(Х) &»(*)) 2.78. Доказать, что э/(х)ду(х) дц дц ' 2.79. Разложить булеву функцию /(Xl, Х2, Хз, Х4) =XlX2X4 VX2X3X4 VX1X2X3 в ряд, аналогичный ряду Тейлора, в точках 2, 11. Сравнить количество первич- первичных термов в полученных разложениях. 2.80. Записать основные законы алгебры Буля при арифметической интер- претапии следующих логических операций: х к. у = х • у, хУ у = х + у — х -у, х = 1 —х, где •, +, арифметические операции умножение, сложение и вычитание со- соответственно. 2.81. 1) Список термов исчисления: {/, +, =}. Правила образования формул следующие: / — формула; если <р — формула, то ifil — также формула; если ifi и ф — формулы, то <fi + ф и tfi = ф — также формулы. Заданы единственная аксиома 1 + 1 = 11 и два правила вывода: если уп + +1 = V>2 — выводимая формула, то ifiil+I = tfiil — также выводимая формула; если</>1+</>2 = фз —выводимая формула, то ifii+ifiil = ifisl — также выводимая формула. Доказать, что: а) формула // + /// = IIIII выводима в данном исчислении; б) формула 1 + 1 = 1 невыводима в данном исчислении. 2) Множество термов состоит из бесконечного числа букв и знаков V и -К Правила образования формул следующие: любая буква есть формула; если а и /3 — формулы, то aVC я а -? /3 — также формулы. Система аксиом такова: AV А -? А; А -»¦ А\1 В; AV В -? В V А; (А-» Правила вывода таковы. Правило подстановки: если а — выводимая формула и вместо любой пере- переменной в этой формуле всюду произвести подстановку любой формулы, то новая формула также выводимая. Правило заключения: если а -? /3 и а — выводимые формулы, то C также выводимая формула. В данном исчислении (исчислении Гильберта) доказать, что: 1) выводима формула А -? А; 2) если А -? (В -» С), А и В выводимы, то выводима и формула С. 2.82. Используя результаты предыдущей задачи, доказать, что в исчислении Гильберта имеет место следующее утверждение: если а -» (/? -» 7) выводимо, fo /3 Ч (а -> т) — также выводимая формула. 2.83. Введено следующее исчисление (исчисление Лукасевича): множество *ермов состоит из бесконечного числа букв и знаков —,-?. Правила образования формул: все буквы есть суть формулы; если у? — фор- формула, то ф — также формула; если ifi и ф — формулы: то ifi -? ф — также формула. _ Система аксиом следующая: (А -? В) -? ((В -? С) -? (А ->¦ С)); (А -> **А)->А;А->(А-> В). Справедливы правило подстановки и правило заключения. Доказать, что в исчислении Лукасевича выводима формула А —ь А. 2.84. Исчисление задано следующим образом (исчисление Новикова): мно- йсество термов состоит из бесконечного числа букв и знаков V, А, -*>, Правила образования формул: а) все буквы суть формулы; б) если а — формула, то а — также формула; в) если а и /3 — формулы, то а V/?, «Л/3, а -? /3 — также формулы. Система аксиом состоит из следующих одиннадцати аксиом: 1) А -* (В -* А); 2) (А -* (В -* С)) -* ((А -* В) -» (А -* С)); 3)АЛВ-»А; 4)АЛВ-*В; 5) (А -? В) -? ((А -> С) ,-? А -? (В Л С)); 6)A-*AVB; 7)B-*AVB; 8) (А -» С) -? ((В -* С) -* (AVB) -» С); 9) (А-?В)-?(А-? В); 10) А-?А; 11) А -? А. В качестве правила вывода используются правило подстановки и правило включения. Доказать, что система аксиом является непротиворечивой. 2.85. Доказать, что аксиома 9) в исчислении Новикова является независимой но отношению ко всем остальным этого исчисления. ;'s 2.86. Пусть предикаты N(x), С(х), Р(х), Я(х), Ч(х), Д(х, у) имеют со- ЭОггветственно смысл: х — натуральное число, х — целое число, х — простое Число, х — положительное число, х — четное число, х делит у. Сформулировать Смысл следующих формул узкого исчисления предикатов (и указать, какие из ЯИх являются тождественно истинными): ( ) ( ) 2)(Vx)(C(x)->(x)v(x)); 3) (Vx)Cy)(C(x) Л С(у) -> Д(х, у)); 4)(Эх)(Р(х)Л(х)); 5)(Ух)(С(х)лЯ(х)->ЛГ(х)). 2.87. Описать множество истинности следующих двуместных предикатов, определенных на множестве действительных чисел: х2 - у2 = 0; (х > 0) Л (у < 0); (х > 0) -? (у < 0). 2.88. На множестве М определены одноместные предикаты F(x) и G(x). ««Ким условиям удовлетворяют области их истинности, если истинны: 1) (Vx)(F(x) -> G(x)) Л Cx)(F(x) Л G(x)); 2) Cx)(F(x) Л G(x)) Л Cx)(F(x) -+ G(x))? 2.89. Доказать эквивалентность следующих формул: a) 3(x)F(x) и V(x)F(x);
156 Гл. 2. Математическая логика б) V(x)(F(x) -¦ Л) и 3(x)(F(r) -*¦ Л); в) V(x)(A -» F(x)) и Л -> V(x)F(x). 2.90. Доказать эквивалентность формул: а) 3(х) (А Л F(x)) и Л Л 3(x)F(x); б) 3(x)(F(x) V G(x)) и 3(x)(F(x) -> A); в) Л V V(x)F(x) и V(x) (Л V F(x)). 2.91. Установить, как можно построить теорию нормальных форм в исчи- исчислении предикатов. § 2.12. Комментарии Математическая логика — это анализ методом рассуждений, при этом в первую очередь исследуются формы рассуждений, а не их содержание. Форма- Формализация рассуждений восходит к Аристотелю. Современный вид аристотелева (формальная) логика приобрела в середине XIX века в работах профессора Ка- Казанского университета Платона Порецкого A844 г.), Джорджа Буля и Августа де Моргана A847 г.). Математическую логику иногда называют логистикой (школа Рассела). В становление логики внесли большой вклад и другие ученые того вре- времени: Эрнст Шредер, Джузеппе Пеано, Джон Венн, Александр Макфарлейн. Интенсивно математическая логика развивалась в 50-годы нашего столе- столетня в связи с бурным развитием цифровой техники. В 1910 г. русский физик П. Эренфест указал иа возможность применения логики высказываний для опи- описания переключательных цепей в телефонной связи. В 1938-1940 гг. почти одновременно появились работы советского ученого В.И. Шестакова, американ- американского ученого Шеннона и японских ученых Накашимы и Ханзавы о примене- применении математической логики в цифровой технике. В 1951 г. в СССР была при- принята в эксплуатацию первая в Европе вычислительная машина — МЭСМ (малая электронная счетная машина), разработанная под руководством С.А. Лебедева. Первая монография, посвященная использованию математической логики при проектировании цифровой аппаратуры, была опубликована в СССР советским ученым М.А. Гавриловым в 1950 г. Для углубления знаний по математической логике рекомендуем [8, 11, 24, 30]. Природа говорит языком математики: бук- буквы этого языка — круги, треугольники и иные математические фигуры. Г. Галилей Глава 3 ТЕОРИЯ ГРАФОВ И МОГРАФОВ § 3.1. Взвешенный граф и его матричное задание Выше понятие графа было определено как совокупность множе- множества вершин V и дуг Щ С V2. Дуга и, соединенная с вершиной V, называется инцидентной вершине и, а вершина и — коин- цидентной дуге и. В дуге (uj, Vj) вершины и,- и vj называются граничными, причем и,- — начало, Vj — конец дуги. Для учета Изолированных вершин, т. е. вершин, не коинцидентных ни одной дуге, расширим понятие грэфа G до совокупности вида = {V,UUU2), U2CV2 Где унарное отношение U\ определяет изолированные вершины, #2 — дуги. При удалении дуг из графа G = (V, U\, U2) получаем частич- частичный граф С С G, G' = (V, Uu Щ), Щ С U2, графа G; при уда- удалении вершин и инцидентных им дуг получаем подграф G" = ;= (V", U[\ Щ1), V" С V, Щ С Uu Щ С С/2, графа G; при даль- дальнейшем удалении дуг из подграфа G" графа G получаем частич- частичный подграф G = (V, U\, U2) графа G. Две дуги, иа и up, называются смежными, если они инци- ? дентны одной и той же вершине. Две вершины, va и uj, называются смежными, если они сое- соединены дугой. Множество вершин, смежных с вершиной va, называются ее окрестностью и обозначается O(va) или Г(иа). Используя по- понятие окрестности, граф определяют как совокупность множества вершин и множества их окрестностей: G = (V, Г). Определим понятие взвешенного графа. Сопоставим каждой вершине vx € V (V = {и,-/ j = 1,2,..., п» графа G = (V, Ult Щ вес Wi из множества весов W = {u>i/ i = 1,2,...}. В результате получим множество взвешенных вершин {(и;, ti/,-)/ t = 1,2,..., n}; при этом не обязательно, чтобы все веса были различными. Сопоставим каждому элементу множества С/2 = {щ/ г = 1, ... ..., т] вес pi из множества весов Р = {р,/ г = 1, 2, ...}. В резуль- результате получим множество взвешенных дуг {{щ, р,-)/ г = 1, 2, ...
158 Гл. 3. Теория графов и мографов ..., тп}; при этом не обязательно, чтобы все веса были различ- различными. Множества взвешенных вершин и дуг определяют в совокуп- совокупности взвешенный графи = ((V, W), (С/, Р)), V = V U U\, кото- который, строго говоря, является уже не графом, а функцией, опреде- определенной на вершинах и дугах графа. Для задания графов существует несколько классов матриц, ос- основные из которых — класс матриц инциденций и класс матриц смежности. Рассмотрим эти классы матриц. Класс матриц инциденций. Если граф G содержит п вершин и т дуг, то матрица ннциденций A(G) = [aij)mxn определяется как {1, если вершина Vj — начало дуги и<, -1, если вершина Uj — конец дуги и,-, О, если вершина Vj не коинцидентна дуге щ. Иногда граф содержит петли, т. е. дуги вида (и,-, и,). В этом случае некоторые элементы матрицы А одновременно равны и 1, и -1, что приводит к неоднозначности элементов матрицы А. Для задания графа с петлями "расщепим" матрицу А на две матрицы, Л+ и А~ (Л+ — начальная, А~ — конечная матрица инциденций): + J где at. = если верщина vj является началом дуги и,-, в противном случае; А = [ajj]mxn> где а- = 1, если вершина vj является концом дуги щ, , 0 в противном случае. Если граф без петель, то Л = А+ — А~. Матрицы А+ и А~ опи- описывают граф без учета весов вершин и дуг. Зададим веса вершин графа G в виде столбцовой матрицы W(G) = W2 Wn а веса дуг — в виде диагональной матрицы порядка m \Pi 0 0 ... О P(G) = О О Р2 0 . 6 6 6 ... рт1 Матрицы Л+, А~, W, Р полностью описывают взвешенный граф. §3.1. Взвешенный граф и его матричное задание 159 Рассмотрим логическую схему, реализующую сложение по мо- модулю 2 f{xu x2) = xx®x2 в базисе Шеффера (рис. 3.1, а), и соответствующий ей взвешенный граф G = ((V, W), U), вершины которого vi, иг, Ut> г = 3, 4, 5, 6, и vj взвешены переменными х\, х2, функциональной переменной >рш элемента Г г- [/<*„ Рис. 3.1 Шеффера и функциональной переменной / соответственно. На- Начало дуги соответствует переменной х\, х2 или выходу элемента Шеффера, конец дуги — входу элемента Шеффера или функцио- функциональной переменной /. Тогда граф G = ((V, W), U) (рис. 3.1,6), определяющий эту логическую схему, задается матрицами рассмо- рассмотренного класса как A{G) = 1 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 -1 -1 0 1 1 0 0 0 -1 0 0 0 -1 0 1 0 0 0 0 0 -1 0 -1 0 1 0 0 0 0 0 0 0 -1 -1 1 о о о о о о о о -1! W(G) = х2 Класс матриц смежности. Матрица смежности 5 = [в,-у]пхп невзвешенного графа определяется следующим образом: 1, если (и,-, vj) e U, , если (viy vj) iU.
160 Гл. 3. Теория графов и мографов Для взвешенного графа s. ._/Рч. если дуга если (vi, V vi, Vj) ? U имеет ) ? U. Матрицы 5, W, Р полностью описывают взвешенный граф. Например, граф G (рис. 3.1,6) задается матрицами этого класса как 0 0 110 0 0 0 0 10 10 0 0 0 0 110 0 S(G) =0000010, W(G) = 0 0 0 0 0 10 0 0 0 0 0 0 1 ооооооо 7 При задании графа G (рис. 3.1,6) отсутствует матрица P(G), так как дуги этого графа не взвешены. Два графа, G — (V, U) и G' = (V, U'), называются изоморф- изоморфными, если существует такое взаимно однозначное соответствие между вершинами множеств V = {^} и V = {и,'}, что вершины va, и;, соединены дугой (va, и„) в одном из графов в том и только том случае, когда соответствующие им вершины v'a, v'b соединены дугой (v'a, v'b) в другом графе. Матрицы рассмотренных классов задают графы с точностью до изоморфизма. Обозначим через (А+)т транспонированную матрицу инциден- ций Л+. Матрица смежности, начальная А+ и конечная А~ ма- матрицы инциденций и диагональная матрица весов дуг связаны следующим равенством: Степенью s(v) вершины v называется число дуг (ребер), ин- инцидентных этой вершине. Используя понятие мографа, можно задавать более эффективно в смысле затраченного объема информации большие графы G,, матрицы смежности которых слабо заполнены единицами. Графы этого класса имеют большое практическое значение. Будем задавать связанный неориентированный граф G — (V, U) без петель моделью ^ = (М, Si, 5г, ..., 5„), в которой М = V; слово, определяемое 5j, представляет собой окрестность O(va) еди- единичного радиуса вершины va G V, содержащую г - 1 вершину va. Для иллюстрации этого задания рассмотрим тот же граф G (рис. 3.1,6), не учитывая ориентацию его ребер. Матрица инци- инцидентности Q(^) в этом случае представляет собой матрицу смеж- §3.1. Взвешенный граф и его матричное задание 161 йости «5(Ф) графа G, в которой диагональные элементы равны 1: «1 «2 «3 Vi «5 «6 tO 10 110 0 0 0 110 10 0 111110 0 10 110 10 0 110 110 0 0 0 1111 0 0 0 0 0 11 V3 Vs V6 Минимизацию затрачиваемого количества информации при за- задании графа сведем к покрытию столбцов строками матрицы C(Ф). Для уменьшения трудоемкости поиска минимального по- покрытия вычеркнем поглощаемые строки и столбцы. Строка а по- поглощает строку /3, если множество столбцов Ма, покрываемых строкой а, содержит множество столбцов Мр, покрываемых стро- строкой /3, Ма D Мр. Столбец а поглощает столбец Ь, если мно- множество строк М(,, покрывающих столбец Ь, содержит множество строк Ма, покрывающих столбец а, Ма С Щ. Найдем покрытие столбцов строками матрицы ф(Ф), затем удалим недиагональные единичные элементы, вошедшие в покры- покрытие, и снова произведем покрытие столбцов и т. д. до тех пор, пока все недиагональные элементы не будут равны нулю. В результате получим минимизированное задание графа G в виде соответствую- соответствующего мографа, в котором сигнатура представляет собой сечения элементов полученных покрытий. В рассматриваемом случае минимальное покрытие имеет вид {*>з, щ}' Этому покрытию соответствуют две окрестности единич- единичного радиуса: O(v3) = {t>i, v2, vA, v5} и O(v6) — {v4, v5, u7}. Пос- После удаления соответствующих единиц из матрицы Q(^) получаем Матрицу Vl 1 0 , 1 0  0 1 0 1 1 0 1 0 0 1 0 1 V3 v9 Vl V2 которая имеет покрытие {vi, V2} или {«4, v$). Для определен- определенности выберем первое покрытие. Окончательно рассматриваемый Граф G задается моделью Ф, матрица инцидентности которой име- имеет вид Для задания этой матрицы необходимо 20 бит вместо 49 бит при задании этого графа матрицей смежности. Мограф GM V\ 1 0 0 0 Vl 1 0 0 0 Vi 1 1 1 0 v$ 1 1 0 1 V7 0 1 0 0 V3 ve Vl v-i 6 »• А. Горбатов
162 Гл. 3. Теория графов и мографов изображен на рис. 3.2. Уплотнение задания ориентированных гра- графов с петлями аналогично первому способу. Отдельно задаются на- начала дуг графа в виде мографа (GM)+ и концы дуг в виде мографа (GM)~. Для представления графов в виде композиции более простых графов введем следующие три операции: объединение, сумму и произведение. Объединением графов Ga = (Va, Ua) и Gb = {Vb, Щ) называется граф Рис. 3.2 G = (У, U), носитель и сигнатура которого являются соответ- соответственно теоретико-множественным объединением носителей Уа, Vj, и сигнатур Ua, Ub графов Ga, Gb (рис. 3.3, а). U (а, 1) (а, 2) (а, 3) в (б, 1) Рис. 3.3 (б, 2) (б, 3) Суммой графов Ga = (Va, Ua) и Gb = (Vj,, Щ) называется граф G = (У, U), представляющий собой объединение графов Ga, Gb и двудольного полного графа /?^„1,1^1) построенного на носителях Va\VaC\Vb и Vb\VaC\Vb. Другими словами, при построении суммы § 3.2. Связность и сильная связность графа 163 графов Ga и Gb определяется их объединение и каждая вершина Щ € Va, не вошедшая в пересечение VaC\Vb, соединяется со всеми вершинами Vj, \ Va П Vb, и наоборот. Будем говорить, что вершина v конусирует граф G, если она смежна со всеми вершинами графа G. Вершины, не вошедшие в пересечение слагаемых и,' ^ Va П И при суммировании графов Ga и Gb, конусируют соответственно УЬ \ Va П И И Va \ Va П Vb (рИС. 3.3, б). Декартовым произведением графов Ga = (Уа, Га) и Gb = = (И, Г;,) называется граф G = (У, Г), У = УохУ6= {(vai, vbi)/ vai e Va, vbi e Vb}, . (ai, bi) ai (рис. 3.3, e). § 3.2. Связность и сильная связность графа Распределение цепей, циклов в неориентированном графе и пу- путей и контуров в ориентированном графе определяет многие свой- свойства графа, в том числе его связность и сильную связность. Цепью называется последовательность ребер (pi, Р2, • • ¦, рп) вида pi = (и,-, Vi+i)) г = 1,2,..., п. Вершины цепи могут иметь сте- степень, равную 1. Вершина v\ со степенью, равной 1, называется концевой. Число ребер цепи, соединяющей вершины Vi и Vj, называется ее длиной Z(u,-, Vj). Циклом называется цепь, концевые вершины которой совпа- совпадают. Все вершины цикла имеют степень s(u,) > 2. Цепь называется: составной, если в ней повторяется хотя бы одно ребро; сложной, если повторяется хотя бы одна вершина; простой, если не повторяется ни одна вершина. Граф G = (У, U) называется связным, если любая пара его вершин соединена цепью. Максимальный по включению вершин связный подграф графа называется его компонентой связности. Граф называется несвяз- несвязным, если число его компонент больше одной. Например, граф, со- состоящий из двух несмежных вершин, является несвязным и имеет две компоненты связности. Рассмотрим алгоритм определения связности графа и числа его компонент. Теорема 3.1. Элемент матрицы Sn, где S = [s,j] — мат- матрица смежности, s,j есть множество последовательных иден- идентификаторов ребер, образующих цепь между и,- и Vj, предста- представляет собой множество цепей длины п, соединяющих вершины Vi,Vj. При возведении в n-ю степень матрицы смежности 5 = [s,j] умножение рассматриваем как конкатенацию (приписывание спра-
164 Гл. 3. Теория графов и мографов ва к идентификатору, соответствующему t-й строке, идентифи- идентификатора, соответствующего j-му столбцу), а суммирование — как объединение полученных в результате умножения слов. Пример 3.1. Рассмотрим распределение цепей в неориентированном графе Петер сена (рис. 3.4), матрица смежности которого имеет следующий вид: 1 а е к 2 а Ь т 3 Ь с п 4 с d Р 5 е d г 6 к a X \ 7 т t У 8 п S и 9 Р X t 10 г У и Матрица смежности 5 определяет распределение ребер (цепей единичной длины). Для определения цепей длины 2 возведемматрицу смежности в квадрат: 1 аа, ее, кк аЬ de am кз кх ег 2 аа, ЬЬ, mm be ае ак Ьп mt ту 3 аЬ ЬЬ, се пп cd пз Ьт ер пи 4 ed Ьс се, dd, РР рх pt СП dr 5 ае cd ее, ек гу ги 6 ак пз рх ек кк, Si xt зи 7 am bm pt ГУ xt 171171, УУ 8 it» Ьп en ги Уи nn, 33, UU 9 kx mt cp dp sx tt' ty 10 er my nu dr 3U ty rr, № 7 8 9 10 § 3.2. Связность и сильная связность графа 165 Суммируя матрицы S + S2, получаем, что в результирующей матрице отсутствуют нулевые эле- элементы, что означает существование цепи длины 1 или длины 2 между любой парой вершин графа Пе- терсена. Следовательно, граф Петер сена связный и представляет собой компоненту связности. Понятие цепи является Основным при изучении метрических свойств графа. Минимальная длина цепи, соединяю- соединяющей вершины V{ и Uj,называется расстоя- расстоянием r(vi, vj) между вершинами и,-, vy. Максимальное расстояние между вершинами графа G называ- называется диаметром графа d[G): d(G) = maxminZJv,-, и,). ij к Введенная на множестве всех вершин (и,-, и,) графа G функция t(vi, Vj) определяет его метрику. Действительно, эта функция r(vi, Vj) удовлетворяет следующим трем аксиомам: Dvi,Vj)(r{vi,Vj) = 0)<r>Vi = Vj; (Vu,-, vj, vk)(r{vi, Vj) + r(vj, vk) > r{vi, ufc)); Я^следнюю аксиому обычно называют неравенством треуголь- треугольника. • Матрица А называется k-клеточной, если в результате пере- перестановки строк и столбцов она приводится к виду Ах 0 0 ... О О А2 0 ... О О О А3 ... О О 0 0 ... Afc gete матрица А,-, г = 1, ..., к, не содержит ни одного нулевого эле- элемента (кроме, быть может, диагональных). Теорема 3.2. Граф G состоит из к компонент связности Тпогда и только тогда, когда его матрица достижимости d(G) C.2) t=i S(G) — матрица смежности, d(G) — диаметр графа G, Шляется k-клеточной.
166 Гл. 3. Теория графов и мографов Цикл называется эйлеровым, если каждое ребро графа участ- участвует в его образовании один раз; граф, содержащий такой цикл, называется эйлеровым. Теорема 3.3. Граф G = {V, U) является эйлеровым тогда и только тогда, когда он связен и степень s(va) каждой вер- вершины va € V — четное число. Простой цикл называется гамилыпоновым, если он проходит через каждую вершину графа; граф, содержащий такой цикл, на- называется гамилыпоновым. Теорема 3.3 определяет простой кри- критерий выявления свойства эйлеровости для каждого графа. Для определения свойства гамильтоновости графа имеется следующее достаточное условие. Теорема 3.4 (Дирак). Если граф G = (V, U), \V\ > 3, яв- является связным и степень каждой вершины vi € V есть (з.з) где [ ] — ближайшее целое число, то граф является гамильто- новым. Граф, состоящий из одной вершины, называется тривиаль- тривиальным. Удаление вершины из нетривиального графа G приводит к подграфу G \ v, содержащему все вершины графа G, кроме и, и все ребра графа G, не инцидентные и. Аналогично, удаление ребра х приводит к подграфу, содержащему все вершины (к остовному подграфу) и ребра, за исключением ребра х, т. е. G\x. Минималь- Минимальную степень вершин графа обозначают S(G) = mins(v,), и,- € G. Если все вершины графа имеют одинаковую степень п, то такой граф называют регулярным графом степени п. Связностью графа x{G) называется наименьшее число вер- вершин, удаление которых делает граф несвязным, или тривиаль- тривиальным. Из этого определения следует, что для любого графа x(G) > > 0. Полный граф Кп становится тривиальным, если удалить п - 1 вершин, и поэтому x(^n) = п — 1. Если x{G) = п, то граф G называют п-связным. Реберной связностью A(G) графа G называется наименьшее количество ребер, удаление которых приводит к несвязному, или тривиальному графу. Для несвязного, или тривиального графа A(G) = 0. Для любого графа G связность, реберная связность и мини- минимальная степень связаны следующим неравенством: X(G) < X(G) < S(G). C.4) Среди всех графов с п вершинами и то ребрами наибольшая связность равна 0, если то < п—1, и равна [2то/п], если то > п — 1, где скобки [ ] означают, что берется целая часть выражения. § 3.2. Связность и сильная связность графа 167 Простые цепи называются реберно непересекающимися, если никакие две из них не имеют общего ребра. Если же у таких цепей нет и общих вершин, то они называются вершинно непересекаю- непересекающимися. Пусть G — связный граф, а и, v — две различные его вершины. Множество ребер Е графа G называется и, v-разделяющим мно- множеством в G, если любая простая цепь из «в и содержит ребро из Е. Множество вершин V графа, не содержащее «, и, называется и, v-отделяющим множеством в G, если любая простая цепь из vbv проходит через вершину V. Если некоторое «, v-разделяющее множество Е содержит к ре- ребер, то число реберно непересекающихся простых цепей из и в v не может превысить к, поскольку иначе число ребер из Е должно при- принадлежать более чем одной простой цепи. Если «, и-разделяющее множество имеет наименьшую мощность, то число реберно непе- непересекающихся простых цепей между и и v равно к. Теорема 3.5. Максимальное число реберно непересекаю- непересекающихся простых цепей, соединяющих две различные вершины и, v связного графа G, равно минимальному числу ребер в и, v-раз- деляющем множестве. Теорема 3.6. Максимальное число вершинно непересекаю- непересекающихся простых цепей, соединяющих две различные несмежные вершины и, v графа G, равно минимальному числу вершин в и, v- отделяющем множестве. Теорема 3.7. Граф п-связен тогда и только тогда, когда любая пара его вершин соединена по крайней мере п вершинно непересекающимися цепями. Теорема 3.8. Граф п-реберно связен тогда и только тог- тогда, когда любая пара его вершин соединена по крайней мере п реберно непересекающимися цепями. Теорема 3.9 (Менгер). Для любых двух множеств вершин Va, Vp (Va, Vp ф 0, VaC\Vp = 0) наибольшее число непересекаю- непересекающихся цепей, соединяющих Va и Vp, равно наименьшему числу вершин, отделяющих Va и Vp. Теоремы 3.5-3.9 определяют зависимость связности графа от Числа непересекающихся цепей. Эту зависимость впервые иссле- исследовал Менгер. Разделяющим множеством связного графа G называется та- такое множество его ребер, удаление которых из G делает его несвяз- несвязным. Например, множество {р7, рэ, р$, рз} на рис. 3.5, о является разделяющим, и его удаление приводит к образованию двух ком- компонент связности. Разрезом называется такое разделяющее множество, которое не имеет собственного разделяющего подмножества. Множество {?7, Рэ, Р5) Рз} не является разрезом, поскольку оно содержит раз-
168 Гл. 3. Теория графов и мографов деляющее подмножество {р7, рд, рв}- Это подмножество не имеет собственных разделяющих подмножеств и поэтому является раз- разрезом. Разрез, состоящий из одного ребра, называется мостом (см. рис. 3.5,6). Иногда разрез называют коциклом. Рассмотрим ориентированный граф и его свойство быть силь- сильно связным. Путем называется последовательность дуг (Si, 62,..., Sn) вида Si = (и,-, vi+i), i = 1,2,..., п. Вершины пути имеют степень, равную 1 или 2. Вершина Vi со степенью, равной 1, называется концевой; при этом вершина Vi, коинцидентная дуге 5\, называется мочальной, вершина коинцидентная дуге 6п, — конечной. Число дуг, образующих путь, называется длиной пути. Контуром называется путь, концевые вершины которого совпадают. Все вершины контура имеют степень s(uj) > 2. Путь называется составные, если в нем повторяется хотя бы одна дуга. Граф называется сложным, если в нем повторяется хотя бы одна вершина, и простым — в противном случае. Граф G = (V, U) называется сильно связным, если любая пара вершин соединена путем. Максимальный по включению вершин сильно связный подграф графа называется его компонентой сильной связности. Граф называется несильно связным, если число его компонент сильной связности больше 1. Рассмотрим алгоритм определения сильной связности графа и числа его ком- компонент сильной связности. Этот алгоритм так же, как и алгоритм определения связности графа и числа компонент связ- связности, рассмотренный для случая неори- неориентированного графа, основан на исполь- использовании теорем 3.1 и 3.2. Пример 3.2. Определим сильную связность ориентированного графа Петерсеиа (рис. 3.6), ма- матрица смежности которого имеет следующий вид: § 3.2. Связность и сильная связность графа 169 S(G)= 1 е it 2 а т 3 Ь п 4 С р 5 d Г 6 з 7 t 8 и 9 X 10 У 1 2 3 4 5 6 7 8 9 10 Максимальная степень, в которую необходимо возвести матрицу смежности графа S(G) для определения компонент сильной связности, на основании тео- теоремы 3.2 равна диаметру d(G) этого графа: I ) -nja.xmm к(»„ v}), где l(v,, vj) — длина пути от вершины и, до вершины vj. В рассматриваемом случае диаметр d(G) графа G равен 5. Матрицу дости- достижимости D(G) вычисляем как J2 [S(Gj]': 5 D(G) = J2S' = s + S2 + s* + S* + s* = ¦=i 1 2 3 4 5 6 7 8 9 10 de,3 = kab, xtmb, xtyun, <*7,i = yre, yuak, mbede, 0Y4 = mbc, yunc, yuaxp, dt,2 ~ ska, sxtm, ncdea, dt,s = ncd, sxpd, sxtyr, dg,3 = tmb, tyun, pdeab, dio,i = re, usk, uncde, dio,t = unc, изхр, reabc, 1 abcde bcde cde de e dt,i dlti Oft 1 dio.i 2 a bcdea cdea dea ea de,2 di,2 d»,2 dt,2 dio,2 3 ab b cdeab deab eab de,3 d7,3 d»t3 d9,3 dio,3 4 abc be с deabe eabc 06,4 ,4 d&,4 ^9,4 5 abed bed cd d eabed ?¦6,5 df ,s U8,5 di,b dio,s 6 xtyus yus 3 tyus из 7 xt У" sxt t usxt 8 xtyu yusxt sxtyu tyu и 9 X yusx sx tyusx USX 10 xty У sxty ty usxty 4e,i = k, xpde, xtyrt, 4bti = xp, kabc, xtmbc, h,2 = m, yrea, yuska, dj,s = yr, mbcd, yuncd, dt,3 = n, skab, sxtmb, d»,i =pde, tyre, tyusk, dfe,4 =p, tmbc, tyunc, ^ю.з = rea, uska, usxtm, <^io,s = r, uncd, usxpd. de,2 = ka, xtm, xpdea, de,s = xpd, xtyr, kabed, 0*7,3 = mb, yun, yreab, ds,i = ik, ncde, sxpde, 0*6,4 = nc, sxp, skabc, dg,2 = tm, pdea, tyrea, d9,s =pd, tyr, trnbed, dio,3 = un, read, uskab,
170 Гл.З. Теория графов и мографов Компоненте сильной связности в матрице достижимости соответствует под- подматрица максимального размера, каждый элемент которой не равен 0. Элемен- Элементы, показывающие связь между этими подматрицами, могут быть не равны 0. В данном примере имеем две компоненты сильной связности с носителями соответственно {1, 2, 3, 4, 5} и {6, 7, 8, 9, 10}. Сетью называется ориентированный граф G = (V, U), в кото- котором выделены два множества полюсных вершин, V+ и V~, таких, что из каждой вершины vf € V+ дуги только исходят, в каждую вершину vt~ € V~ дуги только входят и каждая вершина v, € € У \ (V+ U V~) коинцидентна как входящим, так и исходящим дугам. Сопоставим каждой дуге положительное число, определяю- определяющее ее "пропускную способность". Тогда можно сформулировать еще один вариант теоремы Менгера для такого взвешенного по дугам ориентированного графа. Теорема 3.10. Максимальный поток через сеть равен ми- минимальной пропускной способности ее разреза. Алгоритм определения максимального потока рассмотрен в §3.5. § 3.3. Цнкломатнка и коцикломатика Для исследования циклов в графе используют цикломатиче- скую матрицу C(G) = [c,j]: каждому циклу графа взаимно од- однозначно сопоставляется вектор-строка матрицы C(G); каждый элемент этой строки определяется как _ Г1, если j-e ребро входит в г-й цикл, с**' ~ \ 0 в противном случае. Множество C(G) всех векторов, каждый из которых соответ- соответствует одному циклу графа G, образует векторное пространство, называемое пространством циклов графа G. При этом выпол- выполняются следующие условия: 1) для любых двух циклов Ri, Rj € C(G), Ri П Rj ф 0, суще- существует некоторый третий цикл (Ri ф Rj) € C(G), где ф означает поразрядное сложение по модулю 2; 2) сложение по модулю 2 обладает свойством коммутативности, т. е. для любых двух Ri, Rj € C(G) Ri Ф Rj = Rj Ф Ri\ 3) сложение по модулю 2 ассоциативно, т. е. для любых Ri, Rj, Rk € C(G) (Ri ф Rj) ®Rk = Ri Ф (Rj Ф Rk)- Базисом векторного пространства называется всякая сис- система линейно независимых векторов, порождающая данное про- пространство. Множество векторов тогда и только тогда является ба- базисом векторного пространства, когда всякий элемент этого § 3.3. Цикломатика и коцикломатика 171 пространства единственным образом представим в виде линейной комбинации векторов множества. Если пространство имеет базис из п векторов, то оно называется п-мерным пространством. Базис циклов графа G — это базис пространства циклов графа G, состоящий из простых циклов. Вектор R зависит от простых циклов jRi, i?2, ..., Rn, если он представим в виде линейной комбинации векторов п R= ij^Ri. i=i Любой вектор цикла графа G может быть представлен в виде линейной комбинации векторов базиса циклов. Рассмотрим, на- например, граф, изображенный на рис. 3.7, а. Цикломатическая матрица C(G) этого графа имеет вид m g h 0 1 1 0 1 0 1 1 0 0 1 1 0 1 1 0 0 1 1 0 1 0 0 1 1 0 1 1 0 0 1 1 0 1 1 0 1 1 0 1 0 1 0 1 0 1 1 1 0 1 1 1 1 0 0 0 1 0 1 0 1 1 0 Ri Ri R3 Rs Яб Дт C(G) = В качестве базисной системы циклов можно взять циклы JRj, i?2, i?3- Можно проверить, что все остальные циклы выражаются как их линейная комбинация по модулю 2: АхфЛзФДз = #4, Д1ФД2 = Rb, Д1ФД3 = Ят, Д2ФДз = Яб- Деревом называется связный граф, не содержащий ни одного цикла. Остовный подграф гра- графа — это подграф, содержащий все вершины графа. Остовом называется остовный подграф, являющийся деревом. Хордой остова D в связном графе G на- называется всякое ребро графа, не принадлежащее D. Любой под- подграф, который состоит из хорды рис_ з.7 и остова, имеет точно один цикл. Цикломатическое число v(G) графа G равно числу хорд любого остова в G. Если связный граф G имеет п вершин и т ребер, то v(G) = т - п + 1. C.5) Если граф G содержит к компонент связности, то его цикломати- цикломатическое число есть v(G) = m-n C.6)
172 Гл. 3. Теория графов и мографов Цикломатическое число несвязного графа может быть опреде- определено как сумма цикломатических чисел его компонент связности: к "(G) = J>(G,-). C.7) Цикломатическое число определяет меру связности графа. От- Отметим, что свойства циклов графа и его разрезов похожи. Лесом называется граф, не содержащий циклов. Иными словами, если граф состоит из нескольких компонент связности, каждая из ко- которых является деревом, то данный граф является лесом. Если лес G имеет п вершин и к компонент связности, то он содержит п — к ребер. Остовным лесом называется граф, каждая компонента кото- которого является остовным деревом. Коциклический ранг x(G) {ранг разреза) — это число ребер в его остовном лесе: X(G) = n-k. Количество базисных циклов в графе G определяется цикло- матическим числом (циклическим рангом) графа v(G). Теорема 3.11 (Эйлер). Число базисных циклов графа пос- постоянно и равно его цикломатическому числу. Базисной системой циклов для данного остовного леса D гра- графа G называется множество всех циклов графа G, каждый из ко- которых содержит только одну хорду D. Эта система образует базис пространства циклов. В рассматриваемом примере циклы i?i, R2, 7?з являются базисом C6{G) = 1 0 0 0 1 0 0 0 гЧ 0 гЧ 1 1 0 0 0 0 1 0 1 1 1 1 1 1 и 1 Хорды Остов D Полученная матрица является базисной цикломатической ма- матрицей относительно остова D. Выполняя 2" — v - 1 раз операцию сложения по модулю 2 над базисными циклами, получаем все множество циклов этого про- пространства. Часто матрицу инциденций А и цикломатическую матрицу С называют первой матрицей инциденций и второй матрицей ин- инциденций соответственно. Теорема 3.12. Вторая и первая матрица инциденций ли- линейного графа G связаны операцией матричного умножения: C(G)x A(G) = 0(mod2). § 3.3. Цикломатика и коцикломатика 173 Доказательство теоремы основано на том факте, что если вер- вершина Vj входит в t-й цикл С,-, то точно два ребра, и;ы и и^г, ин- инцидентные этой вершине, включены в i-й цикл. Запишем базисную систему разрезов для графа G и остовного дерева D, изображенного на рис. 3.7, б: {а, то, d}, {Ь, с}, {е, d}, {g, m, с, d}, {d,h, с}, {/, то, d}. Эта система получена следующим образом. Удаляется ребро остова D. Множество вершин при этом распадается на два непересекаю- непересекающихся подмножества, V\ и У2- Множество всех ребер в G, каждое из которых соединяет вершину из Vi с вершиной из V^i является разрезом графа G. Множество всех разрезов для каждого ребра остова D является базисной системой разрезов для данного осто- остова D. Базисная система разрезов образует базис в пространстве раз- разрезов, или пространстве коциклов. Эта система может быть за- записана в виде соответствующей базисной матрицы разрезов, или базисной коцикломатической матрицы: m MG) = гЧ 0 0 0 0 0 и гЧ 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 и 0 0 0 1 0 0 0 0 0 0 гЧ 1 0 0 1 0 1 0 1 0 1 1 0 гЧ 0 1 гЧ гЧ 1 Остов D Хорды Выполняя 2х — х — 1 раз операцию сложения по модулю 2 над коциклами, порождаем все множество коциклов (разрезов) графа. Задавая в графе свойства циклов, можно определить класс гра- графов. Рассмотрим, например, двудольные графы. Двудольным гра- графом G(V\, V2) называется граф, множество вершин которого раз- разбивается на два непересекающихся подмножества, Vi и Уг, так, что каждое ребро в G соединяет две вершины из разных подмножеств. Для того чтобы убедиться в том, что граф является двудольным, достаточно проверить его циклы. Теорема 3.13. Граф является двудольным тогда и только тогда, когда все его циклы имеют четную длину (четны). Доказательство. Пусть G — двудольный граф. Тогда мно- множество его вершин распадается на подмножества V\ и Vi. Рассмо- Рассмотрим любую вершину из V\. Для того чтобы получить цикл, про- проходящий через эту вершину, надо пройти по одному из ребер из V\ в У2 и по другому из V~2 в Vi по А; раз. Таким образом, любой цикл в G имеет 2к ребер, т. е. является четным.
174 Гл. 3. Теория графов и мографов Пусть теперь все простые циклы четные; докажем обратное утверждение, что G — двудольный граф. Предположим, что G — связный граф. Для любой вершины и; 6 G обозначим через Vx множество вершин, состоящее из и< и всех вершин, находящихся на расстоянии четной длины от и,-; через Vj обозначим множество остальных вершин, находящихся на расстоянии нечетной длины от Vi. Пусть теперь имеются две вершины, и,, Vk € V2, которые соединены ребром. Поскольку между и,- и Vj, а также между Uj и Vk — четное число ребер, то цикл, проходящий через ребро (vj, Vk) и вершину и,-, нечетный, но это противоречит условию, согласно которому все циклы четные. Следовательно, вершины Уг не соеди- соединены между собой. Аналогичное доказательство можно провести, если G имеет несколько компонент связности. В двудольном графе не обязательно каждая вершина из V\ соединена с каждой вершиной из Уг, но если это так, то граф называется полным двудольным графом и обозначается Kmin, где т — число вершин V\, a n — число вершин V^- Граф Кт<п имеет т + п вершин и тп ребер. Полный двудольный граф Ki[n назы- называется звездным графом (звездой) и является деревом. Заметим, что любое дерево является двудольным графом. Часто двудольный граф называют графом Кёнига. § 3.4. Дифференцирование графов и мографов Понятие производной в математическом анализе характеризует степень изменения функции при малом изменении ее аргумента; в основу понятия производной положено понятие предела. В дис- дискретной математике отсутствует понятие предела, поэтому невоз- невозможно механически перенести понятие производной из непрерыв- непрерывной математики в дискретную. Для решения оптимизационных задач дискретной математики введем понятие производной, осно- основанное на использовании понятия частоты букв в словах некоторой модели Ф. Перед формальным определением производной рассмотрим сле- следующий пример. Пусть задан граф G (рис. 3.8, а), и нас интере- интересует частота участия ребер в образовании остовов графа G. Граф G содержит 8 остовов (рис. 3.8,6), и искомую частоту можно харак- характеризовать, например, числом вхождений каждого из ребер в эти остовы. Например, ребро а участвует 5 раз в образовании осто- остовов, ребро с — 4 раза и т. д. Частота ребер будет характери- характеризоваться более полно, если наряду с указанными выше числами вычислять числа, каждое из которых равно количеству остовов, в которых содержатся два зафиксированных ребра. Например, реб- ребра а и 6 содержатся в двух остовах. Еще более точно искомая частота пары ребер pi и pj определяется отношением числа осто- остовов, которые содержат ребро pi или pj, но не содержат их одновре- § 3.4. Дифференцирование графов и мографов 175 .5 менно, к числу остовов, содержащих как ребро р,-, так и ребро pj\ {fi ~ 2/u + fi)lfiv где /'' /л /*i ~ количества остовов графа, в которые вошли ребра р,-, pj, pi и pj соответст- соответственно. Это отношение пока- показывает степень неравно- неравномерности участия пар ре- ребер в образовании остовов графа. Условимся в дальней- дальнейшем исследуемый про- процесс называть событием 5, происходящим при вы- выполнении определенных условий. В рассматривае- рассматриваемом примере событием S является образование множеством ребер остова графа G, а условием — вхождение ребер графа в данное множество. Собы- Событие 5 может быть задано соответствующим предикатом P(S). В рассматриваемом примере предметной областью является множество ребер {а, 6, с, d, e}. Мощность сигнатуры остова рав- равна 3 (|У| — 1 = 4 — 1 = 3); следовательно, местность предиката P(S) также равна 3: РзE). Таблица, определяющая этот пре- предикат Рз(-5), имеет 10 строк (по числу сочетаний из 5 по 3) и 6 столбцов (мощность предметной области): Рис. 3.8 а 0 0 0 0 1 1 1 1 1 1 ь 0 1 1 1 0 0 0 1 1 1 с 1 0 1 1 0 1 1 0 0 1 d 1 1 0 1 1 0 1 0 1 0 е 1 1 1 0 1 1 0 1 0 0 РзE) 0 1 1 1 1 1 1 1 1 0 Каждое событие определяет некоторую двумерную двоичную матрицу Q = [g,j]mxn, каждому столбцу которой взаимно одно- однозначно соответствует условие, входящее в событие, строке — сово- совокупность условий, при которых событие имеет место (при которых
176 Гл.З. Теория графов и мографов = 1), и !1, если j7e условие входит в г-ю совокупность условий, при которых событие истинно, О в противном случае. Другими словами, каждое событие определяет модель, матри- матрицей инцидентности которой является матрица Q, т. е. условия, входящие в событие, являются буквами модели, совокупности ус- условий, при которых событие истинно, — словами модели. Интенсивность участия условий (букв) в событиях (словах) бу- будем характеризовать с помощью частот их вхождения. Для этого введем частотную матрицу отношений F = [/ij]nxn, характеризую- характеризующую модель Ф, матрица инцидентности которой есть Частотной матрицей отношений F = [Д,]пхп называется матрица, каждой строке (столбцу) которой взаимно однозначно со- соответствует буква, и элемент fij равен числу слов, в которые входят буквы t и j, если i ф j, в противном случае (г = j) — числу слов, в которые входит буква г. При этом если г = j, то /, — собственная частота буквы, если же г ф j, то fij — взаимная частота букв г и j. Из определения частотной матрицы отношений F = [/,j]nxn следует, что она сама симметрична относительно главной диаго- диагонали, т. е. fij = fa, и что собственная частота любой буквы не меньше взаимной частоты этой буквы с любой другой буквой: /,• > fir Можно показать, что частотная матрица отношений F, харак- характеризующая модель, матрица инцидентности которой Q удовле- удовлетворяет соотношению QrxQ = F, C.8) где QT — транспонированная матрица Q (т — знак транспониро- транспонирования матрицы). Определим степень участия компонент графа G в наперед за- заданном событии 5 в графе G, другими словами, степень неод- неоднородности компонент графа относительно заданного события. Будем характеризовать эту неоднородность производной dG/dS графа G по событию 5. Производной dG/dS графа G по событию S называется не- неориентированный взвешенный граф (V, (U, Р)), носитель кото- которого совпадает с носителем модели, определяемой этим событием, и пара вершин (vi, Vj) взвешена отношением частоты (/,• — fij) + + (/t — fij) их несовместного участия к частоте fij совместного участия в событии 5: „,.) =^±й, (з.9) OS' § 3.4. Дифференцирование графов и мографов 177 причем: fa, Vj) ? U, если (dG/dS){vi, vj) = оо; (vi, Vj) ? U, если (dG/dS)(vi, Vj) — конечная величина, отлич- отличная от нуля; Vi = Vj, если (dG/dS)(vi,Vj) = 0. Значение выражения C.9) называется значением производной «а ребре (vi, Vj). Проиллюстрируем понятие производной от графа по событию На двух примерах. Пример 3.3. Пусть заданы граф G (см. рис. 3.8,а), и событие 5 — обра- образование ребрами остова графа G. Найдем производную от графа G по событию S, которая будет характеризовать интенсивность участия ребер в образовании остовов графа G. Заданное событие определяет модель, матрица инцидентности которой имеет следующий вид: а 1 1 1 1 1 0 0 0 ь 1 1 0 0 0 1 1 1 с 1 0 1 1 0 1 1 0 d 1 0 1 0 1 1 0 1 е 0 1 0 1 1 0 1 1 В этой матрице каждому столбцу взаимно однозначно соответствует ребро G (условие, входящее в событие), строке — совокупность ребер, образую- образующих остов графа (совокупность условий, при которых заданное событие имеет Место) (см. рис. 3.8,6). Частотная матрица отношений F, соответствующая ма- матрице Q, есть = Q* х Q = d 3 3 2 5 2 Элементы этой матрицы определяют dG/dS, представляющую собой граф, но- носитель которого — {а, Ь, с, d, e}, и две вершины этого графа смежны, если зна- Чение производной на дуге, образуемой этими вершинами, отлично от нуля и бесконечности. Вычисляя значения производной dG/dS на ребрах графа: dG. fg - 2fab + /ь 5-2-2 + 5 _(а, Ь) = _ = _ =3, dG fg - IfgC + /с _ 5 - 2 • 2 + 4 _ п е __(а,с)= _ _ _ 2M, 5-2-2 + 5 dG 4_/d-2/de + dS{d'e)~ п. 2 Получаем граф dG/dS (см. рис. 3.8,в). Пример 3.4. Рассмотрим граф G (рис. 3.9,а), иа котором задано событие '$ — образование ребрами базисного цикла относительно остова G' (рис. 3.9,5) Графа G. Вычислим производную от графа G по событию 5.
178 Гл. 3. Теория графов и мографов § 3.4. Дифференцирование графов и мографов 179 Дипломатическое число v{G) графа G равно 3: u(G) = m-n + fc = 7-5 + l=3. Следовательно, граф содержит 3 базисных цикла. Событие 5 определяет модель вида а Ь с d e g h п_ 111110 0 ч~ 0 0 11110 0 0 110 0 1 Этой модели соответствует частотная матрица отношений = QV х Q = а Ь с d e g h 111110 0 111110 0 113 3 2 11 113 3 2 11 112 2 2 10 0 0 11110 0 0 110 0 1 d • Вычисляя значение производной, получаем граф dG/dS (рис. 3.9, в). Аиали- Рис. 3.9 зируя граф dG/dS, замечаем, например, что ребра end (или ребра а и Ь) одинаково интенсивно участвуют в заданном событии. Таким образом, для определения производной от графа G по событию 5 необходимо: а) построить модель, определяемую заданным событием; б) найти частотную матрицу отношений, соответствующую этой модели; в) вычисляя по частотной матрице отношений значения произ- производной на ребрах графа dG/dS, построить искомый граф dG/dS, характеризующий интенсивность участия элементов графа G в за- заданном событии 5. Производной dkG/dSk к-го порядка по событию S называ- называется производная от производной (к — 1)-го порядка по тому же событию 5: dsk ~ ds\dsk-1)' Смешанной производной по событиям Sa и Sj называется производная по событию Sa от производной по событию 5(,: d2G _ _д_ fdG\ dSadSb~ dSa \dSb)' Аналогично определяются смешанные производные от графа G по событиям S\, S2, ..., Sn. Введенное понятие производной от графа G по событию 5 дает возможность находить производную и от модели Ф(ф) (от мографа G(m\Q)). В случае определения производной от модели, если со- событие 5 не оговорено, в качестве 5 будем считать "образование буквами слова". Значение производной от модели (от мографа G^M\Q)) на паре (г, j) есть [h3)~ где частоты /,-, Д,- и /, определяются по частотной матрице отно- отношений F = [/,-,•] (F = Qr xQ), На мографе G<M> частоты /,-, Д, и fj равны соответственно числу весов вершины и,-, числу общих весов вершин и;, Vj и числу весов вершины Vj. Пример 3.5. Вычислим %?ь$2 ((ft, ), (, "з)), гдемограф G*M' задан на рис. 3.10, а, событие Si есть событие в обычном понимании (т. е. "образование .буквами слова"), событие 5з есть "обра- "образование цикла нечетной длины в графе tyGM/dSi =(V,U)n. Матрица инцидентности Qi, задаю- задающая мографС'м' (рис. 3.10, а), имеет вид d 1 Рис. 3.10 Соответствующая ей частотная матрица отношений F = Qr x Q такова: Значения производной dG'M)/d5i соответственно равны (а, Ь) = 1, (Ь, с) = 2, dSi (а, с) = 1, (b,d) = 2, f^_(a,<f)=oo, (с, d) = 2. Граф dG{M)/dSi изображен на рис. 3.10,5. Событие Si в графе 9G* ' /dS\ задает матрицу Qs вида (n.vj) = 11 1 0 (|"з) 1 0 («1.«з) 1 1 (i) 0 1 0 1
180 Гл.З. Теория графов и мографов Согласно алгоритму нахождения производной от графа находим 1 1 1 О О 1110 0 112 11 0 0 111 0 0 111 1-21 + 1 Мы рассмотрели равномерность участия пар элементов в со- событии 5. Аналогично можно рассмотреть равномерность участия троек, четверок и т. д., n-к элементов в событии 5. Для вывода формулы производной на 3, 4, ..., п элементах обобщим понятие частотной матрицы отношений. Введем понятие частотной гипер- гиперматрицы отношений. Рассмотрим модель Ф = (М, Si, S2, ..., Sfc). Возьмем iV-мер- ную матрицу F = [/,112...,>], *ь *2, • • •, W = 1, • • •, |Af|. Позиции по каждому измерению iV-мерной матрицы перенумеруем числами натурального ряда 1,2,..., |М|. Каждой букве т G М поставим во взаимно однозначное соответствие номер из этого натурального ряда и расположим буквы т; 6 М по соответствующим позициям каждого измерения iV-мерной матрицы. Каждый элемент fi-Li2..,iN этой матрицы равен числу слов, в которые входят буквы, соответ- соответствующие номерам ti, i-i, ..., iff. Одинаковые индексы в напи- написании не дублируем. Построенную таким образом матрицу будем называть N-мерной частотной матрицей отношений или (если нас не интересует размерность этой матрицы) частотной гипер- гиперматрицей отношений. Если среди индексов t'i, г'2,..., tjv У элемента /dtj...^ есть хотя бы два индекса различного написания, то этот элемент называ- называется взаимной частотой соответствующих букв, в противном слу- случае — собственной частотой этих букв. Частота fi,i2...iN, имею- имеющая к различных индексов, называется частотой к-го порядка. При вычислении производной для пары элементов использова- использовались частоты первого и второго порядка. Производная dG/dS графа G по событию S на тройках эле- элементов: ад(ТП<» тЬ, С) = Т" 1 Е л- \|:=ТПа ,T7l()TT7lc - 2 • ]Г /у + 3 {Л , C.10) гфк, зфк. §3.4. Дифференцирование графов и мографов 181 Производная dG/dS графа G по событию S на четверках эле- элементов: 8G. —(ma 00 ь, тс /rr - 2 •? fa + з - 4' E j,k,l = ma,mb,mc,md, гф], гфк, %ф1, j ф к, j ф I, к ф I. Производная dG/dS графа G по событию S на п элементах: ., тп п, Формулы C.10)-C.12) выведены из определения производной dG/dS графа G по событию S при рассмотрении соответственно троек, четверок и n-к элементов. Каждую модель можно задать с помощью частотной гиперма- гиперматрицы отношений. Например, модель Ф = (М, 5з>, М = {а, 6, с, d, e}, S3 = {{a, 6, d}, {Ь, с, d}, {с, d, e}}, матрица инцидентности которой ab 11 0 1 0 0 d 1 1 1 может быть определена двумерной частотной матрицей отношений abode 110 10 12 12 0 0 12 2 1 12 2 3 1 0 0 111
182 Гл. 3. Теория графов и мографов В рассматриваемом примере ф(Ф) и F(\P) взаимно однозначно определяют друг друга. Другими словами, модель может быть за- задана не только с помощью перечисления ее слов, но и с помощью задания пересечений этих слов (с помощью задания частот букв в словах). При большом числе нулей частотную гиперматрицу отношений удобно представлять в виде строчной записи. Например, рассма- рассматриваемую модель Ф можно записать как = а2 о 2Ь2 о 2с2 о 3d2 о е2 о ab о ad о be о 2bd о 2cd о се о de. Здесь коэффициент при а2 равен /а, при а/3 — /а/з; а,C = а, Ь, с, d, е; символ о является конструктивным разделителем двух частот. Строчную запись частотной гиперматрицы отношений, задаю- задающую модель, в дальнейшем будем называть разложением модели по частотам или частотным разложением модели. Введенное понятие iV-мерной частотной матрицы отношений F = [/чц...(„], »i, *2, • •., in = 1,2,..., связано с понятием iV-ичной формы J(mi, mi, ..., \\ Действительно, поставим в соответствие каждому слову /х,- мо- модели Ф = (М, S\, 5г, • •., Sk) линейную форму /^: \м\ где qi = р 3=1 1, если го,- е щ, 0 в противном СЛучае. X где символ вида jfiM] = J{m1, тп2, ..., l m2 — m|Af| означает взятие суммы всевозможных слагаемых ' NX\N2\. .. iVj, N2, •.., N\m\ — произвольные неотрицательные целые числа, сумма которых равна N; индексы у коэффициента / N N n,m, TO1 m2 -m|M| подчиняются соотношению mi ' = тп,-, если Nj ф 0, в противном случае индекс опускается, сам же этот коэффициент является со- §3.5. Устойчивость, покрытия, паросоиетания 183 ответствующей частотой. Например, /m»m7mo_mo означает вза- взаимную частоту /mim2 букв mi, тп2. § 3.5. Устойчивость, покрытия, паросочетания В любом графе можно выделить совокупность некоторых мно- множеств, объединяемых по какому-то признаку, например, подмно- подмножеств вершин таких, что никакие две вершины одного и того же подмножества не смежны. Аналогично, граф можно разбить на подмножества ребер таким образом, чтобы ребра одного подмноже- подмножества были попарно не смежны. В общем случае число элементов в различных подмножествах различно и существует подмножество, где число элементов принимает максимальное значение. Поэтому можно ввести два инварианта графа для попарно несмежных вер- вершин и попарно несмежных ребер. Множество вершин называется внутренне устойчивым, если эти вершины попарно не смежны. Внутренне устойчивое множество вершин называется пустым подграфом, если при добавлении хотя бы одной вершины, не при- принадлежащей этому множеству, образуется хотя бы одно ребро (дуга). Максимальная мощность пустого подграфа графа G называ- называется числом внутренней устойчивости или вершинным числом независимости графа ?q(G). Максимальное число попарно несмежных ребер графа G назы- называется реберным числом независимости графа ?i(G). Если ребро инцидентно вершине, то говорят, что они покры- покрывают друг друга. Множество вершин, покрывающих все ребра графа, называется вершинным покрытием графа G. Минималь- Минимальная мощность вершинного покрытия называется числом вершин- вершинного покрытия графа 7ro(G). Аналогично, множество ребер, покрывающих все вершины графа G, называется реберным по- покрытием графа. Минимальная мощность реберного покрытия гра- графа G называется числом реберного покрытия 7rj(G). s Условимся считать, что любая вершина графа покрывает сама себя и две смежные вершины покрывают друг друга. Тогда ми- минимальная мощность множества вершин, покрывающих все вер- вершины графа G, называется вершинным числом внешней устой- устойчивости графа Co{G). Аналогично, будем считать, что каждое ребро графа покрывает себя и два смежных ребра покрывают друг друга; тогда минималь- минимальная мощность множества ребер, покрывающих все ребра графа G, называется реберным числом внешней устойчивости j3i{G). Вычисление рассмотренных инвариантов графа требуется при решении многих практических задач. Пусть, например, вершины графа представляют собой технологические модули гибкого авто-
184 Гл. 3. Теория графов и мографов матизированного процесса, за которыми должно осуществляться непрерывное наблюдение, а две вершины графа соединены реб- ребром, если соответствующие им модули можно наблюдать, находясь около одного из них. Требуется так расставить телекамеры, чтобы оператор, находящийся у монитора на диспетчерском пульте, мог наблюдать за всеми модулями, но при этом число телекамер было бы минимальным. Для решения этой задачи надо определить вер- вершинное число внешней устойчивости данного графа. Пример 3.6. Введенные инварианты для графа Петерсена G (см. рис. 3.4) имеют следующие значения: ео(в) = 4, |{1, 3, 9, 10}| = 4, Cl(G) = 5, \{а, d, n, х, у}| = 5, *o(G) = 6, |{1, 3, 5, 7, 8, 9}| = 6, *!(G) = 5, \{к, т, п, р, г}| = 5, А(С) = 3, |{1, 4, 10}| = 3, Щв) = 4, \{а, с, х, и}\ = 4. Теорема 3.14. Для любого нетривиального связного графа G=(V,U) eo{G) + jto(G) = ei(G) + »n(G) = \V\. C.13) Множество ребер графа, в котором никакая пара ребер не смеж- смежна, называется паросочетанием графа. Множество ребер паросо- четания, в котором число ребер равно е\, называется наибольшим паросочетанием графа. Для двудольных графов справедлива следующая теорема о паросочетании. Теорема 3.15 (Кёниг). Для двудольного графа G число ре- ребер в наибольшем паросочетании равно числу вершинного по- покрытия, т. е. ?\ = 7г0. Совершенным паросочетанием из Vi, в Vj в двудольном графе G(V\, Vj) называется взаимно однозначное соответствие между вершинами из Vi и подмножеством вершин из Vji ПРИ котором каждая вершина из \\ соединена ребром с некоторой вершиной из Vj- Понятие паросочетания в двудольном графе позволяет сформу- сформулировать следующую теорему. Теорема 3.16 (Холл). Пусть G = G{V\, Vj) — двудольный граф и для любого подмножества А С Vi пусть также <р(А) — множество тех вершин из Vj, которые смежны по крайней мере с одной вершиной из А. Тогда совершенное паро- сочетание из V\ в Vj существует тогда и только тогда, ко- когда число элементов \А\ < \<р(А)\ для каждого подмножества AeVi. Рассмотрим выделение пустых подграфов {J5J в графе G. Окрестностью G(v0) вершины v0 графа G = (V, Г) называ- называется подграф (Vo, Uq), носитель которого совпадает с окрестностью единичного радиуса этой вершины, Vo = Ги0, а сигнатуру Uo обра- образуют все ребра графа G, соединяющие вершины Vo. §3.5. Устойчивость, покрытия, паросочетания 185 Неокрестностъю_р{оо) вершины и0 графа G = (V, Г) назы- называется подграф (V0) Uo), носитель которого есть Vo = W Vi ? Yv0), а сигнатура Uo состоит из всех ребер графа G, соединяющих вер- вершины Vo- Теорема 3.17. Пустой подграфG = (V, Г), не содержащий вершину vq G V, содержит хотя бы одну вершину из ее окрест- окрестности. Сведем выделение пустых подграфов в заданном графе G к по- построению дерева, в котором каждый путь между висячей вершиной (вершиной v со степенью, равной 1) и концом дуги, исходящей из корня, состоит из вершин, которые образуют пустой подграф, где под корнем понимается вершина, не являющаяся концом ни одной из дуг. Согласно теореме 3.17 это дерево строим следующим образом: 1) сопоставим корню дерева заданный граф; 2) фиксируем произвольную вершину vq заданного графа G — = (V, Г) и вершины ее окрестности Vo; взаимно однозначно сопо- сопоставим концу каждой дуги, исходящей из корня дерева, вершину из множества {и0, Vo}; 3) каждый конец va построенных дуг взвесим неокрестностью G(va) вершины va; 4) считаем конец va построенного яруса корнем нового дерева. Будем повторять пп. 2)-4) до тех пор, пока каждый конец построенных дуг не будет взвешен символом 0 (этот символ озна- означает отсутствие соответствующей неокрестности). Согласно тео- теореме 3.17 путь между концом дуги, исходящей из корня пост- построенного дерева, и висячей вершиной, взвешенной символом 0, состоит из вершин пустого графа. В случае произвольного фиксирования вершины при построе- построении яруса дерева нельзя установить взаимно однозначное соответ- соответствие между висячими вершинами и пустыми подграфами, так как последние могут повторяться, т. е. один и тот же пустой подграф может взвешивать несколько висячих вершин. Чтобы избежать повторения пустых подграфов, введем закон поглощения подде- поддеревьев. Закон поглощения. Если в k-м ярусе дерева вершины V; и Vj не смежны и поддерево с корнем и,- построено и если в поддереве с корнем Vj появляется дуга с вершиной и,-, то соот- соответствующая ветвь не строится. Закон справедлив, так как поддерево с корнем Vj не содержит вершины va из окрестности вершины Vi, va € G(vi), и (согласно теореме 3.17) содержится в пустом подграфе уже построенного под- поддерева с корнем и,-.
186 Гл.З. Теория графов и мографов Пример 3.7. Найти распределение пустых подграфов в графе G, изобра- изображенном в верхней части рис. 3.11. Сопоставим корню строящегося дерева заданный граф G. Зафиксируем вер- вершину fj. Ее оврестность состоит из четырех вершин: vi, из, «4, we; поэтому из первого ворня выводим пять дуг. Концам дуг приписываем одну из вершин и 1 Рис. 3.11 взвешиваем дуги неокрестностью этих вершин (см. рис. 3.11). Неокрестность G(vi) содержит только вершину t's, поэтому в третьем ярусе получаем висячую вершину us. Вершина t'i имеет иеоврестность_с носителем {из, vt, u5}. Зафик- Зафиксируем вершину t>4- Ее неокрестность есть Vt = 0, поэтому в третьем ярусе получаем висячую вершину t>4- Образуем еще две дуги из второго вория t'i: с вершиной V3 и неоврестностью, состоящей из v$, и с вершиной v$ и иеоврестно- стью V3. Согласно закону поглощения одио из поддеревьев поглощается. Крест иа рисунке означает, что ветвь дальше не строится и не учитывается при под- подсчете пустых подграфов. В четвертом ярусе получаем висячую вершину v$. Для вершины второго яруса имеем иеокрестность из вершины из, и процесс закан- заканчивается на третьем ярусе висячей вершиной t'3. Вершина tu второго яруса со своей неоврестностью усевается согласно за- закону поглощения. Для вершины «з с иеоврестностыо Уз = {vi, vs, we} строим третий ярус. Получаем три вория: we, «i (us)i «s (fi)- Все они усеваются со- согласно закону поглощения и не учитываются при подсчете пустых подграфов. Таким образом, имеем пустые подграфы Ei = {2, 5}, Е2 = {1, 4}, • Е3 = {1, 3, 5}, Et = {3, 6}. Установим свойства графа, определяющие ветвистость синте- синтезируемого дерева. В рассмотренном примере при построении сле- следующего яруса в каждом корне фиксировалась вершина с макси- максимальной степенью. Для устранения повторения пустых подграфов в дереве пять раз был применен закон поглощения. Зафиксируем на первом шаге построения дерева вершину не с максимальной степенью, а с минимальной — вершину «i, s(ui) < s(vi). По- Построив дерево после фиксации вершины v\ (рис. 3.12, а), видим, что оно проще предыдущего; при его построении закон поглоще- поглощения использовался только один раз. Бели же при построении §3.5. Устойчивость, покрытия, паросоиетания 187 следующего яруса в каждом корне фиксировать вершину с мини- минимальной степенью (рис. 3.12,о), то даже без применения закона {1,3,5} Е4= {3, 6} Рис. 3.12 {1.4}?1= {2, 5} Е4= {3, 6} {1,3,5} поглощения в рассматриваемом примере число висячих вершин совпадет с числом пустых подграфов. Приведем алгоритм порождения всех пустых подграфов, в Котором для уменьшения трудоемкости каждый раз будем фикси- фиксировать вершину с минимальной степенью. 1. Сопоставляем корню синтезируемого дерева заданный граф G. 2. Фиксируем в графе вершину v0 с минимальной степенью, сопоставив ее концу исходящей из корня дуги. Строим |Гио| исхо- исходящих из корня дуг, и конец каждой из них взаимно однозначно сопоставляем вершине окрестности G(v0). 3. Каждый конец построенных дуг взвешиваем неокрест- неокрестностью G(va) вершины va графа, сопоставленного рассматрива- рассматриваемому корню. 4. Считаем конец va построенного яруса корнем нового дерева. 5. Устанавливаем, взвешена ли вершина va символом 0. Если ВДт, то переходим к п. 2, если да, то — к п. 6. 6. Пути между концами дуг, исходящих из корня синтезиро- синтезированного дерева, и висячими вершинами однозначно определяют пустые подграфы заданного графа. На основании этого алгоритма можно определить число вну- внутренней устойчивости eo(G) графа G = (V, Т) как максимальную мощность пустого подграфа eo(G) = max|2^| и число вершинного покрытия 7ro(G) как разность |У| -Sq(G) (согласно теореме 3.14). Для рассмотренного примера ?o(G) = 3, ЕМакс = {1, 3, 5}; MG) = 3, |{2, 4, 6}| = 3.
188 Гл. 3. Теория графов и мографов Часто в графе требуется определить не максимальное число вершин, между которыми отсутствуют связи, а наоборот, макси- максимальное число попарно смежных вершин. Плотностью p(G) графа G = (V, Г) называется максималь- максимальная мощность носителя полного подграфа FMaKc С G p(G) = max p(F<). t Приведенный выше алгоритм порождения пустых подграфов и закон поглощения после соответствующих изменений можно с успехом использовать и при определении плотности p(G) гра- графа G. Приведем алгоритм порождения полных подграфов. 1. Сопоставляем корню синтезируемого дерева заданный граф. 2. Фиксируем в графе вершину и0 с максимальной степенью, сопоставив ее концу исходящей из корня дуги. Строим |Гио| исхо- исходящих из корня дуг (|Гио| — мощность носителя неокрестности вершины v0). Конец каждой из этих дуг взаимно однозначно со- сопоставляем вершине неокрестности G(v0). 3. Каждый конец va построенных дуг взвешиваем окрестно- окрестностью G(va) вершины va графа, сопоставленного рассматривае- рассматриваемому корню. 4. Считаем конец va построеннога яруса корнем нового дерева. 5. Устанавливаем, взвешена ли вершина va символом 0. Если нет, то переходим к п. 2, если да, то — к п. 6. 6. Пути между концами дуг, исходящих из корня синтезиро- синтезированного дерева, и висячими вершинами однозначно определяют полные подграфы заданного графа. Закон поглощения. Если в к-м ярусе дерева вершины и, и Vj смежны, поддерево с корнем Vi построено и если в подде- поддереве с корнем Vj появляется дуга с вершиной Vi, то соответ- соответствующая ветвь не строится. Пример 3.8. Найдем распределение полных подграфов в графе G, изобра- изображенном в верхней половине рис. 3.13. При фиксировании в п. 2 вершины с мак- максимальной степенью иа каждом синтезируемом ярусе (рис. 3.13, а) повторения полных подграфов в дереве ие было. Фиксирование в п. 2 вершины не с макси- максимальной степенью в данном случае приводит к повторению полных подграфов. Фиксирование вершины с минимальной степенью «з, *(из) = 1, при построе- построении второго яруса приводит к повторению полного подграфа Рз = {1, 2, 6} (рис. 3.13,E); при построении же каждого яруса количество повторений еше больше возрастает: Fi = {2, 3, 4}, F4 = {4, 5, 6}, F4 = {4, 5, 6} (рис. 3.13,в). Плотность рассматриваемого графа G равна 3. Пример 3.9. Найти максимальный поток через сеть G (рис. 3.14,а), если пропускная способность дуг соответственно равна а = (t'i, «г) — 5, Ь = (vi, 114) ~ - 2, с = (и 1, f3) - 4, d = (из, vt) - 3, е = (d3, fs) - 2, k = (u5, fe) - 4, m = (d4, fe) - 3, n = (d2, fe) - 7, p = (tJ, vs) - 2. §3.5. Устойчивость, покрытия, паросоиетания 189 /i={2,3,4} F3 = {1,2,6} ^ = {4,5,6} a 4 6 2 6 0.2,6} J0 i = {2,4, 6} ^«={4,5,6} Рис. 3.13
190 Гл.З. Теория графов и мографов § 3.5. Устойчивость, покрытия, паросочетания 191 Для определения максимального потока через заданную сеть строим граф достижимости Gg = (Vg, Ug), каждая вершина которого взаимно однозначно со- соответствует дуге заданного графа G и две вершины соединены ребром тогда и только тогда, когда соответствующие им дуги входят в путь в исходном графе G (рис 3 15, а). Тогда пустой подграф графа достижимости взаимно однозначно определяет разрез исходной сети. Минимальная сумма пропускных способнос- Рис. 3.14 G~(a),G(a)*G т) (Ь1 On) W) (с) (е Рис. 3.15 тей дуг, вошедших в разрез, согласно теореме 3.10 равна искомому максималь- максимальному потоку. Используя алгоритм порождения всех пустых подграфов, выделим их в графе достижимости (рис. 3.15,6) и вычислим пропускную способность раз- разреза. Имеем • , . ,, Я, = {п, р, Ь, е, d}-7+2+2+2+3 = 16, Е, = {п, р, Ь, с}-7+2+2+4 = 15, Е3 = {п,р,т,е} -7 + 2 + 3 + 2 =14, Е< = {п, k, b, d} - 7 + 4 + 2 + 3 = 16, Еь = {п, Jfc, m} - 7 + 4 + 3 = 14, Ее = {а, Ь, d, е} - 5 + 2 + 3 + 2 = 12, Е7 = {а, Ь, с} - 5 + 2 + 4 = 11, Ел = {а, т, е} - 5 + 3 + 2 = 10. Разрез {а, т, е} с минимальной пропускной способностью, равной 10, опре- определяет максимальный поток ФНмсс = Ю через сеть G. ^ Модифицированной матрицей смежности S называется дизъюнкция матриц смежности 5 и единичной диагональной ма- матрицы {1, 1, ..., !}¦ Определение числа внешней устойчивости сводится к построе- построению модифицированной матрицы смежности и выделению покры- покрытия с минимальным числом элементов. Пример 3.10. Определим вершинное число внешней устойчивости fio{G) графа G (рис. 3.16), матрица S(G) которого имеет сле- следующий вид: 5 = Покрываем строки столбцами или столбцы стро- рис з.1б хами матрицы смежности, что равнозначно в силу ее симметричности относительно главной диагонали. Используя алгоритм Петрика, получаем a 1 0 1 0 0 1 ь 0 1 1 1 0 1 с 1 1 1 1 1 0 d 0 1 1 1 0 1 е 0 0 1 0 1 1 / 1 1 0 1 1 1 а Ь с d е f = (с + / + ae)(b + d + ас + с/ + ае + се + е/) = = Ьс + cd + ас + с/ + се + Ь/ + df + а/ + е/ + abe + ade. Каждый мультипликативный члеи полученного выражения определяет внешне устойчивое множество вершин; минимальная мощность такого миожества равиа вершинному числу внешней устойчивости f3o{G) = 2. В случае ориентированного графа кроме вершинного числа внешней устойчивости Po(G) графа G различают положительное 0о (G) и отрицательное /3q(G) вершинные числа внешней устой- устойчивости. Положительным вершинным числом внешней устойчивости 0q (G) графа G = = (V, Г) называется минимальная мощность Множества вершин V+ = {и*} такого, что {vt}U{Tvf} = V, C.14) И при удалении хотя бы одной вершины из V+ соотношение C.14) де выполняется. Это число определяет минимальное количество Вершин, из которых наблюдаются (достижимы за один шаг) все вершины графа. Отрицательным вершинным числом внешней устойчивости $q (G) графа G = (V, Г) называется минимальная мощность мно- множества вершин V~ = {uf~} такого, что {u-}U{r-V} = f, C-15) ЯГпри удалении хотя бы одной вершины из V~ соотношение C.15) lie выполняется. Это число равно минимальному количеству вер- №ин, которые наблюдаются всеми вершинами графа.
192 Гл. 3. Теория графов и мографов Очевидно, что число 0q(G) вычисляется как минимальная мощность покрытия столбцов строками, число Pq(G) — как ми- минимальная мощность покрытия строк столбцами в модифициро- модифицированной матрице смежности S(G) графа G. Пример 3.11. Вычислим числа Po(G) и I3^{G) графа G (рис. 3.17), мо- модифицированная матрица смежности которого имеет вид 5 = Согласно определению внешне устойчивого мно- Рис 3 17 жества, в котором вершины, принадлежащие этому множеству, "наблюдаемы самими собой", диагональ- диагональные элементы S4 матрицы смежности S(G) имеют значение 1, хотя в графе G и отсутствуют петли. Покрывая столбцы строками в модифицированной матрипе смежности с помощью алгоритма Петрика (а + /)(& + d)(a + Ь + с){с + d)(c + е)(Ь + d + е + /) = § 3.5. Устойчивость, покрытия, паросочетания 193 а 1 0 0 0 0 1 ь 0 1 0 1 0 0 с 1 1 1 0 0 0 d 0 0 1 1 0 0 е 0 0 1 0 1 0 / 0 1 0 1 1 1 а Ь с d е f = (а + /)(cb + dc + ebd + aed) = = abc + adc + ade + be/ + cdf + bed/, получаем P?(G) = 3. Каждый мультипликативный члеи в этих выражениях определяет соответствующее виешие устойчивое множество. Реберное число независимости ?i(G), число реберного покры- покрытия jti(G) и реберное число внешней устойчивости /?i(G) графа G = (V, Г) определяются аналогично, только вместо модифици- модифицированной матрицы смежности вершин исходной информацией яв- является модифицированная матрица смежности ребер SP(G) графа G: 5P(G) = 5P(G)V{1, 1,..., 1}, где SP(G) — матрица смежности ребер, {1, 1, ..., 1} — диагональ- диагональная единичная матрица. Пример 3.12. Найдем ffi(G), яч(C) и Pi{G) графа G = (V, Г), изображен- изображенного в верхней половине рис. 3.18. Для определения реберного числа независимости ?i(G) графа G восполь- воспользуемся алгоритмом порождения пустых подграфов. Сопоставим корню дерева заданный граф и определим ребро, смежное с минимальным количеством ре- ребер. Это ребро к, оио смежно с тремя ребрами: /, р и т. Сопоставим ре- ребрам jfc, /, р и m концы исходящих из кория дерева дуг и взвесим каждую вершину построенного яруса частичным подграфом, каждое ребро которого ие смежно с ребром, сопоставленным этой вершине (рис. 3.18). Другими словами, зафиксировав ребро заданного графа, сопоставим ему и его окрестности вершины яруса дерева, каждую из которых взвешиваем неокрестностью соответствующего ребра. Повторяя такое разложение графа до получения иеокрестностей, равных Рис. 3.18 0, порождаем все реберно независимые множества (рис. 3.19): Ei = {Ь, к, п}, Е3 = {с, к, п), Еь = {а, е, к), E9 = {с, /, p}, En = {e, /, m}, E13 = {а, с, р}, Ец = {a, e, m}, x?l,5 — {O, 771, Tlj. Ei = {d, k, n}, Et = {a, c, *}, Ее = R e, fc}, E» = {d, f, p}, E10 = {d, e, /}, = {b, /, m}, Покрывая строки столбцами модифицированной матрицы смежности ребер Ei Ег Ез Е4 Е5 Рис. 3.19 7 В. А. Горбатов
194 Гл. 3. Теория графов и мографов заданного графа G abcdekfmnp 1101001010 1111100000 0111100100 11110 0 0 10 0 0 110 10 0 0 11 0000011101 10 0 0 0 110 10 0011010101 1000101010 0000110101 а ь с d е к f т п р получаем, что реберное число внешней устойчивости /3i(G) графа G равно 3: \{Ь, т, п}| = 3. § 3.6. Вложение графов Рассмотрим топологические свойства графов. Топология иссле- исследует свойства графов, инвариантные относительно гомеоморфных преобразований. Эти свойства определяются топологическими ин- инвариантами. Два графа гомеоморфны, если они изоморфны с точностью до вершин степени 2. Другими словами, два графа гомеоморфны, если они преобразуются до графов, изоморфных друг другу, заме- заменой некоторых ребер цепями соответствующей длины. Род поверхности — это наибольшее число простых замкну- замкнутых кривых на поверхности, которые не разъединяют эту поверх- поверхность. Сфера и плоскость являются поверхностями нулевого рода, поскольку их разъединяет любая замкнутая кривая. Тор — по- поверхность первого рода. Любая поверхность р-ro рода эквива- эквивалентна сфере с р ручками. Род графа y(G) — это минимальный род среди всех поверхно- поверхностей, на которых граф G можно изобразить так, чтобы его ребра пересекались только в вершинах. Граф называется планарным, если изображается на плоскости так, что его ребра пересекаются только в вершинах. Проблема характеризации планарных графов долгое время оставалась нерешенной. В 1927 г. Л.С. Понтрягин доказал (но не опубликовал) критерий планарности, который неза- независимо от него был открыт и опубликован польским математиком Куратовским в 1930 г. Теорема 3.18 (Л.С. Понтрягин). Граф планарен тогда и только тогда, когда он не содержит подграфа, гомеоморфного F5 или ДГ3,з (рис. 3.20). Основываясь на критерии Понтрягина, можно получить еще один критерий планарности, если ввести понятие элементарного стягивания, которое состоит в следующем. При стягивании лю- любого ребра графа оно выбрасывается, а обе его вершины а и Ь (рис. 3.21), коинцидентные ему, отождествляются; полученная при § 3.6. Вложение графов 195 этом вершина коинцидентна тем же ребрам, что и a, b (кроме ребра, которое выброшено). Теорема 3.19. Граф планарен тогда и только тогда, ко- когда он не содержит подграфов, стягиваемых к Fs или к Кз,з- В 1932 г. американец Уитни ввел еще один критерий планар- планарности, использовав понятие абстрактной двойственности графа. Граф G* называется абстрактно двойственным к G, если между ребрами графов G и G" существует взаимно однозначное соответ- Рис. 3.21 ствие; подмножеству ребер из G, образующих цикл в G, соответ- соответствует подмножество ребер из G*, образующих разрез в G*. Если G содержит висячую вершину v, s(v) = 1, то в G* по- получается петля. На рис. 3.22 изображены графы G и G*, причем граф G изображен штриховыми линиями. Теорема 3.20 (Уитни). Граф является планарным тогда и только тогда, когда существует абстрактно двойственный к нему граф.
196 Гл. 3. Теория графов и мографов §3.6. Вложение графов 197 Рассмотрим задачу, возникшую при проектировании печатной схемы. При изготовлении электронных приборов соединительные провода наносят печатным способом на плоскую поверхность изо- изоляционного материала. Печатные проводники не изолированы, по- поэтому они не должны пересекаться. Однако расположение прибо- приборов на плате может быть таким, что невозможно избежать пересе- пересечения, поэтому, чтобы правильно спроектировать печатную схему, надо знать, является ли граф, в котором роль вершин играют приборы, а ребрами служат соединения между ними, планарным. Бели граф непланарный, то печать должна проводиться на не- нескольких плоскостях и необходимо знать либо число скрещива- скрещиваний графа (наименьшее возможное число пересечений при изо- изображении его на плоскости), либо его толщину. Толщиной графа G называется наименьшее число планарных графов, объединение которых дает G. Толщина планарного графа равна 1. Нижняя оценка толщины t(G) графа G = (V, U), определяется неравен- неравенством п t{G) > 6(п-2) C.16) где ] [ — целая часть, |У| = n, s,- — степень i-й вершины. Рассмотрим граф, изображенный на рис. 3.23, а. Определим, можно ли осуществить однослойную печать, и если нет, то вы- Рис. 3.23 ясним, сколько потребуется слоев и какие ребра следует удалить, чтобы граф стал плоским. Согласно критерию Понтрягина этот граф является непланар- ным, поскольку содержит подграфы, гомеоморфные Fs (рис. 3.24, а) и КГ3>з (рис. 3.24,6). Толщина графа G ие меньше 2: Чтобы определить, какие ребра необходимо удалить для пре- преобразования графа в планарный, выделим все запрещенные фи- фигуры и построим двумерную таблицу, каждая строка которой вза- взаимно однозначно соответствует запрещенной фигуре Q,-, а стол- столбец — ребру pj. Тогда покрытие строк столбцами этой таблицы определит, какие ребра необходимо удалить, чтобы граф стал пла- *Рис. 3.24 Парным. Минимальное покрытие будет соответствовать минималь- минимальному решению, так как удаление любого ребра выводит запрещен- запрещенную фигуру из класса подграфов, гомеоморфных F^ или Кз,з- Таблица для рассматриваемого графа имеет следующий вид: Таблица 3.1 Qi Яг Pi {1,2} 1 {2,6} 1 {2,3} 1 1 {1,6} 1 {6,7} 1 ОД} 1 {2,4} 1 1 {2,П 1 {3,6} 1 1 {»,7} 1 1 {».«} 1 {4,6} 1 1 {«,*} 1 1 {5,7} 1 1 Минимальное покрытие содержит одно из ребер' {2, 3}, {2, 4}, |3, 6}, {3, 7}, {4, 6}, {4, 5} или {5, 7}. После удаления, например, ребра {3, 6} получаем планарный граф, плоское представление ко- ДОрого изображено на рис. 3.23,6. Соединение, которое соответ- соответствует удаленному ребру (показано штриховой линией), реализу- реализуется на второй плоскости. Толщина t(G) графа G равна 2. Большой практический интерес представляет проблема вло- вложения графов в другие графы, имеющие специальные структур- ные свойства. Важным классом таких графов является класс «-мерных кубов. Они находят применение в теории кодирования При передаче данных и при проектировании автоматов. Обозна- Обозначим n-мерный куб через Яп. Мощность его носителя равна 2П, мощность сигнатуры — п • 2П~1. Введем метрику на графе #„ следующим образом. Пусть неот- неотрицательная функция от двух переменных d(a, b) определяет рас- расстояние между двумя вершинами a, b G Нп, равное числу ребер в кратчайшей простой цепи, соединяющей а и 6. При этом выпол- выполняются следующие условия: 1) d(a, a') = 0 тогда и только тогда, когда вершины а, и а' Совпадают;
198 Гл. 3. Теория графов и мографов §3.6. Вложение графов 199 )() () 3) d(a, b) + d(b, с) > d(a, с) для любых а, Ь, с € Нп. Следовательно, множество вершин n-куба вместе с введенной таким образом метрикой, является метрическим пространством, которое назовем булевым пространством. Если метрика введена в данное множество, то она введена и в любое его подмножество как ограничение функции d. Поэтому всякий подграф n-куба также есть метрическое пространство. Рассмотрим задачу вложения графа G в булево пространство Нп. Граф G = (V, U) называется вложимым в булево простран- пространство Нп = (Уц, Uh) или кубируемым, если существует соответ- соответствие <р между вершинами графа G и гиперкуба Нп такое, что если ("a, vp) e U, то (<p{va), <p(vp)) G Uh- Кубируемый граф не следует путать с кубическим графом — графом, каждая вершина которого имеет степень, равную 3. Так как n-куб является двудольным графом, то в соответствии с теоремой Кёнига все его простые циклы четны, и поэтому любой граф, который содержит подграф, являющийся нечетным циклом, некубируем. Так как n-куб изомор- изоморфен дистрибутивной решетке, то граф Кёнига _Кз,з (рис. 3.25) также явля- является некубируемым графом. Любой же частичный граф цикла нечетной длины и граф КГз.з вложимы в булево р 3 „ пространство. Следовательно, циклы ис- ' нечетной длины и граф Кёнига Ki>3 являются запрещенными фигурами вложения графа в булево про- пространство. Под запрещенной фигурой в данном случае понимаем критически невложимый граф, т. е. некубируемый граф, у кото- которого все частичные графы кубируемые. Рассмотрим процедуры порождения запрещенных фигур на основе известных. Теорема 3.21 (Грехем). Замена ребра р в грани запрещен- запрещенной фигуры Q на граф Кёнига .К^з без этого ребра р, т. е. на ¦^2,з\Р) порождает новую запрещенную формулу Ti(Q) (рис. 3.26). Порождение запрещенных фигур вложения графов в булево про- пространство с помощью процедуры Грехема (теорема 3.21) показано на рис. 3.27. Характеризация кубируемых графов достаточно сложна из-за трудностей, возникающих при анализе этих комбинаторных струк- структур. Для того чтобы определить причины, мешающие графу быть кубируемым, надо выявить его структурные свойства, сформули- сформулировав, например, условия, описывающие взаимосвязь между его параметрами, которые несут информацию об этих причинах. Рассмотрим некоторые свойства n-куба, влияющие на струк- структуру запрещенных фигур. Максимальная длина цепи, соединяю- шей две вершины va, vp n-куба, равна 2П — 1. Згой цепью явля- является остов графа Нп. Расстояние d(x, у) между двумя вершинами х, у е #„ равно г, г = 1, 2, ..., п. Две вершины х ну n-куба, уда- ленные друг от друга на расстояние, равное диаметру, соединены между собой п! цепями. Теорема 3.22. Если зафиксировать любую вершину п-куба SC G Нп, то множество всех остальных вершин разбивается на п подмножеств V; € Нп таких, что каждая вершина %-го Подмножества и; € Vi имеет расстояние до фиксированной рершины, равное d(x, Uj) = t, а число таких вершин в i-м под- подмножестве равно (") для всех i. Поставим в соответствие каждой вершине n-куба двоичный вектор длины п. Так как n-куб является регулярным графом, каж- каждая вершина которого имеет степень, равную п, то, не теряя общ- общности, в качестве фиксируемой вершины возьмем вершину 00.. .0.
200 Гл.З. Теория графов и мографов § 3.6. Вложение графов 201 Разбив множество вершин n-куба на подмножества вершин, ко- которым соответствуют векторы с равным числом единиц, заметим, что каждая вершина г-го подмножества, которой соответствует век- вектор с i единицами, удалена от рассматриваемой вершины на рас- расстояние, равное г. Количество таких вершин равно ("). Теорема 3.23. В п-кубе количество простых цепей длины к, к<п, между вершинами va, vp, расстояние между которыми d(va, vp) = k и которые не имеют других общих вершин, кроме va, vp, равно к. Все к\ цепей длины к между вершинами va и vp, d(va, vp) = к, образуют fc-куб. В этом кубе минимальная мощность множества отделяющих вершин равна к — количеству вершин, смежных с 1000 1001 0001 иоо юооо -Я 10001 100-10/ \10l00.. П000 7. 00001 01000 Рис. 3.28 va vivp. Отсюда согласно теореме 3.9 количество простых вершин непересекающихся цепей между вершинами va и vp равно к. Полученный результат является важным при изучении запре- запрещенных (критических) графов. Заметим, что число наикратчай- наикратчайших простых (геодезических) цепей между двумя вершинами, а и C, гиперкуба равно расстоянию между этими вершинами. Число же непересекающихся простых цепей' между вершинами n-куба, для которых расстояние по Хеммингу между ними меньше их длины, находится в зависимости от размерности п-куба. На рис. 3.28, а приведены три наикратчайшие цепи, соединяю- соединяющие вершины 000 и 111 в трехмерном кубе. На рис. 3.28,б-г ил- иллюстрируется рост количества цепей длины 3 в кубах размерности 4, 5, 6 соответственно. Теорема 3.24. Граф G = (V,U), включающий в себя к вершинно не пересекающихся простых цепей длины к между вершинами а, C € V, da{at, /?) = к, вложим в п-куб Нп, причем расстояние по Хеммингу между вершинами а и /3 остается неизменным (т. е. djj(a, C) = da(a, /3) = к), тогда и только 1000 1001 1011 Рис. 3.29 тогда, когда две любые смежные вершины графа G а, Ь € V входят в цикл {а, Ь} е {{а, Ь}, {Ь, с}, {с, d}, {d, а}} длины 4 (рис. 3.29) такой, что если dif(a, a) = maxd#(a, г) = t, г — о, Ь, с, d, то dH(a, Ь) = dH(a, d)=t-l, dH{a, c) = t-2. Теорема 3.25. В критическом графе Q = {V, U) найдутся две вершины а, /3, расстояние между которыми равно диа- диаметру d(a, /3) = d(Q), а число к простых путей на единицу больше: к = d(Q) + 1. Сформулируем несколько теорем, позволяющих порождать за- запрещенные графы вложения в п-куб. Теорема 3.26. Если G — критический граф, то граф Тг (G) Шакже критический тогда и только тогда, когда степень вер- вершины а больше степени вершины b, m. e. s(a) > s(b) (рис. 3.30), U преобразование не приводит к образованию критического подграфа (т. е. G не содержит четыре вершинно непересекаю- непересекающиеся простые цепи длины 3 между вершинами а, Ь, а подграф Н графа T2(G) не представляет собой две вершинно непересе- непересекающиеся цепи длины 3).
202 Гл. 3. Теория графов и мографов Теорема 3.27. Замена любого ребра (a, b)?G критическо- критического графа G на к вершинно непересекающихся простых цепей длины 3 тогда и только тогда приводит к образованию кри- критического графа T^(G), когда к удовлетворяет одному из сле- следующих условий: 1) Jfc = 1, если удаляемое ребро является общим ребром двух циклов длины 4; 2) к = 2, если s(a) = 3, s(b) = 2 и вершины а, Ь принадлежат циклу длины 4; 3) Jfc = m + 2-s(a), если s(a) > s(b) ит = d(G'), где d(G') — диаметр графа G', полученного из графа G заменой удаленного ребра цепью длины 3; 4) к = 4, если удаляемое ребро инцидентно вершинам сте- степени 2: s(o) = s(b) = 2. §3.6. Вложение графов 203 Рис. 3.30 Теорема 3.28. ГрафЩС) (T^(G)) (рис. 3.31) критический тогда и только тогда, когда является критическим граф G. Теорема 3.29. Граф T^(G) критический тогда и только тогда, когда граф G критический (рис. 3.32). Теорема 3.30. 2?сли G — критический граф, то граф Te{G) критический тогда и только тогда, когда подграф Н содер- содержит точку сочленения, и число добавляемых цепей определя- определяется из условия где а, Ь € Н при s(a) > s(b), и граф G' получается из графа G заменой цепи длины 2 между вершинами а, Ь на цепь длины 4 (рис. 3.33, о). Пример преобразования, задаваемого данной теоремой, для подграфа Н приведен на рис. 3.33, б, где s(a) — s(b) — 2, диаметр есть d(G') = 4nJfc = 4+l-2 = 3. Множество запрещенных графов вложения в n-куб является счетным. На рис. 3.34 приведены критические графы с мощ- мощностью носителя от 8 до 17, часто встречающиеся на практике. Среди них имеются как графы, полученные с помощью приведен- приведенных преобразований Г„ г = 1, 2, ..., 6, так и графы, не имеющие предшественников. При порождении запрещенных фигур необходимо проверить полученные графы на изоморфизм. Рассмотрим алгоритм установ- Рис. 3.31 Рис. 3.32 ления изоморфизма между графами Ga, Gb, основанный на частот- частотном разложении моделей \Pa(Ga), Фб(?б), построенных по этим графам.
204 Гл. 3. Теория графов и мографов 1. С помощью алгоритма, приведенного выше, выделяем пол- полные подграфы в графах Ga, Gb- Выделенные подграфы образуют слова в соответствующих моделях ^a(Ga), Фб(<2б)- 2. Находим частотные разложения моделей 4/a(Ga), ^b(Gb). Определяем равенство коэффициентов в разложениях. Если ча- частотные разложения равны, то графы Ga и Gb изоморфны. Из равенства разложений тривиально определяем изоморфизм. Если частотные разложения не равны, то графы Ga и G& не изо- изоморфны. Проиллюстрируем алгоритм иа примере установления изоморфизма между графами Ga и Gb (рис. 3.35). Пункт 1 алгоритма выполняется тривиально, так как графы двудольные (пол- (полными подграфами являются ребра). Отсюда следует, что модели Фа и Фь соот- соответственно совпадают с графами Ga и Gb' *a = (Va,Si), V. = {a,0,...,t}, & = {{<*, P), {<*, 8}, {a, (}, {J3, e}, {y, lx}, {y, (}, {fi, e}, {e, 6], {e, v}, {v, tj), {r?, (}}; *b = {Vb, S^}, Vb = {a,b, ..., m}, 5a = {{«», b}, {a, c}, {a, d}, {a, e}, {b, /}, {c, g}, {d, g], {e, k], {/, m}, {p, m}, {fc, m}}- § 3.6. Вложение графов 205 n-8 n-11 n-10 n-12 n-13 n-14 Рис. 3.34
206 Гл. 3. Теория графов и мографов Частотные разложения моделей Фа и Фь имеют следующий вид: = За2 о 2/32 о 2т2 о 2ц2 о 4е2 о 2«52 о 2i/2 о 2ц о 3B о оа0оа6оа{о 0с о щ оу( о цс о с8 оси our} о г)?, = 4а2 о 2Ь2 о 2с2 о 2d2 о 2е2 о 2/2 о Зр2 о 2fc2 о Зт2 о аЪ о ас о о ad о ае о bf о сд о dg о ек о fm о рт о jfcm. Частотные разложения равны: F(*a) = F(*b). Графы Ga и Gb изоморфны. Для определения изоморфизма устанавливаем взаимно однозначное соответствие m Рис: 3.35 между буквами с одинаковыми спектрами частот: е ++ а, ц Н Ь(е), /3 <-»• c(d), i/ Н е(Ь), Л <->¦ d(c), 7 ++ f(k), а <->¦ р, г, Н fc(b), ? ++ m. При определении изоморфизма ориентированных графов в пред- предложенный алгоритм добавляют третий пункт. 3. Если графы Ga и Gb изоморфны без учета ориентации, рас- рассматривая соответственные пары вершин, определяем сохранение изоморфизма графов с учетом ориентации. Другой алгоритм определения изоморфизма графов заключа- заключается в последовательном разбиении классов вершин графа, каж- каждый из которых состоит из вершин, имеющих равные степени, на основе подсчета количества ребер, связывающих рассматриваемую вершину с вершинами эхих классов. Рассмотрим два графа, Ga и Gb (рис. 3.36, а, б). Носитель графа <3О по значе- значению степеней вершин разбивается на четыре класса: К\ = {1, 2, 6}, К3 = {4}, Кг = {3}, Ki — {5}. Носитель графа <3ь также разбивается на четыре класса: Ку = {Ь, с, /}, Ki = {е}, Щ = {a}, K'A = {d}. Количество классов и их мощности совпадают; следовательно, графы Ga и Gb могут быть изоморфны, при этом изоморфизм г) отображает, очевидно, вершины 3, 4, 5 в а, е. d соответ- соответственно: а = Г7C), е = rjD), d - rjE). Определим количество связей вершин 1, 2, 6 в графе Ga и вершин Ь, с, f в графе <3ь с вершинами выделенных классов. Для этого построим двумерную таблицу (табл. 3.2), каждой строке которой взаимно однозначно соответствует §3.6. Вложение графов 207 выделенный класс, столбцу — вершина, а на пересечении (i, j) указывается количество связей j'-й вершины с вершинами i-ro класса. Таблица 3.2 Ki Ki к2 Кг к4 1 2 0 0 1 2 1 0 1 1 6 1 0 1 1 ь 1 0 1 1 с 2 0 0 1 / 1 0 1 1 к[ к\ Ki Кг К', Анализируя таблицу, замечаем, что класс К\ разбивается иа два класса: Ki = {2, 6} и Къ = {1}; класс К[ также разбиваетсяна два класса: К[ — {о, /} н К'-, = {с}. Если эти графы изоморфны, то с = rj(l). Для установления соот- Рис. 3.36 ветствующих вершин графов Ga, Gb строим таблицу (табл. 3.3) для полученного разбиения вершин. Таблица 3.3 Ki Ki Кг Кг К* Кц 2 0 0 1 1 1 6 0 0 1 1 1 6 0 0 1 1 1 / 0 0 1 1 1 кг к? кц к3' к; ks Одинаковые столбцы указывают на то, что вершина 2 (вершина 6) может быть сопоставлена как вершине Ь, так и /. Получено два соответствия, г\ и г/, так как окрестности вершин 2 и 6 совпадают. Выбрав одно из них и прове- проверив его иа изоморфизм, делаем вывод, чтс рассматриваемые графы изоморфны (рис. 3.36,в).
208 Гл.З. Теория графов и мографов § 3.7. Раскраска вершин и ребер графа. Характеризацин реберности Раскраской вершин графа G = (V, U) в к цветов (или к-рас- краской) называется разбиение носителя V графа G, при котором каждое подмножество не содержит ни одной пары смежных вершин. Каждому подмно- подмножеству сопоставляется цвет, в который окрашивают все элементы этого подмножества. Вершины, окрашенные в один цвет, будем называть соцветными. Хроматическим числом h(G) графа G называется минималь- минимальное число п, для которого граф имеет n-раскраску. Граф, хрома- хроматическое число которого равно п, называется п-хроматическим; если же h(G) < п, то граф G называется п-раскрашиваемым. Очевидно, что 1-хроматическим граф может быть тогда я толь- только тогда, когда он является пустым графом. Для 2-хроматических графов справедлива следующая теорема. Теорема 3.31 (Кёниг). Граф является 2-хроматическим тогда и только тогда, когда он не содержит циклов нечет- нечетной длины. Отметим, что аналогичная теорема задает и условие двудольно- сти. Поэтому все 2-хроматические (двуцветные) графы являются двудольными. Любое дерево, поскольку оно является двудольным графом, двуцветно. Оценим хроматическое число графа через его параметры. Теорема 3.32. Если максимальная степень вершин графа G равна s(G), то хроматическое число этого графа не превы- превышает величины s(G) +1: h(G) < s(G) + 1. C.17) Для большинства графов эту оценку можно улучшить. Теорема 3.33 (Брукс). Граф G со степенью s{G) является s-раскрашиваемым, за исключением двух случаев: 1) при s(G) > 2 граф G содержит компоненту, являющуюся полным графом плотности, равной s(G) + 1; 2) при s(G) = 2 граф G содержит компоненту, являющуюся циклом нечетной длины. Оценки, полученные с помощью этих теорем, дают, однако, хорошее приближение лишь тогда, когда степени всех вершин графа имеют близкие значения. В противном случае оценка может быть значительно завышена. Например, граф Кёнига Кх<п (звезд- (звездный граф) согласно теореме Брукса является п-раскрашиваемым, в действительности же он двудольный, и поэтому для его раскраски достаточно двух красок. §3.7. Раскраска вершин и ребер графа 209 Теорема 3.34 (Берж, Оре, Харрари). Для любого графа G = L-l<h(G)<\V\-po + l, C.18) где /Зо — вершинное число независимости графа. Теорема 3.35 (Гаддум, Нордхауз). Сумма и произведение хроматических чисел графа G = (V, U) и его дополнения G = = (V, U) удовлетворяют неравенствам 2y/\V\[<h(G)+h(G)<\V\ C.19) где ] [ — целая часть. Теорема 3.36. Хроматическое число h(G) графа G удовле- удовлетворяет следующим соотношениям: h(G) < H(Ga) • h(Gb), G = GaUGb; C.20) h(G) = h(Ga) + h(Gb), G = Ga+ Gb, GaC\Gb = 0; C.21) h(G) <m\n (h(Ga),'h(Gb)), G = GaxGb. C.22) Аналогично раскраске вершин графа определим раскраску его ребер. Раскраской ребер графа G = (V, U) называется разбиение сиг- сигнатуры U графа U = UUi, UiaC\Uig = 0, а ф C, при котором каж- t p дое подмножество {/,- не содержит ни одной пары смежных ребер. Каждому подмножеству сопоставляется краска, при этом ребра, принадлежащие одному и тому же подмножеству, называются со- соцветными. Граф G называется реберно k-раскрашиваемым, если его ребра можно раскрасить к красками так, чтобы никакие смеж- смежные ребра не были окрашены одним цветом. Хроматическим классом (хроматическим индексом) графа называется число Jfc такое, что граф является реберно fc-раскраши- ваемым, но его ребра не могут быть раскрашены в к — 1 цветов. Хроматический класс графа G обозначается H(G). Например, хроматические классы для двудольных графов Н(К\^ и Я(К,з) равны соответственно 4 и 3. Хроматический класс H(G) графа G совпадает с хроматиче- хроматическим числом графа G' = (X1, Г'), определяемого следующим обра- образом: вершины X' взаимно однозначно соответствуют ребрам графа G и х'а € Тх'ь, когда соответствующие ребра графа G смежны. Сле- Следовательно, задача определения хроматического класса сводится к Задаче определения хроматического числа.
210 Гл. 3. Теория графов и мографов В связи со сведением раскраски ребер графа к раскраске его вершин рассмотрим важное свойство графов — свойство реберно- сти. Граф G = (V, U) обладает свойством реберности тогда и толь- только тогда, когда существует взаимно однозначное соответствие, при котором каждая вершина и,- € V графа G сопоставлена ребру uj € U графа G = (V, U), при этом матрица смежности вершин графа G подобна матрице смежности ребер графа G. Дв*е матрицы подобны, если они совпадают с точностью до перестановки строк (столбцов). В общем случае граф G может быть мультиграфом, т. е. графом с параллельными ребрами. Теорема 3.37. Граф G обладает свойством реберности тогда и только тогда, когда он разложим по аддитивной опе- операции ^объединение" G = UF,- ко полные подграфы {Fi}, в ко- i торые каждая вершина входит не более двух раз. Пример 3.13 (рис. 3.37). Рассмотрим свойство ребериости графа G = {V,U), V = {a,b,c,d,e}, U = {{а, Ь}, {а, с}, {a, d}, {а, е}, {Ь, с},{Ь, d}, {с, «Q, {с, е}, {d, e}}. Граф G разложим на два полных подграфа, G = Fa U Fp (рис. 3.37, а): Fa = (Va, Ua), Va = {а, Ь, с, «Q, Ua = {{а, Ь}, {а, с}, {a, d], {b, с}, {b, d}, {c, d}}, Fp = (Vp, Up), Vp = {a, c, d, e}, Up = {{a, c}, {a, d], {a, e}, {c, d], {c, e}, {d, e}}, Va П Vp = {a, c, d]. Условия теоремы 3.37 выполнены, граф G обладает свойством реберности, соответствующий ему реберио производный граф G изображен иа рис. 3.37, б. Рис. 3.37 Рис. 3.38 §3.7. Раскраска вершин и ребер графа 211 Если наложить ограничения на декомпозицию исходного графа G, а именно при разложении графа G на полные подграфы не до- допускать повторения ребер в полных подграфах, то реберно произ- производный граф G не будет содержать параллельных ребер, т. е. он будет обыкновенным графом. Теорема 3.38. Граф G обладает свойством реберности и соответствующий ему реберно производный граф G является обыкновенным графом тогда и только тогда, когда сущест- существует разбиение сигнатуры графа G на полные подграфы, в ко- которые каждая вершина входит не более двух раз. Пример 3.14. Определим, имеет ли граф G = (V, U) (рис. 3.38) реберно производный граф. Граф G можно разложить иа 4 полных подграфа: <i, i); ft =(%,%>, ft = <%,?/¦,), Vi = {a, b, e}, Vt = {a, c,d], V3 = {Ь, с, k], Ui = Ut = U3 = 17,= ,{a, b}, {a, e}, {b, e}} {a, c}, {a, d], {c, d}) fb.c},{b,k], {c,k}}, h {d, к}, {е, к}}. Каждая вершина v, ? V входит в полные подграфы Fi, i = 1, ..., 4, по два раза (рис. 3.38, а). Условия теоремы 3.37 выполнены, реберио производный граф G изображен на рис. 3.38, б. При построении реберно производного графа G = (V, U) ка- каждой вершине и,- € V со степенью s(vi) > 1 сопоставляют вы- выделенный в графе G полный граф Fi С G. Ребра, инцидентные вершине и,- € V, взаимно однозначно соответствуют вершинам графа G, образующим этот полный подграф Fi. Вершина и,- € V со степенью s(u,) = 1 коинцидентна ребру pj, которому соответствует вершина vj G V, вхо- входящая в выделенные полные подграфы один раз. Используя свойства реберной раскраски гиперкуба, предложим оптимальный алго- алгоритм вложения графа G в гиперкуб. Оче- Очевидно, что хроматический класс Н(Нп) п- мерного куба Нп равен его размерности п: — Н(Нп) = п. При этом соцветные ребра гиперкуба образуют его разрез. Например, при п = 3 каждое множество соцветных ребер a = {{0, 4}, {1, 5}, {2, 6}, {3, 7}}, Ь= {{0,2}, {1,3}, {4, 6}, {5, 7}}, с={{0, 1}, {2,3}, {4,5}, {6,7}} образует разрез (рис. 3.39). В то же время множество ребер {{1, 3}, {2, 3}, {5, 7}, {6, 7}} также является разрезом, хохя при этом ре- ребра не являются соцветными: не образуют пустого реберного под-
212 Гл.З. Теория графов и мографов графа. Отсюда нетрудно доказать теорему 3.39, введя понятие паросочетательного разреза. Разрез называется паросочетательным, если его ребра обра- образуют пустой реберный граф. Теорема 3.39. Граф G вложим в гиперкуб тогда и только тогда, когда множество пустых реберных подграфов включает все паросочетательные разрезы этого графа. Из этой теоремы получаем алгоритм вложения графа G в ги- гиперкуб. 1. Строя соответствующее дерево, выделяем реберно независи- независимые подмножества (пустые реберные подграфы). Ребрам каждого из этих подграфов можно сопоставить одну и ту же краску. 2. Из полученного в п. 1 списка выделяем подмножества, каж- каждое из которых образует разрез графа G. 3. Используя выделенные в п. 2 подмножества, раскрашиваем ребра заданного графа. 4. Проверяем, образует ли каждое множество соцветных ребер разрез графа. Если нет, минимальным сужением сигнатуры или расширением носителя эквивалентируем (заменяем эквивалентом в смысле решаемой задачи) заданный граф G графом G, удовле- удовлетворяющим условиям теоремы 3.39. Если да, переходим к п. 5. 5. Производим фактическое вложение графа, полученного в п. 4, в булево пространство. При этом краска ребра взаимно однозначно соответствует разряду двоичного вектора, идентифицирующего вер- вершину гиперкуба. При переходе через ребро {и,-, и,}, окрашенное в г-ю краску, двоичные коды вершин и,- и vj отличаются в г-м разряде. 6. Конец. Пример 3.15. Вложим граф G (рис. 3.40,а) в булево пространство Я, используя рассмотренный алгоритм. 1. Дерево, определяющее распределение пустых реберных подграфов, содер- содержит 20 висячих вершин, каждая из которых соответствует пустому реберному подграфу (рис. 3.40, б). 2. Четыре пустых реберных подграфа образуют разрезы заданного графа: Ei = {2, 5, 8}, Ei = {1, 6, 8}, Е3 = {4, 7, 9}, Et = {3, 7, 10}. 3. Раскрашиваем ребра заданного графа G с помощью покрытия столбцов строками двоичиой таблицы, в которой строке взаимно однозначно соответствует пустой реберный граф, полученный в п. 2, столбцу — ребро, а на пересечении i-й строки с j-м столбцом стоит 1, если i-й пустой реберный подграф содержит j-t ребро, и 0 — в противном случае (табл. 3.4). Имеем четыре раскраски Ri(G) графа G: RX{G) = {{2, 5, 8}, {1, 6}, {4, 7, 9}, {3, 10}}, R*(G) = {{2, 5, 8}, {1, 6}, {4, 9}, {3, 7, 10}}, R3{G) = {{2, 5}, {1, 6, 8}, {4, 7, 9}, {3, 10}}, R<(G) = {{2, 5}, {1, 6, 8}, {4, 9}, {3, 7, 10}}. §3.7. Раскраска вершин и ребер графа 213 Таблица 3.4 Ei {2,5,8} {1,6,8} {4,7,9} {3,7,10} Pi 1 1 2 1 3 1 4 1 5 1 6 1 7 1 1 8 1 1 9 1 10 1 4. Проверяем, образует лн каждое множество соцветных ребер разрез графа. В каждой раскраске имеются соцветные вершины, не являющиеся разрезом за- Рис. 3.40 {1.6} {2, 5} {7} {8} {3,4} {9,10} {3,10} {4,9} Рис. 3.41
214 Гл. 3. Теория графов и мографов данного графа: {1, 6}, {3, 10}, {4, 9}, {2, 5}. Для выполнения условий тео- теоремы 3.39 необходимо удалить из графа G любой элемент множества {{7}, {8}, {3, 4}, {9, 10}, {3, 10}, {4, 9}}, выбрав соответствующую раскраску ребер гра- графа G (рис. 3.41). Бели предметная интерпретация задачи требует реализовать это эквивален- тирование ие сужением сигнатуры, а расширением носителя, то соответствую- соответствующие ребра заменяют цепью; лри этом необходимо, чтобы ие нарушился прин- принцип четности. Задача определения минимальных сужения сигнатуры или рас- расширения носителя графа G сводится к покрытию соответствующей двоичной таблицы. В данном примере выбираем ребро 7 и, заменяя его цепью длины 3, получаем гомеоморфный граф G, эквивалентирующий заданный граф G и обла- обладающий свойством вложимости в булево пространство. Используя первую рас- раскраску, fli(G), раскрашиваем ребра {2, 5, 8}, {1, 6, 11}, {4, 7, 9}, {3, 10, 12} графа G (рис. 3.42,а). 0100 1100 ООН Рис. 3.42 5. Сопоставим множества соцветных ребер разрядам двоичного вектора: ху = {2, 5, 8}, х2 = {1, 6, 11}, хг = {4, 7, 9}, ц = {3, 10, 12}. Кодированием вершин графа G производим фактическое вложение графа G в булево простран- пространство (рис. 3.42, б). Теорема 3.40. Если G — двудольный граф и его степень равна s(G), то H(G) = s(G). C.23) Теорема 3.41. Хроматический класс любого полного графа на п вершинах Н(Кп) равен п, если п нечетное (пф1), и равен п — 1, если п четное. Приведем точный алгоритм минимальной раскраски вершин (ребер) графа G, т. е. алгоритм определения хроматического числа h(G) (хроматического класса H(G)). 1. Выделяем множество вершинно пустых (реберно пустых) подграфов графа G. 2. Строим двумерную таблицу, каждой строке которой сопоста- сопоставляем взаимно однозначно пустой подграф, столбцу — вершину (ребро): в клетке (г, j) записываем 1, если j-я вершина (j-ребро) §3.7. Раскраска вершин и ребер графа 215 содержится в t-м пустом подграфе; в противном случае клетку оста- оставляем пустой. 3. Определяем покрытие столбцов строками. Каждое покрытие порождает раскраску. Покрытие минимальной мощности опреде- определяет хроматическое число (хроматический класс) графа G. В случае большого графа G = (У, U), когда мощность его носи- носителя равна нескольким сотням и тысячам вершин, рассмотрим сле- следующий алгоритм [39], использующий частотные свойства графа. 1. Производя \U\ сравнений, определяем пару смежных вершин va и vp графа G = {V, U), для которого функционал C-24) принимает максимальное значение. Равенство этого функционала нулю означает, что ребро {va, vp) не входит в треугольник, и чем больше значение C.24), тем в подграф большей плотности это ре- ребро может входить. 2. Найденную пару вершин раскрашиваем, и им взаимно од- однозначно сопоставляем столбцы в двумерной таблице, строкам ко- которой взаимно однозначно сопоставляем вершины, смежные хотя бы с одной раскрашенной вершиной; в клетке (г, j) ставим 1, если t-я и j-я вершины смежны, и 0 в противном случае. 3. Выбираем строку с максимальным числом единиц. 4. Если для выделенной в п. 3 t-строки найдется j-й столбец, на пересечении с которым находится 0, то соответствующую г'-ю вер- вершину раскрасим в j-ю краску и произведем склеивание соцветных по j-Vi краске вершин. В противном случае г-ю вершину раскрасим в новую краску, увеличивая количество столбцов в таблице на 1. 5. Если осталась хотя бы одна неокрашенная вершина, то пе- переходим к п. 3, в противном случае — к п. 6. 6. Конец. Число красок при раскраске вершин графа G = (V, U) равно количеству столбцов в итоговой таблице. Пример 3.16. Раскрасим вершины графа G = (V, U) (рис. 3.43,а), ис- используя рассмотренный алгоритм. Рис. 3.43
216 Гл. 3. Теория графов и мографов 1,2- Максимальное значение функционала <p{{va, f/э}) согласно C.24) равно 0,25 при рассмотрении вершин 1 и 4: maxv»({«<., vp}) = 0,25, va = 1, vp = 4. Получаем табл. 3.5. 3. Выбираем первую строку. 4. Раскрашиваем вершину 2 в новую краску, в результате получаем новую табл. 3.6. 5. Неокрашенные вершины имеются; следовательно, переходим к п. 3. 3. Выбираем первую строку. 4. Вершина 3, соответствующая первой строке, соцветна вершине 1; раскра- раскрашиваем вершину 3 и склеиваем ее с вершиной 1. Получаем табл. 3.7. Таблица vi e Tvj 2 3 5 6 3.5 «i 1 1 0 1 0 4 1 1 1 1 Таблица Vi €; T'Vj 3 5 6 8 3.6 1 0 1 0 0 4 1 1 1 0 2 1 0 0 1 Vi ? Г"; 5 6 7 8 Таблица {1,3} 1 0 1 0 vi 4 1 1 0 0 3.7 2 0 0 0 1 Выполняя этот алгоритм последовательно, получаем табл. 3.8-3.10. Таблица 3.8 Таблица 3.9 Vi €; TV.' 6 7 8 Vj {1,3} 0 1 0 4 1 0 0 {2,5} 1 0 1 vi € Tvj 7 8 Vj {1,3,6} 1 0 4 0 0 {2,5} 0 1 Таблица 3.10 vi € Tvj 8 vi {1,3,6} 0 {4,7} 1 {2,5} 1 Окончательно получена раскраска исходного графа G = {V, U) в три краски (рис. 3.43, б): а = {1, 3, 6, 8}, Ь = {4, 7}, с = {2, 5}. Плотность графа G равна 3. Следовательно, полученная раскраска является минимальной. § 3.8. Квазиполные модели, их структура и свойства Будем рассматривать модели Ф со свойством симметричности Ф = (М,51_,52|..., 5„>, Si CM4, г = 1,2,..., п, т. е. каждое ребро модели представляет собой подмножество мно- множества М. В дальнейшем ребро будем называть словом, элемент носителя М — буквой. Подмоделью Ф' модели Ф называется модель Ф', полученная из модели Ф вычеркиванием хотя бы одной буквы из слова, Ф' СС Ф. Раскраской Д(Ф) модели Ф называется такое разбиение ее но- носителя, что ни одна из пар букв, входящих в слово, не принадле- принадлежит подмножеству этого разбиения. § 3.8. Квазиполные модели, их структура и свойства 217 Обозначим множество красок минимальной мощности при рас- раскраске модели Ф через (Ф) а раскраску — через Дт Квазиполной моделью Ф^(д) называется модель, в которой при Rmin{VQ) необходимо q красок, \К(^)\ = q, а при Лтш(Ф'). Ф' СС Ф^, достаточно q' красок, q' < q. Число д(Ф^) при этом называется квазиплотностью квазиполной модели фЗ. Квазиплотностью д(Ф) модели Ф называется число где Ф^ С Ф для любого г. Плотностью р(Ф) модели Ф = (М, Si, S2, •¦¦, Sm) называ- называется число р(Ф) = maxs,', где si — степень словесного отношения Si (i — 1, 2, ..., m). Порядком Л(Ф) модели называется число *(Ф) = д(Ф)-р(Ф). Очевидно, что Л(Ф) > 0. Модель Ф квазиплотности q обозначим Ф(д). Модель Ф плотно- плотности р и порядка к обозначим Ф(р, к). Краску Na, сопоставленную буквам тц, т,2, ..., т,п, обозначим iVa(m,i, т,2, ..., пг,п). Частным случаем квазиполных моделей является квазиполный граф. Квазиполным графом Q(q) называется граф Q, для минималь- минимальной раскраски которого необходимо q красок, а при раскраске лю- любого собственного частичного графа Q , Q' С С Q, достаточно q' красок, q' < q. Число красок q при этом называется квазиплот- квазиплотностью квазиполного графа Q. Квазиплохность q(G) графа G определяется выражением q(G) = max qi{Qi), QiCG. C.25) Порядок k(Q) квазиполного графа Q(q) есть HQ) = q(Q)-p(Q). Порядок k(G) графа G есть C.26) C.27) Условимся квазиполный граф Q плотности р и порядка к обо- обозначать Q(p, к), а граф с такими же характеристиками — G(p, к).
218 Гл. 3. Теория графов и мографов Квазиполные графы QB, 0), QB, 1), QB, 2) и QB, 3) изобра- изображены на рис. 3.44. О—Ос<2,о> 6B.3) Рис. 3.44 Теорема 3.42 (основное свойство квазиполных моделей). Для любой буквы т квазиполной модели Ф^(д) = (М, Si, 5г, ..., Sm) существует минимальная раскраска Rmin(^), при которой не найдется буквы та Е М, не равной m (тп ф тпа) и имеющей ту же краску, что и т. Доказательство. Пусть для произвольной буквы т € М 9 (М, Si, 5г, ..., 5т)) не существует такой минимальной раскраски Rmm{4f^(q)), т. е. при каждой минимальной раскраске ¦йщ|п(Ф<') найдется хотя бы одна буква та € М, тп ф тпа, имею- имеющая ту же краску, что и тп. Но тогда после удаления тпа из Ф^ получаем выражение |/^(Ф^)| = q, что противоречит определению квазиполной модели Ф^(д). Следствие. При вычеркивании любой буквы из любого эле- элемента квазиполной модели Ф^(д) ее квазиплотность уменьша- уменьшается ровно на 1. Примечание. В дальнейшем для сокращения записи фор- формулировок лемм и определений будем записывать их на языке логики предикатов. Например, теорема 3.42 на языке логики пре- предикатов запишется в виде Чт){т <Е М(*%) = (М, Sx, S2, (ЭДт!п(Фд))((Эта)(тпа € М)), ( Sm») , та)). C.28) §3.8. Квазиполные модели, их структура и свойства 219 Для изучения структуры и свойств квазиполных моделей вве- введем алгебру А* вида А* = (М, П, U, \), носителем М которой является множество слов, сигнатурой — операции алгебры Кан- Кантора: П — пересечение, U — объединение, \ — разность. Каждое слово р при теоретико-графовом представлении модели Ф соответ- соответствует полному подграфу плотности, равной \р\. Элементом носителя этой алгебры является модель Ф = (М, Si, 5г, •.., St.), определяющая множество подмножеств множества М, которая является дистрибутивной решеткой; для нее справедливы свойства идемпотентности и поглощения (ра U Hb) = П Ца = Pa U (ра П рЬ) - ра- Элементами модели Фа, Фа = где о обозначает одну а, а б с. ду из операций U, П, \, являются полные подграфы, принадлежащие графу Оа(Фа), Са(Фа) = ОЬ(ФЬ) оОс(Фс). Проиллюстрируем введенные операции над моделями: Фь = {{а, х), {х, р), {р, о}, {тп, о}, {тп, а}}, Фс= {{х, о,р}, {тп, о, х}}, Фа = Фб П Фс = {{X, р}, {Р, О}, {ТП, О}}, Фа = ФЬ U Фс = {{х, о, р), {тп, о, *}, {тп, о, *}}, \ {{> {}} Из определения раскраски модели Ф очевидно, что число кра- красок определяется только топологией соответствующего ей мографа GM(*i!), а порядок модели — как топологией, так и распределением идентификаторов слов, взвешивающих вершины мографа GM(ty), а точнее — максимальной степенью словесного отношения. Ис- Исходя из этого, при определении числа красок (в пределе — хрома- хроматического числа модели Ф) будем рассматривать мограф ОМ(Ф) без учета моделизации, т. е. без учета идентификаторов слов, взве- взвешивающих соответствующие вершины мографа СМ(Ф). Вершина v\, v\ $ GM{^), называется замещающей вершину и,-, и,- € GM{4!®), если их сечения равны друг другу: Подграф G'i, G'i = (Vf, Щ), G| ? Gu{^), называется заме- замещающим подграф G,-, d = (VJ, Щ, G,- С GM{VQ), если суще- существует изоморфизм т/ между их носителями Vi A V/, при котором
220 Гл.З, Теория графов и мографов Факт замещения будем записывать в виде Замещающим слоемН(Ф(') квазиполной модели Ф^ = (М, S\, S2, 5з, ..., 5П) называется объединение U Е(Ф,) замещающих под- t графов Е(Ф,), при котором носители подграфов GMDti), GMD/i) = = (Mj, Ui), образуют разбиение носителя М модели Ф^: у Mi = м, (v,o#tbia, ib)(Mia n Mib = 0). При предельном рассмотрении квазиполная модель фЗ и ее замещающий слой Н(Ф^) могут совпадать: Ф^ = Е(Ф^). Теорема 3.43. «)(Э = (М, Su 52, ..., S C.29) Доказательство получаем, основываясь на определениях опера- операций над моделями квазиполной модели. Содержательно замещающий слой Е(Ф^(д)) своими буквами "замещает" все буквы модели Ф^(д), имеющие различные краски при любой минимальной раскраске Rminl "замещает" в том смы- смысле, что каждая краска при любой Rm\n (Ф<э(д) U Е!(Ф<5(д))) соот- соответствует как букве та € Ф^(д); так и букве тр € Н(ф^(д)), т. е. при любой минимальной раскраске Ф<5(д) U Н(Ф<э(д)) имеется д различных пар букв (тоа, тр) таких, что N(ma) = N(mp) = Ы{(та, тр), i = 1, 2, ..., д. В дальнейшем буквы, окрашенные одной и той же краской, при минимальной раскраске будем называть соцветными. Замыкающим замещающий слой Е(Ф^ (д)) слоем О, (Н(Ф'' (д))) называется совокупность вершин Vh, обладающая следующими свойствами: > д), ^ ' ' s(vi) — степень вершины uj; V(E(&Q(q))) — носитель замещаю- замещающего слоя; при минимальной раскраске вершин Vh необходимо g -f- I красок, а при удалении хотя бы одного ребра {va, vp}, va ? е У(Н(Ф<5(д))), vp ? Vh, достаточно g красок. § 3.8. Квазиполные модели, их структура и свойства 221. Для иллюстрации C.30) построим замещающий Е(Ф^C)) и замыкающий слои П(Е(Ф^C))) для квазиполного графа Ф^C): Ф<ЭC) = ({а, Ь, с, d, е}; {{а, Ь}, {Ь, с}, {с, d}, {d, e}, {а, е}}>, Е(Ф'5C)) = ({а', Ь', с', d', e', а, Ь, с, d, e}; {{а', е}, {а', Ь}, {а, Ь'}, {Ь', с}, {Ь, с'}, {с', d}, {с, d'}, {d', е}, {а', е}, {d, e'}}), {V, /}, {Ь\ /}, {с', /}, К, /}, {е', /}}>. Построенный замыкающий слой имеет минимальную мощ- мощность (добавилась одна буква — вершина) /; будем говорить, что вершина / конусирует вершины замещающего слоя. Максималь- Максимальная мощность этого слоя будет равна числу сочетаний из мно- множества букв в замещающем слое {а', Ь', d', с, е'} по g элементов, q = 3. В нашем случае имеем (jj) = 10, в замыкающем слое доба- добавятся {/,/ i = 1, 2, ..., 10}, и он будет иметь следующий вид: О(Е(Ф<5C))) = <{Д, /2, .. , /ю, а', Ь', с', d', e'}; {{/ь а'}, {/ь Ь'}, {Л, с'}, {/2, а'}, {/2, Ь'}, {/2, d'}, {/з, а'}, {/з, Ь'}, {/з, с'}, {/4, а'}, {/4, с'}, {/4, d'}, {/s, а'}, {/5, с'}, {/5, е'}, {/6, а'}, {/6, d'}, {/6, е'}, {/т, Ь'}, {/т, с'}, {/7, d'}, {/8, Ь'}, {/8, с'}, {/8, е'}, {/9, Ь'},.{/9, d'}, {/9, е'}, {До, с'}, {До, d'}, {/10, е'}}>. Граф с минимальной мощностью замыкающего слоя предста- представлен на рис. 3.44, в, с максимальной мощностью — на рис. 3.45. Рис. 3.45
222 Гл. 3. Теория графов и мографов Теорема 3.44. Ф = Ф«(д + 1) <+ Ф = Фд(д)и5(Фд(д)) иПB(Ф<3(д))). C.31) Доказательство. Необходимость. Дано: Ф = Ф<э(д+1). Требуется доказать, что Ф = Ф<5(д)иЕ(Ф<5(д))иП(Н(Ф<э(д))). Для доказательства C.31) необходимо показать, что: E C) ( Докажем а)-г) по очереди. а) Предварительно заметим очевидное утверждение, что при вычеркивании одной буквы из модели Ф число красок |# (Ф)| мак- максимально может уменьшиться только на 1. Вычеркиваем произвольную букву та в одном из элементов (слов) ца из Ф^(д + 1); тогда согласно определению квазиполной модели и вышеприведенному утверждению имеем Вычеркиваем в оставшейся модели Ф„(д) еще одну произвольную букву mi, из любого элемента цъ; тогда д((фь = фа \ ф^ф*1 = мь)) и (ць \ ть)) равняется q — 1 либо д. Если д(Фь) = д — 1, то букву ть снова приписываем к элементу цъ и ее отмечаем. Если д(Фь) = д, то букву не приписываем к цъ- Продолжаем этот процесс, т.'е. вычеркиваем в оставшейся мо- модели произвольную неотмеченную букву из любого элемента. Если при этом квазиплотность равна д, то букву не приписываем, и так далее до тех пор, пока все оставшиеся буквы не будут отмечены. Полученная модель и есть Ф^(д); действительно, ее квазиплот- квазиплотность равна д, а при вычеркивании любой буквы равна д - 1, так как все буквы отмечены. б), в) Согласно определению квазиполной модели \ + 1))| = д + 1, и чтобы это равенство было выполнено, очевидно, необходимо, чтобы при любой Дтт(Ф('(д + 1)) существовала бук- буква ты, которая была бы смежна с д буквами (входила с ними в слово), среди которых нет хотя бы двух соцветных букв то„ и mj, (ma ф тъ)\ в противном случае §3.8. Квазиполные модели, их структура и свойства 223 Если эти g букв при любой минимальной раскраске принадле- принадлежат одной и той же модели типа Ф^(д), то буквы типа тоы, обра- образующие множество Мы, во-первых, таковы, что (Утш € Мш){тш i М(Ф«(д) = (М, 5Ь 52, ..., 5т»), так как противное утверждение противоречило бы определению квазиполной модели; во-вторых, Ф^(д) можно рассматривать в качестве Н(Ф^(д)) по определению замещающей модели и выше- вышеприведенному утверждению (в начале б), в)) Фы(Фы = (Мл 5Ы1, 5^, ..., 5Wm)) образует замыкающий слой П(Н(Ф^(д))) согласно C.30). Если д букв рассмотренного типа принадлежат различным мо- моделям типа Ф^(д), которые, кстати, могут быть выделены с ис- использованием процедуры, приведенной в а), то согласно C.28) и определению фЗ(д + 1) среди квазиполных моделей квазиплотно- квазиплотности g существует модель Фо(д) = (Af0, 5^, S^, ..., 5om) такая, что Cm_a € М0)((Ф0 = <М0, S'Ol, S'O2, ..., 50m» &(% С Ф?(д))), ((ЭФ'(Ф' = 2(Ф{,) ф Фо), (($' = Фо) -> (та, ты) i 5a))), так как в противном случае согласно C.28) (ЭДт;„(Ф?(д)))((Зт/3)((т/3 € М0)к(та ф mp)kN(mon mp))) и ЛГ(ты) = N(ma) = N(mw, та) и д(Ф(Э(д+ 1)) = д, что проти- противоречит заданию. Следовательно, согласно определениям замещающего и замы- замыкающего слоев имеем Н(Ф^(д), ПB(Ф^(д))), и при любом Ятт(Ф°(д) U Н(ф9(д)) U П(Н(ФE(д))) необходимо д + 1 красок. г) Ф<5(д + 1) \ Фд(д) U Н(ф9(д)) U П(Н(Ф<5(д))) = 0 справед- справедливо, так как в противном случае после вычеркивания хотя бы одной произвольной буквы, входящей в любой элемент разности, минимальное число красок равнялось бы д+1 согласно доказатель- доказательству б), в), но это противоречит определению квазиполной модели квазиплотности д + 1, которая задана. Достаточность. Дано: Ф = Ф<5(д) U Н(Ф«(д)) U ПB(Ф<Э(д))). Требуется доказать, что Ф = Ф^(д+ 1). Согласно определениям замещающего и замыкающего слоев и определению квазиполной модели имеем |#(Ф)| = д + 1, т. е. Ф = Ф(д + 1), Ф = Ф%) U Е(Ф0(д)) U ПB( Покажем, что теперь Ф(д + 1) = Ф^(д + 1).
224 Гл. 3. Теория графов и мографов Это справедливо, так как нельзя вычеркнуть ни одной буквы та из какого-нибудь элемента /*„ = *? С **(?), 5(Ф«(д)), ПB(фО(д))), так, чтобы квазиплотность осталась равной д + 1- Действительно, если мы вычеркиваем та € ца (ца € Ф^(д)), то согласно C.28) для flmin((*g(g)\*?)U(/io\m)) достаточно д-1 красок, и при Дт!п(П(Н(Ф<5(д)))) потребуется дополнительный д-й порядковый номер и д(Ф) = д, что несправедливо, так как д(Ф) = = д + 1. Аналогично показывается справедливость этого утверждения при гпа € ца{ца = Ф?, Ф? С Н(фв(д)), П(Н(фв(д)))). Для иллюстрации C.31) рассмотрим увеличение квазиплот- квазиплотности на 1, взяв в качестве основания квазиполный граф 0C) (рис. 3.46, а). Замещающий слой 2@C)) и замыкающий слой а' Рис. 3.46 fi(!5(QC))) представлены на рис. 3.46, б,в соответственно, резуль- результат 0C) U S(QC)) U n(H(QC))) = 0D) — на рис. 3.46, г. Рассмотрим некоторые свойства, характеризующие структуру квазиполных моделей. § 3.8. Квазиполные модели, их структура и свойства 225 Согласно C.31) для квазиполных моделей справедливо свой- свойство включаемости ф"(РД)ЭФд(м-), г = 2,3, ...,р, j = 0, I,..., к. C.32) Проиллюстрируем это свойство рассмотрением квазиполной мо- модели 0C, 2) (см. рис. 3.46,г). Для этой модели имеем QC, 2) ЭЭ QC, 1) ЭЭ QC, 0), QC, 2) DD 0B, 2) DD 0B, 1) DD 0B, 0), 0C, 1) DD {{a, 6}, {Ь, /}, {а, /}, {Ь, с}, {с, /}, {с, «9, {d, /}, R е}, {е, /}, {а, е», 0C, 0) DD {{а, 6}, {Ь, /}, {а, /}}, 0B, 2) = {{а, Ь}, {Ь, с}, {с, d}, {d, e}, {а, е}, {а', Ь}, {а', е}, {а, Ь'}, {Ь', с}, {Ь, с'}, {с', d}, {с, «О, К, е>, {d, e'}, {а, е'}, {а', /}, {У, /}, {с', /}, {d\ /}, {е', /}}, 0B, 1) = {{а, 6}, {Ь, с}, {с, Л}, R е}, {а, е», 0B, 0) = {а, Ь}. При одной и той же структуре замещающего и закрывающего Ь Рис. 3.47 слоев согласно C.28) и C.31) для квазиполных моделей имеет ме- место свойство монотонности 5в1, 5„а, .... Ф?(д + 1) = <М6| 56lI 5ь2, ..., 5ьк»|. C.33) Проиллюстрируем выражение C.33) на рис. 3.47. 8 В. А. Горбатов
226 Гл.З. Теория графов и мографов При рассмотрении замещающего и замыкающего слоев как ре- результата применения операции соответственно замещения 5 и за- замыкания П над квазиполной моделью Ф^(д) нетрудно показать свойства идемпотентности операции замещения *Г(Е(Н...(~(Ф<Э(д))...))) = K(E(^(q))) C.34) и отсутствие такого у операции замыкания П. Согласно C.31) и C.34) имеем U Z U 5(~ U ... U Е(~.. .(Н( п раз ). C.35) п раз Проиллюстрируем формулу C.35) с помощью рис. 3.48. Для д = 4 3)) иНE(Ф^З))) U U ~ (-(-(Ф^З)))) U ПE(Н(Е(Ф Очевидно, что всякая квазиполная модель первого порядка содержит не менее трех слов и всякий квазиполный граф (ква- П(Е(ССD))) Рис. 3.48 Рис. 3.49 зиполная модель плотности 2) первого порядка плотности р содержит не менее р + 3 вершин (рис. 3.49): GQD,1) = (V,U), |У| = 7, \V\ = p + 3. Теорема 3.45. Ф = VQ{p, k) «+ Ф = VQ{p, I) U U {Н (Ф^р, i)) U П(Е(Ф«(р, 0))/ i = 1, 2, ..., jb - 1}. § 3.9. Характеризация частичного упорядочения мографа 227 § 3.9. Характеризация частичного упорядочения мографа Рассмотрим семантику (смысл) преобразования мографа GM в диаграмму Хассе (структурный граф) Я при логической интер- интерпретации. Прежде чем установить причины, приводящие к тому, что од- одному первичному терму сопоставляют две (и более) вершины в структурном графе (расщепляют первичные термы), рассмотрим преобразование мографа в структурный граф при задании тупико- тупиковой ДНФ булевой функции f(xi,x2,...,x5) = 12 которая определяется моделью Ф„ = (М, 52, 53), М = {x S2 = {{хи 53 = {{хи х3, г5}, {хи х3, , {х2, , {х3, г4, х5, х5}, , х4, хъ}}. Мограф Слг(Фа) изображен на рис. 3.50, а. Рассмотрим подмограф (GM)' (рис. 3.50, б), задающий третью, пятую и шестую простые импликанты. Сопоставим третьей им- пликанте х2хз цепь v(x2) < и(хз)- Пятой простой импликанте Рис. 3.50 сопоставим цепь и(хз) < v(x~4) < v(x5), шестой импли- канте х2х4х5 — цепь v(x2) < v(x4) < v(x5). При таком задании отношения упорядоченности получаем, что v(x2) < v(x3) < v(x4), т. е. v(x2) сравнима с v(x~4), v(x2) ^ u(af4), что противоречит заданию. ~
228 Гл. 3. Теория графов и мографов Чтобы ответить на вопрос, является ли такое задание отно- отношения < просто неудачным, не зная семантики преобразования, необходимо построить полностью синтаксическое дерево этого пре- преобразования, висячим вершинам которого соответствуют диаграм- диаграммы Н{, и рассмотреть при этом не только эти три простые импли- канты, но весь заданный мограф GMDta). Число висячих вершин этого дерева равно 2!-2!-3!-3!-3!-3! = 5184. Фактическим построе- построением такого количества диаграмм можно убедиться, что не суще- существует способа задания отношения < в рассматриваемом мографе GM(Фа), при котором имеет место взаимно однозначное соответ- соответствие между первичными термами х°' и вершинами диаграмм Н такое, что каждая цепь v(xai) < v(xa2) < ... < v(xak) взаимно однозначно соответствует простой импликанте хп1ха2.. .хак. Трудоемкость выявления таких противоречий, а следовательно, и построения абсолютно минимальной схемы, значительно мень- меньше, если известна семантика преобразования, определяемая рас- распределением запрещенных фигур, т. е. решена проблема характе- ризации преобразования GM(f) —> H(f). Введем понятие гомоморфных моделей. Разложением слова /х = {rriijl j = 1, 2, ..., s) на глубину к, О < к < s - 2, называется замена этого слова на (ж^к) слов, каждое из которых образуется взятием s — к букв из слова ц, причем лек- лексикографически одинаковые буквы, входящие в полученные слова, считаются различными и переименовываются. Например, после разложения слова ц = {у, х, а} на глубину, равную 1, получаем три слова: {у', г}, {х1, а}, {а', у}. Разложением на глубину к подмодели Ф', состоящей из одного слова fj. в модели Ф, называется замена ее подмоделью, образован- образованной разложением слова ц на глубину к и повторением каждого слова ца (ца € Ф \ Ф') вида цС\ \ьа ф 0 столько раз, сколько раз были повторены буквы (до их переименования при разложении слова ц), принадлежащие цГ\ца, причем при построении ца эти буквы записываются каждый раз в переименованном виде. На- Например, рассмотрим модель Фа = (М, 52, 53), М= {у, х, а, с, о,р}, ¦& = {{У, с}, {о, х}, {а, р}}, S3 = {{у, х, а}}. Разложим ^подмодель Ф'а = {{у, х, а}}, состоящую из слова \х = {у, х, а), на глубину, равную 1. В результате разложения этой подмодели слово ц заменяется словами {у', х}, {х1, а}, {а1, у}; слова {у, с}, {о, х), {а, р} —словами {у, с}, {у', с}, {о, х}, {о, х'}, {а, р}, {а', р}. Окончательно в результате разложения подмодели § 3.9. Характперизация частичного упорядочения мографа 229 Ф„ на глубину, равную 1, получаем модель Ф^ = (М, 52>, М = {у, х, а, у', х', а', с, о, р}, 52 = {{у', х}, {х1, а}, {а1, у}, {у, с}, {у', с}, {о, х}, Две модели изоморфны, если их матрицы инцидентности по- подобны с точностью до переименования букв. Модели называются гомоморфными, если одна из них преобра- преобразуется с точностью до изоморфизма в другую разложением неко- некоторых подмоделей. В рассмотренном примере модели Фа и Ф^ (рис. 3.51) являются гомоморфными. При разложении подмоделей на нулевую глубину получаем изо- изоморфные модели. Для получения неизоморфных моделей необ- -сD, 5) Рис. 3.51 ходимо разлагать на положительную глубину; для этого нужно, чтобы мощность разлагаемого слова /х, а следовательно, и степень сигнатуры подмодели Ф' = {/*}, была больше 2, т. е. чтобы модель Ф' не являлась графом. Для графов, как известно, существует свое понятие гомомор- 1 физма. Два графа называются гомеоморфными, если один из них преобразуется с точностью до изомор- изоморфизма в другой путем замены неко- некоторых ребер цепями (разложением ребра в цепь) произвольной длины. Например, графы Ga и Gp (рис. 3.52) являются гомеоморфными. В случае графов гомоморфизм Имеет линейную структуру. Для мо- Делей, не являющихся графами, го- гомоморфизм имеет более сложную Структуру — сочетательную. Гомоморфизм (линейный) графов изменяет только мощность их носителей. Гомоморфизм (сочетательный) моделей, не являю- являющихся графами, изменяет не только носители, но и их сигнатуры. Рис. 3.52
230 Гл.З. Теория графов и мографов Модель называется частично упорядочиваемой, если найдется взаимно однозначное соответствие г\ между ее буквами и верши- вершинами диаграммы Хассе, при котором каждое слово модели взаимно однозначно соответствует цепи, составленной из вершин, соответ- соответствующих буквам этого слова. Теорема 3.46. Модель Ф частично упорядочиваема тогда и только тогда, когда она не содержит подмодели, гомоморф- гомоморфной квазиполной подмодели положительного порядка: На основании этой теоремы и свойства включаемости квази- квазиполных моделей C.32) имеем теорему 3.47. Теорема 3.47. Запрещенными фигурами Qa, Qb преобразо- преобразования мографа GM в диаграмму Я являются подмографы ти- типов А и Б (рис. 3.53). Подмограф типа А представляет собой цикл нечетной длины с циклической перестановкой идентификаторов слов. Подмограф типа Б является треугольником с висячими вершинами, каждая из которых имеет общий идентификатор со смежной висячей верши- Рис. 3.53 ной, и все вершины треугольника имеют общий идентификатор; при этом висячие вершины могут совпадать как попарно, так и все вместе с соответствующим объединением их идентификаторов. Наличие одной из таких фигур в мографе делает принципиально невозможным задание отношения < при преобразовании GM -> Я без расщепления первичных термов в мографе GM, причем такое расщепление без знания семантики преобразования GM -> Я про- происходит "вслепую". При этом кроме ликвидации запрещенных фигур расщепляются лишние первичные термы, что уменьшает оптимальность получаемого решения. Выделение запрещенных фигур типов А и Б сводится к за- задаче нахождения циклов нечетной длины в мографе с последую- последующей проверкой распределения идентификаторов слов (весов) на § 3.9. Характеризация частичного упорядочения мографа 231 них. При выделении циклов нечетной длины в мографе вершины с одним весом не рассматривают как вершины, которые могут со- соответствовать только висячим вершинам фигур типа Б. В приведенном выше примере для выделения циклов нечетной длины достаточно рассмотреть подграф (GM)", изображенный на рис. 3.54, а. Анализируя этот мограф, устанавливаем, что Запре- Запрех2C, б) *4E) Шейными фигурами типа А являются следующие подмографы Qi = {x2C, 6), *5F, 5), *3E, 3)}, Q2 = ЫЗ, 6), х4F, 2), ^B, 1), х5A, 4), *зD, 3)}, <Эз = Ыб, 5), *зE, 4), х5{4, 1), ххA, 2), х4B, 6)}. Запрещенной фигурой типа Б является подмограф {{%2, Х4, , {х5, х4}}.
232 Гл. 3. Теория графов и мографов Фигуру типа Б в дальнейшем будем задавать соответствующим треугольником. В данном случае четвертая запрещенная фигура имеет следующий вид: Q4 Э {2:4B, 6), х$E, 6), х2C, 6)}. Основное свойство запрещенных фигур типов А и Б заключа- заключается в том, что при расщеплении любой вершины фигуры типа А и любой вершины треугольника фигуры типа Б эти подмографы пе- перестают быть запрещенными фигурами. Таким образом, подобные расщепления — это способы преобразования запрещенных фигур типа А и Б в разрешенные. Процедура семантического эквива- лентирования мографа в частично упорядочиваемый стандартная. В семантической таблице строкам соответствуют запрещенные фи- фигуры типа А или Б, столбцам — расщепляемые вершины мографа. Семантическая таблица для рассматриваемого примера приведена в табл. 3.11. Таблица 3.11 Qi Qi Яг Q3 Q< *i(l,2) 0 1 1 0 *2C,6) 1 1 0 1 *.D,5) 0 0 1 0 *зC,4) 0 1 0 0 *зC,5) 1 0 0 0 *«B,6) 0 1 1 1 *sE,6) 1 0 1 1 *»(М) 0 1 1 0 Для уменьшения трудоемкости определения покрытия семан- семантической таблицы будем удалять поглощающиеся строки и столбцы. В данном случае правила поглощения следующие. Столбец а поглощается столбцом /?, если не найдется третьего столбца, взвешенного той же буквой, что и столбец а, и векторное произведение столбцов аи/? равно столбцу а. Строка а поглощается строкой /?, если векторное произве- произведение этих строк равно строке /?. В рассматриваемом случае первый и восьмой столбцы погло- поглощаются шестым. Вычеркивая поглощающиеся столбцы, имеем шесть покрытий семантической таблицы: {г2C, 6), *4B, 6)}, (х2C,6),х5E,6)}, {z2C,6),z3D,5)}, Ы2, 6), х5E, 6)}, {х3C, 4), х5E, 6)}, {х3C, 5), х4B, 6)}. Каждое из этих покрытий порождает два расщепления. Следова- Следовательно, мощность расширения носителя модели Фа равна 2, и абсолютно минимальная реализация рассматриваемой тупиковой ДНФ содержит 11 ключей: I = \Ма\ + \АМа\ = 11. Для определенности рассмотрим последнее покрытие, и будем отличать букву х3 в третьем слове от х3 в пятом слове, добавляя штрих в верхнем, индексе: х'3. В дальнейшем это переименова- переименование будем называть штриховкой буквы в соответствующем слове. §3.9. Характеризация частичного упорядочения мографа 233 Аналогично произведем штриховку буквы х4 во втором слове. В результате получаем модель Ф„: Фа = (Ма, 53| 5з>, Ма = {ХЪ гЬ Х2, Х3, х'3, г3, Х4, 2=4, Х4, Х5, Ж5}, 52 = {{l!, Х4}, {х2, Х'3}}, 5з = {{xi, х3, ж5}, {гх, хз, х5}, {х3, г4, х5}, {а;2, ж4, х5}}. Она эквивалентна заданной и интерпретируется в терминах ча- частично упорядоченного множества (рис. 3.54,6): xi <-> u(xi), x2 f> v(x2), x3 <-> v(x3), xi f» u(xi), при этом v(x'3), x3 <-> v(x3), x4 <-> v(x4), x4 <-> v(x4), xs <-> v(xs), x5 < v(x'4), xu ) < v(x3) < v(x5), < v(x4), x2x'3 <-> v(x2) < v(x'3), v{x3) < v{xi) < v(xs), x3xAx5 f> v(x3) < v(x4) < v(x5), x2x4x5 <-> v(x2) < v(x4) < v(xs). Бели в покрытие первой таблицы вошли хотя бы две буквы, лексикографически одинаковые, то слова, в которых происходит Их штриховка, определяются покрытием столбцов (букв) строками (идентификаторами слов), в которые буквы входят. Таким образом, знание семантики преобразования GM -> Н позволило заменить перебор 5184 фактически строящихся диа- диаграмм Щ анализом шести покрытий семантической таблицы. В общем случае трудоемкость при знании семантики уменьшается в комбинаторное число раз по сравнению с количеством всех экви- эквивалентных решений. Рассмотрим примеры, иллюстрирующие теорему 3.47. Пример 3.17. Мограф GM = (V, S2, S3), V = {a,b,c,d,e}, S2 = {{ajy, {M), {djj}, S3 = 12 3 4 содержит запрещенные фигуры Qi = {bB, 4), cD, 3), dC, 2)}, Q2 = {aD, 1), Ц4, 2), cD,>3)} (рис. 3.55,a), которые порождают семантическую таблицу (*вбл. 3.12). Таблица 3.12 Запрещенные фигуры 02 "A,4) 0 1 ЬB,4) 1 1 сC,4) 1 1 «*B,3) 1 0
234 Гл. 3. Теория графов и мографов Табл. 3.12 имеет три покрытия: jri = {ЬB, 4)}, jr2 = {сC, 4)}, я-з = {«A, 4), dB, 3)}; с помощью них исходный мограф можно привести к интерпретируе- интерпретируемому виду тремя способами, показанными иа рис. 3.55,6. Рис. 3.55 Пример 3.18. Мограф _ GM = {V, S2, 5з>, V = {a,b,c,d}, 12 3 4 содержит три запрещенные фигуры типа А и одну типа Б: Qi = {аA, 4), ЬB, 4), d(l, 2)}, Q2 = {bB, 4), сC, 4), dB, 3)}, Q3 = {a(l, 4), сC, 4), d(l, 3)}, Q4 = {a(l, 4), ЬB, 4), cC, 4)}; они порождают семантическую таблицу (табл. 3.13). Таблица 3.13 Запрещенные фигуры Qi <?2 Q* a(l,4) 1 0 1 1 ЬB,4) 1 1 0 1 cC,4) 0 1 1 1 d(l,3) 0 0 1 0 <f(l,2) 1 0 0 0 •1B,3) 0 1 0 0 Табл. 3.13 имеет шесть покрытий: jtj = {a(l, 4), ЬB, 4)}, jt2 = {a(l, 4), cC, 4)}, *3 = {bB, 4), cC, 4)}, x< = {a(l, 4), dB, 3)}, *s = {bB, 4), d(l, 3)}, ire = {cC, 4), cf(l, 2)}; каждое из них порождает диаграмму Хассе сложности 6. Для определенности выберем первое покрытие, произведя штриховку буквы § 3.9. Характеризация частичного упорядочения мографа 235 а в первом слове, буквы Ь — во втором. В результате получаем мограф GM = (V, 52,5з>, V = {a,a',b,b',c,d}, 52 = {{a', «О, {Ь\ «О, {с, d}}, S3 = {{а, Ь, с}}, эквивалентируюший заданный и интерпретируемый в категориях частично упо- упорядоченного множества (V, <): {a1, d} ++ v(a') < v(d), {V, d} » v(b') < v{d), {c, d} «• v(c) < t)(d), {a, b, c) ++ v(c) < v(a) < v(b). Рассмотрим устойчивость запрещенных фигур в зависимости от граничных условий, т. е. от условий пересечения запрещенной фигуры с остальной частью мографа. Условие неустойчивости запрещенной фигуры типа А. Композиция запрещенной фигуры типа А и слова, но- носители которых совпадают, не нарушает условий интерпре- интерпретируемости мографа в категориях частично упорядоченного множества. Рассмотрим мограф GM = (V,S3), V = {xl,x2,x2,x3,xbx5}, S3 = {{51, xj, х4), {х2, хз, х4), {xt, х3, х5), {х2, х3, Дб}}, 1 2 3 4 содержащий запрещенную фигуру типа А дд = {х1A,3),а:зC,2),Х4B, 1)}. При преобразовании этого мографа в структурный граф необ- необходимо расщепить одну из букв хь х3, х4. Для определенности расщепляем х4 во втором слове; в результате получаем мограф GM = (V, 53>, V = {хи х2, х2, х3, х4» х'4, х5}, 53 = {{хих2, х4), {х2, х3, х'4}, {хи хз, х5), {х2, х3, х5}}, 12 3 4 интерпретируемый в категориях частично упорядоченного множе- множества (рис. 3.56, а). Введем понятие пары внешне неустойчивых вершин. Парой внешне неустойчивых вершин относительно подмографа (GM)' мографа GM называется пара вершин ujt, и/, взвешенных пер- первичными термами х,-, ж,-, ujt(x,), vi(xi), таких, что объединение вершин, смежных с и* (ж,-) согласно идентификатору а, и вершин, смежных с vi(xi) согласно идентификатору /?, включает носитель подмографа (GM)'. В рассматриваемом примере имеется пара внешне неустойчи- неустойчивых вершин v(x2), v(x2) относительно носителя выделенной за- запрещенной фигуры Q. Роль а играет идентификатор 1, роль /? — либо 2, либо 4.
236 Гл. 3. Теория графов и мографов Согласно соотношению Порецкого АхУ Вх = АхУ ВхУ АВ в мограф, не нарушая эквивалентности задания им булевой функ- функции, можно добавить слово АВ. В случае наличия в мографе пары внешне неустойчивых вер- вершин слово АВ имеет вид В данном случае это 11X32:41 так как мограф является дистрибу- дистрибутивной решеткой. Добавление слова {хг, Х3, ?4} вызывет неустойчивость запре- запрещенной фигуры {xi(l, 3), хзB, 3), х4A, 2)}; в результате мограф GM = (V, S3), V = {а:ь х2, х2, г3, х4, х5}, и х2, х4}, {х2, х3, х4}, {хь х3, х5}, 12 3 {х2, х3, a?5}i {xi, х3, аи}}, является интерпретируемым в категориях частично упорядочен- упорядоченного множества (рис. 3.56,6). При добавлении слов в случае пары внешне неустойчивых вер- вершин относительно запрещенной фигуры следует рассмотреть и добавление связей, которые могут привести к появлению допол- *г Xid.3,5) хэB,3,4.5) х5C, 4) Рис. 3.56 нительных запрещенных фигур. Добавление связей (ребер) в мо- мографе имеет место в случае, когда добавляемое слово строго вклю- включает носитель запрещенной фигуры. Условия неустойчивости запрещенной фигуры типа Б. 1. Запрещенная фигура типа Б неустойчива, если иден- идентификатор слова, взвешивающий висячую вершину, по кото- которому она смежна с вершиной треугольника фигуры, взвеши- взвешивает еще одну вершину треугольника. § 3.9. Характеризация частичного упорядочения мографа 237 Рассмотрим мограф GM = (V, S3, S3>, V = {хи х6, х2, х3, х4, х5}, 52 = 12 3 4 удовлетворяющий этому условию. Он не содержит устойчивых запрещенных фигур: взаимно однозначное соответствие между первичными термами (буквами мографа) и вершинами структур- структурного графа, при котором каждое слово взаимно однозначно соот- соответствует пути, имеет вид {хг, х6} < v(x6), {х3, х4} <-> v(x4 | () () ( < v{x3), < v(x5) < v(x3 [x2, x3, x5) <-> u(x2) < u(x5) < v(x3 2. Запрещенная фигура типа Б неустойчива, если условие 1 выполняется для двух висячих вершин, и устойчива, если оно выполняется для всех трех вершин. Рассмотрим мограф G™ = (V,S3), V = {a,b,c,d,e,f}, 12 3 4 содержащий неустойчивую запрещенную фигуру типа А и устойчивую запрещенную фигуру типа Б, основанием которой является треугольник с вершинами а, Ь, с и висячими вершинами d, e, /. Эта фигура будет неустойчивой при добавлении одного из слов {6, е, /}, {с, d, /}, {a, d, e}. Частным случаем частичного упорядочения мографа является транзитивная ориентация графа. Здесь мограф рассматривают без моделизации, т. е. словами полученной модели являются макси- максимально полные подграфы графа, над которым проводится транзи- транзитивная ориентация. Для этого случая имеем три запрещенные фигуры. Первыми двумя фигурами являются фигуры типа Q\ и Qb, рассматривае- рассматриваемые без моделизации, третьей фигурой — граф G%f без модели- моделизации, являющийся композицией неустойчивой запрещенной фи- фигуры типа А и устойчивой фигуры типа Б. Рассмотрим применение теоремы при транзитивной ориентации графов на примере представителя одного из транзитивно иеориентируемых семейств гра- графов — графа, дополняющего цикл, длина которого превышает 5, до пол- полного. Граф G — {V, U) называется транзитивно ориентированным, если из (i»«, Vj) ? U и (и,, Vk) € U следует (и;, Vk) € U. Рассмотрим цикл, длина которого равна 6. Этот цикл до полного дополняет граф G, изображенный на рис. 3.57, а.
238 Гл. 3. Теория графов и мографов Применяя алгоритм выделения полных подграфов к рассматриваемому графу (рис. 3.57, б), получаем множество полных подграфов {{о, d, /}, {а, с, е}, {а, d}, {Ь, е}, {с, /}}, которое образует сигнатуру мографа (рис. 3.57,в): GM = {V, S2, S3), V = {a,b,c,d,e,f}, Мограф GM = (V, S2, S3) содержит две устойчивые запрещенные фигуры типа Б: QBl = {Ь, d, /}, {Ь, е}, {a, d}, {с, /}}, QB2 = {{а, с, е},{а, d},{c, /}, {Ь, е}}. Расщепляя одну из вершни треугольника каждой запрещенной фи- фигуры, получаем транзитивно ориентированный граф. Возможны девять спосо- способов расщепления. В каждом из них следует расщеплять две вершины, так как эти треугольники ие пересекаются. Для определенности выберем вершины с сB, 5) и / (рис. 3.57,г). В результате получаем траизитивио ориентированный граф (рис. 3.57, д), который после удаления транзитивно замыкающих дуг преобразу- преобразуется в структурный граф (рис. 3.57, е). §3.10. Логарифмические оценки хроматического числа 239 § 3.10. Логарифмические оценки хроматического числа. Решение проблемы четырех красок Как уже отмечалось, частным случаем квазиполной модели яв- является квазиполный граф, который не следует путать с критиче- критическим графом, введенным Г.А. Дираком [39]. Критический граф изменяет хроматическое число при удале- удалении хотя бы одной вершины. На рис. 3.58 приведен критиче- критический граф, но не квазиполный. Дей- Действительно, сужение сигнатуры графа удалением одного или всех ребер мно- множества {{а, /}, {Ь, /}, {с, /}, {d, /}, {е,/}} не меняет хроматическое чис- число, оно остается постоянным, равным 4; при удалении же любой вершины хро- хроматическое число уменьшается на 1. Теорема 3.48 (основное свойство квазиполных графов). Для любой вер- вершины Vi квазиполного графа Q най- найдется такая раскраска его вершин, Рис- 3-58 при которой не существует вершины va (а ф г), cou,eemHOUcvi. Доказательство проводим от противного. Пусть такая раскраска не существует, т. е. при каждой раскраске вершин графа Q най- найдется вершина va (а ф г), соцветная с и,-. Но тогда после уда- удаления вершины V{ и ребер, инцидентных вершине и,-, получаем, что число красок не изменяется; это противоречит определению квазиполного графа. Следствие. При удалении любого ребра из квазиполного графа его квазиплотность уменьшается на 1. Теорема 3.48 лежит в основе доказательства структуры ква- квазиполного графа Q(q) квазиплотности q; квазиполный граф Q(q) состоит из основания — квазиполного графа Q(q - 1), замещаю- замещающего и замыкающего слоев. Вершины замещающего слоя согласно основному свойству квазиполных графов взаимно однозначно со- соответствуют вершинам основания; при этом соответствующие вер- вершины смежны с одними и теми же вершинами, принадлежащими основанию Q(q — 1). Вершины замещающего слоя являются как бы "двойниками" вершин основания. Замыкающий слой пред- представляет собой вершины, конусирующие вершины замещающего слоя, и число их колеблется от ( _~| ) до 1, конусирующих весь замещающий слой. Рассмотрим образование квазиполного графа Q{2, k), обладаю- обладающего экстремальными свойствами, т. е. мощности его носителя и сигнатуры являются минимальными по сравнению с другими квазиполными графами плотности 2 и порядка к. Согласно теоре-
240 Гл. 3. Теория графов и мографов ме 3.48, чем меньше мощность носителя или сигнатуры основания QB, к — 1), тем меньше соответствующие мощности квазиполного графа QB, к). Основанием графа QB, 1) является граф QB, 0) (рис. 3.44, а), представляющий собой ребро {о, Ь); замещающий слой — две вершины о' и Ь', которые соответственно смежны с Ь и о. Замыкающий слой представляет собой вершину, конуси- рующую вершины о' и У. В результате получен цикл длины 5 (рис. 3.44,0). Аналогично, продолжая процесс построения графов и взяв в качестве основания QB, 1) (рис. 3.44,6), получаем граф QB, 2) (рис. 3.44, в); взяв граф QB, 2) в качестве основания, получаем квазиполный граф QB, 3) (рис. 3.44, г). Продолжая этот процесс, можно построить квазиполный граф Q B, к) с минимальными мощ- мощностями носителя и сигнатуры для любого к. Определим зависимость минимальной мощности носителя гра- графа QB, к) от его порядка к. Имеем 0 1 2 3 2 2-2 + 1 2 ¦ B -2 + 1) + 1 2 • B • B ¦ 2 + 1) + 1) + 1 2- B - (... 2- B • 2 + 1) + 1 - - - ) + !) + 1 Jfc+1 Следовательно, |VMHH(QB, fc))| = 2 • B • (.. .2 ¦ B • 2 + 1) + 1...) + 1) + 1 = — O*+! _i_ о*—1 i o*-2 ¦ q*—3 ¦ I ol I oO _ «=0 2 — 2° - 2* = 4 • 2* - 2k - 1 = 3 • 2* - 1. Таким образом, окончательно имеем |VMKH(QB,fc))[ = 3-2fc-l. C.36) Найдем зависимость минимальной мощности сигнатуры графа QB, к) от его порядка. Согласно структуре квазиполных графов и их основному свойству сумма мощностей сигнатуры основания QB, к — 1) и сигнатуры замещающего слоя равна утроенной мощ- мощности сигнатуры основания QB, к — 1) при построении графа QB, к) с минимальной мощностью сигнатуры, а мощность сигна- сигнатуры замыкающего слоя согласно C.36) равна мощности носителя основания 3 • 2к~1 — 1. §3.10. Логарифмические оценки хроматического числа 241 Отсюда минимальная мощность сигнатуры |{7Мин(<2B, к))\ графа QB, к) равна: 1 при к — 0, 3-1 + 3-2°-1 при к= 1, 3 ¦ C • 1 + 3 • 2° - 1) + 3 • 21 - 1 при к = 2, 3 • C • C • 1 + 3 • 2° - 1) + 3 • 21 - 1) + 3 • 22 - 1 при к = 3, 3 • C-C-C...3-C • 1 + 3 ¦ 2° - 1) + 3 • 21 - 1) + к—1 скобка + 3 • 22 - 1) +... + 3 • 2*~2 - 1) + 3 • 2*-1 - 1 при к = к. Последовательно упрощая выражение для |{7Мин(<2B, fc))|, по- получаем |CWQB, к))\ = 3* + 3* • 2° - З* + З*-1 • 21 - З*-2 + З*-2 • 22 - * fc-i _ з*-3 + ... + З1 • 2* - 3° = 3* + X!3' ' 2*"*' - XI3' = «=1 «=о = 3* + 3 • C* - 2к) - 0,5 • C* - 1), 2|CWQB, *))| = 7 • 3* - 6 ¦ 2к + 1. C.37) Квазиполный граф Q(p, к), обладающий рассматриваемыми экстремальными свойствами, получается суммированием квази- квазиполного графа QB, к) и полного графа плотности р — 2: QB, k) + Q(p -2,0) = Q(p,k)- C-38) Обобщением C.38) является следующая теорема. Теорема 3.49. Сумма квазиполных графов является квази- квазиполным графом: i(Pi, Ь) =Q C.39) Согласно C.38) минимальная мощность носителя квазипол- квазиполного графа Q(p, к) есть |Vmin(Q(p, fc))| = 3 • B* - 1) +р. C.40) Минимальная мощность сигнатуры Q(p, к) представляет собой сумму минимальной мощности сигнатуры графа QB, к) и мини- минимальной мощности сигнатуры полного графа плотности р — 2, ка- каждая вершина которого конусирует граф QB, к). Согласно C.36) и C.37) имеем \Umin(Q{P) к))\ = 0,5 • G • 3* - б ¦ 2к + 1) + + 0,5-(р-2)-(р-3) + (р-2)-C-2*-1).
242 Гл. 3. Теория графов и мографов Окончательно получаем (p) (p)p C.41) Согласно C.40) любой квазиполный граф первого порядка, имеющий плотность р, содержит не менее р + 3 вершин. Граф Q(p, 1), имеющий ровно р + 3 вершин, является суммой цикла длины 5 и полного графа с плотностью р — 2: Q(p,l) = QB,l)+Q(p-2,0). Соотношения C.40) и C.41) справедливы для любых квазипол- квазиполных графов, имеющих плотность 2 или 3, и для неразложимых по аддитивной операции "сумма" квазиполных графов. Структура этих графов была рассмотрена выше. Для разложимых квазиполных графов, у которых по теореме 3.49 плотность не меньше 4 и хотя бы у двух слагаемых ki > 0, эти формулы неверны. На- Например, квазиполный граф QD, 2), являющийся суммой двух графов QaB,l)HQbB,l)(PHc.3.59),QD,2) = = QaB, 1) + <2ьB, 1), имеет мощность носителя, равную 10, и мощность сиг- сигнатуры, равную 35, в то время как ми- минимальные мощности носителя и сигнатуры неразложимого ква- квазиполного графа QD, 2) равны соответственно 13 и 43 (согласно C.40) и C.41)). Теорема 3.50. Хроматическое число h(G) графа G равно его квазиплотности q(G): = q(G). C.42) Рис. 3.59 Согласно определению квазиполного графа h(G) > q(G). Докажем, что в данном соотношении всегда имеет место равен- равенство. Выделим все невключаемые квазиполные графы, т. е. графы, для каждого Q,- из которых не найдется квазиполного графа Qa такого, что Qi CCQa- Согласно C.25) среди выделенных подгра- подграфов имеется хотя бы один, для раскраски которого необходимо q красок. Покажем, что для минимальной раскраски остальной ча- части G \ Q достаточно тех же q красок. Действительно, если для минимальной раскраски подграфа G \ Q потребуется хотя бы еще одна новая краска, (д + 1)-я, то это означает, что в подграфе G\Q существуют замещающий и замыкающий слои, что приводит к §3.10. Логарифмические оценки хроматического числа243 образованию квазиполного графа квазиплотности 9 + 1- Последнее противоречит соотношению C.25). Используя формулы C.40)-C.42) для графов G; с плотностью p(Gi) < 4 и для графов, которые не содержат квазиполные под- подграфы, разложимые по операции "сумма", можно предложить ло- логарифмические оценки хроматического числа. Имеем h{G) = q(G) = max (p{Qi) + fc(Q,)) < maxp(Q.) + maxfc(Q,), » « « C.43a) HG) < p{Qi) + maxfc(Q,-), Q, С G, G = {V, U). C.436) Согласно C.40) Отсюда maxfc^y,) < KG) < p(G) + ] log2 + l) [. C.44) В выражении C.41) 6 • 2* ¦ (p - 3) + {p - 3J - p + 2 > 0 при любом к; поэтому , P(G)>4; следовательно, h(G) < p(G) + ] log3 Ш [, p{G) > 4. C.45a) При p(G) — 3 имеем Л 91Г71 4-1 Г C.456) При p(G) = 2 выражение C.33) принимает вид „QB, fc)| = 7-3*-6-2* + 1 >7-3fc-6-3fc + l = 3* + l; поэтому Отсюда при p(G) = 2 получаем MG)<2 + ]log3B|tf|-l)[. C.45в) Согласно структуре квазиполного графа Q(p, k) степень s(u,) каждой вершины и,- этого графа удовлетворяет неравенству *(«•) >q(G)-l=p + k-l. C.46)
244 Гл. 3. Теория графов и мографов Тогда по формуле C.40) мощность сигнатуры |t7(Q(p, к))\ нераз- неразложимого квазиполного графа удовлетворяет неравенству \U(Q(p, к))\ > 0,5 ¦ C • B* - 1) + р) ¦ (р + к - 1). C.47) Эта оценка достигается для полных графов, когда к = 0. Согласно C.40), C.43а) и C.47) bесо- (з-48) где подграф G удовлетворяет всем неравенствам системы \V(G)\>3-Bk-l)+p(G), 2\U(G)\ > 7 • 3* = 6 • 2* • (p(G) - 3) + (p(G) - ЗJ - p(G) + 2, s{vi)>p(G) + k-l, VieG, C.49) т. е. по своим ресурсам, как вершинному, так и реберному, и по ло- локальной топологии (степеням вершин) подграф G может включать квазиполный граф Q(p, к), где (з,о) Очевидно, что Отсюда имеем верхнюю оценку хроматического числа h(G) гра- графа G: h(G)<]scpenH(G)[ + l, C.51) где граф G С G удовлетворяет системе неравенств C.49). Оценка C.51) является более эффективной, чем ранее приведенные оценки Брукса h(G) < sM&KC(G) + 1 и (для определенного класса графов) h(G) < Wc(G). Как композицию оценок C.44), C.45) и C.51) получаем оценки хроматического числа h(G) графа G = {V, U): при p(G) > 4 p(G)+ log3 зсрелн ; C.52a) §3.10. Логарифмические оценки хроматического числа 245 при p(G) = 3 , C.526) при p(G) = 2 . C.52b) Для вычисления оценки хроматического числа h(G) графа G на основании формулы C.51) находим плотность p(G) графа G и, уменьшая р от p(G) до 2 с шагом 1, по формуле C.50) находим к для каждого из этих значений. Максимальная сумма р и соот- соответствующего значения к, для которых выполняются неравенства системы C.49), согласно C.43а) определяет верхнюю оценку хро- хроматического числа h(G). Если оцениваемый граф является квази- квазиполным или вычисленная верхняя оценка совпадает с нижней, то она равна хроматическому числу. Нижняя оценка хроматического числа h{G) > p{G) C.53) минорируется, как показано Майерсом и Лином, оценкой Геллера C.54) C.55) h(G)> где [ ] — ближайшее целое число, или \V(G)\ h(G)> \V(G)\-scpe№(G) Оценки хроматического числа C.44), C.45), C.51), C.52) ми- норируют известные верхние оценки h(G). Пример 3.19. Рассмотрим граф G = (V, U) (рнс. 3.60,а). По оценкам Брукса и Геллера его хроматическое число h(G) заключено в отрезке [2, 7]: 1 Г 16» ] = J Ll02-2-20j ''
246 Гл.З. Теория графов и мографов Оценим хроматическое число h(G), используя полученные верхние оценки. Плотность графа G равна 4: p(G) — 4. Согласно C.50) Бели включение QD, 1) в заданный граф G возможно, то степень каждой вершины должна быть не меньше 4. Вершины с, d, f имеют степень, меньшую 4, и, следовательно, ие входят в граф QD, 1). При удалении этих вершин в полученном графе (рис. 3.60,6) к сохраняет свое значение: но при этом вершины 6, р, е не могут входить в этот граф, так как их степень (рис. 3.60,6") меньше 4. Удаляем вершины 6, р, е из графа G' (рис. 3.60,6); по- получаем граф, изображенный иа рнс. 3.60, в, который ни по вершинному ресурсу, Рис. 3.60 ни по реберному, ни по локальной топологии не может содержать граф QD, 1). Следовательно, kuiKC = 0 при р = 4. Уменьшим плотность на 1 и определим максимальное значение к: Следовательно, заданный граф не может содержать квазиполный граф QC, 2). Бше раз уменьшаем плотность на единицу и определяем максимальное зиачение к при р = 2. Имеем §3.10. Логарифмические оценки хроматического числа 247 Таким образом, заданный граф ие содержит даже квазиполного графа QB, 2). Отсюда верхняя оценка хроматического числа h(G) графа G равна 4. Она со- совпала с нижней оценкой p{G) < h(G). Следовательно, хроматическое число заданного графа также равно 4: ifci = {b, d, р, д}, ki = {а, с, е}, кз = {т, /}, к* ={к) (рис. 3.60, г). Таким образом, использование харвктеризвции раскраски вершин графа по- позволило в данном случае определить его хроматическое число, ие находя мини- минимальное покрытие пустых подграфов вершинами графа. Для графа G, содержащего разложимый квазиполный граф, хроматическое число h(G) согласно теореме 3.47 равно сумме хро- хроматических чисел квазиполных графов, которые являются слагае- слагаемыми графа Q(q) С G максимальной квазиплотности. Поэтому h(G) - maxg,-(Q;) = max h(G) = max ij) + Ц-(Qij)) < C.56) где fc,j(Q,j) определяется на основании C.40), C.41), C.46). Пример 3.20. Определим хроматическое число h(G) графа G = (V, U) со следующими параметрами: \V\ = 90, \U\ — 556, p(G) = 6. Распределение степеней вершин таково: 32 вершины имеют степень меньше 5; 16 вершин — степень 5; 12 вершин — степень 7; 2 вершины — степень 8; 25 вершин — степень 9; 2 вершины— степень 11; 1 — степень 12. Рассмотрим все случаи разложения 6 иа слагаемые: 1) 6 = 6+0; 2) 6 = 2+4; 3) 6 = 2 + 2 + 2; 4) 6 = 3 + 3. Случай 1. Определим максимальный порядок ктшх неразложимого квази- квазиполного подграфа QF, fcm»x) плотности 6; при этом число вершин берем 74, так как вершины со степенью, меньшей 5, в этот подграф не входят. Согласно C.40) Установим, может ли заданный граф G содержать квазиполный граф QF, 4), по реберным ресурсам и локальной топологии (по зиачеиням степеней вершин). Имеем \U\ > 0, 5 • G • З4 + 6 • 2* ¦ F - 3) + F - ЗJ - 6 + 2) = = 0, 5 • E67 + 288 + 5) = 430, №„(9F, 4))| = 3 • B4 - 1) + 6 = 51, (V«i(«i € QF, 4)))(e(«0 > 6 + 4 - 1 = 9).
248 Гл. 3. Теория графов и мографов Число вершин со степенью а(и,) > 9, равно 28; 28 < 51. Следовательно, не- неразложимый квазиполный подграф <?F, 4) не содержится в графе G. Уменьшая порядок на 1, получаем |Vmin(QF, 3))| = 3 • B3 - 1) + 6 = 27, Таким образом, получен положительный ответ. Следовательно, определена верхняя оценка: h(G) < 9. Случай 2. Квазиполный граф Q(qUiKc) максимальной квазиплотности можно разложить иа два слагаемых: 0B, *.) + QD, кь); при этом h(G) < 6 + max(fca + кь). Определим max(fca + кь). Для этого опреде- ляем ка = u"(QB> 4))l = 2 = 47. Второе слагаемое содержит 27 вершин: 74 — 47 = 27. Тогда кь = ]log2 (^i + l) [ = 3, |VM..(QD, 3))| = 3 • B3 - 1) + 4 = 25, (Vw,-(t« € 0.B, 4)))(j(t»,-) > р„ + ka - 1 + |VM..(QbD, 3))| = = 2 + 4-1 + 25 = 30), (>fvi(vi € 0ьD, 3)))(j(»,-) > рь + kb - 1 + \Vm{QB, 4))| = = 4 + 3-1 + 47 = 53). Вершин с такими степенями в графе G нет. Продолжая аналогичные вычи- вычисления, находим, что max(fca + кь) — 2 + 2 = 4 не выполняется, т. е. в графе G а,Ь не может содержаться квазиполный граф QA0), разложимый в виде суммы 0ьB, 2)+QbD, 2). Действительно, \Vun(Q.B, 2))|=3-B2-l) + 2 = ll, \Уышя(<Зь{4, 2))| = 3 ¦ B2 - 1) + 4 = 13, (Vu. € QaB, 2))(j(i»0 > 2 + 2 - 1 + 13 = 16), (Vu; € QbD, 2))(а(иО >4 + 2-l + ll = 16), = 0,5 • G • 32 + 6 • 22 • B - 3) + B - 3J - 2 + 2) + + 0,5 • G • 32 + 6 • 22 • D - 3) + D - 3J - 4 + 2) + 11 • 13 = 206. В этом случае хроматическая оценка h{G) не изменяется. Остальные случаи предлагаем рассмотреть читателю самостоятельно. Окончательно получаем 6 < < h(G) < 9. Используя оценки Геллера — Брукса, мы получили бы отрезок [2, 13]: 2 < h(G) < 13. Согласно C.42) запрещенными фигурами раскраски вершин графа в а красок являются квазиполные графы квазиплотности а+ 1. § 3.10. Логарифмические оценки хроматического числа 249 Теорема 3.51 (М.В. Горбатова). Квазиполный граф Q(p, k), к > 1, не обладает свойством реберности. Действительно, если порядок к квазиполного графа Q превы- превышает 1, то найдется вершина va, входящая более чем в 2 пол- полных подграфа. Такой вершиной является, например, вершина замыкающего слоя. Согласно теореме 3.37 такой граф не обладает свойством реберности. Пример 3.21. Квазиполный граф QC,1) (рис. 3.61,а) обладает свойством реберности согласно теореме 3.37 (рнс. 3.61,б,в). При увеличении его порядка е Ъ е Рнс. 3.62 на 1 условия теоремы 3.37 не выполняются. Действительно, уже прн построе- построении вершины Ь' замещающего слоя имеем нарушение условий этой теоремы
250 Гл.З. Теория графов и мографов (рис. 3.62). Вершина Ъ' является двойником вершины Ь: ГЬ' — Гь для вершин основания — QC, 1). Если граф обладает свойством реберности, то его порядок не превышает 1. При построении реберно производного графа G по графу G ребра, инцидентные одной и той же вершине графа G, со- соответствуют вершинам полного подграфа графа G. Следовательно, s<H(G)<s+l, C.57) где H(G) — хроматический класс графа G, s — степень графа G, Для мультиграфа s<H{G)<s + p, C.58) где р — параллельность мультиграфа, т. е. максимальное число параллельных ребер. В соотношении C.58) степень графа G и его параллельность удовлетворяют следующим соотношениям (рис. 3.63): s = 0(modp), эфр, C.59) где запись s — 0 (modp) означает, что число s сравнимо по модулю р с числом 0. Согласно C.58) и C.59) получаем оценку Шеннона C.60) H(G) < [|.]. Рассматривая характеризацию раскраски графа, интересно вспомнить проблему четырех красок. Эту проблему можно с пол- полным основанием назвать еще "болезнью четырех красок", так как она во многом похожа на заболевание. "Она в высшей степени заразна. Иногда она протекает сравнительно легко, но в не- некоторых случаях приобретает затяжной или даже угрожающей характер. Никаких прививок от нее не существует; правда, люди с достаточно здоровым организмом после короткой вспышки приобретают по- пожизненный иммунитет... Тем не менее именно попытки обосновать эту гипотезу стимулировали получение ряда результа- результатов по раскраске графов, которые в свою очередь привели к исследованиям некото- некоторых других разделов теории графов", — так пишет ведущий графист, профессор математики Мичиганского университета Фрэнк Харари [31]. 10 9 8 7 ? 5 Л 3 2 1 / 1/ \Ш W !// II/ / / / i 1 1 i i / i О 1 2 3 4 5 Рис. 3.63 б р §3.10. Логарифмические оценки хроматического числа 251 ...1840 г. Идет заседание Королевского географического об- общества Англии. Профессор А. Мебиус обращается к слушателям своей лекции с вопросом о количестве мастей в игральных картах: "Почему четырр масти: крести, пики, черви, бубны? Почему не 5, 6 мастей?" После выдержки паузы А. Мёбиус формулирует задачу, которая стала проблемой, не решенной в течение 123 лет: "Лю- "Любая карта на поверхности нулевого рода (плоскость, сфера) может быть раскрашена в четыре цвета так, чтобы государства, имею- имеющие общую границу, были окрашены в разные цвета". Этой проб- проблемой увлеклись в 40-50-е годы прошлого века студенты-матема- студенты-математики Лондона, ее обсуждал А. де Морган. Первая волна интереса спала. В 1878 г. о ней упоминал А. Кели, который опубликовал в 1879 г. ее "доказательство". В 1880 г. свои "доказательства" дали Тейт и А. Кемпе. Но через 10 лет, в 1890 г., П. Хивуд их опроверг. Следующая волна интереса возникла уже в 50-х годах нашего столетия в связи с бурным развитием вычислительной техники. Габриэль А. Дирак [39] — один из ведущих европейских ученых- графистов, изучающих раскраску графов, поставил вопрос о су- существовании графа G, плотность которого равна 2 {p{G) — 2), а хроматическое число принимает сколь угодно большое значение. Положительный ответ на этот вопрос независимо друг от друга дали А.А. Зыков [19], Дж. и Л. Келли [42], Татт [37] (эту статью опубликовали Брукс, Смит, Стоун, Татт под псевдонимом мадам Бланш Декарт), Я. Мыцельский [44]. Автор настоящего учебника "заразился" этой проблемой, бу- будучи студентом Московского энергетического института, в 1962 г. получил ее доказательство и отослал в ведущий тогда журнал в области естественных наук АН СССР — "Журнал эксперименталь- экспериментальной физики и вычислительной математики". В марте 1964 г. автор сделал доклад [5] о минимальной рас- раскраске графа на научно-технической конференции МЭИ и опубли- опубликовал его [4]. В этой статье было введено понятие квазиполного графа, доказано, что распределение квазиполных графов опреде- определяет его хроматическое число, и доказаны основные свойства, из которых следует: — доказательство проблемы четырех красок; — оценка хроматического класса H(G) графа G при раскраске его ребер S<H{G)<p + S, где р — максимальное число параллельных ребер, 5 — степень графа; для обыкновенного графа G S < H(G) < S + 1; — взаимосвязь между 5 и р 5 = 0(modp), Эфр\
252 Гл. 3. Теория графов и мографов — оценка хроматического класса К. Шеннона Проблему четырех красок стали изучать с разных сторон, экви- валентируя ее формулировки. Наиболее полный обзор эквива- эквивалентных формулировок A3 формулировок) привел Т. Саати [45]. Несмотря на многочисленные публикации по раскраске графов (Г.А.Дирак, О. Оре [26,38], Ф. Харари [31], Г. Биркгоф [35], А.А. Зыков [20], Я. Мыцельский [44], Дж. и А. Келли [42], В.А. Гор- Горбатов [35], Г. Уитни [36], Г. Ходвигер [41] и др.), не все математи- математические школы графистов "осознали" опубликованные результаты. Примером такой школы является английская школа Н. Кристофи- деса; в гл. 4 из [36] приводится граф G (рис. 3.64) с плотностью p(G), равной 2, и утверждается, что его хроматическое число равно 5. Согласно C.52в) имеем h(G) < min 2 + ]log3B • 35 - 1)[, ЩГ + l\ = min B + 2, 2 + 3, 3 + 1) = 4, h(G) < 4. Действительно, имеем раскраску этого графа в четыре краски: а = {1,3, 13, 15}, /3 = {2, 4, 5, 12, 14}, 7 = {6, 7, 8, 9, 10, 16}, 6 = {11}; а, Р, у, 5 — краски. §3.10. Логарифмические оценки хроматического числа253 Однажды в сентябре 1976 г. жители разных городов США получили письма с марками, погашенными специальным штем- штемпелем, на котором было указано, что жители США К. Аппель и У. Хайкин решили проблему четырех красок [33]. Решение осно- основывалось на результатах многочасовой работы мощного компью- компьютера. Приведем доказательство проблемы четырех красок, получен- полученное автором в 1964 г. Теорема 3.52. Квазиполный граф Q(q) квазиплотности q содержит подграф, гомеоморфный полному подграфу, плот- плотность которого равна q. Доказательство. Основание Q(q — 1) квазиплотного графа Q(q) и их разность Q(q) \ Q(q - 1) = ~{Q(q - 1)) U u{E(Q(q - 1))) (q — 1)-вершинно связаны. Докажем это утверждение от против- противного. Пусть подграфы Q{q- 1) и Q(q) \Q{q- 1) {q- 2)-вершинно связаны. Тогда существует множество (разрез 5), содержащее (q — 2) вершины, после расщепления которых получаем две компо- компоненты связности, Q(q- 1) и Q(q) \Q(q- 1). В наихудшем случае в разрезе 5 не найдется и двух соцветных вершин, т. е. вершины разреза будут окрашены в д-2 краски. Тогда в основании Q(q-1) найдется вершина, окрашенная в (q- 1)-ю краску, так как его ква- квазиплотность равна q - 1, а в разности Q(q) \ Q(q - 1) найдутся две вершины, окрашенные в (q - 1)-ю и q-ю краски, так как для любой вершины Vi ? Q(q) найдется его раскраска R(Q{q)), при которой вершины ее сечения T(uj) окрашены в q — 1 различные краски К = {1,2 , д-2, д-1}, (V14 € Q(q)){3R(Q(q))){\K(T(Vi))\ = q - l). Следовательно, как основание Q(q — 1), так и разность Q{4) \Q{q — 1) содержат вершины, окрашенные в одну и ту же (q - 1)-ю краску. Удаление одной из этих вершин не изменит хро- хроматического числа, что противоречит определению квазиполного графа. Следовательно, эти вершины равны друг другу, и эта вер- вершина, естественно, принадлежит основанию Q(q — 1). Но тогда вершина основания Q(q), окрашенная в (q — 1)-ю краску, и вер- вершина разности Q(q) \Q(q-1), окрашенная в д-ю краску, смежны, что противоречит принятому допущению. Следовательно, основа- основание Q(q-l) квазиполного графа Q(q) и их разность Q{q)\Q{q-l) (q — 1)-вершинно связаны. Согласно теореме 3.7 любые две вер- вершины Vi, Vj, Vi e Q{q - 1), Vj € Q{q) \ Q{q - 1), соединены по крайней мере д-1 вершинно непересекающимися цепями. Будем
254 Гл.З. Теория графов и мографов рассматривать полный подграф F(p) плотности р как квазипол- квазиполный граф QB, p — 2), в котором основания и замещающие слои совпадают, а вершины замыкающих слоев конусируют соответ- соответствующие основания. Учитывая свойство включаемости квазипол- квазиполных графов C.32) и выбрав ребро QB, 0), вершины замыкающих слоев n(S(QB, 0))),n(S(QB, l))),n(E(QB, 2))),..., n(S(QB, q-2))) и соединяющие их цепи, получим подграф G, содержащийся в QB, q - 2), G CC QB, q - 2) С Q{q). На основании вышедо- казанного утверждения о Q(q - 1)-связности полученный граф G является гомеоморфным полному подграфу F(q) плотности q. Теорема 3.53. Граф G(p, к), к >1, р>2, невложим в плос- плоскость. Действительно, граф G(p, k) содержит квазиполный подграф QC, 2), который в свою очередь содержит подграф Gr(FE)), го- меоморфный полному подграфу плотности 5: G(p,fc)DQC,2)DGr(FE)). Следовательно, согласно теореме 3.18 граф G невложим в плос- плоскость. Теорема 3.54. Граф G(p, fc),p>3, fc>0, невложим в плос- плоскость. ( Действительно, граф G(p, k) содержит подграф QD, 1), кото- который содержит подграф Gr((FE)), гомеоморфный полному под- подграфу плотности 5: G(p,fc)DQD,l)DGr(FE)). Следовательно, согласно теореме 3.18 граф G невложим в плос- плоскость. Теорема 3.55. Граф G(p, к), р = 2, fc>2, невложим в плос- плоскость. Действительно, G(p,fc)DQ(p,fc)DQB,3)DGr(FE)). Следовательно, согласно теореме 3.18 граф G невложим в плос- плоскость. На основании теорем 3.53-3.55 получаем следующее доказа- доказательство проблемы четырех красок. Теорема 3.56. Хроматическое число планарного графа не превышает 4. Согласно теореме 3.18 пленарный граф G не содержит под- подграф Gr(FE)), гомеоморфный полному подграфу плотности 5: G ~fi Gr(FE)). Следовательно, этот граф не содержит подграфы §3.11. Задачи и упражнения 255 QB, 3), QC, 2) и QD, 1). Отсюда хроматическое число h(G) со- согласно теореме 3.48 не превышает 4. Рис. 3.65 На рис. 3.65 приведены порожденные квазиполные графы ква- квазиплотности 4, при этом в графах первого ряда выделены под- подграфы, гомеоморфные полному подграфу плотности 4. § 3.11. Задачи и упражнения 3.1. Доказать равенство S = (А+)т • Р(А~), где 5 — матрица смежности; А+ и А~ — соответственно начальная и конечная матрицы инциденций; Р — диагональная матрица весов дуг; т — знак транс- транспонирования. 3.2. Доказать, что , где S — матрица смежности, R — матрица перехода по дугам с весом ?*. 3.3. Доказать, что подграф G является циклом тогда и только тогда, ко- когда логическое матричное произведение (правило умножения строки на столбец
256 Гл.З. Теория графов и мографов определено через обычное умножение и сложение по модулю 2) матрицы инцн- денций и транспонированной цикломатической матрицы равно нулевой матрице. 3.4. Доказать, что простые пути длины I (I < q) графа, заданного матрицей ч смежности S, определяются матрицей 5, = 2J S . 3.5. Пусть задан передатчик, который может передавать пять сигналов: а, Ъ, с, d, e. Прн приеме каждый из этих сигналов может быть истолкован двояко: сигнал а как р нли q, сигнал b как q илн г, сигнал с как г нли а, сигнал d как s нли t, сигнал « как р нли t. Какое наибольшее число сигналов можно принять, не рискуя спутать нх друг с другом? 3.6. Доказать, что a(Ga х Gb) > a{Ga) ¦ a(Gb), где o(Gi) — число внутренней устойчивости графа Gi = Ga, Gb- 3.7. Определить число внешней устойчивости графа G, заданного матрицей смежности 01001010 10100010 01010011 0 0 10 10 0 1 10010101 00001010 1110 0 10 1 0 0 1110 10 3.8. Сколько ферзей достаточно расставить на шахматной доске так, чтобы каждая клетка доски находилась под "ударом" хотя бы одного из них? Считать, что клетка, занимаемая фигурой, также находится под ее "ударом". 3.9. Доказать, что число различных деревьев, которые можно построить на п данных вершинах, равно п"~ . 3.10. Найтн связный подграф G' взвешенного графа G, заданного матри- матрицами, сумма весов ребер которого минимальна; 200000000 07000000 0 004000000 3 О §3.12. Комментарии 257 5 = S(G) = 0 1 0 0 0 1 0 1 0 1 0 1 0 1 1 0 0 1 0 1 0 1 1 1 0 1 0 1 0 1 P(G) = 111 0 1 0 1 Oil 0 0 0 0 0 0 0 00001000 0 000009000 00000020 0 00000009 0 000000005 3.11. Вершина графа, удаление которой вместе с инцидентными ей ребрами делает граф несвязным, называется точкой сочленения. Блоком называется связный нетривиальный граф, не имеющий точек сочленения. Может ли быть блоком граф, цикломатнчесиое число которого u(G) = 2? Привести пример блока, удаление одного ребра из которого приводит к появлению точки сочле- сочленения. Существует ли блок, в котором удаление любого его ребра приводит к появлению точки сочленения? 3.12. Привести примеры связных графов, для которых существуют разрезы, число ребер которых равно числу хорд остовов. 3.13. Доказать, что удаление одного ребра, которое принадлежит какому-то циклу связного графа, не делает этот граф несвязным. 3.14. Эйлеровым называется связный граф, в котором существует замкну- замкнутая цепь, проходящая через каждое его ребро (все ребра цели различны). Пока- Показать, что граф, содержащий мост, не может быть эйлеровым. 3.15. Граф называется гамильтоновым, если он содержит простой остов- ный цикл. Привести примеры графов, которые одновременно н гвмильтоновы, и эйлеровы. 3.16. Определить число неизоморфных остовов двудольного графа А'г.з- 3.17. Доказать, что если граф п-связен, то существует пара несмежных вер- вершин, между которыми имеется п вершинно непересекающихся простых цепей. Показать также, что это условие выполняется для любых двух несмежных вер- вершин п-связного графа. Привести пример 3-связного графа. 3.18. Показать, что с точностью до изоморфизма имеется ровно 4 графа (один из которых полный) без параллельных ребер и петель на трех вершинах, 11 — на четырех вершинах. Определить количество графов на пяти вершинах. 3.19. Реберным ядром графа G называется подграф, представляющий собой объединение множества ребер у< таких, что ребра каждого множества попарно несмежны н |у;| = ao(G). Привести примеры графов, не имеющих реберного ядра. • 3.20. Найти необходимые условия, прн которых число ребер в графе равно произведению aofio- 3.21. Доказать или опровергнуть, что для любого связного графа /Зо < «о. 3.22. Вычислить тч{Кт,п) и ci(Km,n). 3.23. Доказать, что цикл нечетной длины невложим в n-мерный гиперкуб. 3.24. Показать, что диаметр п-куба d(Gn) не может быть больше п. 3.25. Пусть граф G состоит из к вершинно непересекающихся простых цепей между двумя вершинами а, Ь € G; длины всех цепей различны. Прн каком условии этот граф кубируем? 3.26. Определить плотность графа, являющегося суммой ребра и цикла дли- длины 5. 3.27. Для графа, определенного в предыдущем упражнении, вычислить чи- число внутренней устойчивости. % 3.28. Для графа, являющегося произведением ребра н цикла длины 4, опре- определить число внешней устойчивости. 3.29. Найтн минимальную раскраску ребер графа Петерсена. 3.30. Обладает ли свойством реберности граф, являющийся суммой изоли- изолированной вершины и цикла длины 5? 3.31. Вычислить хроматическое число графа Петерсена. § 3.12. Комментарии Теория графов как раздел дискретной математики имеет многочисленные предметные интерпретации. Оиа успешно применяется в задачах управления производством и при проектировании сетей ЭВМ, при разработке современных электронных модулей и при проектировании физических систем с сосредоточен- сосредоточенными параметрами (акустических, механических, электрических), при решении проблем генетики и проблем автоматизации проектирования (САПР). Теория Графов является основой математического обеспечения современных систем об- обработки информации. Эта теория находит применение в ядерных исследованиях (диаграммная техника Фейгмана) и в финансовой области. Более подробные сведения о теоретико-графовых моделях и их приложениях »|ржно найти в [19, 26, 31, 44, 45]. 9 В. А. Горбатов
§4.1. Формальные грамматики 259 В начале было слово. Иоанн, 1.1 Глава 4 ТЕОРИЯ ФОРМАЛЬНЫХ ГРАММАТИК И АВТОМАТОВ § 4.1. Формальные грамматики Рассмотрим систему подстановок, задаваемую алфавитом М = — {пц/ i — 1, ..., р) и базисными подстановками <*>->&, D-1) где a,-, /?,• — формулы (слова), быть может, пустые в алфавите М. Каждую подстановку а,- -» /?,• будем понимать как правило вы- вывода. Часто систему подстановок называют полусистемами Туэ в честь норвежского математика Акселя Туэ. Используя эти по- полусистемы, Н. Хомский A955 г.) сформировал и развил аппарат формальных грамматик. Определим понятие формальной грамматики, которую в даль- дальнейшем будем называть просто грамматикой. Рассмотрим конеч- конечный алфавит М = {mi, тп2, ..., тп}, элементы которого будем называть символами (буквами), а конечные последовательности символов — словами. Обозначим все множество слов, на длину которых не наложены никакие ограничения, #о- Будем говорить, что Я С #о — язык в алфавите М. Пусть G — некоторая совокупность правил, с помощью ко- которых в М порождаются все слова, принадлежащие языку Я, и только они. Совокупность правил G будем называть граммати- грамматикой языка Я. Два языка будем называть эквивалентными, если множества слов, из которых они состоят, совпадают. Две грамматики, G\ и G2) наД Я называются эквивалентными, если языки, ими порож- порождаемые, эквивалентны. Условимся говорить, что G — грамматика с конечным чис- числом состояний, если правила порождения слов из алфавита М = = {mi, m2 т„} задаются следующим образом. Существует ко- конечное множество состояний {So, Si Sr} и каждому Sj (j = 1, 2,..., г) сопоставляется набор пар вида (т^, S,), где г € {1, 2, ... ...,п}, q € {0,1 г}. Состоянию 50 сопоставляются пары вида (m0, Sh), где h € {1, 2, ..., г}. Символ т0 — специаль- специальный знак пробела между словами. Конструирование слов проис- происходит следующим образом: из состояния 50 переходим в любое состояние Sq. Из пар, сопоставленных выбранному S,, берут лю- любую пару (mj, Si). Этот выбор определяет следующее состояние Si и первый символ слова т,-. Далее про- процесс построения слова происходит анало- аналогично. Слово заканчивается при переходе к заключительному состоянию, как прави- правило, So- t Язык, порождаемый грамматикой и конечным числом состояний, называется языком с конечным числом состояний. Структуру таких языков удобно изображать в виде графа, вершины которого сопоста- сопоставлены состояниям Sj, а дуги — парам (m,-, S,). На рис. 4.1 при- приведен пример такого графа. С помощью грамматики, задаваемой этим графом, порождается язык, который состоит из следующего множества слов: Рис. 4.1 ()} Порождение цепочек символов можно рассматривать как ре- результат работы некоторого гипотетического устройства (рис. 4.2). Вдоль бесконечной (в обе или в одну сторону) ленты, разделен- разделенной на клетки, перемещается управляющая головка (УГ). Заданы m2| mo| mo| mt| mo|mo Рис. 4.2 внешний алфавит М — {m0, mi, тг т„}, символы которого называются буквами, внутренний алфавит 5 = {So, Si, ..., Sr}, символы которого называются состояниями, и алфавит переме- перемещений D — {П, Л, Н}. Все клетки ленты заполнены символами из М, по одному символу в каждой клетке. Символ то играет роль Пустого символа (если в некоторой клетке стоит т0, то в клетке Ничего не записано). Предполагается, что вся бесконечная лента всегда заполнена символами то, за исключением тех клеток, где Записаны какие-либо другие символы из М. Управляющая головка может находиться в тех или иных сос- состояниях, характеризуемых символами из S. Состояние So особое. Если УГ находится в состоянии So, то машина не производит ни- никакой работы (выключена). Предполагается, что в конце работы Машина всегда переходит в состояние So. В процессе работы ма- машины УГ может перемещаться в дискретные такты времени вдоль Ленты. Перемещение происходит либо на одну клетку вправо (П), Либо на одну клетку влево (Л). Перемещение УГ в данный такт работы может отсутствовать {Н).
260 Гл. 4. Теория формальных грамматик и автоматов В каждый такт работы У Г совершает следующие действия: 1) считывает символ тп,-, находящийся в клетке ленты, которую в этом такте видит УГ; 2) в соответствии со считанным символом тп,- и своим состоя- состоянием Sj записывает символ тп* в эту клетку; 3) движется (не движется) вдоль ленты; 4) переходит в следующее состояние Sp. Всю работу машины можно задать с помощью функциональной таблицы Т, в клетках которой стоят тройки вида ть, Sv, d/, где d/ € D — символ, определяющий перемещение. Таким образом, функциональная таблица определяет отображение MxS в МxSx xD. Содержательный смысл отображения (тп,-, Sj) —> (тп*, Sp, dj) состоит в том, что, находясь в состоянии Sj и считывая из клетки символ тп,-, У Г записывает в данную клетку ленты символ тп*, пе- переходит в состояние Sp и производит движение, определяемое сим- символом dj. Условимся, что функциональная таблица всегда устрое- устроена так, что имеет место отображение (тп,-, So) —> (mi, So, Я). Это означает, что в выключенном состоянии машина не работает. До начала функционирования машины (если это необходимо) надо заполнить некоторые клетки ленты символами, отличными от то0, перевести УГ в состояние, отличное от So, и задать исход- исходное положение УГ относительно ленты. После этого машина будет функционировать в соответствии с таблицей Т. Функционирова- Функционирование машины можно задать с помощью графа, вершины которого взаимно однозначно соответствуют состояниям этого устройства, дуги — переходам из одного состояния в другое, при этом каж- каждая дуга (Si, Sp) взвешена парой (тп;, m/tdj). Следуя Хомскому, часто состояние называют нетерминальным (вспомогательным) символом, символ тп,- С М — терминальным. Описанное гипоте- гипотетическое устройство называется машиной Тьюринга. Тезис Поста. Произвольная полусистема Туэ может быть представлена как машина Тьюринга, и наоборот. В гл. 1 было рассмотрено интуитивное определение понятия ал- алгоритма. Используя машину Тьюринга, уточним это понятие. Тезис Тьюринга. Для любого алгоритма, понимаемого в интуитивном смысле, можно построить машину Тьюринга, функционирование которой эквивалентно этому алгоритму. Синтезируем машину Тьюринга, реализующую прибавление 1 к целому n-разрядному числу, представленному в троичной сис- системе с алфавитом цифр {0, 1, 2} (рис. 4.3, а). Алгоритм реализа- реализации этой операции представлен на рис. 4.3, б, где символ в квадрат- квадратных скобках обозначает содержимое наблюдаемого УГ разряда. Введя нетерминальные символы Si, S2, S3, нетрудно определить соответствующую машину Тьюринга (рис. 4.3,в),гдетп"о = 0, 1, 2; Л — левое движение на 1 разряд, Я — правое движение на 1 раз- разряд, Я — движение УГ отсутствует. §4.1. Формальные грамматики 261 Понятие машины Тьюринга является строгим уточнением по- понятия алгоритма. Переход от интуитивного понятия алгоритма Движение УГ вправо до исходного состояния с выполнением подстановок 0-»0, 1-»1, 2-»2 Установка УГ напротив нулевого разряда заданного числа Аназнз наблюдаемого разряда н выполнение подстановок 0-»1,1-»2, 2-»0 нет т0-» Сдвиг УГ на один разряд влево , т0П) в Рис. 4.3 к точному понятию машины Тьюринга позволяет решить вопрос алгоритмической (машинной) разрешимости той или иной проб- проблемы. Один из первых отрицательных результатов был получен аме- американским ученым Черчем в 1936 г. при рассмотрении проблемы
262 Гл. 4. Теория формальных грамматик и автоматов распознавания выводимости в математической логике: опреде- определить для любых заданных формул R и S в логическом исчислении, существует дедуктивная цепочка, ведущая от R к 5, или нет. Если формула А может быть преобразована в формулу В одно- однократным применением допустимой подстановки, и наоборот, то А и В — смежные формулы. Последовательность Л,-, i = 1, 2, ..., п, формул, соседние из которых смежны, называется дедуктивной цепочкой, ведущей от А\ к Ап. Под решением проблемы распо- распознавания выводимости понимается алгоритм, дающий ответ на вопрос о существовании дедуктивной цепочки (для любых R и S). Проблема является алгоритмически неразрешимой, если не существует алгоритма (соответствующей машины Тьюринга) для ее решения. Отдельная машина Тьюринга может быть представ- представлена как программа произвольного вида для ЦВМ с потенциально бесконечной памятью. Теорема 4.1 (Чёрч). Проблема распознавания выводимос- выводимости алгоритмически неразрешима. Следуя Хомскому, введем ограничения на подстановки а -+ C, прослеживая при этом соответствие полученной грамматики авто- автоматическому устройству. Ограничение 1. Если а —> C удовлетворяет выражению D.1), т. е. является правилом вывода, то (За!, а2, ..., ат, Ьи Ь2, ..., Ьп(т < п)) ((а = = aia2... am) & @ = Мг- • • Ьп)). D.2) Язык, порожденный грамматикой, удовлетворяющей D.2), ре- реализуется машиной Тьюринга. Ограничение 2. Если а —>• C — правило вывода, то (З71, 72) a, wGi, 72) ш — цепочки, а — отдельный символ; ы не пусто)) ((а = 71072) & @ = 7i«7a)) • D-3) Грамматики, удовлетворяющие соотношению D.3), называют- называются контекстными (контекстно связанными). Контекстные грамматики реализуются устройствами типа ав- автомата Майхилла. Пусть (t, j, k, I, p) — одно из правил, определяющих работу автомата: если блок управления находится в состоянии Sj, а счи- считывающая головка — напротив клетки, содержащей символ тп,-, то блок управления может перейти в состояние Sk, в то время как лента продвигается в / клеток влево, а рассматриваемый символ заменяется на тр. Устройство, работающее по такому принципу, называется автоматом Майхилла. Ограничение 3. Если а -+ C — правило вывода, то a — нетерминальная буква и Р Ф 0- D.4) §4.1. Формальные грамматики 263 Грамматика, удовлетворяющая D.4), называется бескон- бесконтекстной (контекстно свободной). Согласно D.4) каждое правило грамматики утверждает, что определенный нетерминальный символ может быть заменен це- цепочкой символов независимо от контекста. Язык, порождаемый бесконтактной грамматикой, реализуется автоматом Майхилла специального вида, в котором используется магазинная память. Этот автомат, следуя Ньюэллу, Шоу и Сай- Саймону, будем называть магазинным автоматом. Магазинный автомат представляет собой композицию управ- управляющего автомата и трех магазинов, каждый из которых пред- представляет собой бесконечную в одну сторону ленту. На ленте запи- записано слово, первая буква которого записана в первой ячейке, вто- вторая — во второй и т. д. При чтении воспринимается первая буква слова, затем она стирается и оставшаяся часть слова сдвигается к первой ячейке. При записи в магазин слова длины к первые к ячеек освобождаются в результате записанного ранее сдвига слова на к ячеек. Входной магазин связан с входными каналами упра- управляющего автомата, выходной — с выходными каналами, вну- внутренний магазин связан как с входными, так и выходными кана- каналами управляющего автомата. Множество внутренних состоя- состояний управляющего автомата разбито на два подмножества, А и В. Если управляющий автомат находится в состоянии, принадлежа- принадлежащем подмножеству А, то происходит считывание информации из входного и внутреннего магазинов. Если автомат находится в со- состоянии S{ G В, то происходит считывание только из внутреннего магазина, при этом автомат переходит в следующее состояние и записывает во внутренний и выходной магазины слова. Правило бесконтекстной грамматики называется: линейным, если оно имеет вид А -)• хВу; D.5) праволинейным, если А -> хВ; D.6) леволинейным, если А -> Вх. D.7) Правило вида А —> х называется заключительные. В зависи- зависимости от ограничений, определяемых правилами D.5)-D.7), бес- бесконтекстная грамматика может быть: а) линейной, если каждое ее незаключительное правило ли- линейно (в частности, оно леволинейно или праволинейно); б) односторонне линейной, если каждое ее незаключительное правило леволинейно или каждое ее незаключительное правило праволинейно; в) металинейной, если все ее незаключительные правила либо линейны, либо имеют вид S —* C и если, кроме того, в ней нет правил вида А —> aSC ни для каких А, а, /3, где а, C не пусты.
264 Гл.4. Теория формальных грамматик и автоматов Односторонняя линейная грамматика реализуется конечные автоматом, и порождаемый ею язык называется конечноавто- матным. Рассмотрим одностороннюю линейную грамматику, все пра- правила которой праволинейные (для определенности) либо заключи- заключительные. Без потери общности можно предположить, что каждое линейное правило имеет вид А -+ аВ, где В — неначальный сим- символ, и что каждое заключительное правило грамматики имеет вид А —> а. Пусть Ai, А?, ..., Ап — нетерминальные символы грамма- грамматики, причем Ai — начальный символ. Сопоставим грамматике конечный автомат, каждое внутреннее состояние которого взаимно однозначно соответствует нетерминальному символу грамматики, а входной символ — терминальному символу грамматики. При этом если Ai —>• aAj — правило грамматики, то тройка (а, Л,-, Aj) определяет функционирование автомата и понимается как переход от состояния А, в состояние Aj при считывании входного сим- символа а. Для определенности будем считать, что при переходе из со- состояния 5,- в состояние Sj в результате входного воздействия а автомат вырабатывает на своем выходе символ Ь. Тогда автомат можно определить как четверку (а, Ь, Si, Sj). Если фиксируется начальное состояние So, то автомат реали- реализует оператор Г: Ь = Т{а, Si, Sj), который в дальнейшем будем называть автоматным. Автоматный оператор Г переводит входную последователь- последовательность символов (at) и выходную F,) в зависимости от началь- начального состояния и реализуемой односторонней линейной грамма- грамматики. Автомат удобно представлять в виде функции Г на графе G = (V, U), каждой вершине которого взаимно однозначно соот- соответствует состояние автомата, и если из состояния S,- в состояние Sj автомат переходит в результате входного воздействия а, вы- вырабатывая при этом выходной символ Ь, то соответствующие вер- вершины и,- и Vj соединены дугой (и,, Vj), взвешенной парой (а, о). Таким образом, областью определения этой функции Г является граф G = (V, U), построенный рассмотренным выше способом, а областью значений — входные, выходные символы и идентифи- идентификаторы состояний автомата. Рассмотрим, например, одностороннюю линейную грамматику с алфавитом терминальных символов Mj = {х, у, а, Ь}, с алфави- алфавитом нетерминальных символов Мц = {Si, 5г, 5з} и следующими правилами вывода: Si -» ybSi, Si ->• ха5г, 5г -» xaS2, S? -* уа5з, S3 -» xbSi. Эта грамматика реализуется конечным автоматом. Если авто- автомат установить в начальное состояние Si и подать на вход после- § 4.2. Основные этапы проектирования автоматов 265 , а) довательность терминальных символов {у, х, у, х}, то на выходе получаем последовательность терминальных символов {Ь, а, а, Ь}, нетерминальные же символы образуют последо- последовательность {Si, Si, S2, S3}. Реализуемый авто- автоматный оператор Т можно представить в виде соответствующей функции на графе G = (V, U) (рис. 4.4). Если рассматривать автомат не как устрой- ство, реализующее соответствующую граммати- ку, а изучать его строение (структуру), то следует Рис. 4.4 представлять этот автомат не в виде машины Тьюринга, а в виде блок-схемы, изображенной на рис. 4.5, где Мх — множество вход- Память хя°- Комбина- ционная часть z2- №>-*Г sf J Рис. 4.5 ных терминальных символов, Му — множество выходных терми- терминальных символов, Mz — множество нетерминальных символов (MZ = MZ+,MZ-). § 4.2. Основные этапы проектирования автоматов Рассмотрим проблему проектирования автомата. На рис. 4.5: Мх — множество входных векторов У — rfflr^2 гСп. у\ — «is* л о * * • п ) Му — множество выходных векторов 1 — 4/1 4/2 ' " " "m i Мг — множество векторов, характеризующих входные каналы обратной связи (памяти), Mz+ — множество векторов, характеризующих выходные ка- каналы обратной связи, Каждый из каналов в случае fc-значной логики может нахо- находиться в одном из к значений а ? {0, 1, ..., к — 1}.
266 Гл. 4. Теория формальных грамматик и автоматов Условимся обозначать переменную а, равную а € {0, 1, 2, ... ..., к — 1}, как а". Тогда правила вывода в случае автоматной грамматики удобней определить как подстановку XZ+ —> Z~Y, в которой начальное значение вектора Z+ и последующие его зна- значения получаются приравниванием значению вектора Z~, вычи- вычисленному на предыдущем шаге, т. е. где г — некоторая постоянная времени автомата. Векторы XZ+ и Z~Y получаются приписыванием справа век- вектора Z+ к X и Y к Z~ соответственно. Состояния каналов обратной связи в дальнейшем будем назы- называть внутренними состояниями автомата, а постоянную вре- времени т — временем перехода из одного внутреннего состояния в другое, причем в зависимости от назначения автомата и его реа- реализации т может быть постоянной для данного автомата или же зависеть от изменения вектора X. В первом случае автомат назы- называют синхронным, во втором — асинхронным. При заданном (Z+)o последовательность входных векторов X (входная последовательность) однозначно определяет последо- последовательность выходных векторов У (выходную последователь- последовательность). Проиллюстрируем это на следующем примере. Пусть имеется устройство с входным каналом х, каналом обратной связи г и выходным каналом у, реализующее отображение XZ+ -> Z~Y, заданное в виде таблицы (табл. 4.1), Таблица 4.1 Таблица 4.2 О О 1 1 О 1 О 1 1 1 О О 1 О 1 о Время 0 т 2т Зт 4т 5т X 1 0 1 0 0 1 г+ 0 0 1 0 1 1 г~ 0 1 0 1 1 0 у 1 1 0 0 0 0 Определим выходную последовательность, если входная последовательность имеет вид 101001 и начальное значение вектора Z+ равно 0. В начальный мо- момент времени вектор XZ+, равный 10, определяет Z~Y = 01 (третья строка таблицы). Через промежуток времени, равный т, условие XZ+ = 00 определит Z~Y = 11 (первая строка) и т. д. Запишем определение выходной последова- последовательности в виде табл. 4.2. + Следовательно, 101001 —?—)¦ 110100. При Zq — 1 согласно заданному автоматному отображению входная после- последовательность 101001 преобразуется в выходную последовательность 010100. Таким образом, автоматное отображение XZ+ —> Z~Y одно- однозначно определяет выходную последовательность (Yi) по заданной §4.2. Основные этапы проектирования автоматов 267 входной последовательности (X,) и начальному внутреннему со- 2+ стоянию Z?: (Xi) ——? (Yi). Одной из основных характеристик автомата является объем его памяти. Число внутренних состояний автомата называется объемом памяти автомата. Как известно, преобразование информации является резуль- результатом выполнения некоторого алгоритма, при этом операционный автомат реализует шаги алгоритма, а управляющий авто- автомат — порядок выполнения шагов. Операционный и управля- управляющий автоматы различаются не только своими назначениями, но и объемами памяти. В операционном автомате происходит пре- преобразование информации, которая задана в виде некоторого мно- множества чисел, записанных в регистрах. Практически объем па- памяти операционного автомата бесконечен. Так, например, блок регистров современной ЭВМ, входящий в операционной автомат и состоящий из 22 16-разрядных двоичных регистров, имеет объем памяти 2352 > 1О100 бит. Объем памяти управляющих автоматов обычно составляет от нескольких десятков до нескольких десят- десятков тысяч бит, т. е. является небольшим по сравнению с объемом памяти операционных автоматов. Рассмотрим взаимодействие операционного и управляющего автоматов (рис. 4.6). На вход операционного автомата (канал 1) поступает преобразуемая информация; с выхода операционного ав- 12 з Рис. 4.6 томата (канал 2) снимаются результаты преобразований; по ка- каналу 3 поступают управляющие воздействия, соответствующие реализуемому алгоритму; по каналу 4 на вход управляющего авто- автомата поступают признаки, характеризующие преобразуемую ин- информацию; по каналу 5 — сигнал, определяющий выполняемое преобразование и его начало; по каналу 6 — сигнал окончания операции. Каналы 1 и 2 называются информационными, каналы 3-6 — управляющими. Рассмотрим, например, выполнение опера- операции сложения в арифметическом устройстве (АУ) ЭВМ. В данном случае операционным автоматом является арифметическое устрой- устройство, т. е. регистры, сумматор и связи между ними, а управляю- управляющим автоматом — устройство управления АУ. При выполнении алгоритма сложения по каналу 1 из запоми- запоминающего устройства (ЗУ) машины в соответствующие регистры
268 Гл.4. Теория формальных грамматик и автоматов АУ записываются первое и второе слагаемые; по каналу 5 из цен- центрального устройства управления (ЦУУ) машины поступает код операции (сложение); по каналу Зиз управляющего устройства АУ согласно алгоритму сложения посылаются управляющие сигналы: сдвиг регистров, возбуждение соответствующих шин в сумматоре, запись суммы в регистр результата и другие сигналы. По каналу 4 поступают признаки (например, содержание знаковых разрядов в сумматоре, используемое для обнаружения нарушения нормали- нормализации), определяющие ход дальнейшего управления. По каналу 6 в ЦУУ передается сигнал окончания выполнения операции. По каналу 2 в ЗУ посылается результат операции. ЭВМ — сложный преобразователь информации, и ее целесо- целесообразно рассматривать, следуя В.М. Глушкову, как композицию пар автоматов, каждая из которых состоит из операционного и управляющего автоматов. При этом каждое устройство ЭВМ (ввода, вывода, ЗУ, ЦУУ) представляется аналогично арифмети- арифметическому устройству в виде пары или нескольких пар таких авто- автоматов. Такое представление ЭВМ диктуется не только удобством анализа и синтеза ЭВМ, но и является естественным развитием структуры современных ЭВМ. В настоящее время как один из методов увеличения производительности ЭВМ используется муль- мультипрограммный режим, что, в частности, уменьшает задержки, вызываемые низкой скоростью внешних устройств и несоответ- несоответствием скоростей работы внешних и арифметических устройств. Для реализации мультипрограммного режима ЭВМ необходима некоторая "самостоятельность" отдельных устройств, т. е. воз- возможность хранения, преобразования информации и управления этим преобразованием внутри устройства; другими словами, необ- необходимо, чтобы каждое устройство представляло собой композицию операционного и управляющего автоматов. В настоящее время на основе нейротранспьютерных техноло- технологий, создаются мощные вычислительные сети; примером таких сетей являются Communication Machines (CM-1, CM-2), имею- имеющие кластерно-гиперкубовую архитектуру. Транспьютерная сеть СМ-1 состоит из 65 536 B16) транспьютеров, СМ-2 — из 4 194 304 B22) транспьютеров. В кластерах реализуются связи "каждый с каждым", каждый кластер соответствует вершине гиперкуба. Гео- Геометрически сеть СМ-1 представляет собой куб, длина ребра кото- которого равна 120 см, сеть СМ-2 — куб с ребром 480 см. При проектировании ЭВМ можно выделить три основных эта- этапа: системный, логический и технический. На этапе системного проектирования строится композиция пар автоматов — операционных и управляющих (общая блок-схе- блок-схема ЭВМ); определяются необходимый объем памяти автоматов, их взаимодействие на основе выбора системы команд, внешние и вну- внутренние языки машины и т. д. Исходной информацией на си- §4.2. Основные этапы проектирования автоматов 269 стемном этапе является совокупность классов задач, для решения которых предназначена проектируемая машина, и ее параметров (быстродействия, стоимости, габаритных размеров и т. д.). Рассматриваемые на этапе системного проектирования авто- автоматы имеют большой объем памяти, превышающий, как уже от- отмечалось, 1О100 бит. Поэтому в настоящее время задачи систем- системного этапа решаются с помощью программного моделирования. Процесс решения задачи системного этапа методом программ- программного моделирования обычно состоит из следующих шагов: а) составление математической модели, отражающей важные свойства моделируемого устройства или машины в целом; б) построение моделирующего алгоритма, запись его на неко- некотором языке, предназначенном для описания моделей ЭВМ; в) реализация моделирующего алгоритма на ЭВМ; г) анализ результатов и корректировка модели устройства или машины. Программное моделирование позволяет определить основные характеристики проектируемой машины, "узкие места" ее струк- структуры. На этапе логического проектирования ЭВМ синтезируются непосредственно логические (функциональные) схемы всех блоков машины. Исходной информацией для этого этапа являются алго- алгоритмы функционирования блоков. На этапе технического проектирования на основе логических схем строятся принципиальные монтажные схемы и готовится техническая документация для производства ЭВМ. Логическое проектирование заключается в синтезе как опера- операционных, так и управляющих автоматов. В силу практически бесконечного объема памяти операционных автоматов последние в настоящее время синтезируются с помощью программного моде- моделирования. И если для формализованного синтеза операционных автоматов необходимо развитие теории бесконечных автоматов, то для формализации синтеза управляющих автоматов возможно применение теории конечных автоматов. Согласно этой теории при проектировании управляющих авто- автоматов будем различать два основных этапа: построения автомат- автоматного оператора и структурного синтеза автомата. I. Этап построения автоматного оператора. На этом этапе производится построение системы выходных функций Y = f(X, Z+) и системы функций возбуждения Z~ = <р(Х, Z+). Автоматное отображение, записанное в виде системы выход- выходных функций и функций возбуждения, будем называть автомат- автоматным оператором. Этап построения автоматного оператора в свою очередь состоит из трех подэтапов: алгоритмического, абстрактного и этапа коди- кодирования (размещения) внутренних состояний автомата.
270 Гл. 4. Теория формальных грамматик и автоматов На этапе алгоритмического проектирования заданный опе- оператор Л оформляется в виде алгоритма исходя из поставленных требований (простоты выполнения операций, быстродействия, максимального уменьшения аппаратурных затрат и др.). Поиск оптимального алгоритма по заданному оператору А можно пред- представить в виде дерева, каждая висячая вершина которого соответ- соответствует определенному алгоритму, т. е. определенной композиции операционного и управляющего автоматов. Для поиска оптималь- оптимального алгоритма необходим перебор всех висячих вершин, число которых не известно и определяется степенью развития рассма- рассматриваемых преобразований. Пусть, например, необходимо синтезировать арифметическое устройство, реализующее четырехместную операцию суммирова- суммирования. В зависимости от выбора алгоритма, реализующего это за- задание, получаем определенную блок-схему синтезируемого устрой- устройства, характеризующуюся аппаратурными затратами и быстро- быстродействием. В данном случае можно предложить, например, три варианта алгоритма. 1-й вариант. Суммируем два первых числа, к полученной сумме прибавляем третье число и к вновь полученной сумме при- прибавляем последнее число. Этот вариант алгоритма характеризу- характеризуется временем выполнения операции Т\ и аппаратурными затра- затратами в виде одного сумматора, четырех регистров, устройства управления и необходимых каналов связи. Этому алгоритму со- соответствует блоксхема, изображенная на рис. 4.7, а. 2-й вариант. Суммируем одновременно первое число со вто- вторым, третье — с четвертым, результаты записываем соответствен- соответственно в первый и третий регистры, затем суммируем их на пер- первом сумматоре. Окончательный результат записываем в первом регистре. Этот вариант выполнения задания А характеризуется временем выполнения гг и аппаратурными затратами, представ- представленными на блок-схеме этого варианта (рис. 4.7,6). 3-й вариант. Суммируем первые два числа на одном сумма- сумматоре, вторые два — на втором сумматоре, полученные суммы — на третьем сумматоре, результат записываем в первый регистр. Этот вариант характеризуется временем выполнения операции гз и аппаратурными затратами, приведенными на рис. 4.7, в. Тот или иной вариант алгоритма, реализующего задание А, выбирается исходя из конкретных ограничений на аппаратурные затраты и на время выполнения заданных операций. Каждая висячая вершина дерева поиска оценивается временем выполнения данного преобразования и сложностью аппаратуры (сложностью операционного и управляющего автоматов). Слож- Сложность операционного автомата оценивается непосредственным под- подсчетом аппаратурных затрат. Сложность управляющего автомата можно оценить с помощью понятия производной от модели. §4.3. Алгоритмический этап проектирования 271 На абстрактном этапе решается задача минимизации объема памяти автомата. На этапе кодирования (размещения) внутрен- внутренних состояний автомата каждому внутреннему состоянию авто- -Ю-HZZEIbrO- г* X 2 —| в Рис. 4.7 мата сопоставляется код, т. е. определенная совокупность состоя- состояний (значений) элементов памяти. В результате выполнения двух рассмотренных этапов состав- составляют системы выходных функций и функций возбуждения авто- автомата — строят автоматный оператор. После построения автомат- автоматного оператора переходят к структурному синтезу. II. Этап структурного синтеза автомата. Этап структурного синтеза автомата заключается в построении из за- заданных элементов логической (функциональной) схемы автомата, реализующей полученный автоматный оператор. Более подробно структурный синтез рассмотрим ниже. § 4.3. Алгоритмический этап проектирования Проектирование автоматного оператора заключается в построе- построении автоматного отображения по заданному словесному описанию, включающему цель проектирования, назначение синтезируемого автомата и свойства поведения (функционирования) управляемого
272 Гл. 4. Теория формальных грамматик и автоматов объекта, в контуре, с которым проектируемый автомат реализует поставленную цель. Автоматное отображение, как правило, задают в виде графа переходов. Граф переходов — это граф G = (V, (X, У)), каждая вершина которого взаимно однозначно соответствует внутреннему состоянию автомата, и если из состояния S,- автомат переходит в состояние Sj, то соответствующие им вершины и,-, Vj соединя- соединяются дугой (t\, Vj) € U, взвешенной парой векторов (X, Y), при которых этот переход осуществляется. На алгоритмическом этапе неформально заданная информация преобразуется в формальную систему в виде автоматного опера- оператора. При этом используется принцип аналогий. Формально этот переход может быть основан на применении грамматик, в которых правила подстановки формализуют данные свойства управляемого объекта. В результате применения грамматик порождаются ком- композиции графов переходов, удовлетворяющие заданному словес- словесному описанию. Эта композиция часто представляет собой двух- двухуровневую иерархию. Первый уровень представляет собой графы переходов, реакцией которых является непосредственно управляю- управляющее воздействие на управляемый объект. Второй уровень предста- представляет собой граф переходов, реакция которого соответствует воз- возбуждению инициальных вершин графов первого уровня. Рассмотрим построение графов переходов автоматов, реализую- реализующих устройства вычислительной техники и промышленной авто- автоматики. Пусть задан операционный автомат в виде арифметического устройства по- последовательного действия, изображенного на рис. 4.8. Это устройство содержит РА ? ? СдРА„ ? П Пк\ ЛсдРЪПсдРЪ Рис. 4.8 §4.3. Алгоритмический этап проектирования 273 четыре регистра: Р1, Р2, РЗ, Р4, и одноразрядный сумматор комбинацион- комбинационного типа, которые связаны между собой соединительными каналами и управ- управляемыми вентилями. Четырехразрядные числа представляются в устройстве в двоичном коде 8421. Синтезируем автомат, управляющий вычислением мантиссы частного. До выполнения операции делимое а находится в регистре Pi, делитель Ъ — в реги- регистре Р2, числа а и Ъ нормализованы, а частное формируется в регистре РЗ. При выполнении операции деления вычитание заменяем сложением в дополнитель- дополнительном коде и используем следующий алгоритм. 1. Вычитаем в дополнительном коде содержимое регистра Р2(Ь) из содер- содержимого регистра Р1{а), одновременно переписывая содержимое регистра Р1 в регистр Р4- 2. Если о — Ь > 0, то выполняем п. 3, в противном случае — п. 4. 3. Разность а — Ь записываем в регистр Р1, регистр Pj устанавливаем в "нуль", а в регистр РЗ записываем 1, сдвигаем на один разряд вправо делитель, регистр результата — влево и переходим к п. 5. 4. Записываем содержимое регистра Р4 в регистр Р1, в регистр РЗ записы- записываем 0, сдвигаем на один разряд делитель вправо, регистр результата — влево и переходим к п. 5. 5. Если п. 1 был выполнен менее пяти раз, то переходим к п. 1, в противном случае — к п. 6. 6. Конец (в общем случае здесь осуществляется передача управления в блок нормализации частного). Для простоты считаем, что в регистр РЗ предварительно записан код нуля. Зная операционный автомат и реализуемый алгоритм, соста- составляем временную диаграмму функционирования управляющего автомата, которая представляет собой алгоритм выполнения дан- данной операции в терминах управляющих точек — микроопераций. Каждой микрооперации соответствует выходной канал управляю- управляющего автомата. Отсюда число выходных каналов синтезируемого автомата равно числу всех микроопераций. Множество микроопераций рассматриваемого устройства таково: СдР1 — сдвиг регистра Р1\ СдР2 — сдвиг регистра Р2; ПСдПЗ — правый сдвиг реги- регистра РЗ; ЛСдРЗ — левый сдвиг регистра РЗ; СдР4 — сдвиг регистра Р4 (на- (наличие регистра Р4 позволяет ие производить восстановления остатка); ПК1 — прямой код содержимого регистра Pi; ПК2 — прямой код содержимого реги- регистра Р2; OKI — обратный код содержимого регистра Pi; OK2 — обратный код содержимого регистра Р2; BxPl — вход регистра Р1; ВхР2 — вход регистра Р2; У"О"Р1 — установка регистра Р1 в "нуль"; ВхЛРЗ — вход регистра РЗ слева; ВхПРЗ — вход регистра РЗ справа; ЦР1 — цикл регистра Р1; ЦР2 — цикл регистра Р2; +1 ?2 — подача единицы в цепь переноса сумматора; Д4 — работа с векторами длины 4; Д5 — работа с векторами длины 5; Дб — работа с векторами длины 6; Д7— работа с векторами длины 7; Р4-+Р1 — передача содержимого регистра Р4 в регистр Р1. Строка временной диаграммы взаимно однозначно соответст- соответствует микрооперации. Множество микроопераций, выполняемых одновременно, на- называется микрокомандой, а множество последовательностей ми- микрокоманд, соответствующее выполняемой операции — микропро- микропрограммой. Каждая микропрограмма взаимно однозначно соответ- соответствует значению входного вектора X. Следовательно, число раз- различных значений входного вектора X равно числу выполняемых
274 Гл. 4. Теория формальных грамматик и автоматов операций, а число входных каналов равно [log2 |{А",}|], где [ ] — знак ближайшего целого числа. При синтезе управляющего автомата, реализующего заданный алгоритм, предварительно составляют временные диаграммы, детализирующие каждый пункт алгоритма. Временная диаграмма, соответствующая вычислению нуле- нулевого разряда частного иа операционном автомате (рис. 4.8) по приведенному алго- алгоритму деления, приведена на рис. 4.9. Временные диаграммы, соответствующие СдР\ СдР2 ПСдРЗ ПСдРЪ СОРТ ТТкГ ТТкг ОкГ ОкТ ВхР\ ВхР2 У0ГР1 ВхЛРЪ ВхПРЪ 1РТ LP2 +ТХ IT Р4-Р1 /Ч /Ч /Ч /Ч /Ч /Ч /Ч /Ч /Ч /Ч /Ч /Ч /Ч /Ч /Ч /Ч /Ч /Ч /Ч /Ч /Ч /Ч /Ч /Ч /Ч /Ч /Ч /Ч /Ч /Ч = 1 /\ /\ а-0 Л /Ч /ч /Ч /Ч ГО, если п. 1 выполняется а = < менее пяти раз, L1 в противном случае Блок нормализации Ро-перенос в нулевой (знаковый) разряд при суммировании чисел Рис. 4.9 вычислениям последующих разрядов частного, отличаются от диаграмм, изо- изображенных иа рис. 4.9, только в первом блоке, а именно: при вычислении t'-ro разряда частного вместо четырехкратного выполнения микрооперации Д4 имеет место соответственно D — |')-кратное выполнение микрооперации ДD — i), т. е. при вычислении первого разряда выполняется пятикратное возбуждение Д5 и т. д. Следовательно, чтобы использовать первый временной блок, надо перед вычислением соответствующего разряда частного производить его настройку. Настройка первого временного блока заключается в следующем: Д} рассма- рассматривают как входной параметр этого блока и перед вычислением нулевого раз- разряда з присваивают значение 4, а после вычисления каждого разряда частного значение j увеличивают иа 1. Осуществим настройку первого временного блока введением дополнительного четырехразрядного регистра Р5, в который перед началом выполнения операции деления записывается 1, а после вычисления ка- каждого разряда частного производится сдвиг регистра Р5 иа один разряд. Выход i-ro разряда регистра Р5 подается на клапан Д(|«| ± 3). Для нахождения числа вычисленных разрядов частного введем трехразряд- трехразрядный счетчик (СчЦ), состояние 101 которого укажет на то, что вычислено пять разрядов частного и надо передавать управление в блок нормализации. §4.3. Алгоритмический этап проектирования 275 Основываясь иа проведенном анализе, целесообразно изменить множество микроопераций, а именно: вместо микроопераций Д4, Д5, Д6, Д7 ввести ми- микрооперации СЭР5 (сдвиг регистра Р5) и 1вР5 (запись единицы в регистр Р5) и СдР1 СОРТ. ЛСдРЗ СдР4 Пк\ OKI ВхР\ У"Р\ ВхЛРЪ 1 1 />1 f 12 CdPS UPS Р4-»Я1 ПСчЦ СчЦв'ХГ - п СдР\ ПсдРЗ ПкТ СОРТ СОРТ OKI ВхРТ У0ГР1 ВхПРЪ ЪРТ ЦРТ CdPS UPS P4-*Pl +гСчЦ СчЦв"О /Ч /Ч /Ч /Ч /Ч /Ч /Ч /Ч /Ч /Ч /Ч /Ч /Ч /Ч /Ч /Ч /Ч /Ч /Ч /Ч /Ч /Ч /Ч /Ч /ч /Ч /Ч /Ч /Ч /Ч /Ч /Ч /ч /ч /ч /Ч /ч 1[Я5]=1 2[Р5]=1 3[Я5]=1 4ГЯ51=1 /Ч /ч /ч /ч /Ч /ч /ч /ч /Ч /ч /Ч /ч ^ 101 п /ч /ч /Ч /Ч [СчД] — содержимое Блок счетчика циклов нормализации 1 [PS]—содержимое 1-го разряда регистра PS, i=l,..., 4 ^ Рис. 4.10 дополнительно ввести микрооперацию +1СчЦ (прибавление единицы в счетчик циклов СчЦ) и СчЦв "О" (установление счетчика циклов в "нуль"). В результате рассмотренных преобразований временная диаграмма, приве- приведенная на рис. 4.9, преобразуется во временную диаграмму, изображенную на рис. 4.10.
276 Гл. 4. Теория формальных грамматик и автоматов Временная диаграмма еще не дает автоматного отображения. Действительно, одному значению входного вектора, определяю- определяющего выполняемую операцию, соответствуют несколько значений выходного вектора (микрокоманд), т. е. временная диаграмма за- задает неоднозначное преобразование входного вектора в выходной. Следовательно, это преобразование не является автоматным ото- отображением. Для получения автоматного отображения необходимо ввести в синтезируемый автомат память. При этом заведомо до- достаточен объем памяти, равный числу всех микрокоманд. Сово- Совокупность входного вектора и состояния памяти однозначно опре- определяет микрокоманду. В соответствии с временной диаграммой построим граф перехо- переходов автомата. Внутреннее состояние автомата взаимно однозначно сопоставляется столбцу во временной диаграмме. Граф переходов автомата, реализующий временную диаграмму (рис. 4.10), изображение рис. 4.11. Микрокоманды на этом рисунке обозначены латинскими (х, с) (x.d) c)l(xauc) (ха2, с) Рис. 4.11 буквами и имеют следующий вид: о = {1вР5, СчЦв "О"}; Ъ = {СдР1, СдР2, ПК1, ОК2, ЦР1, ЦР2, , +1СчЦ); §4.3. Алгоритмический этап проектирования 277 с = {BxPl}; d = {СЭР1, СдР2, TIKI, ОК2, ЦР2}; е = {+!?}; / = {ВхПРЗ}; g = {СдР2, ЛСдРЗ, fi h = {У"О"вР1}; к = {СЭР2, ЛСдРЗ, СдР4, Р4-+Р1); т - {СдР5}. Считаем, что если иа вход автомата управления поступила единица (х = 1), то автомат выполняет управление делением. Логические переменные (признаки), определяющие ход управления, обозна- обозначим как: or; — содержимое »-го разряда регистра Р5\ /J — условное состояние счетчика СчЦ, 1, если состояние счетчика есть 101, 0 в противном случае; Ра — перенос в нулевой разряд при суммировании чисел. Рассмотрим большую систему промышленной автоматики — систему сжи- сжигания твердого топлива в плотном слое. Система содержит четыре полугазовые топкн, установки подачи топлива, воздуха и установку удаления шлака. Схема полугазовой топкн изображена иа рис. 4.12, где: 1 — конвейер; 2 — плужок; _ ( ~ \ Рис. 4.12 8 — входной бункер; 4 — топливо; 5 — питатель; 6 — забрасыватель; 7 — полугаз; 8 — подача воздуха; 9 — рабочая камера; 10 — шлак; 11 — слой све-
278 Гл. 4. Теория формальных грамматик и автоматов §4.4. Абстрактное проектирование автоматов 279 жезаброшенного топлива; 12— зона восстановления; 13— зона горения; Ц — зона шлака; 15— колосниковая решетка. Полугазовые топки, являющиеся одним из видов промышленных печей, вхо- входят в состав газового хозяйства завода, и автоматизация управления процессами сжигания в топках — одна из задач автоматизации всего технологического про- процесса. Полнота газификации определяется процентным содержанием в полугазе двуоксида углерода. С его повышением падает теплота сгорания полугаза и уве- увеличивается температура в топке. Полугаз перед выходом из топки смешивается с вторичным воздухом и подается в рабочую камеру. Топка снабжается топли- топливом через систему, состоящую из конвейера, ллужковых сбрасывателей, входного бункера, питателя и забрасывателя. Шлак удаляется с помощью встряхивателей, спускового клапана и вагонов. Воздух, предназначенный для сжигания топлива, подается с помощью клапана подачи первичного воздуха. Управление процессом газификации осуществляется выдерживанием опре- определенной толщины слоя сгораемого топлива B00-400 мм для антрацита, 400- 800 мм для каменных и бурых углей), т. е. определяется интенсивностью подачи топлива, первичного воздуха н удаления шлака из зоны горения. Система управления сжиганием имеет следующие каналы (рис. 4.13), пред- представляющие собой микрооперации при проектировании управляющего автомата: ?44 JC45 ЛГ46 Рис. 4.13. Система газификации: / — конвейер, 2— плужок, 3— входной бункер, 4 — система подачи топлива, 5— топка, 6— клапан подачи воздуха, 7— общий VTfanatT клапан К1 — пуск и останов процесса газификации; К2 — индикация работы процесса газификации; КЗ — пуск и останов заполнения входных бункеров; К\ — ин- индикация заполнения входных бункеров; К5 — пуск и останов подачи топлива в юлки; Кб — индикация подачи топлива в топки; К7 — приостанов газифика- газификации в первой топке; КЗ — индикация состояния канала А'7; К9 — приостанов газификации во второй топке; К10 — индикация состояния канала К9\ К11 — приостанов газификации в третьей топке; К12 — индикация состояния канала К11; К13 — приостанов газификации в четвертой топке; КЦ — индикация со- состояния канала KlS; K15— плужок первой топки; К16— плужок второй топки; К17— плужок третьей топки; К18— плужок четвертой топки; К19 — конвейер; K20-K2S — питатели первой—четвертой топки соответственно; К24-К27 — забрасыватели; K28-KS1 — клапаны подачи вторичного воздуха; К32-К35 — датчики верхнего уровня во входных бункерах; К4О-К4З— датчики подачи топ- топлива; К44~К47— индикация аварии установки заполнения входных бункеров; К48-К51 — индикация аварии установки подачи топлива в печи; К52 — пуск и останов процесса управления; К53— индикация управления; К54 — начальные установки исполнительных элементов. Перечисленное множество каналов включается в носитель мо- модели Фа, формализующей функционирование управляемого объ- объекта. Кроме этого множества носитель модели Фа может включать множество дополнительных элементов, являющихся идентифика- идентификаторами входных, внутренних и выходных клапанов, которые вве- введены для получения эффективного автоматного управления. Ис- Исходя из информации, полученной от технолога, в носителе устана- устанавливаются причинно-следственные связи вида А —> В, которые определяют сигнатуру модели Фа. Очевидно, что модель обла- обладает свойством симметричности и ее можно задать в виде мографа GM (Фа)- Причинно-следственные связи могут быть заданы и в виде временных диаграмм. Переход от мографа или временных диаграмм к графу переходов аналогичен переходу от временных диаграмм (которые могут быть заданы в виде мографа) к графу переходов устройств микропрограммного управления. Таким образом, на этом этапе проектирования автоматов осу- осуществляется переход от отображения А-+Вк автоматному отоб- отображению XS+ -)• S~Y, где: X — входной вектор; У — выходной вектор, или реакция автомата; S+ — идентификатор внутрен- внутреннего состояния, в котором автомат находится в рассматриваемый момент; 5~ — идентификатор внутреннего состояния, в которое автомат переходит из состояния 5+ под действием входного век- вектора X. § 4.4. Абстрактное проектирование автоматов Введенный на этапе алгоритмического проектирования объем памяти {?,} автомата может быть избыточным. Эта избыточность устраняется склеиванием эквивалентных состояний. Данное пре- преобразование относится к этапу абстрактного проектирования. Эквивалентными называются состояния, при первоначальной установке в которые автомат вырабатывает для любой входной по- последовательности одну и ту же выходную последовательность.
280 Гл.4. Теория формальных грамматик и автоматов §4.4. Абстрактное проектирование автоматов 281 Из определения эквивалентных состояний следует, что если каждый класс эквивалентных состояний заменить одним состоя- состоянием, склеивая соответствующие вершины, то полученный граф переходов будет задавать то же отображение X -> У, что и перво- первоначальный. Метод абстрактной минимизации автомата, основанный на склеивании эквивалентных состояний, был предложен Хафменом и состоит в последовательном выделении классов эквивалентных состояний с помощью таблиц выходов и переходов. Рассмотрим метод Хафмена на примере. Пример 4.1. Пусть в результате проведения алгоритмического этапа син- синтеза был получен граф переходов, изображенный на рис. 4.14, а. Строим таблицу выходов, представляющую собой двумерную таблицу (табл. 4.3), каждой строке которой взаимно однозначно соответствует значение входного вектора X, столбцу — внутреннее состояние автомата и на пересечении i-й строки с j-м столбцом находится значение выходного вектора Y, который вы- вырабатывается на выходе, когда автомат находится в j-м внутреннем состоянии и иа входе подан i-й вектор. Таблица 4.3 0 1 Si Si 1 0 52 1 0 5з 0 1 54 0 - 1 55 1 0 56 0 1 57 0 1 Если двум внутренним состояниям автомата соответствуют различные зна- значения столбцов в таблице выходов, то состояния ие эквивалентны, так как в этих состояниях отображения X -* Y различные. Предварительно разобьем все множество состояний на классы условно эквивалентных состояний, a именно в один и тот же класс попадают те состояния, которым соответствуют одинаковые значения столбцов в таблице выходов: К\ = {Si, S2, Si}, Кг = = {Si, S4, 5в, 57}. Если таблицу выходов рассматривать как матрицу инцидент- инцидентности некоторой модели, то внутренние состояния попадают в один и тот же класс, если в соответствующей ей частотной ма- матрице отношений собственные и взаимные частоты внутренних состояний равны друг другу, т. е. д°М (с с ч _ Л» ~ 2fab + fbb _ п -и. Для того чтобы внутренние состояния автомата были эквива- эквивалентными, одного и того же соответствия X -> У только в этих состояниях не достаточно, нужно, чтобы и при любом другом воз- возможном переходе из этих состояний отображение X -> У было одним и тем же. Для проверки этого условия строим таблицу переходов (табл. 4.4). Каждой строке, столбцу в этой таблице соответствуют те же значения, что в таблице выходов, и иа пересечении i-й строки с j-м столбцом находится класс условно эквивалентных состояний, в который переходит автомат из состояния S, под воздействием Х|. Таблица 4.4 Xi 0 1 Si Si Ki к2 s2 Ki K2 s3 K2 K2 s4 Ki K2 Si Ki K2 s6 K2 K2 S-, Кг K2 Если класс условно эквивалентных состояний, выделенный иа предыдущем шаге, ие является классом эквивалентных состояний, то состояниям этого класса соответствуют различные значения столбцов; это означает, что при дальнейших переходах отображения X —? Y различны для данных состояний. Каждый класс К\ разбивается на новые классы условно эквивалентных со- состояний, причем в один и тот же класс входят все состояния класса К\ с одинако- одинаковыми значениями столбцов: Кх = {Sx, S2, 55}, К2 = {53, 5в}, К2 = {54, 57}. Составим по таблице переходов частотную матрицу отношений, определив при этом умножение как К{ х К{ — 1, К, х Kj = 0 (t ф j). Тогда внутренние состояния попадают в один и тот же • класс при разбиении классов, полученных на предыдущем шаге, если собственные и взаимные частоты этих состояний равны друг другу, т. е. После получения классов К\, К2, К2 опять строим таблицу переходов и т. д. до тех пор, пока каждый класс условно эквивалентных состояний, выделенный иа предыдущем шаге, ие станет неизменным. Построим таблицу переходов (табл. 4.5), учитывая разбиение класса Kt. Таблица 4.5 Xi 0 1 Si Sx Кг s2 к, к± 5з к? KS 54 К, Ki ss к, к'2 56 Ki к! s7 Кг Ki Анализируя эту таблицу, делаем вывод, что все состояния каждого из выде- выделенных классов "ведут себя дружно": переходят под воздействием X в один и
282 Гл.4. Теория формальных грамматик и автоматов §4.4. Абстрактное проектирование автоматов 283 тот же класс, что обуславливает получение иа выходе одного и того же значения Y для всех состояний класса при одном переходе. Следовательно, все состояния одного класса ведут себя как одно состояние, которым его и заменяют. Заменим классы К\, К^, К'г соответственно внутренними состояниями 5О, Sb, 5C. В результате получим минимизированный граф переходов (рис. 4.14,6), задающий то же отображение X -} Y, что и первоначальный граф переходов (рис. 4.14, а). Для иллюстрации проведем три эксперимента. Пусть иа вход автомата подается временная последовательность вида X(t) = = 011010. В первом и во втором случаях автомат задай первоначальным графом переходов (рис. 4.14, а) соответственно с начальными состояниями S\ и 5г. В третьем случае автомат задай минимизированным графом (рис. 4.14,5) с на- начальным состоянием 5а. Определим временные выходные последовательности Y(t) для каждого случая. Таблица 4.6 t X{t) 5«и = Si 5«„ = 52 5м п = 5а 5(t + l) Y(t) 5(t+l) Y(t) 5(t + l) Y(t) h 0 52 1 55 1 5. 1 t2 1 s6 0 56 0 5fc 0 ts 1 57 1 57 1 5e 1 U 0 55 0 55 0 5. 0 h 1 56 0 s6 0 5fc 0 t6 0 54 0 54 0 5e 0 Результаты всех трех экспериментов сведем в таблицу (табл. 4.6). Минимизация объема памяти, например, в 4 раза, экономит только два элемента памяти. Более актуальным и мощным сред- средством оптимизации всей структуры автомата является абстракт- абстрактная декомпозиция автоматов, особенно параллельная декомпо- декомпозиция автоматов. Необходимость поиска ее, с одной стороны, диктуется современными требованиями, предъявляемыми к бы- быстродействию управления (обусловливающими использование па- параллельного управления объектом). С другой стороны, повышение безотказности автоматного управления требует разбиения авто- автомата на ряд функционально не связанных друг с другом автоматов меньшей размерности, обеспечивающих реализацию полученного автоматного оператора. Поиск параллельной декомпозиции абстрактных автоматов сво- сводится к разложению графа переходов в частичное декартово произведение более простых по числу вершин графов. Разло- Разложить граф G в частичное декартово произведение — значит, найти графы Gi, г = 1, ..., п, такие, что G С G\ х Gi х ... х Gn. Для важного в вычислительной технике класса автоматов ми- микропрограммного управления задачу построения параллельной декомпозиции можно решить, используя характерные свойства ав- автоматов этого класса. При рассмотрении микропрограммных автоматов элементы, с которых снимается информация, характеризующая ход вычисле- вычислений, будем относить к цепям обратной связи, включенным в блок памяти автомата. Микропрограммные автоматы обладают специ- специфическим свойством: входной вектор X остается неизменным от начала до конца работы автомата, пока не выполнится заданная операция. Используя это свойство, уточним понятие микропро- микропрограммного автомата. Предварительно введем несколько понятий. Цунгом Gv на- называется взвешенный граф, в котором найдется хотя бы одна вер- вершина, через которую проходят все контуры графа, и не существует ни одного пути, не являющегося частью одного из таких контуров. Граф называется приводимым к цунгу, если при введении в него не более одной вершины и инцидентных ей дуг он преобра- преобразуется в цунг. Автомат, граф переходов которого приводим к цунгу с иници- инициальной вершиной, соответствующей началу и концу работы авто- автомата при любом входном векторе X, определяющем реализуемую операцию и не изменяющемся в промежуточных состояниях, на- называется микропрограммным. В общем случае микропрограмм- микропрограммный автомат реализует несколько операций, каждой из которых соответствует микропрограмма. При построении графа переходов, реализующего эти микропрограммы, будем производить склеива- склеивание совместимых состояний. Внутренние состояния Si, Sj называются совместимыми, Si = Sj, если любой входной вектор, подаваемый на вход автомата, который находится в состоянии 5,-, не совпадает и не является частью ни одного входного вектора, подаваемого на вход автомата, который находится в состоянии Sj: Xs{ tf. Xsr Подграф G' = (V, U') графа G = (V, U) называется двухинци- дентным, если каждой его вершине инцидентны две и только две группы параллельных дуг, входящих и исходящих, за исключе- исключением, быть может, минимального элемента v+ € V' и максималь- максимального элемента v~ € V' множества V', причем в вершину v+ могут входить, а из вершины v~ выходить несколько непараллельных дуг. Последовательности микрокоманд, взвешивающие двухинци- дентный подграф, называются микролучом, а число микрокоманд, входящих в последовательность, — его длиной. При синтезе автомата управления, реализующего несколько микропрограмм, производим склеивание совместимых внутрен- внутренних состояний, учитывая при этом два ограничения. Во-первых, склеивание следует начинать с конечных состояний, соответствую- соответствующих различным операциям. Во-вторых, сначала склеивают те со- совместимые состояния, в которых на выходе автомата вырабаты- вырабатывается одна и та же микрокоманда. Рассмотрим микропрограммный автомат управления процессором ЭВМ для выполнения операций "суммирование" (а + о), "вычитание" (а — Ь) и "пораз- "поразрядное сложение". Графы переходов, построенные по временным диаграммам, изображены иа рис. 4.15. Микрокоманды иа этом рисунке обозначены латин-
284 Гл. 4. Теория формальных грамматик и автоматов скими буквами: а = {ГД}; о = {НП}; c = {BY3;d= {СВ, ГС, В -> С}; е = {СС, О}; к = {ГД, СВ, ГА, +1Г30Д}; m = {ДА, ГД}; р = {ДА, ДВ}; г = {НП, СВ}. Микрооперации, являющиеся элементами микрокоманд, расшифровывают- расшифровываются следующим образом: ДА — дополнение регистра А; ГД — гашение регистра Д; Ни — начало пробега; ДВ — дополнение регистра В; СВ — счет регистра В; В 53 — выдача суммы Vj ГА — гашение регистра А; +1Т30Д — плюс 1 в триггер 30 регистра Д\ГС — гашение регистра С; В -* С — передача из регистра В в регистр С; СС — счет регистра С; О — ответ о выполнении операции. Результат проводимых вычислений характеризуется логической переменной ТОД — значением триггера нуля регистра Д (иа рис. 4.15 и в дальнейшем ТОД будем обозначать 7)- Суммирование Or = 01) 2, a) Вычитание (х=1\) Поразрядное сложение (х = 10) (XjX, a) (Xjx2, с) (х,У2, d) (x,x, b) О Рис: 4.15 Произведем склеивание совместимых состояний. В результате получаем объединенный граф переходов G (рис. 4.16, а). На этом графе в состояниях 5Т, Sa и Sp доопределено отображение X -> У добавлением (xiX2, с), (xiX2, d) и GjX2, е) соответственно (рис. 4.16, tf). После такого склеивания совместимых со- состояний произведем свертывание Двухинцидеитных подграфов. Под свертыва- свертыванием двухинцидеитных подграфов понимаем замену этого подграфа иа вершину, взвешенную соответствующим микролучом. Микролучи имеют следующий вид: А = аЪс, В = <fe, D = kb, Е = mb, M = par. В результате свертывания двухинцидентных подграфов полу- получаем граф автомата управления (рис. 4.17, а), в котором нарушена §4.4. Абстрактное проектирование автоматов 285 детерминированность: одному состоянию, соответствующему вер- вершине, в которую свернут двухинцидентный подграф, соответствует несколько микрокоманд. Исходный граф переходов (рис. 4.16, б) получается как частич- частичное декартово произведение графа G (рис. 4.17, а) и двухинцидент- ного графа, конец которого соединен дугой с его началом, и число вершин равно максимальной длине рассматриваемых микролучей (в данном случае трем). Двухинцидентный граф, конец которого соединен дугой с началом, реализуется в виде счетчика. Таким образом, детерминированность автомата и эквивалент- эквивалентность его функционирования сохраняем, вводя в обратную связь автомата счетчик микрокоманд в микролуче, увеличивающий свое значение до числа, равного максимальной длине микролуча /макс (рис. 4.17,6). При переходе в вершину vat, соответствующую свернутому двухинцидентному подграфу G,, на счетчике устанавливается
286 Гл.4. Теория формальных грамматик и автоматов число, равное /Макс ~ '<» где 1{ — длина микролуча, взвешиваю- взвешивающего этот подграф. При этом U состояний счетчика взаимно од- однозначно сопоставляются микрокомандам, соответствующим вер- С Операции {; Счетчик микрокоманда микролуче Память, фиксирующая вершину в гра- графе переходов Комбинаци- Комбинационная часть L & Микрооперации Логические признаки Рис. 4.17 шине VGi • При каждом переходе в двухинцидентном подграфе к содержимому счетчика прибавляется 1. Следовательно, совокуп- совокупность кода вершин vat и показания счетчика взаимно однозначно определяют выполняемую микрокоманду. Переполнение счетчика указывает на то, что автомат вышел из состояния, соответствую- соответствующего вершине vg, • Такая организация переходов позволяет не возбуждать выходы комбинационной части автомата, идущие в обратную связь в про- процессе выполнения микролуча, так как состояние памяти, запо- запоминающей вершину VQi, остается неизменным, а переход счет- счетчика из состояния в состояние происходит автоматически при- прибавлением единицы либо извне, либо с помощью микрооперации +1Счц (прибавление единицы в счетчик микрокоманд), расши- расширяющей множества микроопераций. При использовании послед- последнего способа возбуждается только один выход, идущий в обратную связь. Дальнейшие преобразования графа переходов произведем, стя- стягивая незацепленные состояния. Два внутренних состояния (две вершины) графа переходов называются незацегиленными, если они не входят ни в один из простых путей графа переходов при функ- функционировании синтезируемого автомата. Для предполагаемого преобразования графа переходов постро- построим граф Eз следующим образом. Каждой вершине графа переходов взаимно однозначно сопоставим вершину графа G^; пара вершин vo, Щ (va ф Vb) графа G$ смежна, если в графе переходов суще- §4.4. Абстрактное проектирование автоматов 287 ствует простой путь, проходящий через вершины, соответствую- соответствующие vo и Vb, при функционировании синтезируемого автомата. Построенный таким образом граф Gz будем называть графом за- зацепления. С помощью операции раскраски вершин графа разобьем все множество вершин графа зацепления на подмножества, каждое из которых состоит из вершин, соответствующих незацепленным внутренним состояниям синтезируемого автомата. Граф зацепления и его раскраска для автомата, изображенного на рис. 4.17, а, приведены на рис. 4.18, а. В результате раскраски X = 10 О х=н -О Счетчик микрокоманд в луче О—""О—"О—¦*«./ Память, фиксирующая краску выполняемого луча Память, фиксирующая вершину в графе переходов Логические признаки Рис. 4.18
288 Гл. 4. Теория формальных грамматик и автоматов графа зацепления имеем следующие подмножества состояний, ка- каждое из которых состоит из незацепленных между собой состоя- состояний: Из каждого подмножества V, (i = I, ..., IV) выбираем по одному элементу, например, Sf, 5М, S-y, Sv; из выбранных элементов образуем подмножество Уз1 = {Si, Sf,, 5„, S-y}. Далее, снова из каждого подмножества V, выбираем по одному из оставшихся элементов и снова образуем из них подмножество. Вы- Выборку осуществляем до тех пор, пока каждое из подмножеств V; не преобразуется в пустое множество. Образованные в результате этой выборки подмножества и являются подмножествами, состоящими из зацепленных состояний. В данном случае они имеют следующий вид: Vn={Si,Sr,Sv,Sy}, Кз2 = {522,5{}, Кзз={5,}. Каждое подмножество, состоящее из зацепленных состояний, заменяем одним состоянием, вес которого является совокупностью микролучей, соответствующих объединяемым вершинам (в част- частном случае микролуч может состоять из одной микрокоманды). Такую замену будем называть стягиванием зацепленных состоя- состояний. В результате стягивания зацепленных состояний графа пе- переходов (рис. 4.17,а) получаем граф переходов Gn (рис. 4.18,6). Стягивания зацепленных состояний также нарушают детермини- детерминированность автомата. Детерминированность синтезируемого авто- автомата и его эквивалентность сохраняем, введя в обратную связь эле- элемент памяти, в котором будет фиксироваться краска, соответствую- соответствующая микролучу, выполняемому в данный момент (рис. 4.18,в). Тогда совокупность кода вершины окончательного графа перехо- переходов, краска и показания счетчика микрокоманд в микролуче вза- взаимно однозначно определяют выполняемую микрокоманду. В ре- результате такого преобразования граф переходов можно предста- представить в виде частичного декартова произведения соответствующих графов (рис. 4.18, в), что упрощает процесс кодирования внутрен- внутренних состояний и практически уменьшает аппаратурные затраты при синтезе схемы возбуждения обратных каналов автомата. Если контуры в графе переходов, соответствующем реализуе- реализуемым микропрограммам, отсутствуют, то целесообразно разложить его только на два графа, исключив граф, показывающий смену красок. При этом проводят свертывание двухинцидентных под- подграфов в каждом графе переходов, соответствующем реализуемой операции, с последующим склеиванием совместимых состояний. Если граф переходов является деревом, то в обратной связи ав- автомата оставляют только счетчик. При этом граф переходов реали- реализуется счетчиком при условии запоминания или наличия значений логических переменных, характеризующих вычисления. Началь- Начальному внутреннему состоянию автомата сопоставляется начальный код на счетчике, например код 0. Внутренние состояния, в кото- которые автомат переходит из состояния ?,-, имеющего код А, кодиру- кодируются как А + 1. Смена кодов происходит прибавлением единицы §4.4. Абстрактное проектирование автоматов 289 в счетчик при каждом переходе. Тогда при наличии разветвления некоторые внутренние состояния будут иметь одинаковые коды. Детерминированность автомата при этом не нарушается благодаря хранению логических признаков, характеризующих проводимые вычисления. Показания счетчика и значения логических пере- переменных однозначно определяют нужную микрокоманду. Данное утверждение справедливо, так как граф переходов является дере- деревом, т. е. не содержит циклов. В конце выполнения операции происходит гашение счетчиков. При представлении графа переходов, соответствующего авто- автомату управления одной операцией, в виде частичного декартова произведения производят следующие преобразования: 1) склеивание псевдоэквивалентных состояний; 2) свертывание двухинцидентных подграфов, причем в резуль- результате изменения последовательности применения этих преобразо- преобразований возникает несколько эквивалентных вариантов. Рассмотрим граф переходов управления операцией деления (см. рис. 4.11). Стягивая двухинцидеитные подграфы, получаем граф переходов G (рис. 4.19,а). Вершинам этого графа соответствуют следующие микролучи: Si — a; Sa — Рис. 4.19 bcdcdcdc; Sb — dc; Sd — dc; 5e — dc; Sf — hk; S4 — efg; S23 — m. Сле- Следовательно, для восстановления эквивалентного функционирования необходим счетчик на 8 состояний. Вершины, соответствующие состояниям 5/ и 5, в графе переходов (рис. 4.19,а), можно склеить при наличии запоминания признака ро; детерми- детерминированность автомата при этом ие нарушается. Окончательно имеем граф пе- переходов G, изображенный на рис. 4.19,5. Состояния счетчика, признак р0 и код вершины графа переходов (рис. 4.19, б) однозначно определяют выполняемую микрокоманду. Внутренние состояния называются псевдоэквивалентными, если в них реализуется одна и та же микрокоманда. Для графа переходов Gn (см. рис. 4.11) имеем следующие множества псевдоэквивалеитных состояний: Мс = {5з, 5s, 57, 59, 5ц, 5i3, 5i5, Su}; Md = {Si, Se, 5«, 5ю, 5i2, 5ц, 5u}. В результате склеивания псевдоэквивалеитных состояний (рис. 4.20, а) на- нарушается детерминированность автомата. Детерминированность и эквивалент- эквивалентность функционирования автомата восстанавливаем введением счетчика при ор- организации цикла переменной длины. На рис. 4.20,5 приведена программа 10 В. А. Горбатов
290 Гл.4. Теория формальных грамматик и автоматов работы счетчиков; в рассматриваемом автомате к = 7. Внешний цикл реали- реализуется счетчиком длины цикла СчДЦ. Внутренний цикл реализуется счетчиком числа циклов СчЦ. Признак у, который восстанавливает детерминированность автомата, вычисляется в блоке, включающем эти счетчики (рис. 4.20,в). В том же блоке вычисляется и при- Ь'={Ь,+1СчДЦ) d'={d,+lC4lf} Рис. 4.20 знак окончания операции /3 (как сигнал переполнения счетчика СчДЦ, причем начальное состояние этого счетчика равно 2). После восстановления детерминированности автомата производим склеива- склеивание двухинцидентных подграфов (рис. 4.21, а, б). Для восстановления детерми- детерминированности фуикционирования автомата после стягивания двухинцидентных подграфов введем еще два счетчика, имеющих три и два состояния соответ- соответственно. §4.4. Абстрактное проектирование автоматов 291 При восстановлении детерминированности автомата с помо- помощью введения счетчиков возникает задача минимизации числа счетчиков, которая сводится к задаче раскраски графа затира- затирания G3T. Каждому счетчику взаимно однозначно сопоставляется вершина графа G3T: две вершины графа G3T смежны, если под- подграфы работы соответствующих счетчиков имеют хотя бы одну об- общую вершину (подграф Ga является подграфом работы счетчика а, если для реализации в эхом подграфе правильных переходов необходимо знать состояние счетчика а). Для рассматриваемого случая счетчикам СчЦ, СчДЦ, C4(Sa) и C4(Sp) соответствуют подграфы, носители которых имеют соответственно следующий X po—i 1 I Счетчик СчДЦЦ JA pi t t С четчикСчЦК X. Комбинаци- i — •¦i 1 ¦ r- T T T J — —' — =*)Y Рис. 4.21 для вид: {Sc, Sd}, {S2, Sc, Sd, Sa Sp 52з}, {Sa} и {5^}. Граф затирания G3 рассматриваемого случая изображен на рис. 4.21, в. Очевидно, два счетчика, соответствующие несмежным верши- вершинам в графе затирания, можно рассматривать как один физиче- физический счетчик, так как не найдется ни одного состояния, в котором для правильного функционирования автомата необходимо было бы знать состояние обоих счетчиков. Таким образом, минимизация числа счетчиков сводится к раскраске вершин графов затирания.
292 Гл. 4. Теория формальных грамматик и автоматов В данном случае согласно минимальной раскраске вершин графа затира- затирания (рис. 4.21,в) достаточно наличия двух счетчиков: счетчика СчДц и счет- счетчика СчЦК, который включается в моменты работы счетчиков СчЦ, СчEа) и Cu{Sp) (рис. 4.21,г). Применение счетчиков в цепи обратной связи автоматов управ- управления позволяет использовать стандартные узлы ЭВМ, выполнен- выполненные в виде интегральных микросхем. В результате поиска оптимальной декомпозиции автоматов по- получаем несколько эквивалентных вариантов, из которых выбираем окончательный вариант, имеющий минимальное значениеp(GM): p(GM) = ш D.8) где \U\ — количество слов в мографе, каждое из которых соот- соответствует автоматному переходу и представляет собой XS+S~Y; I — число букв (термов), образующих слово XS+S~Y; под внеш- внешним знаком 53 находится выражение, являющееся средним значе- значением производной dGM/dS, вычисленной на парах букв, образую- образующих слово XS+S~Y. Этому варианту соответствует более простая структурная реализация. § 4.5. Кодирование внутренних состояний На этапе кодирования внутренних состояний отображение XS+S~Y, полученное на этапе абстрактного проектирования, пре- преобразуется в отображение XZ+ -> Z~Y, где S+, S~ — идентифи- идентификаторы внутренних состояний, рассматриваемых соответственно в моменты времени t и t -f- r; Z+, Z~ — коды этих состояний, элементами которых являются буквы используемого структурного алфавита; для случая булевой логики это 0 и 1. Кодирование внутренних состояний автомата можно осуще- осуществлять, исходя из требований уменьшения аппаратурных затрат либо увеличения надежности функционирования автомата, либо удовлетворения обоих требований одновременно. Рассмотрим метод кодирования, удовлетворяющий первому требованию. Число способов кодирования N вершин графа пе- переходов G = (V, U.) увеличивается с ростом |Vj как где [ ] — ближайшее целое число. Каждый способ кодирования определяет свои аппаратурные за- затраты при реализации автомата. §4.5. Кодирование внутренних состояний 293 Наиболее интересным является метод кодирования с исполь- использованием подстановочных разбиений, предложенный Хартмани- сом и Стирнсом. Это метод основан на уменьшении функциональ- функциональной зависимости функций возбуждения. К сожалению, при ко- кодировании состояний реальных автоматов метод подстановочных разбиений неприменим, так как он не обладает свойством подста- подстановочных разбиений. Рассмотрим частотно-матричный метод кодирования со- состояний. Пусть в результате абстрактного синтеза был построен мограф, определяющий отображение XS+ —У S~Y. После коди- кодирования получим мограф, задающий отображение XZ+ -* Z~Y, т. е. в первоначальном мографе вершины, соответствующие иден- идентификаторам внутренних состояний 5,-, будут заменены полными подграфами, соответствующими кодам Z,- внутренних состояний. Данный метод кодирования можно реализовать с помощью следую- следующего алгоритма синтеза кодирующего дерева. 1. Строим двумерную матрицу Q = [qij], каждой строке ко- которой взаимно однозначно соответствует микрооперация или зна- значение входного канала (элементы вектора У или X), столбцу — внутреннее состояние: {1, если первичный терм, соответствующий г-й строке, входит в каждую пару векторов (X, Y)(X —> У), ко- которые взвешивают дуги, исходящие из вершины j, О в противном случае. Каждому внутреннему состоянию (столбцу матрицы) взаимно однозначно сопоставляем произвольным образом максимальную вершину синтезируемого кодирующего дерева. Полагаем Q = Q. 2. По матрице Q находим частотную матрицу отношений F = 3. Вычислим значения производной от модели, заданной ма- грицей Q. 4. Выбираем пару внутренних состояний, для которой вычи- вычисленное значение производной минимально. 5. Выбранную пару состояний вычеркиваем и ставим ей в со- соответствие в кодирующем дереве вершину, являющуюся началом дуг, концами которых являются выбранные состояния. Постро- Построенной вершине взаимно однозначно сопоставляем столбец строя- строящейся матрицы Qc, равный векторному произведению столбцов матрицы Q, соответствующих выбранным вершинам. 6. Проверяем, остались или нет нерассмотренные внутренние состояния, для которых вычислялись значения производной. Ес- Если да, то переходим к п. 4, в противном случае — к п. 7. 7. Проверяем, образована ли матрица Qc. Если да, то полагаем Qc = Q и переходим к п. 2, в противном случае — к п. 8.
294 Гл. 4. Теория формальных грамматик и автоматов 8. Каждым двум дугам, исходящим из вершины построенного дерева, начиная с дуг, исходящих из корня дерева, ставим в соот- соответствие 0 и 1. Путь, соединяющий корень дерева и максимальный элемент, взвешен кодом, который сопоставляется внутреннему состоянию, соответствующему этому максимальному элементу дерева. 9. Конец. Проиллюстрируем предлагаемый алгоритм на следующем при- примере. Пример 4.2. Пусть в результате абстрактного синтеза был получен граф переходов G (рис. 4.22, а). A01,00) @10, A11,00) @00, 10) 4111,01) @00, 11) Рис. 4.22 Используя предлагаемый алгоритм, закодируем виутренние состояния авто- автомата. Матрица Q, соответствующая данному графу, имеет следующий вид: Si 1 0 1 0 0 0 0 1 0 0 s2 0 1 0 0 0 0 1 0 0 0 s3 0 1 0 1 0 1 1 0 1 0 Si 1 0 0 1 0 0 1 0 0 1 Ss 1 0 1 0 1 0 0 1 1 0 s6 0 0 0 1 0 0 0 0 0 1 Xl Xl X2 iff X» 'iff У1 У1 У2 У2 Частотная матрица отношений, соответствующая матрице Q, имеет следую- следующий вид: Si k>2 S3 Si Ss S$ 3 0 0 1 3 0 0 2 2 1 0 0 0 2 5 2 1 1 1 1 2 4 1 2 3 0 1 1 5 0 0 0 1 2 0 2 Si 52 Si. Si 5« §4.5. Кодирование внутренних состояний 295 Вычисляем значения производной для каждой пары состояний: /i-2/м+Л 3-21+4 ,- - v 4-2-1 + 5 _n (Si, S5) = = 7, re «? \ 4-2-2 + 2 (Si, Ss) = 1. = 5, Остальные значения производной равны оо. Производная (dG /8S)(Si, Sj) имеет минимальное значение на паре (Si, S5). Этой паре состояний ставим в соответствие "пересечение" соответствующих вершин строящегося дерева. Со- Согласно алгоритму объединяем в пары состояния Si, 5s и Si, S$. В результате построим следующий ярус дерева. Матрица Qc, соответствующая вершинам построенного яруса, имеет вид 5j n 55 52 n 53 Si n 5в 1 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 1 Xl Xl XJ iff Xi iff У1 Vi 3/2 У2 Частотная матрица отношений, соответствующая матрице Qc, имеет следую- следующий вид: 3 0 0 Fc= 0 3 О 0 0 3 Значения производной равны оо. Искомое кодирующе дерево изображено на рис. 4.22, б. Взвешиваем исходя- исходящие из каждой вершины дуги 0 и 1. Согласно построенному кодирующему де- дереву имеем следующие коды внутренних состояний автомата: S\ — 010, 5з — 100, Si — 101, Si — 110, Ss — Oil, Se — 111.
296 Гл.4. Теория формальных грамматик и автоматов ! в 1 А ъ-м-i о— 1 _ ..... • "• х «к Hi Рассмотрим кодирование внутренних состояний автомата, ис- исходя из удовлетворения требований надежности. Функциониро- Функционирование автомата может нарушаться в результате неодинаковой за- задержки в реальной схеме, реализующей автомат из-за явления го- гонок, сущность которого можно проиллюстрировать на следующем примере (рис. 4.23). Пусть в рассматриваемый момент переключа- переключаются два триггера, А и В (событийное условие), причем функ- функция возбуждения (р одного из триггеров, например, В, содержит в качестве одной из переменных значение триггера А: <рв = <р(..., z%, ...) (функ- (функциональное условие); время задержки в схемах возбуждения триггеров А и В определяется неравенством Aba > *л (Aba — время, в течение которого необ- необходимо наличие "старого" значения триг- триггера А в схеме возбуждения триггера В; Ьа — время задержки сигнала возбужде- возбуждения триггера А) (временное условие). При выполнении этих трех условий значение триггера будет вычислено не- неправильно (так как для правильного вы- вычисления значения триггера В необхо- необходимо, чтобы триггер А сохранял свое "старое" значение по крайней мере в те- течение времени Зт (после начала перехода автомата), а триггер А "обновляет" свое значение через г). Это — так называемое явление гонок. При наличии гонок автомат пе- переходит не в то состояние, которое указано при данном переходе, что приводит к нарушению автоматного соответствия. Гонки можно устранить, нарушив одно из трех условий гонок. Для того чтобы нарушить временное условие, т. е. чтобы выпол- выполнялось неравенство Aba < ?д> необходимо иметь схемы возбужде- возбуждения триггеров А и В для определения Aba и *л- Эти схемы будут получены только на этапе структурного синтеза, для проведения которого необходимы результаты кодирования внутренних состоя- состояний. Следовательно, при логическом устранении гонок нарушение этого условия неосуществимо. Технически третье условие можно нарушить, вводя второй каскад элементов обратной связи или с помощью синхронного выполнения схемы автомата. Второе условие наличия гонок, т.е. условие <рв = <р(- •., z\,•••), можно нарушить функциональным развязыванием элементов па- памяти, например применяя подстановочные разбиения. Первое условие (переключение двух и более элементов памяти при одном переходе автомата) нарушается, если при любом пе- переходе автомата переключается только один элемент памяти. Это означает: каждому внутреннему состоянию автомата сопоставляет- Рис. 4.23 §4.5. Кодирование внутренних состояний 297 ся такой код, что если существует переход из состояния 5,- в со- состояние Sj (Si ф Sj), то соответствующие им коды отличаются только в одном разряде. Другими словами, при реализации ав- автомата гонки отсутствуют, если соответствующий граф переходов можно расположить в n-мерном гиперкубе так, чтобы переходы из состояния 5,- в состояние Sj E,- ф Sj) осуществлялись только по ребрам гиперкуба и коды соответствующих вершин гиперкуба были сопоставлены вершинам графа переходов. Такое кодирова- кодирование называется соседним. Будем говорить, что для графа переходов возможно соседнее кодирование кодами длины п, если он вложим в п-мерный куб. Приведем условие вложимости графа переходов в гиперкуб. Из анализа гиперкуба следует, что если хроматическое число h(G) графа переходов G (без учета дуг, являющихся петлями) больше 2, то для такого графа переходов не существует соседнего кодирования. Таким образом, чтобы граф переходов G имел со- соседнее кодирование, требуется, чтобы он не содержал циклы не- нечетной длины. Если же он их содержит, то необходимо устранить все циклы нечетной длины, вводя дополнительные внутренние со- состояния, в которых не реализуется отображение X -> У. Эти состояния называют неустойчивыми внутренними состояниями. Рассмотрим точный алгоритм соседнего кодирования, основан- основанный на учете запрещенных фигур, характеризующих вложимость кодируемого графа в гиперкуб. Пример 4.3. Пусть задан граф переходов автомата (рис. 4.24), который изо- изображен без отображений X -* Y, петель, кратных дуг и ориентации (поскольку Рис. 4.24 это несущественно при решении задачи соседнего кодирования). В соответствии с выведенными ранее условиями, чтобы соседнее кодирование было возможно, необходимо и достаточно, чтобы граф не содержал запрещенных подграфов. При проектировании автомата необходимо так преобразовать эти графы, чтобы все они стали вложимыми. Данное преобразование не нарушает функционирования автомата только в том случае, если каждый новый граф гомеоморфеи предше- предшествующему. Практически преобразование сводится к добавлению новых вершин в некоторые ребра каждого запрещенного графа, являющегося подграфом дан- данного графа переходов. Этим самым вводим неустойчивые внутренние состояния автомата. При оптимальном проектировании число вводимых неустойчивых со- состояний должно быть минимальным.
298 Гл.4. Теория формальных грамматик и автоматов Таблица 4.7 h = {vi,v2] '2 = {v2>v3} h = {v3tvt} h ={vt,vs] h ={vs,v6} h -{vi,v6} h = {ve,v7] h = {v7,v9} h = {v3lv9} ho = {vi,vt} in = {ue.uio} /12 = {t>4, t>io} il3 = {U9,«lo} il4 = {U9,U13} il5 = {uiO|t>l*} 'l6 = {v\O,Vu} In = {U1O,U17} ht = {ui5,uu} il9 = {v3,Vn} bo = {«11,^15} hi = {2,^13} h2 = {U12,U15} hi = {vi3,vu} h* — {vu,v\b} hb = {uis.uie} he = {ui3,"io} *27 = {U13,U17} Ri 1 1 1 1 1 1 1 1 1 1 1 1 1 0 . 0 0 0 0 0 0 0 0 0 0 0 0 0 R, 0 0 1 0 0 0 0 0 1 0 0 1 1 1 0 1 0 0 1 1 1 1 1 1 0 0 0 R3 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 1 1 0 0 1 1 1 1 0 0 1 R* 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 Я5 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 0 0 0 0 0 1 0 0 0 1 Яб 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 1 1 0 0 1 1 0 0 1 1 1 Ri 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 1 1 0 0 0 0 1 1 1 1 1 Двухмерная таблица (табл. 4.7) распределения ребер по запрещенным фигу- фигурам (рис. 4.25) покрывается двумя строками {1ц, hi}. Добавляя между верши- вершинами t>9, t>jo и ui21 t>i3 вершины, соответствующие неустойчивым состояниям, вкладываем полученный граф в булево пространство (рис. 4.26). При введении дополнительных вершин в граф разрешенные фигуры (циклы четной длины) не были нарушены. Пример 4.4. Построим соседние коды для внутренних состояний автомата, граф переходов которого изображение рис. 4.27, а. При вложении рассматриваем граф без петель, без ориентации Дуг и кратные ребра заменяем одним ребром. С учетом этого кодируемый граф содержит запрещенные фигуры вида: Qi = <Vi, Ux), V, = {5,, S2, S3}, Ux = {{5,, S3}, {Su S3}, {S2, S3}}; <?2 = <V2l Va), V2 = {S2, S4, S6}, U2 = {{S2, S4}, {S2, S6}, {S4, S6}}; Q3=(V3,U3), V3 = {S4,S5,S6}, U3 = {{S4, S5}, {S4, S6}, {S5, S6}}; Qt=(Vt,Vt), V4={5i,Sa,58,5«,5,}, Ut = {{Si, S2}, {5,, S3}, {S3, S5}, {S4, S5}, {S2, S4}}; §4.5. Кодирование внутренних состояний 299 Q* = Ua), V5={S,,SS, S3.S5.Se}, [/5 = {{Si, S2}, {Slt S3}, {S3, S5}, {S5, Si], {S2, Se}}; Ua), V6 = {52,S3,S4,S5,Se}, u6 = {{s2, s3}, {s3, s5}, {s5, s6}, {s4, s6}, {s2, s4}}; = (Vt, U7), V7 = {S2, S3, Sit 5e, S6}, u7 = {{s2, s4}, {s2, s6}, {s2, s3}, {s4, s5}, {s5) s6}, {s3, s5}}. 4S «5 «4 5 '12 V16 Рис. 4.25 ooioio ooiou/ooiooi oioon 010111 оомиДз -о / >x. P- > • Jboooioi OOOO10 000000 000100 Рис. 4.26
300 Гл. 4. Теория формальных грамматик и автоматов к a A01,00) A00,10) Разрешенными фигурами при вложении графа в гиперкуб являются циклы четной длины вида: «1 = (Vi, U,), Vi = {52l S,, S«, Si}, Ut = {{S2, S4}, {S2l 53}, {5з, 55}, {54, 55}}; Я2 = <Va, ^>, V2 = {52, 54, 55, Se}, ^ = {{S2, S4}, {5,, Ss}, {55) 56}, {52, S6)}; Дз = (Vs, Di>, V3 = {52, 5з, 55, St}, U3 = {{S2, S3}, {S3, S5}, {5S, 56}, {52, Ut = {{Sl S2}, {Si, S3}, {S3, Si}, {Ss, S6}, {S<, S6}, {S2, Таблицу, показывающую распределение компонент в запре- запрещенных и/или разрешенных фигурах, как и выше, будем назы- называть семантической. Таблица 4.8 0 0 1 1 0 1 1 0 0 я2 0 0 0 1 1 0 1 0 1 Дз 0 0 1 0 1 1 0 0 1 Й4 1 1 0 1 0 1 0 1 1 Ребра a={S1,S2} 6= {Si, S3} c={S2,S3} d={S2,S4} e = {S2,S6} / = {52,SS} 9= {Si, Si} k = {Si,S6} m = {S5,Se} Qi 1 1 1 0 0 0 0 0 0 Q2 0 0 0 1 1 0 0 1 0 Q3 0 0 0 0 0 0 1 1 1 Qi 1 1 0 1 0 1 1 0 0 Qs 1 1 0 0 1 1 0 0 1 Q6 0 0 1 1 0 1 0 1 1 Qi 0 0 1 1 1 1 1 0 1 Строим семантическую таблицу (табл. 4.8). При введении не- неустойчивых состояний в графе переходов возможно преобразова- преобразование циклов четной длины в циклы нечетной длины, поэтому слева §4.5. Кодирование внутренних состояний 301 от собственно семантической таблицы расположим таблицу ци- циклов четной длины. Согласно структуре запрещенных фигур вло- вложения графа в гиперкуб для соседнего кодирования внутренних состояний автомата необходимо, чтобы покрытие семантической таблицы было сформировано с учетом принципа четности: каждое покрытие включает четное число ребер, принадлежащих каждому циклу четной длины и нечетное число ребер, принадлежащих ка- каждому циклу нечетной длины. Эта таблица имеет 28 покрытий: (а + 6 + с) • (d + е + к) • (д + к + т) ¦ (а + 6 + d + f + д) х — adg + bdg + cgdf -f aegf + begf + сед + akc + adk + ake + + akg + акт + akf + bck + bdk + bek + bkg + bkm + bkf + deck + ¦4- dmck -f ckf -f ckgm -f adm -f 6dm + cdm + aem -f bem + cemf. Оценим покрытия. Первому покрытию {а, d, g} соответствует вектор 0 | 2 22 /,1113112, указываю- указывающий частоту вхождения элементов покрытия в разрешенные и запрещенные фигуры. Спектр частот удовлетворяет критерию вложимости графа в гиперкуб. Следовательно, первое покрытие порождает граф (рис. 4.27,6), гомеоморфный заданному, вложимый в гиперкуб и имеющий на три вершины больше, чем исходный граф переходов. Диалогичная проверка остальных 27 покрытий не улучшает реше- решение, полученное по первому покрытию. Следовательно, введение трех неустойчивых состояний, 5а, Sp, Sy, на переходах Si -+ S2, S2 -> ^4, 54 —> 55 позволяет закодировать граф переходов сосед- соседними кодами минимальным образом: 5i — 1010, 52 — 0000, 53 —0010, 54 — 0101, 55 — ОНО, 56 — 0100, Sa — 1000, S0 — 0001, Яу — 0111. Граф, гомеоморфный графу переходов (рис. 4.27, а) с введен- введенными неустойчивыми состояниями и соседними кодами, предста- представлен на рис. 4.27, в. Пример 4.5. Рассмотрим соседнее кодирование еще одного автомата, за- заданного графом переходов G (рис. 4.28, а). Удаляя веса на дугах и петли, снимая ориентацию дуг, объединяя параллельные ребра (рис. 4.29, а), находим, что граф содержит запрещенные фигуры Q\ и Q2 (рис. 4.29,E): 9i<Vi,Di}, Vi = {Si/ i = l, 2,..., 9}, Ui = {{Su S3}, {Sb Si}, {S,, S,}, {S2, S3}, {S2l S6}, {S2, S7}, {S3, Se}, {S4, Si), {S4, S6}, {Si, S7), {St, S9}, {S8, Se}}; Q2(V2,U2), V3 = {SuS3,Si,SitS9}, U2 = {{Slt S3}, {Si, Ss}, {Si, S.}, {S3, S9}, {Si, Se}, {S., Se}}.
302 Гл.4. Теория формальных грамматик и автоматов Для их устранения достаточно расщепить одно из ребер, вошедших в пере- пересечение этих запрещенных фигур, двумя вершинами (взедение одной вершины на ребро порождает новую запрещенную фигуру — цикл нечетной длины). Для определенности расщепляем ребро {Si, Sg } введением двух неустойчивых состоя- состояний, S