Текст
                    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 } введением двух неустойчивых состоя- состояний, Sa, Sp. В результате получаем граф G, гомеоморфный заданному графу Рис. 4.28 Рис. 4.29 §4.5. Кодирование внутренних состояний 303 переходов G и вложимый в гиперкуб (см. рис. 4.28,6): Si — ОНО, S2 — 0101, 5з — 0111, S* — 0000, S5 — 0010, Se — 0001, 57 — 0100, Sg — 1110, S9 — ООН, Sa — 1010, S/s ~ 1011. Зная структуры запрещенных фигур соседнего кодирования и используя локальные характеристики графа G, мощности мно- множеств вершин \V\ и ребер ji7|, плотность графа p(G) и его степень s(G), предложим алгоритм фактического вложения графа перехо- переходов в гиперкуб. По характеристикам графа |F|, \U\, p(G), s(G) определяем вид запрещенных фигур, которые могут содержаться в заданном графе переходов и по структуре которых можно оценить количество вводимых неустойчивых состояний. Утверждение. Размерность гиперкуба, в который вкла- вкладывается граф, гомеоморфный графу переходов G, не меньше степени s(G) графа G. Используя это утверждение, предложим приближенный алго- алгоритм соседнего кодирования. Перед проведением соседнего кодирования введем понятие ок- окрестности радиуса R вершины и,. Окрестностью радиуса R вершины v называется множество вершин {и,}, для каждой из которых минимальная длина цепи [и, ..., и,] равна R. Предлагаемый алгоритм соседнего кодирования состоит из сле- следующих шагов. 1. В графе переходов G находим вершину и0 максимальной степени smax, причем при подсчете степени вершин параллельные ребра, т. е. ребра, имеющие одинаковые концы, различные между собой, условно считаем за одно ребро; петли графа переходов при подсчете s(v) не учитываем. В дальнейшем будем называть най- найденную вершину i?o центром соседнего кодирования. Центр со- соседнего кодирования i?o образует окрестность радиуса R (R — 0) вершины и0. Кодируем произвольным образом вершину i?o- 2. Рассматриваем окрестность радиуса Д на 1 больше, чем ра- радиус предыдущей закодированной окрестности. При рассмотрении вершин окрестности радиуса R возможны три случая, когда необходимо вводить дополнительные вершины, соответствующие неустойчивым состояниям автомата: а) к вершин рассматриваемой окрестности попарно смежны, т. е. образуют полный подграф. В каждое ребро этого полного подграфа помещаем дополнительную вершину; б) имеется вершина va, которая смежна с т (т > R, R — ра- радиус рассматриваемой окрестности) вершинами окрестности ра- радиуса R - 1. В этом случае на каждое из m — R ребер, выбранных произвольным образом и соединяющих вершину va с вершинами окрестности радиуса R - 1, помещаем дополнительную вершину;
304 Гл.4. Теория формальных грамматик и автоматов в) число вершин Nr рассматриваемой окрестности радиуса R больше числа сочетаний из s{G) no R, Nr> где (*(?') — число вершин s(G)-MepHoro куба, коды которых отли- отличаются в R разрядах от кода центра соседнего кодирования. Тогда введением дополнительных вершин, смежных с одной стороны с вершинами окрестности радиуса R - 1 и с другой стороны с вер- вершинами, наличие которых обусловливает выполнение неравенства >о R переводим избыток вершин в окрестность радиуса R + 1 так, что- чтобы число вершин окрестности радиуса не превосходило ((^) § 4.6. Построение выходных функций 305 После введения дополнительных вершин согласно пп. а)-в) Производим соседнее кодирование вершин окрестности радиуса R. 3. Увеличиваем радиус рассматриваемой окрестности на I и пе- переходим к п. 2), и так до тех пор, пока не получим искомое соседнее кодирование внутренних состояний автомата. При выполнении п. 2) может возникнуть ситуация, когда размерности гиперкуба не хватает. В этом случае размерность увеличиваем на 1 и переходим к п. 1). Проиллюстрируем этот алгоритм кодированием вершин графа переходов G (рис. 4.28, а). Находим вершины максимальной степени. Таких вершин в графе две, Si и 5д, степень равна 4. За центр соседнего кодирования выбираем эти вершины по очереди. Сначала выбираем вершину Si и присваиваем ей код 0000. Тогда вершины 57, S3, Ss, 5g образуют окрестность радиуса R = 1 (рис. 4.30,а). Условия пп. а)-в) для этой окрестности не выполняются, следовательно, имеется соседнее кодирование. Оно следующее: 57 — 0001, S3 — 0010, 55 — 0100, S» — 1000. Окрестность радиуса R = 2 образуют вершины 5а, 5g, St. При кодирова- кодировании вершин этой окрестности получаем противоречие, соответствующее переходу S» -4 Sa. Расстояние по Хэммингу между кодами этих вершин равно 3, следовательно, введением двух неустойчивых состояний, Sa и Sp, согласуют этот переход. Вво- Вводимая вершина Sp принадлежит окрестности радиуса Д = 3, в нее же входит И вершина 56. В результате получаем коды остальных состояний 5а, 5д, 5< и вновь введенных Sa и Sp: 5а — ООН, Si — 0101, S3 — ОНО, Sa — 1100, 5/s — 1110. При выборе в качестве центра соседнего кодирования вершины 5д, действуя ло этому алгоритму, получаем (рис. 4.30,6) противоречие при переходах Si —>¦ Ss и S7 -> 5i. Для устранения этих противоречий необходимо ввести четыре не- неустойчивых состояния: Sa,Sb,Sc,Sa. Соседние коды этого способа кодирования имеют следующий вид; 5i — 1001, 5а — 0101, 53 — 0001, 5< — ОНО, 55 — ООН, 56 — 0100, 57 — 0111, 5а — 1000, 5д — 0000, 5« — 1101, 5Ь — 1111, 5е — 1010, Sd — 1011. § 4.6. Построение выходных функций и функций возбуждения памяти автомата После абстрактной оптимизации и кодирования внутренних со- состояний автомата автоматный оператор задается системой функ- функций возбуждения и выходных функций. Перед построением этой системы рассмотрим элементы памяти: триггер с раздельными входами и триггер со счетным входом. Триггером с раздельными входами называется автомат, таб- таблица состояний и граф переходов которого имеют соответственно вид табл. 4.9. и рис. 4.31, а. Рассмотрим реализацию триггера с раздельными входами в импликативном базисе {—>, 0}. Используя метод прямого моде- моделирования, получаем At+т = («< —
306 Гл.4. Теория формальных грамматик и автоматов §4.6. Построение выходных функций 307 и ее реализация в импликативном базисе представлена на рис. 4.32. Постоянная времени т определяется задержкой сигнала от входов к выходу в схеме триггера. Таблица 4.9 0 0 0 0 1 1 1 1 3?иул t 0 0 1 1 0 0 1 1 «t 0 1 0 1 0 1 0 1 0 1 0 0 1 1 — - Рис. 4.31 Триггером со счетным входом называется автомат, таблица состояний и граф переходов которого имеют соответственно вид Таблица 4.10 Sent 0 0 1 1 *t 0 1 0 1 St+r 0 1 1 0 Рис. 4.32 табл. 4.10 и рис. 4.31, <Г. Согласно табл. 4.10 функция триггера со счетным входом имеет вид St+r(Xc4t, St) — XC4tSt V Xc4tSt. Возбуждение счетного входа переводит триггер в противоположное состояние. Читателю в качестве упражнения предлагается синте- синтезировать схему триггера со счетным входом в коимпликативном базисе. Рассмотрим построение выходных функций и функций возбу- возбуждения элементов памяти на примере закодированного автомата (рис. 4.27). Для определенности в качестве элементов памяти возь- возьмем триггеры со счетным входом. Каждый элемент памяти своим значением разбивает все мно- множество состояний на два класса (табл. 4.11). Таблица 4.11 t 1 2 3 4 \Oj 13 — ^, {Sj/ j = 1, {5y/ j = 2, {5j/j = l, г,- = О 3,4, 5,6, /3, у) 2,3,a,/J} 4,6,a,/3} 2,3,5,6,o} *• = {Sj/ 3 = l,a {S,/3 = 4,5, {S>/i=l,3, {Sjf 3 = 4,0 1 } 6,7} 5,7} T} Для уменьшения функциональной связности функций возбуж- возбуждения, используя разбиение множества состояний на классы, по- построим таблицы, указывающие условия переключения элементов памяти (табл. 4.12). Таблица 4.12 4 4 = 0 4 = 1 4 4 = 0 4 = 1 4 4 = о 4 = i 4 4 = о 4 = 1 4 4 = 0 0,2,3 6 4 = 1 7 4 4=0 0,3,6,7,- 5 4 = i o,- 4,5,7,- 4 4 = o 0,2,4,5,- 7 4 = i 4 0,6,- 4 г- = о 0,2,3,4,5,6,7,- 5,- 4 = i 0 4,- Анализ построенных таблиц показывает, что функция возбуж- возбуждения первого элемента памяти зависит от входного вектора и состояния этого элемента. Таблица переходов второго элемента памяти противоречива, так как переходы 0 —> 0 и 0 —> 1 проис- происходят при одном и том же значении входного вектора, равном О, Ц переходы 1 —> '0 и 1 -* 1 — при значении входного вектора, равном 5. '\ Недетерминированность переходов имеет место в таблицах, со- соответствующих третьему и четвертому элементам памяти: в треть- третьей таблице переходы 0 —У 0 и 0 —У1 происходят при одном и том же {Значении входного вектора, равном 4, в четвертой таблице— пере- Йсоды 0 —> 0 и 0 —> 1 — при векторе, равном 0. Условия переходов, "обозначенные в таблицах прочерком, соответствуют переходам из Неустойчивых состояний Sa, Sp, Sy, и для устранения недетерми- йированности при этих переходах необходимо учитывать состоя- состояния всех элементов памяти. Для определения минимального ко- количества элементов памяти, состояния которых необходимо учи- учитывать при ликвидации противоречивых переходов, вызванных Одним и тем же значением входного вектора в строках таблиц, Построим табл. 4.13.
308 Гл. 4. Теория формальных грамматик и автоматов Таблица 4.13 Xi и 4 5 1 0 0 {5<-+5gMe-+52} 0 0 1 «3 {S4-+S-r,Se-+Se} 0 1 0 Zi {S2-+S0.S3-+S5} 1 0 0 Первые два столбца таблицы соответствуют противоречивым переходам при переключении второго элемента памяти, осталь- остальные два — при переключении третьего и четвертого элементов. Для устранения этих противоречий достаточно входной вектор 0 расширить внутренней переменной z% (так как этой переменной различаются коды состояний S2, S3), векторы 4 и 5 расширить внутренней переменной z\ (так как коды состояний 54, Se разли- различаются переменной z?). Окончательно функции возбуждения элементов памяти имеют следующий вид: (pi{X, z+) + <р2(Х, z+, z+, zf, z+) = z+ щ(Х, Z+, zf, Z3+, Z+) = Z+(XlX2X3 VI+44) VZ+XXX2X3Z + . Полученная система функций возбуждения может быть еще бо- более упрощена, если учесть, что булевы функции, описывающие работу рассматриваемого автомата, являются частично определен- определенными. Рассмотрим это упрощение на примере второй выходной функции. Рабочая и запрещенная область булевых функций авто- автомата определяются его переходами. В рассматриваемом автомате имеем 14 переходов, которые определяют табл. 4.14. Таблица 4.14 Si Si Si s2 s2 Si s2 st s4 Si s6 Se & ->SO -»s2 -4 S/9 -4 S3 -» ss -? S-, ->s6 -»s, -? S6 -»s2 -> S4 -»ss *1 1 1 0 0 0 0 1 1 1 1 1 — — - X2 1 1 1 0 1 0 0 0 1 0 0 — — - Xi 1 0 0 0 1 0 0 1 1 1 0 — — - 't 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 1 *3+ 1 1 0 0 0 1 0 0 1 0 0 0 0 1 *i 0 0 0 0 0 0 1 1 0 0 0 0 1 1 У1 0 0 1 1 1 1 1 1 0 0 1 — _ - У2 0 1 1 0 0 1 0 0 1 0 0 _ — - §4.6. Построение выходных функций 309 Из 128 точек 7-мерного куба выходная функция у2 определена на 11 точках, из них на 4 она принимает единичное значение (рабочая область функции), на остальных 7 — нулевое значение (запрещенная область функции). Используя таблицу различий (табл. 4.15), выделим пучки мак- максимальных интервалов для каждой точки рабочей области. Таблица 4.15 Тапки работай области 1 1 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 0 1 1 0 иною 0 0 1 0 0 0 0 1 0 1 1 0 1 0 1 1 1 1 0 0 0 0 0 0 1 1 0 0 0000000 1 1 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 0 1 1 0 0110000 1 0 1 1 0 1 0 0 0 1 0 0 0 0 0 1 1 0 0 1 0 1 0 0 0 1 1 0 1000101 0 1 0 1 1 1 1 1 1 0 0 1 0 1 1 0 0 0 1 1 1 0 1 1 0 0 1 1 1010101 0 1 1 1 0 1 1 1 1 1 0 1 0 1 1 0 1 0 1 1 1 0 1 0 0 0 1 1 1010100 0 1 1 1 1 1 0 1 1 1 0 1 0 0 1 0 1 0 1 1 0 0 1 0 0 0 1 0 1000100 0 1 0 1 1 1 0 1 1 0 0 1 0 0 1 0 0 0 1 1 0 0 1 1 0 0 1 0 В результате сжатия таблиц различий и их покрытия получаем, что первая рабочая точка 1101010 содержится в максимальных ин- интервалах —01 , —0—1—, вторая точка 0100000 содержится в -10 , третья точка 0000010 — в —0—1—, четвертая точка 1110110 —в П-. Следовательно, выходная функция у2(Х, Z+) имеет следую- следующий вид: У2(Х, z+(x - z (x2 V Минимизация булевой функции была проведена без учета пере- переходов из неустойчивых состояний. В зависимости от назначения управляющего автомата и физического представления 1 и 0 вход- входные векторы Z+, соответствующие неустойчивым состояниям, от-
310 Гл. 4. Теория формальных грамматик и автоматов носят в запрещенную область при минимизации логического выра- выражения, описывающего условия истинности единичного значения минимизируемой булевой функции, или в запрещенные области при минимизации логических выражений, описывающих усло- условия истинности единичного и нулевого значения булевой функции. Для учета переходов, соответствующих неустойчивым состояниям, необходимо проанализировать в упрощенном логическом выраже- выражении конъюнкции, состоящие только из внутренних переменных г+, и если эта конъюнкция обращает на неустойчивых переходах логическое выражение в 1, то приписываем отрицания внутрен- внутренних переменных, кодирующих неустойчивые состояния, с целью устранения истинности на этой конъюнкции. В нашем случае необходимо к конъюнкции z?z? приписать отрицание внутренней переменной zj, так как у2 = 1 при не- неустойчивом переходе из состояния Sy. Если относить входные векторы, соответствующие неустойчи- неустойчивым состояниям, в запрещенные области до покрытия таблиц раз- различий, то в общем случае, как нетрудно показать, будет усложне- усложнение окончательного логического выражения. В рассматриваемом случае итоговое выражение для уъ(Х, Z+) имеет вид У2(Х, Z+) = z+{x3 V z+z+) V х2г3. Определение упрощенного вида первой выходной функции ос- оставляем читателю в качестве упражнения. § 4.7. Синтез логических структур в топологических базисах Рассмотрим проектирование логической схемы как синтез со- соответствующего булева графа. Разобьем все множество базисов на три класса: топологические, функциональные, нейронные. В топологических базисах полнота используемых при синтезе функций достигается соответствующим физическим моделирова- моделированием двоичных переменных и определенным соединением задан- заданных элементов. Такие базисы образуют все ключевые элементы, токовые ключи, криотроны, переключатели света, спейсисторы, деплисторы, унитроны и другие вентильные элементы, которые используются в вычислительной технике как элементы с высоким быстродействием. В функциональных базисах элементы независимо от их соеди- соединения и физического моделирования двоичных переменных реа- реализуют функции, образующие полную систему булевых функций. К таким базисам относятся, например, элементы, которые реали- реализуют функции Шеффера, Вебба, импликации и др. Нейронные элементы обеспечивают полноту путем их индивидуализации. §4.7. Синтез логических структур в топологических базисах 311 Множество топологических базисов в свою очередь разобьем на четыре класса. Первый и второй классы образуют элементы, пропускающие информационный сигнал в одном направлении при совпадении значения управляющего сигнала с буквой, взвешиваю- взвешивающей этот элемент. Но в элементах первого класса прошедший сигнал распространяется по каналам с односторонней проводи- проводимостью, а в элементах второго класса — по каналам с двусторон- двусторонней проводимостью. К первому классу относятся диодно-вентильные элементы, в случае оптической обработки информации с использованием воло- волоконной техники — переключатели света, ко второму — вентиль- вентильные элементы (например, спейсистор-триод). На входах схемы, составленной из рассматриваемых элемен- элементов, как и на входах системы, построенной из элементов любого топологического базиса, используется парафазное представление двоичной информации. Третий и четвертый классы образуют элементы, пропускаю- пропускающие информационный сигнал в обоих направлениях при совпа- совпадении значения управляющего сигнала с буквой, взвешивающей этот элемент. В элементах третьего класса прошедший сигнал распростра- распространяется по каналам с односторонней проводимостью, а в элементах четвёртого класса — по каналам с двусторонней проводимостью. К элементам третьего класса относятся, например, туннель- троны и диодно-контактные элементы; к элементам четвертого — ключевые элементы с двусторон- двусторонней проводимостью (криотроны, контакты). Таким образом, все множество топологических базисов разбито на четыре класса по двум призна- признакам: по проводимости элемента и по проводимости соединительного канала. Основой элементов третьего класса является нейрон, формальная модель которого предложена американскими учеными У. Мак-Каллоком и У. Питсом и развита С. Клини, Д. Калбертсоном, Дж. фон Нейманом и другими. Усло- Условия возбуждения нейрона описываются функцией вида Синапс Тело нейрона Рис. 4.33 z2, _ ) 1, если Yj xiwi ^ P> i—X в противном случае, где z, = 0, 1; и>; — вес t-ro синапса (места контакта аксона и тела нейрона (рис. 4.33)); Р — порог возбуждения нейрона.
312 Гл. 4. Теория формальных грамматик и автоматов Фиксацией весов синапсов и порога нейрон настраивается на реализацию любой булевой функции от к переменных. В качестве функционала качества проектируемой схемы возь- возьмем количество переключательных элементов, содержащихся в ней. Этот функционал в дальнейшем будем называть слож- сложностью L(S) схемы S. Рассмотрим проектирование логических схем в топологиче- топологических базисах первого класса на примере булевой функции f{x\, х2,..., хц), заданной своей дизъюнктивной нормальной формой (ДНФ): /(хь х2, ..., хп) = х4х5х9 V X1X5Z10 V X1X2X3X4X5 V V Х5Х9Хц V ХхХгХб V Х8Х9Хц V Х7ХдХп V Х2Х3Х7 V V хххьхц V гзх4х8 v xix8xn V Каждая простая импликанта реализуемой булевой функции взаимно однозначно соответствует пути в структурном графе. При этом первичные термы х"', входящие в простую импликанту, взве- взвешивают вершины соответствующего пути. Реализуемая булева функция / определяется моделью Фо(/): *.(/) = <V, S3| S5), 5зСУ3, 55CF5, V = {х^.Хг, Х3, Х4, *5, Яб, Х7, Х8, Х9, = {{х4, Х5, Х9}, {a?i, X5, Хю}, {х5, Х9, Хц), {хЬ Х2, Хб), 12 4 5 {х8, Х9, Хц), {х7, Хд, Хц), {х2, Х3, Х7), {хи Х5, Хц), 6 7 8 9 {х3, х4, х8), {а?!, х8, хц), {хи х7, хп)}, 10 11 Ss = {{51, х2, хз, х\, х5)}. 12 Зададим модель Фа(/) в виде мографа, при этом роль букв играют первичные термы, слов — простые импликанты. Задание булевой функции в виде мографа позволяет наряду с чисто логическими свойствами функции исследовать ее частотные и топологические свойства, что позволяет естественным образом рассматривать проектирование булева графа как преобразование мографа в диаграмму Хассе, задающую частично упорядоченное множество. Вершина v называется разделяющей в структурном графе, ес- если любой путь графа содержит ее. Подграф Г структурного графа называется гамаком, если лю- любой его (подграфа) путь содержит две разделяющиеся вершины, являющиеся соответственно минимальным и максимальным эле- элементами этого подграфа. §4.7. Синтез логических структур в топологических базисах 313 Замена минимального элемента гамака Г на максимальный И наоборот с одновременным изменением ориентации всех дуг даа противоположное называется операцией взятия двойственной ^структуры от гамака Г. Синтезируем структурный граф последовательным построени- построением путей, соответствующих рассматриваемым простым импликан- 'там. При этом построении выполнением операции взятия двой- двойственной структуры будем сопоставлять общим частям в простых импликантах общие части в структурном графе. Если такое сопо- сопоставление выполнить нельзя, так как в графе возникают лишние пути (т. е. пути, взвешенные конъюнкциями, не содержащимися ;» заданной ДНФ булевой функции), то производим расщепление даервичного терма, т. е. сопоставление первичному терму более ардной вершины в структурном графе. Естественно, что при од- яом расщеплении сложность схемы возрастает на единицу. Далее, Очевидно, что сложность схемы не может быть меньше мощности ^Носителя мографа, определяющего реализуемую булеву функцию, так как носитель состоит из существенных переменных. Будем рассматривать простые импликанты в порядке их напи- написания в ДНФ. В мографе они помечены соответствующими иден- идентификаторами. Последовательное построение структурного графа ^изобразим на рис. 4.34 на котором числа 1-12 обозначают присое- присоединение очередного пути, соответствующего следующей простой импликанте, идентификатор которой совпадает с номером, указан- указанным под графом. 1) Задаем отношение упорядоченности в первой простой им- ;Йликанте x4x5x9: и(х4) < и(х5) < vX9. Здесь и ниже запись u(xf') означает вершину диаграммы, взвешенную термом х^'. 2) Присоединяем вторую простую импликанту. Чтобы не рас- Яцеплять первичный терм xs в построенной на первом шаге диа- диаграмме, выполняем операцию взятия двойственной структуры от Гамака \\ = (Vr,, Uri), Vfr, = {х4, х5}, Ur, = {(х4, х5)}. В ре- ^зулыате получаем диаграмму Я2 = (V2, ?/2), V2 = {хь х4, is, я9, U2 = {(>5, х4), (х4, х9), (х5, xj), (хь ^соответствующую первым двум простым импликантам. \ 3) Аналогично при построении третьего пути, соответствую- |рего простой импликанте ХхХ2хзХ4Х5, выполняем операцию взя- взятия двойственной структуры от гамака Г2 = (Vr2, Ur2), Vr7 = 1={х4, х9}, Уг2 = {(х4)х9)}. Окончательно получаем диаграмму #3 = (Уз, U3), УЗ = {Х1, X2, Uz - {(х5, х9), (х5, xi), (z9, хА), (хь х10), (xi, х3), (хз, х2), {х2, х4)}.
314 Гл. 4. Теория формальных грамматик и автоматов )х9 {^jx9 (^>х10 §4.7. Синтез логических структур в топологических базисах 315 4) Присоединяем путь v(xs) < и(х9) < и(хц), соответствую- соответствующий четвертой простой импликанте. Имеем диаграмму На — (V4, Щ), V± — {xi, х2, х3, х4, х5, х9, хю, хп), Ua= {(х5)х9), {xs,xi), (x9)xu), (х9,х4), («l.Xio), (Xl,X3), (Х3,Х2), (Х2, Х4)}. 5) Построение следующего пути, реализующего простую им- пликанту Х1Х2Х6, приводит к противоречию в диаграмме, если не производить расщепление первичных термов xt и х2, так как по- построение этого пути с включением в него вершин диаграммы /f4, взвешенных хх или х2, приводит к возникновению лишних путей. Расщепление отмечаем штриховкой первичного терма. Аналогично строим всю диаграмму, реализующую заданную булеву функцию: х", Х2, Х2, Х3, Х3, Х4, Х5, Х6, = {{Х7, Х9), (Х7, (х5, х9), (х5, Xi (х", хи), (х9, Х7, Хв, х'&, Х9, Х9, Х10, ХП}, ), (Х7, Х3), (Х8, Х9), (Х8, Х3), х'ь х8), (xi, х6), (х9, хи), (х?, хп), (х9, х4), (xi, хц), (xi, х2), (х2, х3), (х3, х4), (xi, х10), (х3, х'2), (х6, х'2)}, Ее сложность L(H) равна 17 (было произведено шесть расщепле- расщеплений). Какова близость полученной сложности к абсолютно мини- минимальной? Чтобы ответить на этот вопрос, необходимо породить все эквивалентные решения и сравнить их по сложности получен- полученных структурных графов, что равно всевозможным способам упо- упорядочения первичных термов в простых импликантах. В данном случае это число равно 43 535 646 720, так как количество различ- различных упорядочений слов мографа равно П1в«1'> гДе ls«l — число букв в t-м слове. • Тем не менее можно ответить на поставленный вопрос без пе- перебора всех эквивалентных диаграмм Хассе, зная при этом се- семантику (смысл) проводимого преобразования мографа GM(f) в структурный граф #(/), GM(f) -> Я(/) (см. теорему 3.47). Рассмотрим, например, синтез структурного графа H(f), определяемого счетчиком четности: выходной канал принимает значение 1, когда возбуждено четное количество входных каналов. Рассматриваемую булеву функцию от трех переменных, задающую работу счетчика четности, можно рассматривать как мо- модель Ф = (М, 53>, М = {ц,х{/{=1, 2,3}, {х\, Х2, Х3}, {Д?1, Х2, Хз), {Xl, X2, Х3}, €5з 1 2 и задавать ее в виде (рис. 4.35, а).
316 Гл.4. Теория формальных грамматик и автоматов Согласно теореме 3.47 выделяем запрещенные фигуры реализуемого преобра- преобразования GM(f) -? H(f). Для этого рассмотрим сочетания вершин по три из шести. Из 20 сочетаний четыре удовлетворяют этой теореме. Они имеют вид {xi, х2, х3}, {ц, х2, х3} {х2, х\, х3] {х3, xi, х2}. Например, набор {xi, х2, хз} обводим, так как ему соответствует цикл не- нечетной длины с циклической перестановкой весов. Набор {х\, Х2, xi} вычер- вычеркиваем, так как вершины, соответствующие буквам набора, не образуют цикла. ,4 1,3 1,4 2i Рис. 4.35 1,3 Набор {х\, Х2, хз} также вычеркиваем, так как хотя соответствующие вершины и образуют цикл, но его веса не являются весами с циклической перестановкой. Сочетания вершин по пять из шести не рассматриваем, так как число конъ- конъюнкций рассматриваемой функции (ранг функции) меньше пяти и, следова- следовательно, сочетаниям этого вида заведомо не будут соответствовать искомые под- мографы. Множество циклов нечетной длины с циклической перестановкой весов име- имеет следующий вид: Q\ = {{xi, х2), {х2, хз}, {хз, xi}}, Q2 = {{xi, х2}, {x2, x3}, {хз, Xi}}, Яз = {{xi, хг), {х2, хз}, {хз, ri}}, Qt = {{хь x3}, {x3, x2}, {x2, xi}}. Подмографов типа Б в мографе GM (рис. 4.35, а) ие содержится. Строим таблицу, каждому столбцу которой взаимно однозначно сопоставляем подмограф типа А или Б, строке Таблица 4.16 букву с идентификаторами слов, в кото- которые она входит при образовании подмо- графа типа А или полного подграфа плот- плотности 3 подмографа типа Б, и на пере- пересечении i-й строки с j-м столбцом ставим звездочку, если буква с соответствующими идентификаторами слов, сопоставленная »-й строке, входит в подмодель, соответ- соответствующую j'-му подмографу, в противном случае клетка (i, j) таблицы остается незаполненной. Построенную таким обра- образом семантическую таблицу будем назы- называть решетчатой. Использование тер- термина "решетчатая" будет ясен ниже. Решетчатая таблица имеет вид, приведенный в табл. 4.16. В построенной решетчатой таблице производим покрытие столбцов стро- строками. Xi г, C,4) х2B,4) хзB,3) xi A,2) х2A,3) г»A,4) Q, Qi 1 1 1 1 1 1 Q3 1 1 1 Q* 1 1 1 §4.7. Синтез логических структур в топологических базисах 317 Для рассматриваемого примера имеем покрытия: первая, четвертая строки; вторая, пятая строки; наконец, третья, шестая строки. ' Буквы, соответствующие строкам найденного покрытия решетчатой табли- таблицы, расщепляются, т. е. в одном из слов эта буква переименовывается. При расщеплении буквы, соответствующей »-й строке, все подмодели вида ФрB, 1), Которые соответствуют столбцам, на пересечении которых с »-й строкой нахо- находится 1 в решетчатой таблице, понижают свой порядок на единицу, т. е. преобра- преобразуются в подмодели нулевого порядка. Данное утверждение справедливо согласно основному свойству квазиполных моделей. В результате расщепления всех букв, соответствующих строкам найденного Покрытия решетчатой таблицы ТДНФ функции / преобразуется в решетчатую дизъюнктивную нормальную форму (РНДФ) функции /. i Дизъюнктивная нормальная форма (ДНФ) функции /, для ко- которой существует такое взаимно однозначное соответствие между Первичными термами и вершинами структурного графа, что вы- выполняется взаимно однозначное соответствие между конъюнкция- конъюнкциями и путями графа, причем вершинам каждого пути сопоставлены первичные термы, образующие соответствующую конъюнкцию, и дизъюнкция конъюнкций соответствует объединению соответству- соответствующих путей, называется решетчатой ДНФ (РДНФ) функции /. Сложностью РДНФ функции f называется число вершин со- соответствующего структурного графа. Как будет видно, сложность РДНФ в основном определяет сложность искомого функциональ- функционального графа при структурном синтезе автомата. Г Минимальной РДНФ (МРДНФ) функции f называется РДНФ (функции /, имеющая минимальную сложность из всех РДНФ, со- |Мсветствующих функции /. ,1 Для поиска МРДНФ функции / необходимо произвести пере- Jjiop всех РДНФ для всех ТДНФ функции / и выбрать РДНФ с минимальной сложностью. ; Каждое покрытие решетчатой таблицы соответствует РДНФ ту- тупиковой ДНФ функции /. г В рассматриваемом примере все три покрытия равносильны. Каждому из них соответствует РДНФ сложности 8. Для определен- определенности выберем первое покрытие. После расщепления первичных §ермов х\ и xi получаем РДНФ функции / вида f(xi, х[, х2, х3) = xix2x3 V Х!Х2х3 V xix2x3 V Эта РДНФ является минимальной, так как функция / име- имеет одну ТДНФ, для которой полученная РДНФ является ми- минимальной. Полученному решению соответствует мограф GM (рис. 4.35, б) Не строя структурного графа, можно говорить о его сложно- сложности в силу взаимно однозначного соответствия между первичными фермами реализуемой РДНФ и вершинами синтезируемого графа. ^Сложность синтезируемого графа равна сложности реализуемой |]гДНФ. Это свойство предлагаемого метода решетчатых таблиц поз-
318 Гл. 4. Теория формальных грамматик и автоматов воляет существенно снижать трудоемкость при синтезе минималь- минимальных булевых графов. Синтезируемый абсолютно минимальный структурный граф, реализующий булеву функцию /(xi, х2, *з) счетчика четности и соответствующий найденной МРДНФ, имеет вид, изображенный на рис. 4.36. Рассмотрим еще один пример синтеза абсолютно минимальных структурных графов. Синтезировать абсолютно ми- минимальный структурный граф, реализующий булеву функцию вида /(«1, *2, *2, *4)|l = Рис4;36 = V@, 1,2, 4, 9, 11, 13), и равную 0 на остальных наборах. Выделяем максимальные интервалы и строим импликантную таблицу (таблицу Квайна). Таблица Квайна для рассматриваемой функции имеет вид табл. 4.17. Таблица 4.17 Максимальные интервалы 000- 00-0 0-00 -001 10-1 1-01 Единичные точки 0000 1 1 1 0001 1 1 0010 ф 0100 ф 1001 1 1 1 1011 ф 1101 ф Единицы, обведенные кружком, в таблице Квайна определяют элементы ядра покрытия {2, 3, 5, 6}. Находим тупиковые ДНФ заданной функции, покрывая столб- столбцы таблицы Квайна строками таблицы. Имеем два покрытия: пер- первая, вторая, пятая, шестая строки и вторая, третья, четвертая, пя- пятая, шестая строки. Этим двум покрытиям соответствуют ТДНФ функции / вида f'(xi, х2, яз, х4) = xix3x4 V xix2x4 V x{x3x4 V х{х~2Х4 V x"ix2z3, /"(Xi, Х2, Х3, Х^) = Х1Х3Х4 V Х1Х2Х4 V Х1Х3Х4 V Х1Х2Х4 V Х2Х3Х4. Первой ТДНФ соответствует мограф (рис. 4.37, а), в котором имеются циклы нечетной длины с циклической перестановкой ве- весов вида Q\ = {г2D, 5), х3E, 3), х4C, 4)}, Q2 = {xi(lJ))x2B,5),x3E)l)}, Q3={x4(l,2),x2B,5),X3E, 1)}. §4.7. Синтез логических структур в топологических базисах 319 Решетчатая таблица, соответствующая первой ТДНФ, имеет вид, приведенный в табл. 4.18. Решетчатая таблица имеет покры- 1' 2) *1A« 2)О Ох<A' 2- 5) 5зA,3,5) хия: вторая и третья строки (первое покрытие); третья и четвер- четвертая строки (второе покрытие); первая, шестая и седьмая строки (третье покрытие). Этим покрытиям соответствуют РДНФ первой ТДНФ функции / вида ) Х3, V t, x2, x3, x4, x3) = = X1X3X4 V I, X2, X3, X4, Xv Xf4) — Таблица 4.18 V V Х1Х2Х4 V X1X2X3, V X1X3X4 Таблица 4.19 Xi ПA,2) гаD,5) x2B,5) ft E,3) ftE,1) ft C,4) ft A,2) Q, 1 1 1 Q2 1 1 1 1 1 1 Xi *i(l,2) ftB,5) r!C,4) ft E,1) ft D, 5) хзE,3) ft C,4) Qi Qi 1 1 1 Q2 1 1 1 <?3 1 1 1 Сложности решетчатых ДНФ соответственно равны L(f'a) = 7, ЦП) = 7, ЦГС) = 9. Второй ТДНФ функции / соответствует мограф (см. рис. 4.37), в котором имеются циклы нечетной длины с циклической пере- перестановкой весов вида Qa = {Х1(з! 4)! х2D| 5)! х3(б| 3)j! Q3 = {Х4C, 4), х2D, 5), х3E, 3)}. Решетчатая таблица, соответствующая второй ТДНФ, имеет вид
320 Гл. 4. Теория формальных грамматик и автоматов табл. 4.19. Покрытиям этой таблицы соответствуют РДНФ второй ТДНФ функции / вида I1X2X4 V Х1Х3Х4 V V xix2x4 V V Х2Х3Х4, fc(xU = X1X3X4 ^4, х'з) = = Х1Х3Х4 = 1^x3X4 V X1X2X4 V 1^x3X4 V x"iX2X^ V X2X3X4. Сложности полученных РДНФ для второй ТДНФ соответствен- соответственно равны Lift) = 7, L(f'b') = 7, L(f'c') = 9. Отсюда, сравнивая сложность полученных РДНФ для двух ТДНФ, получаем МРДНФ функции /, например /(ll, Х2, Хз, Х4, Х2) = ХХХЗХ4 VX1X2X4 VX!X3X4 VX1X2X4 УХхХ^з со сложностью 7. Соответствующий ей абсолютно минимальный структурный граф изображен на рис. 4.38. Перебор при определении минимальной сложности структур- структурного графа оценивается числом РДНФ, соответствующих заданной булевой функции /(ц, х2, ..., хп). Трудо- Трудоемкость этого перебора равна трудоемко- трудоемкости обхода дерева поиска МРДНФ функции /(xi, i2, ..., хп) (рис. 4.39). К сожалению, пока нет оценок числа РДНФ, соответст- соответствующих функции /(xi, х2, ..., хп), поэто- поэтому этот перебор оценим числом ТДНФ, со- соответствующих функции /(xi, Х2, ..., хп). Известно, что число iVi-днФ ТДНФ, соответствующих булевой функции от п переменных, "наихудшей" в смысле ее Рис. 4.38 сложности в классе ДНФ, асимптотически соизмеримо с числом всех различных функций от этого числа пе- переменных: lim ЛГтднФ • B ) =1. п-+оо Следовательно, получаемый перебор становится практически неприемлемым даже с использованием современных ЦВМ для про- произвольных булевых функций, зависящих более чем от 20 перемен- переменных. Распределение подмоделей, гомеоморфных квазиполным под- подмоделям, в модели Ф, задающей булеву функцию /(xlt X2, ..., хп), определяет согласно критерию решетчатости минимальность структурных графов. Будем говорить, что это распределение опре- определяет теоретико-структурные свойства модели Ф. §4.7. Синтез логических структур в топологических базисах 321 *——' —— - ¦ На практике при синтезе автоматов управления реализуемый автоматный оператор характеризуется большим числом перемен- переменных и сравнительно небольшим числом обобщенных состояний (автомата, определяемых значениями вектора XZ-\-Z — Y. Напри- Например, автомат управления может иметь 100 элементов из Мх и Мг и О Совершенная ДНФ iTXCoK Покрытие импликантной таблицы Тупиковые ДНФ Покрытие решетчатой таблицы -Ъ 6-Ъ 6- Решетчатые ДНФ Рис, 4.39 только лишь на 500 наборах определен. Но 500 намного меньше, чем число всевозможных двоичных наборов длины 100, равное 2100: 500 «С 2100. Используя это положение, можно снизить трудо- трудоемкость синтеза автоматов управления путем разбиения большого числа переменных автоматного оператора на группы с последую- последующей заменой переменных каждой группы на одну "новую" пере- переменную. Предложим метод такого объединения переменных. Введем несколько понятий. Множество букв, взвешивающих только вершины двухинцин- дентного подграфа структурного графа, называется обобщенной буквой первого рода. При структурном синтезе двухинцендентный подграф будем на- называть ж-структурой (ж-диаграммой). а-структурой (а-диаграммой) называется подграф структур- структурного графа, произвольная пара вершин и, и Vj которого коинци- дентна только соответственно входящим дугам uf, uf, ..., ufa и uf, uf, ..., иf, имеющим соответственно одно и то же начало, И которая коинцидентна только исходящим дугам и^, и~, ..., и~ и 1*7) и •> и7) имеющим соответственно один и тот же конец ЗЬ (рис. 4.40). Множество вершин {и»}, каждая из которых покрывается од- одними и теми же вершинами {Ги,}, при этом ни одна из вершин ll В. А. Горбато»
322 Гл. 4. Теория формальных грамматик и автоматов fa, va € {Ги,}, не покрывает вершины vp, vp ? {и,}, и это мно- множество вершин {и,} покрывает одни и те же вершины {Г^}, при этом ни одна из вершин и7, и7 G , не покрывается {и,}, называется вершиной v$, v$ ? а- поддиаграммой. Множество букв аг, п2, ..., ап, каждая из которых взаимноодно- взаимнооднозначно соответствует вершине ст-диа- граммы, называется обобщенной буквой второго рода. На рис.4.40 обобщенная буква вто- второго рода взвешивает средний ярус. Теорема 4.2. Множество букв а\, аг, ..., ап образует обобщенную букву первого рода тогда и только тогда, когда собственные часто- частоты этих букв равны между собой и равны взаимным частотам: U = U — Ль *'» 3 — аь а2) • • -1 On- D.10) Теорема 4.3. Множество букв а\, аг,..., ап образует обоб- обобщенную букву второго рода тогда и только тогда, когда U = fj, fij = 0, Л, = /ju,, i Ф j, Рис. 4.40 M\{ab a2, »', j = a2, D.11) В выражениях D.10) и D.11) /,, fj — собственные частоты, fij (i ф j) — взаимная частота, определяемая частотной матрицей отношений F = [fij], F = QTxQ, Q — матрица инцидентности, определяющая соответствующий мограф. В матрице Q = [g,j] каждой букве взаимно однозначно сопоставлен столбец, слову — строка и 1, если j-я буква содержится в i-u слове, 0 в противном случае. Метод выделения обобщенных букв заключается в следующих преобразованиях. 1. С помощью частотной матрицы отношений, соответствую- соответствующей мографу, согласно D.10) выделяем обобщенные буквы первого рода. 2. Согласно D.11) выделяем обобщенные буквы второго рода. 3. Если были выделены обобщенные буквы второго рода, то переходим к п. 1, в противном случае — к п. 4. 4. Конец. _ ( §4.7. Синтез логических структур в топологических базисах 323 Проиллюстрируем предлагаемый метод уменьшения числа пе- переменных на следующем примере. Пусть задана булева функция /, которая задается матрицей инцидентности вида об с d е / 9 k m 110010100 000010111 111000010 111100000 001010110 110 00 0-011 Q = 0 1 0 1 0 0 0 0 1 0 1 0 0 0 0 0 1 0 0 1 1 0 1 1 0 1 1 0 0 0 1 0 0 0 0 1 0 0 1 1 1 1 1 0 1 1 1 1 1 1 0 0 0 0 0 1 1 1 0 0 1 0 0 000110101 Частотная матрица отношений, соответствующая фуикции /, имеет следую- следующий вид: / Я к 2 2 2 2 3 О О 3 2 2 2 2 4 4 6 3 3 6 Согласно D.10) буквы а и b являются обобщенными буквами первого рода. Заменим их буквой Ь . Согласно D.11) буквы сит являются обобщенными буквами второго рода; буквы d и к, е и /также являются обобщенными буквами второго рода. Заме- Заменяем их соответственно на т', к', /'. После замены букв матрица инцидентности имеет вид 6 6 2 2 1 1 2 2 2 6 6 2 2 1 1 2 2 2 2 2 6 3 2 2 4 3 0 2 2 3 6 2 2 4 0 3 1 1 2 2 5 0 5 2 2 1 1 2 2 0 5 5 2 2 2 2 4 4 5 5 10 4 4 Ь' /' g к' т' 1 0 1 0 1 1 0 1 1 1 1 0 1 1 0 Q' = Частотная матрица отношений F' (F' = (Q')T x Q') имеет следующий вид: Ь' /' g k' т' 2 1 1 1 1 1 2 2 1 1 1 2 2 1 1 1 1 1 2 2 1 1 1 2 2 g к' Согласно D.10) буквы д' = {/', д} и т" = {к1, т'} являются обобщенными буквами первого рода. Обобщенных букв второго рода иет, следовательно, выде- выделение обобщенных букв окончено. Окончательно имеем матрицу инцидентности,
324 Гл. 4. Теория формальных грамматик и автоматов задающую в виде булеву функцию в виде Ь' д> т" 1 0 1 Oil 110, Такое сжатие информации позволяет существенно уменьшить трудоемкость при синтезе минимальных автоматов управления. После сжатия при приведении функции к ре- решетчатому виду необходимо учитывать резуль- результаты сжатия при покрытии решетчатых таблиц. Для рассматриваемого примера заметим, что мо- граф, задающий сжатую функцию, представляет собой цикл нечетной длины с циклической пе- перестановкой весов, и, следовательно, для приве- приведения этой функции к решетчатому виду можно расщепить либо Ь', либо д', либо т". Взвесим каждую букву в сжатой таблице числом букв, ко- которые оиа представляет. При минимальном рас- расщеплении выберем букву Ь', так как ее вес ра- равен 2. В результате синтеза имеем структурный граф G(f) (рис. 4.41), реализующий функ- функцию /. Рис 4 41 тт Логическая структура в первом топо- топологическом базисе задается диаграммой Хассе Н, и ее синтез со- состоит из следующих преобразований. 1. В мографе, задающим реализуемую булеву функцию, выде- выделяем запрещенные фигуры типов А и Б (рис. 3.53). 2. Находим пары внешне неустойчивых вершин относительно носителя каждой запрещенной фигуры. 3. Строим семантическую таблицу, сжимаем ее и определяем покрытия. 4. Выбираем минимальное покрытие семантической таблицы, которое порождает мограф GM, эквивалентный заданному, имею- имеющий минимальное расширение носителя и интерпретируемый в категориях синтезируемого структурного графа Н. 5. Производим фактическое построение структурного графа по интерпретируемому мографу GM. Синтезированный структурный граф является абсолютно минимальным по числу вершин из всех эквивалентных графов и построенным без перебора всех эквива- эквивалентных графов. Рассмотрим каждое из этих преобразований, иллюстрируя их проектированием логической схемы, реализующей ДНФ булевой функции (см. рис. 3.54, а) /(ill Х2, . .., Х5) = = xix3x5 V хххА V х2х3 V V 13X4X5 V §4.7. Синтез логических структур в топологических базисах 325 Выделение запрещенных фигур типов А и Б сводится к выде- выделению циклов нечетной длины в мографе с последующей провер- проверкой распределения идентификаторов на их вершинах. Выделение циклов нечетной длины будем производить фиксацией остова мо- графа, добавлением хорд с формированием базисных циклов и ге- генерацией остальных циклов применением операции сложения ци- циклов по модулю 2. Для такого выделения предложим следующий алгоритм. 1. Выделяем остов мографа по матрице смежности фиксацией около диагональных единичных элементов: ;A|2) — 0 0 1 0 1 372C,6 0 _ 1 1 . 1 0 ) З7з C,4,5) 0 1 — 0 1 1 х4B,6) z 1 1 0 — 1 0 В5E,6) 0 1 1 1-1 — 0 5?5A,4) 1 0 1 0 0 х2C, 6) X4B,6) х3E,4,3) Эту фиксацию будем производить, например, следующим алго- алгоритмом. Рассматриваем по очереди строки (начиная с первой) и отмечаем ближайшую от диагонали единицу. Если число отмечен- отмеченных единиц равно п - 1 (п — чи- число вершин мографа), то остов най- найден. В противном случае, начиная с последнего столбца, отмечаем в этом столбце ближайшую единицу, переходим к столбцу на один но- номер меньше до тех пор, пока не будет отмечено п — 1 единиц. От- Отмеченные элементы матрицы за- задают остов. В результате рабо- работы этого алгоритма получаем остов мографа, изображенный на рис. 4.42. Отмеченные около диагональные элементы набраны по- полужирным шрифтом в матрице смежности. Неотмеченные элементы соответствуют хордам мографа отно- относительно выделенного остова. Число хорд равно цикломатиче- скому числу мографа рис 4.42 где \М\ — мощность носителя мографа, \{pi}\ — количество ребер мографе, К — число компонент связности мографа. В нашем примере v{GM) =8-6 + 1 = 3. 2. Формируем базисную матрицу циклов {базисную циклома- тическую матрицу) присоединением хорды к выделенному осто- остову. В результате получаем базисную цикломатическую матрицу относительно остова D (рис. 4.42).
326 Гл. 4. Теория формальных грамматик и автоматов Р1 рг. Обозначим ребра мографа как {х2C, 6), х4B, 6)} = а, {х5E, 6), хэC, 4, 5)} = /, {х2C, 6), х5E, 6)} = Ь, {Х1A, 2), х4B, 6)} = д, {х!A, 2), х5A, 4)} = с, {хзC, 4, 5), х5A, 4)} = р, {*зC, 6), х3C, 4, 5)} = d, {x4B, 6), х5E, 6)} = е. Цикломатическая матрица рассматриваемого примера имеет вид Хорды Остов а Ь с d e f g p 1 1 1 О О 1 0 1 0 0 0 1111 3. Применением 2" — v — 1 раз операции сложения по модулю 2 циклов выделяем все циклы мографа. Каждый выделенный цикл проверяем на условие образования запрещенной фигуры типа А или Б. Базисный цикл р2 является запрещенной фигурой Q\, а базис- базисный цикл рз — запрещенной фигурой Q$. Проанализируем остальные циклы на предмет образования ими запрещенных фигур: Pl®P2 = P4, />4 «41100100 0, цикл р4 является запрещенной фигурой Q\\ Pi®p3 = p5, р8<-И0110011, выделенный цикл является запрещенной фигурой Q2; 1 0 0 0 1 0 0 0 1 P1®P6 = P7, P7 <-»¦ 1 1 1 0 0 1 1 1, циклы pi, ре я pj не являются запрещенными фигурами, так как они имеют четную длину. Находим пары внешне неустойчивых вершин относительно но- носителя каждой запрещенной фигуры. В нашем примере такой па- парой относительно носителя запрещенной фигуры Qi = {z2C,6),x5F,5),x3E,3)} будут вершины v(x4J, v(x4). После добавления слов {х2, хз, xs} и (i4) is, х4} фигура Qi неустойчива, и достаточно будет расщепить только Х4B, 6) (см. табл. 3.9): v(xi) < и(^з) < v(x5), «(li) < t>(x4), v(x3) < v(xi) < v(x5), v(x3) < v(x2), v{x3) < v(x5) < v(x2), v(x3) < v(x5) < u(x4), u(x4) < u(x5) < и(х2), «(x4) < u(x5) < u(x4). §4.7. Синтез логических структур в топологических базисах 327 Рассмотрим фактическое построение структурного графа Н по интерпретируемому мографу GM. В случае несложных могра- мографов такое преобразование можно реализовать с помощью операции взятия двойственной структуры, как это делалось выше. В слож- сложных случаях объем вычислений возрастает настолько, что целе- целесообразно применять частотный анализ мографов и на его основе строить Н. Рассмотрим этот метод построения Н по мографу GM. Буквы, соответствующие минимальным или максимальным элементам диаграммы, будем называть крайними. Бели количество минимальных (максимальных) элементов, покрываемых (покрывающих) одними и теми же вершинами (од- (одни и те же вершины), не меньше 2, то соответствующие им буквы называются крайними второго рода, в противном случае — край- крайними первого рода. Теорема 4.4. Если буква а является крайней первого рода, то /о = 53 /«, fai - /«, fij = 0; i ф у, i, j = d, e, ..., n, D-12) каждая буква b € {i/ i = d, e, ..., n} соответствует вершине, покрывающей v(a) (рис. 4.43, а) ai аг аъ а б Рис. 4.43 Теорема 4.5. Если буквы ai, а2, • •., ап являются крайними второго рода, то Dai(i € {1, 2, ..., п»)(ЭЬв> Ьр, ..., Ь7(а, /3, ...,-/? €{1,2, ...,р})) (fai= Yl fa<b]), i=a,/9,...,7 MJ € {1, 2, ..., р}))Cав, а„, ..., а((в, q,..., ? e
328 Гл. 4. Теория формальных грамматик и автоматов = 0, к ф I, к,1 = 1, 2, ..., п, fbklbll = О, к' ф V, к',1' = = 1,2,..., р, где каждая буква b^ (j 6 {1, 2, ..., р}) взвеши- взвешивает вершину, покрывающую соответствующие минимальные элементы диаграммы (рис. 4.43, б). Замечание. Теоремы, двойственные теоремам 4.4, 4.5, фор- формулируются аналогично: слово "покрывающие" заменяется словом "покрываемые" и "минимальные" — словами "максимальные", остальное остается без изменения. Здесь топология синтезируемой диаграммы (структурного гра- графа) однозначно с точностью до применения операции взятия двой- двойственной структуры определяется частотными соотношениями, элементы которых являются элементами частотной матрицы отношений F = QT(GM) х Q(GM). В общем случае, когда покрывающие вершины находятся в раз- различных ярусах, что возможно при различной длине путей, частот- частотные соотношения, определяющие топологию синтезируемой под- поддиаграммы, будут более сложными и элементами их будут частоты вершин, принадлежащие более чем двум ярусам. Сечением структурного графа называется множество попар- попарно несравнимых вершин, через которые проходят все пути. Условия поиска крайних букв первого и второго родов являются необходимыми, так как этим условиям могут удовлетворять как искомая совокупность букв, покрывающих найденные буквы а\, п2, •.., ап, так и совокупность букв, сравнимых с oi, аг, ..., ап, но не покрывающих их. В силу локальности соотношений D.12), D.13) поиск крайних букв необходимо осуществлять локальным перебором по всем се- сечениям диаграммы. После нахождения покрывающих вершин по- построенные на этом шаге поддиаграммы представляются в виде гамаков с точкой разделения в покрывающей вершине с последую- последующим свертыванием каждой из них в эту вершину. Известно, что частотная матрица отношений однозначно опре- определяет интерпретируемый в категориях диаграмм мограф GM и однозначно с точностью до применения операции взятия двой- ственнрй структуры — проектируемую диаграмму, поэтому при проведении проектирования на языке частотных матриц отноше- отношений свертывание гамака в вершину итах) являющуюся его макси- максимальным элементом, означает разделение частот букв, сравнимых с m(umax) (т. е. тех букв тп,-, у которых /mjmmEX ф 0), на число путей, содержащихся в свертываемом гамаке, и вычеркиванием строк (столбцов), соответствующих буквам свертываемого гамака, за исключением тп(итах). При этом полученная частотная матрица отношений описывает еще не построенный структурный граф. Алгоритм преобразования GM -» Н состоит из следующих шагов. § 4.7. Синтез логических структур в топологических базисах 329 1. Определяем все обобщенные буквы первого рода. Стягиваем гамаки, соответствующие найденным буквам, в вершину. 2. Определяем все обобщенные буквы второго рода. Стягиваем гамаки, соответствующие этим буквам. 3. Найдена ли хотя бы одна обобщенная буква первого или вто- второго рода? Если да, переходим к выполнению п. 1, в противном случае — к п. 4. 4. Находим множества букв, каждое из которых удовлетворяет одному из условий D.12), D.13). Линейно упорядочиваем найден- найденные множества в виде списка. 5. Рассматривая первое множество букв в построенном (по- (последнем) списке и полагая, что она взвешивает соответствующую поддиаграмму в проектируемом структурном графе, строим эту поддиаграмму. Свертываем полученные гамаки. 6. Определяем буквы, соответствующие вершинам, покрываю- покрывающим максимальные элементы построенных поддиаграмм, исполь- используя пп. 4, 5. Если при выполнении пп. 4, 5 не выполняется ни одно из соотношений D.12), D.13), то последнее наше предположе- предположение неверно. Рассматриваемое множество букв и соответствующую ей поддиаграмму вычеркиваем, восстанавливаем предыдущую ча- частотную матрицу отношений и переходим к п. 5. Если хотя бы одно из условий D.12), D.13) справедливо, то выполняем п. 6. В результате локального перебора поддиаграмм по сечениям строим структурный граф. Предлагаемый алгоритм эффективно реализуется на ЭВМ в силу арифметического характера преобразований. Построим структурный граф Н по мографу GM (рис. 3.54), используя этот алгоритм. Матрица инцидентности Q(GM), определяющая мограф GM, имеет вид Xl II X2 Хз Хз Хз И Xi 1< Хц X~s 10000100001 10000001000 00101000000 01010000001 00010000110 00100010010 Частотная матрица отношения F(GM), F — QTxQ, определяю- определяющая частотные свойства мографа GM, имеет следующую строчную запись: F(GM) = 2х2 о (xiJ о х\ о 2х\ о (х'3J о (х3J о х2 о (х4J о о (х4J о 2х2 о2(х5J о г ~- ' ~ ~ О Х2Х4 О Х3Х4 О Х3Х5 О Х4Х5,
330 Гл.4. Теория формальных грамматик и автоматов где коэффициенты при а2 равны собственным частотам соответ- соответствующих букв, коэффициенты при а/3 равны ненулевым взаим- взаимным частотам между соответствующими буквами a,/? = хз, х3, хз, Х4, х'4, Х4, Х5, x"s; о — конструктивный разделитель частот. Анализ частного разложения мографа GM показывает, что для множеств {хг, Х2, хз} и {х'3, х4, х5, X5} выполняется частотное со- соотношение D.13): для множества {xi, хг, хз} }х\ = )х\х\ "Г ]хзх\ч Jx3 = JX1X3 + / J = + ' Jx'4 = /xjxi» /гз = JX\X31 JX\ ~ /х /Х4 == J fkl = 0, Л }М, Л, / = ХЬ Х2, Х3, Лт = 0, Л' ^ /', к', V = хь х3, х4, ж4, х4, х3; для множества {х3, х4, is, X5} Jx'3 Jx'3X2) /rj /rjrj) JXs JXsXt T /Z5Z4) /3C5 == /X5X3 T JXiXl ) /хз ^ JX3XS ) /si == Jx\Xb 1 JXi = JXix fxt=f xtXi, =O, Л Л, / = X3, X4, X5, X5. Отсюда имеем структурный граф if, реализующий мограф (рис. 4.13). Заменяя вершины графа ff на ключевые элементы первого топологического базиса, например, на переключатели све- света, а дуги — на световоды, получаем логическую схему сложности, равной числу вершин структурного графа Н. Проводя точное решение для примера, рассмотренного в на- начале этого параграфа, получаем в 2 раза меньше расщеплений Рис. 4.44 (рис. 4.44) по сравнению с решением, проведенным без учета за- запрещенных фигур. Частотный анализ можно с успехом использовать и при при- приближенном преобразовании мографа GM(f) в структурный граф #(/)• Введем ряд понятий. §4.7. Синтез логических структур в топологических базисах 331 Уровнем типа А называется подмножество Х'А множества букв X — {х,/ t = 1, ..., т} такое, что: 1) /.«= л, ? fxiX} = о, D.14) где fXi — собственная частота буквы х^; fXiXj — взаимная частота лары букв х,-, ijj R — число простых импликант в ДНФ функции f{X), которое обычно называют рангом ДНФ; буквы являются первичными термами рассматриваемой функции; 2) в структурном графе, реализующем эту функцию, найдется ярус, вершины которого взаимно однозначно взвешены буквами подмножества Х'А, так что не найдется ни одной вершины, не принадлежащей этому ярусу и взвешенной буквой х, (х, ? Х'А). Уровнем типа В называется подмножество Х'в множества X такое, что для него справедливо первое условие предыдущего опре- определения и не справедливо второе условие. При взвешивании яруса в структурном графе буквами подмно- подмножества Х'в так, чтобы ни одна буква х,- (х, G Х'в) не повторялась дважды в структурном графе, получаем граф, не эквивалентный искомому с числом путей, превосходящим R. Для удаления лиш- лишних путей в полученном графе необходимо расщепить некоторые буквы подмножества Х'в. После расщепления расширенное под- подмножество Х'в преобразуется в подмножество, образующее уровень типа А. Операцию приведения уровня типа В к уровню типа А назовем операцией расщепления первого типа. Подграф G'(va) = {V, U') графа G = {V, U) называется под- подграфом с начальной вершиной va, если для каждой его вершины и» € V имеется хотя бы один путь [и„, ..., «,-]. Вершина Vj называется покрывающей вершину «,-, если в гра- графе G = (V, U) имеется дуга вида (v,-, Vj) 6 U. Расщепление первого типа производим в следующем случае. Пусть построено I ярусов структурного графа G, причем вер- вершины f-ro яруса взвешены множеством первичных термов X/, и пусть в этом ярусе содержатся две вершины, и, и Vj, с весами соответственно х,- и ij (x,, Xj e Xi) такие, что при построении (I + 1)-го яруса множества весов Х',1+1*. и XL, ^ вершин, покры- покрывающих соответственно и^(х,) и Uj(xj), являются пересекающи- пересекающимися: Тогда, если подграф с начальной вершиной va, взвешенной первичным термом ха (ха € Х',1+1у П Х',1+1у) и покрывающей
332 Гл.4. Теория формальных грамматик и автоматов и,(х,), и подграф с начальной вершиной vp, взвешенной тем же первичным термом ха и покрывающей вершину vj(xj), реализуют различные булевы функции, то вес ха расщепляется. Уровнем типа С называется подмножество Х'с множества букв X такое, что: 2) подмножество Х'с является покрытием матрицы инцидент- инцидентности, задающей функцию f(X). Например, пусть задана булева функция /(ll, Х2, Хз) = XiX2X3 V X1X3 V XiX2X3, мограф которой имеет следующий вид: GM(f) = (V, 52, 5з>, V = {xi, xi, х2, хз, хз}, 52 = {{х\, х3}}, S3 = {{xi, х2, х3}, {хь х2, х3}}. Определим подмножества букв, которые могут претендовать на взвешивание вершин первого яруса искомого структурного графа. Очевидно, что претендентом на веса первого яруса могут быть уровни типа А или С. Подмножество букв, претендующее взвесить первый ярус, дол- должно покрывать своими элементами все строки матрицы инцидент- инцидентности _ Х\ 5fl X2 Хз Хз 1 1 0 0 0 1 1 0 1 0 1 1 1 0 0 1 2 3 Согласно матрице инциндентности имеем следующие покрытия этой матрицы: {хь xi}, {хь х2}, {хь х3}, {х2, х3}, {х3, х3}. Первое и последние подмножества являются уровнями типа А, остальные — типа С. Операцией расщепления второго типа будем называть при- приведения уровня типа С к уровню типа А или В. При расщеплении второго типа из подмножества Х'с удаляются расщепленные элементы, образующие подмножество Хр такое, что J2 f'i = J2 f'i ~ Д) J2 f'i*i = ? f'W D.16) §4.7. Синтез логических структур в топологических базисах 333 При расщеплении второго типа порождаются новые подмноже- подмножества уровней типов А, В и С. Результат операции расщепления первого типа есть повторе- повторение некоторых букв внутри одного яруса, а результат операции расщепления второго типа есть повторение некоторых букв между ярусами. Используя введенные понятия, можно предложить следующий метод синтеза структурных графов. Для снижения трудоемкости при синтезе оптимальных струк- структурных графов в предлагаемом методе используется понятие про- производной от модели. Подграф с начальной вершиной и,, являющийся концом дуги (t)j, «,•), будем называть подграфом, покрывающим вершину и, (рис. 4.45, а) Рис. 4.45 Объединение подграфа с начальными вершинами и,х, и,2,... • • •> и«т> являющимися концами дуг, начала которых есть вер- вершины ил, Vj3, ..., vjn, образующие подъярус, будем называть под- подграфом, покрывающим подъярус {vjt, Vj2, ..., Vjn} (рис. 4.45,6). Матрица инциндентности Q = [qij] модели Ф, по которой про- производится оценка в предлагаемом методе, строится следующим образом. Каждой строке взаимно однозначно сопоставляется пер- первичный терм булевой функции, столбцу — выделенный подуро- подуровень и 1, если веса вершин подграфа, покрывающего _.. _ i подъярус, взвешенный j-u подуровнем, J » содержат i-й первичный терм, О в противном случае.
334 Гл.4. Теория формальных грамматик и автоматов Уровни, взвешивающие начальные вершины подграфов, покрываю- покрывающих вершины построенного яруса, будем оценивать с помощью функции — 1 г ?1 ds Л - 2/ti + являющейся обратно пропорциональной производной ЭФ/dS от модели Ф и характеризующей степень пересечения этих уровней. В качестве уровня, взвешивающего синтезируемый ярус, будем выбирать уровень с максимальной оценкой. Заметим, что понятия уровень и ярус совпадают, если булева функция является решетчатой. В этом случае уровень является идентификатором яруса. Перед изложением метода синтеза рассмотрим случай неоди- неодинаковой длины путей синтезируемого графа. В этом случае имеем четвертый тип уровня — уровень типа D. Подмножество X'D множества X называется уровнем типа D, если выполняются следующие условия: Л, ,„,- = 0; D.17) j 2) не существует такого элемента хто € X, включение которого в подмножество X'D приводит подмножество X'D к уровню типа А. Проиллюстрируем введенное понятие на следующем примере. Пусть дан граф (рис. 4.45, в), реализующий булеву функцию Х2, V V Х2Х8 V Vх2х5х6Vх2х5х7. Уровнем типа D является подмножество первичных термов } , } Предлагаемый алгоритм осуществляет синтез структурного графа по ярусам, т. е. на каждом шаге синтеза находятся пер- первичные термы Xs такие, что Следовательно, для получения таких подмножеств первичных тер- термов (уровней типа А) необходимо в уровень типа D включать пер- первичный терм id такой, что /«„ = Д - /«,-, /«„«,. = 0, х{ 6 X'D. С помощью такого включения производится выравнивание длин путей. §4.7. Синтез логических структур в топологических базисах 335 В рассматриваемом примере при синтезе булева графа в ка- качестве подуровней, взвешивающих подграфы, покрывающие вер- вершины, с весами хх и х2, выбираем соответственно {хз, 14} и {хъ, х8}. Очевидно, что подграф Ях., покрывающий вершину с весом xg, является частью подграфа НХ4, покрывающего вершину с весом Х4, и, следовательно, /fai = /те, где /Wgl — взаимная частота подуровней, взвешивающих подгра- подграфы НХ1 и HXl; fni — собственная частота подуровней, взвешиваю- взвешивающих подграф НХа. Частоты /ffgl и /We вычисляются по матрице инцидентности модели Ф, построенной на этом шаге синтеза. Опишем процедуру выравнивания длин путей. 1» Отыскивается пара первичных термов х, и xj, для которых справедливо fnij = fKj. 2. Проверяется равенство длин путей, началом которых явля- являются соответственно вершины, взвешенные Х{ и xj. 3. Если длины путей не равны, то в покрытие вершины, вхо- входящей в путь с меньшей длиной, включается расщепленный ее вес. Для рассматриваемого примера повторяем вес х8 (рис. 4.45, г). Входной информацией для алгоритма синтеза структурных графов является матрица инциндентности модели Ф, задающая ДНФ функции /. Опишем теперь алгоритм синтеза структурных графов. 1. Выделяем множество уровней типов А и С, претендующих на взвешивание первого яруса. Каждый уровень выделяется с помощью покрытия в матрице инциндентности строк столбцами. Каждое покрытие взаимно однозначно сопоставляется выделяемо- выделяемому уровню. Число выделенных уровней определяет число различных структурных графов, которые необходимо построить для поиска графа минимальной сложности. Выбираем уровень, соответствующий первому покрытию ма- матрицы инциндентности. 2. Для каждого первичного терма х,- в выбранном уровне по- построим подматрицу инциндентности, соответствующую подграфу, покрывающему вершину с весом х,-. Покрытием подматриц инциндентности находим подуровни, взвешивающие вершины следующего яруса. 3. Для найденного множества подуровней В = {Ь,/ i = 1, ... ..., N} строим модель для оценки уровней, претендующих на взвешивание строящегося яруса.
336 Гл.4. Теория формальных грамматик и автоматов Каждый уровень Xi = {bj/ j = 1, ..., к} оцениваем с помощью функции где частоты /,-, Д,, /, являются элементами частотной матрицы отношений F{9) (F(*) = QT X Q). 4. При наличии нескольких максимальных значений оценок, полученных в п. 3, оцениваем число расщеплений первого типа как расщеплений, оказывающих наибольшее влияние на сложность синтезируемого графа. Выбираем уровень с наибольшим значением p(Xi)\ при нали- наличии уровней с несколькими максимальными значениями p(Xi) выбираем из них уровень с минимальной оценкой числа расщеп- расщеплений первого типа. 5. Производим выравнивание длин путей. 6. Если структурный граф не построен, т. е. порядковый номер синтезированного яруса не равен максимальной длине пути графа, то переходим к п. 2, в противном случае производим подсчет слож- сложности L(Hk) синтезированного графа. 7. Если L(Hk) = n(/) {n(f) — число первичных термов исход- исходной ДНФ функции /), то получена бесповторная реализация графа и осуществляем переход к п. 9. Если L(Hk) > n(f), то выбираем граф Н из следующего соот- соотношения: L(H) = m\n{L(Hk),L(Hk-i)I где L(Hk-i) — сложность графа, полученного на предыдущем этапе; L(Hk) — сложность графа, полученного на данном этапе. 8. Выбираем следующий элемент из множества уровней, пре- претендующих на покрытие первого яруса, и переходим к п. 2. Если для всех уровней, полученных в п. 1, графы синтезированы, то переходим к п. 9. 9. Конец. Проиллюстрируем предлагаемый метод синтеза структурных графов на следующем примере. Пример 4.6. Синтезировать структурный граф, реализующий булеву функ- функцию вида /(ill Xj, ¦ ¦ ; Xi) = XlXjXS V 11*3*5 V Х1Х3Х5 VX1X3X4 V11X3I5 V 12*4*5- Заданной ТДНФ этой функции соответствует матрица инцидентности вида 1^1 1 1 1 0 0 0 0 0 0 1 1 0 X2 1 0 0 0 0 1 ХЗ 0 0 1 1 1 0 Я?3 0 1 0 0 0 0 Xi 0 0 0 0 0 1 X4 0 0 0 1 0 0 0 0 1 0 0 1 1 1 0 0 1 0 1 2 3 4 5 6 §4.7. Синтез логических структур в топологических базисах 337 Выделяем множество претендентов иа первый ярус. Каждый претендент на взвешивание первого яруса является покрытием матрицы инцидентности (уров- (уровнем типа А или С). В нашем случае имеем следующие покрытия: {xi, xi, хг}, {X1,X1,X4}, {Х2,Х3,ГЗ}, {Xt, Х1,Х5}, {х2,Хз,Х5}, {ll, Х2, Х3}, {хз, Х4, is}, {хх, *3, *4>, {Х3,Х5,Х5}, , хз, х5}, {*i, х5, х5}, ,Х3,ГЗ}, {*4, *5,*s}, l, ХА, Х4, Х5}, 1, Х2, Х3, Х5}. Всего имеем 15 покрытий (|Хд U Х'с\ = 15). Следовательно, для нахождения графа минимальной сложности необходимо синтезировать 15 графов и выбрать граф с минимальной сложностью. Взвесим первый ярус уровнем {xi, xi, xj}, расщепив хг. Элементам выб- выбранного уровня соответствуют подматрицы Xi X} Х2 Хз Хз Х4 Х4 Xi X5 001000001 000010001 000100010 XJ Xi Xj Х3 Хз Х4 Х4 Х5 Х5 г, = 110 0 0 1 0 0 1 О О 0 00100001 1 ||0 3?1 Х2 Хз ХЗ Xi 0 0 0 0 1 Xi Xi Xi 0 1 0(| • Длина всех рассматриваемых слов одна и та же. Производя покрытие подматриц QXl, Qt1 и Qx,, выделяем подуровни. В результате покрытия подматрицы Qz, имеем следующие множества: {Xi, Xi}, {х2, Х3, Х3}, {ХЗ, Xi}, {Х2, *3, Х5}. Подуровни {хз}, {х*4, *¦>} образуют множество покрытий подматрицы Qt,. Покрытиями подматрицы QXi являются {х4}, {xs}. Веса подграфов, покрывающих полученные подуровни, образуют следующие множества: для подуровней буквы xi bl(x5, X5) = {l2, Хз, *з}, Ь3(Х2, ХЗ, *з) = {Х5, Х5}, Ьг(хз, х5) = {хг, хз, х5}, bi(x2, х3, х5) = {х3, xs}; для подуровней буквы xi h(x3) = {х4, х5}, Ьб(х4, х5) = {х3}; для подуровней буквы хг Матрица инциидеитности имеет следующий вид: <?(*) = 1 1 1 0 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0 1 1 0 1 0 0 0 0 1 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 XI ХЗ Iff Xi Xi Xi iff
338 Гл. 4. Теория формальных грамматик и автоматов Каждый уровень, взвешивающий синтезируемый ярус, оценивается суммар- суммарной величиной обратных значений производных, вычисленных для каждой пары подуровней, входящих в оцениваемый уровень: + 7 оУ л. f + 7 1У _l * /l - 2/l7 + /7 /5 - 2/57 + /7 =0 + 0 + 0 = 0, /i - 2/i« + h h - 2/it + /7 f., + Л - 2/67 + /7 3-21 + 1 + 0 + 0 = 0,5, ,bs,ba) = + /3 — 2/35 + /5 /3 — 2/зв + /g /58 1 /5 - 2/58 + /в 2-21 + 2 2-2-1 + 12-20 + 1 = 1,5, Оценка принимает наибольшее значение для уровня {Ь3, h, bg}, элементы которого выбираются в качестве весов второго яруса. Следовательно, вершины второго яруса взвешивают подуровни h = {х2, хз, гз}, Ь5 = {х3}, h = {х4}. Подматрицы иициндентности, соответствующие хз € Ьз и хз € bs, не равны друг другу, следовательно, имеем расщепление первого типа буквы хз. Рис. 4.46 Дальнейшее построение искомого графа однозначно. Сложность получен- полученного структурного графа (рис. 4.46,а) равна 11 (L(H\) = 11). Остальные 14 структурных графов проектируются аналогичным образом. Трудоемкость.алгоритма проектирования структурного графа оптимальной сложности существенно уменьшается, если произве- произвести оценку покрытий в п. 1 с помощью функционала ?> = ?/,¦-Д+ ? /,;, D.19) где i, j — элементы покрытия; /,-, fa — частоты букв; R — число слов мографа. §4.7. Синтез логических структур в топологических базисах 339 Этот функционал показывает удаленность элементов покрытия от условий взвешивания этими элементами яруса синтезируемого графа Н согласно D.13). С учетом такой модификации п. 1 алгоритма поиска оптималь- оптимального структурного графа среди 15 графов заменяется на поиск среди трех графов, которым соответствуют покрытия с минималь- минимальным значением D.19). Этими покрытиями являются покрытия {ll, Xi, I4}, {^2, ХЗ, Хз}, {х4, Х5, Х5} с оценкой функционала, равной нулю. Последние два покрытия порождают абсолютно минимальные структурные графы (рис. 4.46,6). Переход Н -> 5 от структурного графа Н к переключательной схеме 5 в базисах первого и третьего топологических классов осу- осуществляется тривиально: заменой вершин на ключевые элементы, дуг — на соединительные каналы с односторонней проводимостью и включением выходного сопротивления в эмиттерную цепь. За- Заметим, что включение этого сопротивления в коллекторную цепь соответствует реализации отрицания заданной булевой функции. При преобразовании Н -> 5 в базисах второго топологического класса возможно появление лишних путей из-за двусторонней про- проводимости соединительных кана- каналов, если структурный граф Н со- содержит подграф Qb, изображен- изображенный на рис. 4.47, а. При снятии ориентации дуг (рис. 4.47,6) не- а б сравнимые элементы становятся сравнимыми и появляется лиш- лишний путь, что выводит граф из класса эквивалентных в смысле реализации заданной функции графов. Для ликвидации лишних путей необходимо ориентировать диагональное ребро, помещая на него развязывающий диод (рис. 4.47, в). Утверждение. Графив (рис. 4.47,а) является запрещен- запрещенной фигурой преобразования Н -> 5 в базисах второго тополо- топологического класса. Следовательно, минимизация развязывающих диодов сводится к покрытию семантической таблицы, в которой запрещенными фигурами являются подграфы Qb, а их компонентами — диаго- диагональные ребра, в которые помещаются развязывающие диоды. Переход Н —У S в базисах второго топологического класса осу- осуществляется, как и в базисах первого класса, ориентацией диа- диагональных ребер в запрещенных фигурах Qb- Например, пе- переключательная схема, реализованная на МОП-транзисторах по структурному графу Н (рис. 4.46,6), соответствующему покрытию {af4, is, xs}, имеет вид, изображенный на рис. 4.48, а. При преобразовании Н —> 5 в базисах этого класса абстрак- абстракцией переключательной схемы (рис. 4.48, а) является линейный Рис. 4.47
340 Гл.4. Теория формальных грамматик и автоматов граф (рис. 4.48,6), дуги которого взвешены первичными термами или единицами, соответствующими разрывающим диодам. Линей- °Е Рис. 4.48 ный граф получается заменой вершин структурного графа Н ду- дугами с теми же весами при сохранении исходных путей. При преобразовании Н —* S ъ базисах четвертого топологиче- топологического класса возможно появление лишних путей не только из-за двусторонней проводимости соединительных каналов, но и в ре- результате двусторонней проводимости элементов. При этом лишние пути возникают, если структурный граф содержит подграф Qx, го- меоморфный подграфу Qb- Утверждение. Запрещенной фигурой Qp (рис. 4.49, а) пре- преобразования Н -г> 5 в базисах четвертого топологического класса является подграф, гомеоморфный фигуре Q Рис. 4.49 В рассматриваемом структурном графе Н (см. рис. 4.46, б) при его преобразовании в переключательную схему четвертого тополо- топологического базиса запрещенными фигурами будут подграфы Qb\ и §4.7. Синтез логических структур в топологических базисах 341 Qbi (рис. 4.49, б) из-за двусторонней проводимости соединитель- соединительных каналов и подграфы Qri и Qr2 (рис. 4.49, в) из-за двусторон- двусторонней проводимости самих ключевых элементов. Для ликвидации лишних путей, вызванных двусторонней проводимостью самих элементов, один из элементов, находящийся на диагонали запре- запрещенной фигуры, ориентируется последовательным соединением с Ним развязывающего диода. Переход Н —? S в базисах рассматриваемого класса осуще- осуществляется, как и в первом топологическом базисе, с последующей ориентацией диагональных ребер в запрещенных фигурах Qp- Например, переключательная схема, реализованная на криотро- нах и реализующая функцию / (функция / задается структурным графом Н (рис. 4.46, б), соответствующим покрытию {х^, х$, xs}), имеет вид, изображенный на рис. 4.50, а. При преобразовании Я -4 5 в базисах четвертого топологи- топологического класса абстракцией переключательных схем является ли- линейный граф, ребра которого взвешены первичными термами или Рис. 4.50 единицами, соответствующими развязывающим диодам, и кото- который получается заменой вершин структурного графа Н ребрами с теми же весами при сохранении исходных путей (рис. 4.50,6). Сложность переключательных схем равна сложности структур- структурного графа, который преобразуется в схему, в нечетных топологи- топологических базисах. Во втором топологическом классе к этой сложно- сложности добавляются развязывающие диоды, определяемые распреде- распределением подграфов Qb- Сложность схем в четвертом классе равна сложности соответствующего структурного графа плюс развязы- развязывающие диоды, определяемые распределением фигур Qp, и минус количество контуров длины 2, ребра каждого из которых взвешены одним и тем же первичным термом. Каждый из таких контуров
342 Гл.4. Теория формальных грамматик и автоматов заменяется ключевым элементом с двусторонней проводимостью (рис. 4.51). Таким образом, если считать только переключательные эле- элементы, то сложность логических схем в топологических базисах равна сложности соответствующего структурного графа Н и опре- §4.8. Синтез логических структур в несвязных базисах 343 *? Рис. 4.51 деляется распределением запрещенных фигур Qa и Qe в мографе GM, задающем реализуемую булеву функцию f(xi, Х2, ..., хп). § 4.8. Синтез логических структур в несвязных базисах В классической теории автоматов проектирование логических структур (схем) рассматривается в основном как тождественное преобразование логических выражений с помощью используемой алгебры где М — носитель; Д, /2, ..., /„ — операции, определяющие сигнатуру алгебры. Известно, что любая алгебра является аппаратом порождения композиций по связкам, соответствующим операциям этой алгеб- алгебры. При этом любая операция fi определяет поведение целого rrij по поведению его частей mi, rri2, ..., Щ-1, связанных функ- функцией fi: го,- = /,-(гоь гоз, ..., roj_i). D.20) Но определение функционирования целого по функционирова- функционированию его частей является задачей анализа объекта. Таким образом, при прямом или композиционном подходе проектирование логи- логических схем осуществляется средствами анализа. Наиболее эффективным аппаратом проектирования является функциональная декомпозиция, которая, несмотря на многочис- многочисленные публикации по этой проблеме, оставалась открытой вплоть до публикации работы по важному, с практической точки зре- зрения, случаю минимальной повторной декомпозиции. В связи с этим проектировщики схем довольствуются построением функци- функциональных декомпозиций на основе эвристических соображений. Об удаленности получаемых при этом решений от минимальных говорить не приходится. Автором при декомпозиционном подходе было предложено новое направление — направление структур- структурной декомпозиции, конструктивным элементом которого является понятие коалгебры. При проектировании логических схем функционирование це- дого mj задано, и требуется определить функционирование его частей, связанных элементами заданного базиса и реализующих функции /,-, т. е. найти связи между базисными элементами, об- образующими искомую схему. Другими словами, следует опреде- определить по результату го7- (j — 1)-местной операции fi аргументы mi, , .-., rnj-i такие, чтобы выполнялось соотношение D.20). Процедуру определения по m,j множества {mi, год, ..., roj_j} такого, что выполняется D.20), будем называть кооперацией *и {щ) = {mi, m2, ..., го,-_!>. Термин кооперация можно заменить словами обратная опе- операция. Очевидно, что если результаты операций строго однозначны, то результаты коопераций неоднозначны. Для уменьшения чи- числа результатов коопераций необходимо наложить ограничения на вид искомых аргументов. Такое ограничение при синтезе логиче- логических схем вводится естественным образом; это — ограничение на искомую схему. Если алгебра определяет законы композиции, то коалгебра — законы декомпозиции. Аналогично существованию, например, алгебры Буля, алгебры Вебба, импликативной алгебры, алгебры Жегалкина при развитии теории коалгебр следует ожидать появления коалгебры Буля, ко- коалгебры Вебба, импликативной коалгебры, коалгебры Жегалкина. В настоящее время разработана только коалгебра графов, яв- являющаяся изоморфной коалгебре Буля, в которой носитель задан диаграммами Хассе или структурными графами. В структурном графе каждая вершина взвешена первичным термом Xf' и путь взаимно однозначно соответствует максималь- максимальному интервалу (простой импликанте) булевой функции f(x\, х2, ..., хп). Коалгеброй графов называется совокупность вида где носителем М является множество всевозможных структурных графов, а сигнатурой — кооперация дизъюнкции xv и кооперация отрицания х~ структурных графов. В дальнейшем эти две ко- кооперации будем называть соответственно операцией разложения Xv и операцией инверсии х~ графов. Операция разложения xv графов. При выполнении этой операции указывают направления, по которым происходит разложение графа Н. Направление задается вершинами, являю- являющимися максимальными элементами графа Н. Операция разложения ху(Я) графа Я по направлениям V^ (г = !,...,?) есть выделение соответственно подграфов Hi
344 Гл.4. Теория формальных грамматик и автоматов (г = 1, ..., к), каждый из которых состоит из всех вершин {и,/ j = 1, ...,/} и соединяющих их дуг, для которых в графе Я най- найдется путь, соединяющий va 6 {«,-/ j = 1, ..., /} и «ь 6 VJ. Например, результат операции разложения структурного графа Я (см. рис. 4.46,6) по направлениям {ж3} и {z2, *з} представлен на рис. 4.52. Повторные буквы отмечаем штрихами с целью иден- идентификации вершин графа. \ Рис. 4.52 Если вершины V,, определяющие направления, такие, что для всех va 6 {vj/ j = 1, ..., 1} выполняется va > щ, Vb € VJ, то по- полученный подграф Щ будем называть синдромом S(Vi) вершин Vi. Если же для всех вершин va e {vj/ j = 1, ..., 1} выполняется Va < Vb, Vb € Vi, то подграф Я,- будем называть антисиндромом S(V{) вершин Vi. Операция инверсии х~ графов. Структурный граф, представленный в виде суперпозиции структур типов тг и а, назы- называется графом типа ж а {па-графом). Операция инверсии х~(Н) структурного графа Я — это при- приведение данного графа с помощью его разложения к графу типа па, замена каждого подграфа типа а подграфом типа 7Г и каждого подграфа типа 7Г подграфом типа а; при этом каждый вес х"' пер- первоначального графа заменяется весом x(<Ti+1) mod 2 на соответст- соответствующих вершинах полученного графа. Утверждение. Запрещенными фигурами свойства струк- структурных графов быть па-графами являются графы, гомеоморф- ные графам Qb « Яд (рис. 4.53, о), т. е. графы, представленные на рис. 4.53,5. Таблица 4.20 §4.8. Синтез логических структур в несвязных базисах 345 Следовательно, минимальное расщепление структурного графа Лри приведении его графу типа па определяется минимальным покрытием семантической таблицы, в которой столбцам взаимно однозначно соответствуют запрещенные фигуры, строкам — пути между вершинами umin и u(s+(u) = 2) и между v{s~(v) = 2) и «шах. где u(s+(u) = 2) — вершина с положительной полустепенью, Т. е. с числом исходящих дуг, равным 2; u(s~(u) = 2) — вершина с Отрицательной полустепенью, I. е. с числом входящих дуг, раВНЫМ 2; Umin И Umax — МИ- нимальный и максималь- максимальный элементы соответствую- соответствующих путей. При устранении запрещен- запрещенной фигуры рассматриваемого Свойства один из этих путей расщепляется. В нашем случае семантическая таблица согласно рис. 4.49, б" и рис. 4.49, в имеет вид табл. 4.20. Имеем шесть покрытий этой таблицы: (a Vb)(cV d)(e V /)(с V /) = асе V Ъес V bcf V adf VM/V afc. Для определенности выбираем покрытие {Ъ, с, /}. Тогда рассматриваемый структурный граф Н представим декомпозицией подграфов тг, а: Компоненты а Ь с d е f (xi,x3) х5 Х2 (Х5)х1) х3 Xi нл 1 1 0 0 0 0 Нд, 0 0 1 1 0 0 Ндз 0 0 0 0 1 1 НД* 0 0 1 0 0 1 В = <г(тг(:гз, <t(jt(xi, x5), 7r(xi, <r(x4, ) 7Г(Х2, Х4, Xi), 7Г(<Г(Х2, Х3), х[, x'S)). В этом случае инверсия графа Х~(Я) = Я (рис. 4.54) представляет собой Рис. 4.53 Рис. 4.54
346 Гл. 4. Теория формальных грамматик и автоматов выражение вида Я = тг(<г(хз, *(<r(xi, х5), x3), При синтезе логических схем в функциональном базисе В не- необходимо определять результаты коопераций вида \*ь' (&« € В), Х/ь'(Я) = {ЯьЯ2, ...,Я*.Х}, D.21) где А;вх — входной коэффициент элемента 6,-. Результат кооперации х*ь' можно получить, применяя соответ- соответственно ряд коопераций вида xv и х~ в порядке, обратном порядку следования операций V и в разложении операции /(,, на V и "~. Например, результаты кооперации Шеффера х'(Н) определяем с помощью коалгебры графов следующим образом. Пусть необходимо найти результат {H^Hi) кооперации Х'(Н), т. е. Х'(Я) = {Яь Я2}. D.22) Графы Hi, Я2 являются результатом х'{Н), если и только если соответствующие им функции fi{Hi) и /г(Я2) связаны (согласно определению кооперации) соотношением = f1(H1)/f2(H2). Но, с другой стороны, /(Я) = fi(Hi) V /г(Я2). Отсюда согласно определению кооперации и приведенным выше уравнениям полу- получаем т. е. в случае базиса Шеффера уравнение D.22) можно свести к системе Hl = X~(H> e Х*(Н)), я2 = х"(я2еху(Я)). В дальнейшем будем обозначать j-ю компоненту результата ко- операции Х/ь' (Я) = {Яь Я2, ..., Щ, ..., Я*.х} как Х/ь< (Я)|„ т. е. В рассматриваемом случае уравнение D.22) сведено к системе я -( При сведении задачи определения результата {Ях, Я2, ... • • ч Hktx} кооперации х '(Я) к задаче определения результатов коопераций xv и Х~ в сущности сводят структурное уравнение D.21), разрешенное относительно {Hi, Я2 ..., Я*,х}| к системе, §4.8. Синтез логических структур в несвязных базисах 347 состоящей из JkBX структурных уравнений, причем каждое j-e (j = 1, ..., JkBX) структурное уравнение системы разрешено отно- относительно Ну. D.23) я))...), где xaij {хУ|*. X"}; i = 1, ..., А;вх, j = 1, ..., n_,-; n_, — целое число, определяемое базисным элементом bj для любого j. Система D.23) представляет собой А;вх независимых друг от друга структурных уравнений. Не для каждого базисного элемента Ь,- € В можно свести решение структурного уравнения D.21) к решению системы уравнений вида D.23). Для определения вида базисного элемента, для которого реше- решение D.21) сводится к решению D.23), разобьем все множество функциональных базисов на два класса: несвязных и связных ба- базисов. Предварительно сопоставим каждому базисному элементу Ь, 6 € В граф Яь,-, построенный следующим образом. Выразим буле- булеву функцию /ьи реализуемую элементом Ь,, через связки V и Полученное выражение, в котором имеются только операции дизъ- дизъюнкции и отрицания, представим в виде графа Я(,( согласно геоме- геометрической интерпретации /-местной операции дизъюнкции и опе- операции отрицания (рис. 4.55). Q" Рис. 4.55 Рис. 4.56 Базис В = {Ь,/ i = 1, ..., п) называется несвязным, если ни один из графов Я(,,, которые соответствуют функциям /(,,, реали- реализуемым элементами базиса, не содержит цикла. Несвязными являются, например, базисы Вебба, Шеффера, импликативные, коимпликативные. Базис В = {б,/ г = 1,..., п) называется связным, если хотя бы один граф Нъ{ (г €{1,2,..., п}), который соответствует функции
348 Гл. 4. Теория формальных грамматик и автоматов = ху(х-(ху(х-(ху(Я)|1))|2))|1 hi (i € {1, 2, ..., п}), реализуемой одним из элементов базиса, содержит цикл. Например, решение уравнения ХЛ(Я) = {Яа, Щ, Нс, Hd}, со- соответствующего основному элементу УСЭППА (рис. 4.56), сводится к решению системы вида D.24) х-(ху(х-(ху(Я)|х))|2) = х-(х^х-(л Здесь Д — знак операции, реализуемой основным элементом УСЭППА (универсальная система элементов промышленной пневмо-автоматики). Число связанных уравнений в системе вида D.24) равно ци- кломатическому числу графа Щг Здесь возникает задача ми- минимизации связности системы структурных уравнений, которая сводится к эквивалентным преобразова- преобразованиям соответствующих булевых выраже- выражений. Действительно, ДНФ, соответст- соответствующая булевой функции УСЭППА, име- имеет вид Д(а, Ь, с, d) = ab V ас V bed, а после применения закона де Моргана — вид Д(а, Ь, с, d) = а VЪ V аУ сVbVcVd. Полученное выражение определяет граф Щ{, представленный на рис. 4.57. Цикломатическое число ^(Я(,<) этого графа равно 3: v{Hbi) = \U\ - \V\ + 1 = 10 - 8 + 1 = 3, и система структурных уравнений имеет вид д(а, Ь, с, d) х-(ху(х-(ху(Я)|х))|2), = х4х-(ху(я)|2))|2, D.25) = х-(ху(х-(ху(Я)|3))|2). §4.8. Синтез логических структур в несвязных базисах 349 Используя законы булева анализа, систему D.25) упрощаем до системы D.24). Минимизация цикломатического числа графа Нъ{ осуществляется с помощью функциональной декомпозиции путем поиска эквивалентных булевых выражений. В общем случае определение результатов кооперации в связ- связных базисах сводится к решению системы связных структурных уравнений вида Я1 = Xе" (х""... (x^-ifff))...), Я2 = х1 (н"» ... {ха^2 (Я))...), ... {xain> (Я))...), . (ха*"п*.х (Я))...), D.26) (Я))...) = х?» (>f^s... (x^i (Я))...), (Я))...) = х \ (Я))...) = Где *:<>•<>/<>, ,/•>>/., х-ИтгЬ е {xv|,, х-}, га = 1, ..., А;вх, ja = l, ... • • -, па, jp = 1, ..., тр, j7 = 1, ..., kjy; здесь nJa, m^, А;_,-7 опреде- определяются элементом Ь, соответственно для любого ja, jp, j^; ip, i7 = = 1, ..., p (p — число линейно независимых циклов в графе Н(Ь{), равное его цикломатическому числу 1/(ЯF,)). При синтезе логических схем в функциональных базисах стро- строим по реализуемой функции / структурный граф, который за- затем с помощью коалгебры графов преобразуем в функциональный. Полученный функциональный граф и является искомой логиче- логической схемой. Предположим следующую процедуру преобразования структурного графа в функциональный. Предлагаемый ниже ал- алгоритм рассмотрим на примере синтеза функционального графа, реализующего булеву функцию от трех переменных счетчика чет- четности в базисе В = {-?, 0}. Алгоритм состоит из следующих шагов. 1. Структурный граф b ? В, реализующий булеву функцию /, сопоставляется максимальному элементу графа Щ, соответствую- соответствующего базисному элементу 6 6 В. 2. Согласно графу Щ, определяющему функционально-струк- функционально-структурные свойства элемента Ь € В, выполняются соответствующие операции разложения и инверсии над графом Я/. 3. В результате выполнения операций п. 2 определяются струк- структурные графы Я/,, соответствующие минимальным элементам графа Щ. Заметим, что максимальный элемент графа Щ соответствует выходу базисного элемента 6, минимальные — входам этого эле- элемента.
350 Гл.4. Теория формальных грамматик и автоматов Выполнение первых трех шагов для рассматриваемого при- примера иллюстрируется на рис. 4.58. Для каждого из найденных графов Яд пп. 1-3 выполняют до тех пор, пока не получат структурные графы, реализующие булевы функции, которые допустимы на входах логической схемы. Обычно такими функциями являются пе- переменные Х{ или переменные и их отрицания. Если на г-м шаге преобразо- преобразования структурного графа в функ- функциональный было получено N гра- графов, реализующих одну и ту же функцию с точностью до конъюнк- конъюнкций, тождественно равных нулю, то эти графы объединяются в [N/kBttx] групп ([ ] — знак бли- ближайшего целого числа; квах — вы- выходной коэффициент (коэффици- (коэффициент разветвления) базисного эле- элемента). Таким образом, при по- построении функционального графа учитывают коэффициент развет- вления A;BbIX базисных элементов. Окончательный результат пре- • 1 Т Т _ 2О 0* Рис. 4.58 2 образования структурного графа в й в б { 0} показан на рис. 4.59. р руур функциональный в базисе 9 гра {- в 0} Абсолютная минимальность логической схемы в функциональ- функциональном базисе определяется как семантикой частичного упорядоче- упорядочения мографа, задающего реализуемый автоматный оператор, так и семантикой базисных элементов. Знание семантики базисных элементов позволяет привести структурный граф H(f) к мини- минимальному с точки зрения затрат базисных элементов виду. Вид этот представляет собой суперпозицию структурных графов Я(Ь,), Ь{ € В, т. е. минимальную структурную декомпозицию. Рассмотрим семантику базисных элементов V и к при пара- фазном представлении входной информации, т. е. при наличии на входе схемы переменных ж< и их отрицаний г,-. Дизъюнктор (эле- (элемент ИЛИ) реализует ст-структуру, конъюнктор (элемент И) — тг-структуру. Следовательно, структурные графы, соответствую- соответствующие выходам логических схем, построенных из этих элементов при парафазном представлении входной информации, представля- представляют собой параллельно-последовательные структуры. Утверждение. Запрещенными фигурами проектирования логических схем из дизъюнкторов и конъюнкторов при пара- §4.8. Синтез логических структур в несвязных базисах 351 фазном представлении входной информации являются графы вида Qr « Яд (рис. 4.53). Рис. 4.59 Проиллюстрируем этот результат рассмотрением примера Беркхарта f = xyvV xywV xzuvV yzuw. Мограф, определяющий эту функцию, изображен на рис. 4.60, а. Мограф содержит запрещенные фигуры вида m Qa2 = Qa3 = } u'C,4),j/B,4),zB,3U, 1B, 3), u'C, 4), ii;B, 4)}, y(l, 4), «'C, 4), «A, 3)}.
352 Гл. 4. Теория формальных грамматик и автоматов Семантическая таблица упорядочения мографа представлена в ТЗбЛ- 4-2Ь Таблица 4.21 1 1 0 1 0 0 0 1 0 1 0 1 0 0 Qa3 1 0 0 0 1 1 0 QAt 1 • 1 0 0 0 0 1 Буквы «'C,4) У X Г A,4) B,4) A.3) B,3) u>B,4) «A,3) 1 0 1 0 1 0 0 1 2 0 0 1 0 1 1 0 3 1 0 0 1 1 0 1 4 1 1 1 0 0 1 0 Находя минимальное покрытие этой таблицы, получаем пред- представленный на рис. 4.60, б структурный граф, соответствующий мографу (рис. 4.60, о). Полученйый граф содержит запрещенные фигуры, определяющие семантику дизъюнкторов и конъюнкторов, следовательно, необходимо дальнейшее расщепление вершин полу- хA,2,3) уп, 2, 4) u,zC,4) z- II- X- У- X- V — У- W- & & & & Jf Рис. 4.60 ченного графа или устранение запрещенных фигур путем вырав- выравнивания путей. Второй способ является предпочтительным, так как часто позволяет произвести устранение запрещенных фигур без увеличения числа вершин графа. Его реализация представ- представлена на. рис. 4.60, в. Окончательно согласно структурному графу §4.8. Синтез логических структур в несвязных базисах 353 (рис. 4.60, в) получаем схему минимальной сложности (рис. 4.60,г), которой соответствует скобочная форма вида / = (zuVxy)(xvV yw), или структурная декомпозиция, выраженная через связки тт- и «г-структур, вида Я/ = 7Г(СТGГB, U), 7Г(Ж, у)), (т{ж{х, v), 7г(У, V}))). В полученном выражении существует взаимно однозначное соответствие между входными каналами схемы и переменными Я выражении, при котором существует взаимно однозначное соот- соответствие между элементами схемы и идентификаторами соответ- соответствующих подструктур (в данном случае тг и а). Таким образом, ликвидировав запрещенные фигуры этого базиса, получим струк- структурный граф Hj (рис. 4.60, в), интерпретируемый в категориях заданного базиса. Цикломатическое число 1/(Я(Ь,-)) каждого элемента Ь,- любого Несвязного базиса В равно нулю, отсюда структурный граф ЯF;) дтого элемента представляет собой дерево, следовательно, на вы- выходе любого несвязного элемента порождается тга-структура. Гра- Графы ЯF,) для наиболее применяемых несвязных базисов приве- приведены на рис. 4.61: Несвязные базисы Классичес- Классический (Буля) Вебба Шеффсра Коимплика- тивный Имплика- тивный Рис. 4.61 Утверждение. Запрещенными фигурами проектирования логических схем в любом несвязном базисе при парафазном представлении входной информации являются графы вида Qp uQn (рис. 4.53). При снятии ограничения на парафазное представление входной информации распределение запрещенных фигур Qp и фд в струк- структурном графе Hf с точностью до п элементов определяет абсолют- абсолютную минимальность схемы, где п — число переменных булевой функции /. Для получения абсолютно минимальной сложности 12 В. А. Горбатов
354 Гл. 4. Теория формальных грамматик и автоматов логической схемы необходимо учитывать распределение перемен- переменных ж,- и их отрицаний ж,- в структурном графе Я/. Согласно весам ж,-, х,- вершин структурного графа Я/ раскра- раскрасим его вершины в два цвета (количество цветов равно значности используемой логики): вершины, взвешенные переменными ж,-, раскрасим в цвет а, вершины, взвешенные отрицаниями пере- переменных ж,, — в цвет р. Вершинам, раскрашенным цветом а, на рисунках не будем приписывать штрихи, а вершинам, раскрашен- раскрашенным в цвет /?, будем приписывать. Распределение весов ж,-, х,- или раскраска структурного графа в базисе называются разрешенными, если существует взаимно од- однозначное соответствие межу входными каналами и вершинами графа Н/, при котором граф Я/ представим в виде бесповтор- бесповторной (с точностью до повтора одинаковых частей при одномерной записи) структурной декомпозиции, связками которой являются идентификаторы структурных графов базисных элементов. При разрешенной раскраске на входе логической схемы не включено ни одного инвертора. Разрешенная раскраска порождается путем подстановки структурных графов, задающих базисные элементы друг в друга. Задача приведения заданной раскраски вершин графа Я/ к разрешенной сводится к перекраске вершин, нарушающих раз- разрешенное распределение. Перекраска вершины v(x"'), ст,- = 0, 1, означает появление на входе логической схемы инвертора, на вход которого подается переменная ж,-. Очевидно, что возможна перекраска не одной вершины, а сразу всех вершин некоторого подграфа Яд, Яд С Я/, что эквивалентно включению инвертора внутри или на выходе схемы; при этом для соблюдения эквивалентности реализуемой булевой функции / пе- перекрашиваемый подграф Яд заменяется инверсным Яд. Сле- Следовательно, для доказательства абсолютной минимальности спро- спроектированной схемы необходимо осуществить возможную пере- перекраску подграфов Я/, заданного графа Я/. Проиллюстрируем учет распределения весов х,-, х,- вершин структурного графа Я/ проектированием логической схемы в ба- базисе Шеффера. Для определенности возьмем входной коэффици- коэффициент квх (число входных каналов) базисного элемента, равный 2. Пусть задана булева функция /(ж, у, z) = ж V р, структурный граф Я/ которой представлен на рис. 4.62, б. Разрешенной раскраской для изоморфных этому графу гра- графов является раскраска графа Яд, изображенного на рис. 4.62,а. Сравнивая эти раскраски, замечаем, что для приведения раскраски заданного графа к разрешенной необходима перекраска всех трех вершин. Следовательно, сложность схемы будет равна 5: §4.8. Синтез логических структур в несвязных базисах 355 два элемента необходимы для реализации структурного графа Яд, имеющего разрешенную раскраску, и три элемента — для пере- перекраски вершин заданного графа Я/ (рис. 4.62,6). При перекраске всех вершин включением инвертора на выходе логической схемы для реализации инверсного графа Я/ необходимо четыре элемента (рис. 4.62,в), так как в нем необходима перекраска одной вер- вершины. Разрешенная раскраска графа Я/2, изоморфного Я/, предста- представлена на рис. 4.62,г. Таким образом, любая логическая схема |рис. 4.62, б, в) является абсолютно минимальной при реализации функции /. На рис. 4.62, «^изображен граф Я/3, изоморфный графу Н/2 (рис. 4.62, г) и имеющий самую сложную раскраску своих вер- вершин. Перекраска отдельных вершин не определяет минимальную реализацию (рис. 4.62, <?), ее определяет перекраска всего графа (рис. 4.62, е). Рассматривая аналогично проектирование логических схем в Других несвязных базисах (импликативном, коимпликативном, Вебба), можно показать структуру запрещенных фигур как при па- рафазном представлении входной информации, так и при непара-
356 Гл. 4. Теория формальных грамматик и автоматов фазном. Для определенности входной коэффициент JkBX функцио- функциональных элементов возьмем равным 2. Утверждение. Запрещенными фигурами проектирования логических схем в импликативном « коимпликативном базисах при парафазном представлении входной информации являются графы <2дн.п (рис. 4.63, а), при непарафазном представлении — графы <3ди.и (рис. 4.63,6). Утверждение. Запрещенными фигурами проектирования логических схем в базисах Вебба и Шеффера при парафазном представлении входной информации являются графы С}дв п О О.0 ооо Го @ю сю. о Рис. 4.63 (рис. 4.63, в), при непарафазном представлении в базисе Веб- Вебба — графы <2дв.н (рис. 4.63,г), в базисе Шеффера — графы Ядшм (рис. 4.63, д). При увеличении входного коэффициента эти фигуры увеличи- увеличивают свою высоту и ширину. При непарафазном представлении входной информации эти две величины равны JkBX, при парафаз- парафазном высота фигур либо равна квх, либо на 1 или 2 больше согласно рис. 4.63, а,в. Ширина фигур либо равна А;вх, либо на 1 больше согласно тем же рисункам. Подстановкой диаграммы На вместо вершины и диаграммы Я называется операция, в результате которой: 1) буква, соответствующая вершине и, вычеркивается и вер- вершина v заменяется диаграммой На так, что каждая максимальная вершина диаграммы Я является началом всех дуг, выходящих из §4.8. Синтез логических структур в несвязных базисах 357 v, и каждая минимальная вершина Я является концом всех дуг, входящих в вершину и; 2) если буква, соответствующая вершине, является инверсной, то производится операция инверсии диаграммы х~(Н). Операция, обратная подстановке, называется операцией свер- свертывания диаграммы Я в вершину v. Структурные графы Я/, не содержащие запрещенных фигур фди.п, <2ди.н, Ядв.п, Ядв.ш Ядшм, при свертывании диаграмм, соответствующих базисным элементам, свертываются в вершину, взвешенную выходной буквой /. При этом существует взаимно однозначное соответствие между буквами структурного графа Я/ и вхождением их в структурную декомпозицию с точностью до по- повторения общих частей. В качестве упражнения читателю предлагается выделить за- запрещенные фигуры Яд, Ядя.п, <ч?Ди.н, <2дв.т Ядв.н, ЯДш.и И Пре- образовать структурный граф Я/ = (V(X), <): V(X) = = {v{xi), v(xi), v{x2), v(t2), v{x2),v(x3), v(x3), v(x\), v(z4)}, < V ?2 x2 x4 < V < V < V < v x3), v(x4 < v(x3), 2 i ) < V(X3 x3) < vfa в минимальные логические схемы в базисах импликативном, ко- коимпликативном, Вебба, Шеффера. Полученные результаты будут иметь следующий вид: Я/ = hH(hK(hH(x3, Л„(ж4, 0)), hH{hH(hH{xA, 0), х3), (M&l, h«(X2' 0)))), /1и(Л„(/1„(Ж1, Л„(Ж2, 0)), /1и(Л„(х4, 0), х3)), hH{hM{hH(x2, 0), ц), 0))), Я/ = hK(l, hK(hK(hK(l, hK(hK(l, ж2), а;х)), hK(hK(hK(l, hK(xi, hK(l, x2))), x4), x3)), hK(hK(hK(xu /iK(l, x2)), MM*. *4), *s))i hK{x3, hK(l, x))) Hf = hB(hB{hB(hB(x3, hB(hB{x2, ж4), hB{hB{x2, x2), hB{xi, ж4)))), Лв(Ыж4, hB(x2, x2)), hB(x3, x3))), zi), hB(hB(x2, hB(x!, хг)), hB(x3, Я/ = Ьш(кш(Нш(кш(кш(х3, х3), hm(x4, ж4)), hm(x3, z4)), 1, х2)), Лш(/1ш(г1, xi), hm(x2, a где hb, hK, hB, hm — идентификаторы структурных графов Н(Ь), соответствующих элементам в базисах импликативном, коимпли- коимпликативном, Вебба, Шеффера соответственно.
358 Гл. 4. Теория формальных грамматик и автоматов Полученные структурные композиции определяют логические схемы сложностью 13, 15, 16, 16. Аналогично проектируются абсолютно минимальные логиче- логические схемы в любом несвязном базисе. Характеризация семантики связных базисов в виде нахожде- нахождения запрещенных фигур проектирования логических схем в этих базисах является открытой проблемой. Трудность заключается в том, что для связных элементов необходимо согласовывать струк- структурные графы, получающиеся внутри цикла графа, соответствую- соответствующего базисному элементу. Это согласование учитывает вторую группу уравнений в системе 4.26. Точное проектирование логических схем в несвязных базисах на основе их семантики заключается в реализации следующих преобразований. 1. Синтезируется структурный граф Я(/), реализующий за- заданную булеву функцию f(xi, х2, • • -i xn). 2. Минимальным расширением носителя структурного графа H(f) с помощью покрытия семантической таблицы он приводится к виду тгст-графов. 3. Определяются структурные графы Н(Ь+), соответствующие элементам заданного базиса. 4. Начиная от выходного канала к входным структурный граф Я( Л покрывается графами Я(Ь,). Проиллюстрируем эти преобразования проектированием логи- логической схемы, реализующей булеву функцию /(Ж1, Х2, ..., Х5) =XiX2X5 VX{X3X5 VXiQCjjXs V _ _ V Z1Z3Z4 V XiX3X5 V Х2Х4Х5 в классическом базисе, базисах Шеффера, Вебба, импликативном и коимпликативном с А;вх ? {2, 3}. Выполнение пп. 1-3 было проведено выше (см. рис. 4.46, <?, 4.54, 4.61). Рассмотрим реализацию п. 4. Преобразование в клас- классическом базисе осуществляется тривиальным образом. В полу- полученном согласно п. 2 выражении Я(/) = а(тг(ж3, v{ir{xi, x5), 7г(жь и(ж4, тг(ж2, &4, ) связки тг и а заменяются соответственно на элементы & и V (рис. 4.64). В других базисах при покрытии возможно появление согласую- согласующего элемента в каналах связи, работающего по схеме НЕ, когда внешние связки базисного элемента не совпадают с внешней связ- связкой непокрытого структурного графа H(f). Результат покрытия H(f) графами Я(Ь,) в остальных базисах изображен на рис. 4.65- 4.67. Проектирование осуществлено при допустимом парафазном представлении входной информации. §4.8- Синтез логических структур в несвязных базисах 359 Определим понятия вида и типа булевых функций. Класс буле- булевых функций, каждая из которых получается из другой путем пере- переименования переменных, называ- называется видом булевых функций. Класс булевых функций, каж- каждая из которых получается из дру- другой путем переименования пере- переменных и замены переменных их отрицаниями, называется типом булевых функций. Часто эти прео- преобразования называются преобра- преобразованиями Джевонса (по имени ученого, предложившего понятие "тип" булевых функций). Структурный граф инвариан- инвариантен относительно преобразований Рис- 4-64 однотипности. Логическая схема инвариантна относительно переи- переименования переменных. Вид является подклассом типа. Очевидно, что \L(Hik)-L(Hjk)\<n, L(Hak) — минимальная сложность логической схемы в базисе В, который реализует булеву функцию /(жх, х2, ..., хп) вида а (а = t, j) и типа к, если на реализацию отрицания в этом базисе требуется один элемент. Следовательно, минимальная сложность логической схемы, реа- реализующей булеву функцию от п переменных в заданном базисе, Рис. 4.65
360 Гл. 4. Теория формальных грамматик и автоматов определяется с точностью до п свойствами типа, который харак- характеризуется структурным графом, показывающим с точностью до отрицания объединения и пересечения общих частей в логиче- *1-ГТ1 MJ Рис. 4.66 ской схеме. Другими словами, минимальная сложность логиче- логической схемы с точностью до п элементов определяется распределе- распределением запрещенных фигур Qa, Qb в мографе, задающем реали- реализуемую булеву функцию. Абсолютную минимальность логической схемы в несвязном базисе определяют распределение запрещенных Рис. 4.67 фигур Qa, Qb в мографе GM{f), распределение запрещенных фи- фигур Qp, Qд в структурном графе Я(/) и удаленность раскраски вершин графа H(f) от разрешенной раскраски графа Я(/), изо- изоморфному графу H(f). § 4.9. Синтез логических структур в связных базисах 361 В рассмотренном в этом параграфе примере не учитывалось распределение красок в структурном графе Я(/), так как допуска- допускалось парафазное представление входной информации. Читателю предлагается опустить это ограничение и построить абсолютно ми- минимальные логические схемы в рассматриваемых пяти базисах с учетом распределения красок в структурном графе Я(/), как это делалось в конце предыдущего параграфа. § 4.9. Синтез логических структур в связных базисах В общем виде решение системы связных структурных уравне- уравнений D.26) является открытой проблемой при поиске минималь- минимальных логических структур. Рассмотрим приближенное решение этой проблемы. Число направлений, на которое разлагается структурный граф при преобразовании его в функциональный, равно числу входных каналов базисного элемента. В зависимости от выбранных на- направлений при выполнении операции разложения получаем раз- различные сложности функционального графа. Если преобразуемый структурный граф Я(/) имеет iV_ (AL > kBX) максимальных вершин, то для получения функционального графа минимальной сложности необходимо произвести (fc ~) различных разложений и каждое из них оценить. Для оценки разложений будем использовать топологические характеристики структурных графов Я(/) и Н(Ь). Сравнение топологических характеристик этих графов дает возможность оп- определять оптимальное разложение структурных графов, что осо- особенно важно при проектировании логических схем в многофунк- многофункциональных базисах, т. е. базисах, содержащих многофункцио- многофункциональные модули — модули, на которых выделена группа входных каналов, в зависимости от настройки которых выполняется та или иная булева функция. В качестве топологических характеристик будем рассматри- рассматривать: v — цикломатическое число; / — длину графа (максималь- (максимальную длину пути, содержащегося в графе); р — число путей; С — п связность, С = \/п Y^, Si, где s; — степень г-й вершины, п — чи- t=i ело вершин, яг — число дуг; а — число максимальных элементов; /3 — число минимальных элементов. Оптимальное разложение структурного графа Я(/) оценива- оценивается минимальным значением одного из функционалов (m(Hf) - {С{Н})-С{Н-)У + {п{Н})-п -(\a(Hf)-f3(Hf)\-\a \0,5 ) /
362 Гл. 4. Теория формальных грамматик и автоматов C(Hj) + n(Hj) m(Hj) где индексы / относятся к реализуемой функции, а индексы j — к выбранному разложению (настройке многофункционального модуля), res — остаток от целочисленного деления. Функционал <fi(Hf, Hj) применяется, когда среднее значение отклонения их топологических характеристик не превышает 2, т. е. первый функционал используется при малом различии их топологических характеристик, в противном случае применяется второй функционал ip2(H/, Hj). В качестве иллюстрации введенных функционалов рассмотрим проектирование логической схемы, реализующей булеву функцию /(*1. *2, *з, ar4)|i = V@, 1, 2, 7, 15), на элементах УСЭППА. Структурный граф Я(/) имеет следующий вид: Я(/) = сг(тг(гх, х2, о{х3, ха)), п(х2, z3) ам)). Структурный граф Н(Ь), соответствующий элементу УСЭППА, имеет матрицу соединений S = [stJ] вида 0 -1 -1 0 0 0 0 0 0 0 0 -1 -1 0 0 0 0 0 0 0 1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Матрица соединений является двухвходовой матрицей, каждой строке (столбцу) которой взаимно однозначно соответствует вер- вершина структурного графа Я = (V, U), и 1, если (v{, Vj) ? U и _ J —1, если (и,-, Vj) G U и *« = эта дуга не перечеркнута, эта дуга перечеркнута, т. е. она является инверсной, О, если (и,-, Vj) $. U. Структурные графы Ях и Я2, соответствующие двум направле- направлениям разложения, имеют соответственно вид: Ях = тг(гх, a(z2, J3)), Я2 = тг(г2, z3, z4). В данном случае применим функционал <pi(Hj, Hj): § 4.9. Синтез логических структур в связных базисах 363 На = Каждое из вычисленных значений функционала характеризует близость соответствующих структурных графов 2 ?3х(Яа,Ях) = (@-0J + C-2J + B-2J+^-|' + D - ЗJ + C - 2J + (|1 - 2| - |2 - l|J)°lS « Аналогично вычисляем <^х(Яа, Я2) ?2 у4,04, <pi(Hp, Ях) = v3, <Pi{Hp, H2) = 0. Согласно вычисленным значениям у>х(Я/, Hj) структурный граф На разлагаем по Ях, Нр— по Я2. В результате получаем структурно декомпозицию вида Я(/) = /i(tt(^x, х~2), гё4, ЯЗ) х2), где h — идентификатор структурного графа ЯF), определяющего элемент УСЭППА. Действуя аналогично, для функции n(xi, x2) окончательно получаем оптимальную логическую схему, состоящую из двух эле- элементов УСЭППА при парафазном представлении входной инфор- информации: Я(/(ях) X2i xZi xi)) = Л(Л(О, xi, 1, х2), z4, х$, хг)- Структурный граф, соответствующий входу базисного элемен- элемента, с точностью до применения операции инверсии является под- подграфом структурного графа, соответствующего выходу этого же базисного элемента. Отсюда можно предложить следующий ме- метод преобразования структурного графа в функциональный при синтезе в связных базисах. Для каждого элемента Ь{ связного базиса перечисляем различ- различные режимы Rj его работы и соответствующие им графы Щ^- Режимы получают путем объединения входов элемента 6, и пу- путем подачи на вход констант, если такая возможность имеется. Оцениваем графы Яь^ по числу вершин и согласно этой оценке упорядочиваем их в порядке убывания этих чисел. Выбираем первый граф Ях этого ряда и определяем, является ли преобразуемый структурный граф Я/ суперпозицией согласно Ях своих подграфов или их инверсий Яа1, Яа2, ..., Накшх. Если является, то подграфы Яа1, Яа2, ..., Накшх являются искомыми на этом шаге преобразования. Если нет, то выбираем второй граф Я2 этого ряда и повторяем проверку и т. д. до получения функцио- функционального графа. Оптимизацию этого процесса можно проводить, оценивая уда- удаленность Я/ от Hi {Hai, Яа2, ..., Накях), i = 1, 2, ..., по их топологическим характеристикам.
364 Гл. 4. Теория формальных грамматик и автоматов Проиллюстрируем этот метод логических схем на элементах УСЭППА. Пусть необходимо синтезировать логическую схему на элемен- элементах УСЭППА, реализующую булеву функцию вида f(xi, х2, ..., х5) = мограф которой изображен на рис. 4.68. Наиболее интересными режимами являются 8 режимов {Щ/ г = 1, ..., 8}, представленных реализуемыми структурными гра- графами на рис. 4.69. Проверяем, является ли структурный граф Hr^ реализуемый режимом Ri, подграфом структурного графа Я(/), определяющего булеву функцию /. Для этого вводим операцию разности На - , 2, 3) *2<1>О Рис. 4.68 Рис. 4.69 -Яр = Щ структурных графов На = (V, Ра), Нр = (V, Рр); Ра, Рр — множества путей графов НопНр\Н^ = {V, Р7), Р7 = Ра\Рр. В рассматриваемом случае граф Hrx является подграфом графа H(f). Производим эту операцию и находим разность этих графов (рис. 4.70). Следовательно, выходным элементом должен быть эле- элемент, реализующий один из режимов Rs или R$. Структурный граф Hf — Hflj имеет вид тг(х5, о{х\, 7г(^2, ха))), следовательно, по своим топологическим характеристикам он ближе к графу, реа- реализуемому режимом i?6- Таким образом, определили выходной элемент. Структурный граф, соответствующий третьему входу выходного элемента, реа- реализуется режимом Rs- Окончательно получаем логическую схему, содержащую три элемента УСЭППА (рис. 4.71). Предложим второй, менее трудоемкий метод проектирования логических схем в связных базисах, в котором не производится построение структурного графа Hf, а проектирование осуществля- § 4.9. Синтез логических структур в связных базисах 365 ется по мографу GM(f), определяющему заданную булеву функ- функцию f(xi, х2, ..., хп). Этот метод состоит из следующих преобразований. 1. Мограф GM(f) преобразуется в трехъярусный структурный граф НC)(/), в котором минимальным элементам взаимно одно- однозначно соответствуют переменные булевой функции, максималь- а b с d а=О bed I I I I a=lb cd О О О ТГТ1 ab=Ocd а с d Л, ab d О MM a b с d=0 Рис. 4.70 л г* - *-? *г Qd = xA у5 Рис. 4.71 ному элементу сопоставляется буква, идентифицирующая реализу- реализуемую функцию /, элементам промежуточного яруса — идентифи- идентификаторы слов мографа GM(f). Максимальный элемент соединяется с любым элементом промежуточного яруса перечеркнутой дугой. Минимальный элемент соединяется с вершиной промежуточного яруса дугой, если эта переменная входит в соответствующее слово с отрицанием, и соединяется перечеркнутой дугой, если без отри- отрицания.
366 Гл. 4. Теория формальных грамматик и автоматов Преобразование GM(f) ->¦ Я3(/) для рассматриваемого при- примера приведено на рис. 4.72. 2. Булева функция y>,-(zi, z2, ..., zk), реализуемая режимом Д,, преобразуется в трехъярусный структурный граф Яд3). Такое прео- хга, 2, з) abed a b с d в=0 Ь с d Ь с d I I I I a=lb с d b а с d ас d a d abcd=0b в с Рис. 4.73 бразование осуществляется для каждого режима (рис. 4.73). Полу- Полученные структурные графы {Ял3)} упорядочиваются по убыванию сложности соответствующих графов Яд,.. § 4.9. Синтез логических структур в связных базисах 367 3. Определяется в порядке упорядочения, произведенного в п. 2, содержится ли граф Яд' в качестве подграфа в ЯC)(/). Если да, то путем, состоящим из'двух перечеркнутых дуг, выход элемента, реализующего этот режим, соединяется с максимальной верши- вершиной графа H^(f) с одновременным вычитанием графа Яд из () Если ни одни из графов {Яд.'} не содержится в H^(f), то применением схемной алгебры Ас = (Ж3), U, ), изоморфной ал- алгебре множеств Ак = (М, U, ), граф ЯC)(/) приводится к виду, при котором он содержит один из графов {Яд.'}. Схемной алгеброй Ас называется совокупность (Ж3), и, ->, где носитель Я^3) — множество трехъярусных структурных гра- графов; сигнатура: U — объединение трехъярусных структурных графов Я<3) U Hf = Я^3), Я<,3) = (V, Ра), Hf = (V, Рр); Ра, Рр — множества путей графов я?3), Н{*\ Я^3) = (V, Ру), Ру = = Ра U Р/з; — инверсия структурного графа. Выразим через операции U и третью операцию — пересече- пересечение структурных графов Щ'Г\Щ ': н& n Hf = iFuif. В силу изоморфизма этой алгебры и алгебры множеств сигна- сигнатура алгебры Ас удовлетворяет следующим законам: 1) коммутативности объединения и пересечения (рис. 4.74, а) а U 6 = Ь U а, аПЬ = ЬПа; 2) ассоциативности объединения и пересечения (рис. 4.74, б) aU 6U с = аи (ЬU с) = (аи Ь) U с, а П Ь П с = а П {Ь П с) = (а П Ь) П с; 3) дистрибутивности пересечения относительно объединения и объединения относительно пересечения (рис. 4.75) аП(Ьис) = (аПЬ)и(аПс), a U (Ь П с) = (a U Ь) П (a U с); 4) идемпотентности объединения и пересечения (рис. 4.76, а) aUa = a, аПа = а; 5) законам действия с константами (рис. 4.76, б) aU0 = a, aUl = l, aUa=l, аП0 = 0, аП1 = а, аПа = О;
368 Гл. 4. Теория формальных грамматик и автоматов abb а abba § 4.9. Синтез логических структур в связных базисах 369 6) двойной инверсии (рис. 4.76, е) = а. 4. Если полученный граф ЯC)(/) не является графом, предста- представляющим собой вершину, взвешенную буквой /, то возвращаемся к выполнению п. 3, если является, то конец. - О а - О а а 1 а а = О Рис. 4.76 Рис. 4.77 Рассматриваемый структурный граф H^(f) (рис. 4.77, а) со- содержит граф HJjt, соответствующий режиму R\. Выполняем п. 3,
370 Гл. 4. Теория формальных грамматик и автоматов в результате получаем структуру, изображенную на рис. 4.77, б. В оставшемся графе содержится граф, соответствующий режиму R6. В результате получаем структуру, представленную на рис. 4.78, а, которую с помощью законов схемной алгебры приводим к ви- Рис. 4.78 ду рис. 4.78, б. Полученный граф #C)(/) соответствует режиму R$. Окончательно получаем логическую схему сложности 3 (см. рис. 4.71). Проектирование этим методом идет от входов к выходу, т. е. с помощью схемной алгебры строится композиция из базисных элементов. В силу того, что здесь используется прямой алгебраический подход, сложность схемы будет во многом зависеть от применяе- применяемой стратегии выбора последовательности законов при преобразо- преобразовании структурного графа ЯC)(/). Это — недостаток всех методов прямого алгебраического подхода, он отсутствует только при коал- гебраическом подходе. § 4.10. Синтез нейронных структур Нейрон, модель которого была предложена У. Мак-Каллоком и У. Питтсом A943 г.), описывается булевой функцией вида { 1, 0 к если Т" Wi • Х{ > Г, в противном случае, где Wi — вес г-го синапса, Т — порог возбуждения нейрона. Аналоговая реализация нейрона в виде композиции множи- множительных устройств и сумматора при увеличении к обусловила по- повышенные требования к точности изготовления компонент. Этот факт определил необходимость цифровой реализации нейрона. §4.10. Синтез нейронных структур 371 Первая реализация была предложена в виде гексагональной струк- структуры (В.Л. Белявский, В.А. Горбатов, 1970 г.; рис. 4.79), где вес синапса г-й переменной w(xi) определяется числом горизонталь- горизонтальных цепей, на вход которых подается переменная Х{. Каждая горизонтальная цепь представляет собой последовательно включен- Аксоны I -О I -D- I Синапсы Г™ Квизипороги Ключи Рис. 4.79. Гексагональная структура нейрона ные между собой ключи, при этом, если в рассматриваемой цепи нечетные ключи открываются переменной я,-, а четные — пере- переменной г,-, то в соседних горизонтальных цепях, наоборот, не- нечетные ключи открываются переменной г,, четные — переменной Х{. Ключи, открывающиеся переменной я,-, в дальнейшем будем называть неинверсными, а открывающиеся переменной ij — ин- инверсными ключами. Нейрон гексагональной структуры описывается булевой функ- функцией вида {к 1, если У2 wi" xi — Tj, О в противном случае, где Tj — разрешенный квазипорог, а множество разрешенных квазипорогов {Tj} моделирует порог Т в смысле У. Мак-Каллока и У. Питтса. Настройка нейрона на заданную булеву функцию f(x\, х2, ... ..., хп) сводится к определению весов синапсов Wi и множества разрешенных квазипорогов Tj. Единичные точки ха булевой функции/(ii, x-i, ..., хп), f(xa) = 1, соответствуют разрешенным квазипорогам Tj, нулевые точки хр, f(xp) = 0, — запрещенным квазипорогам Ра. Для определения {Tj} и {Ра} составляем две системы урав- уравнений: систему для определения множества разрешенных квази- квазипорогов и систему для определения множества запрещенных ква- квазипорогов. Системы решены, если любые два квазипорога Tj и
372 Гл. 4. Теория формальных грамматик и автоматов Ра не равны друг другу: (Vj, s)(Tj ф Ря). Тривиальное решение получаем, если wi = 2fc-'; в этом случае значения Tj и Ра будут равны десятичному количе- количественному эквиваленту соответствующего двоичного набора. Оче- Очевидно, что каждый вес синапса равен 1, если функция f(x\,12,... ..., хп) является симметрической. Нетрудно показать, что функция f(x\, X2, ..., хп) является симметрической, если в соответствующем гиперкубе не найдется яруса, который содержит хотя бы две точки, в которых эта функ- функция принимает различные значения. Обычно качество настройки нейрона определяют значением суммы весов синапсов, т. е. при настройке она минимизируется: к \ Для уменьшения трудоемкости настройки нейрона введем по- понятие графа неравенства GH = (Vw, U), каждой вершине которого взаимно однозначно соответствует вес синапса и две вершины сое- соединены ребром тогда и только тогда, когда соответствующие веса синапсов представлены в виде одинаковых алгебраических сумм, ii х2, х3) L-X, Регистр квазнпорогов б Рис. 4.80 входящих в различные системы уравнений: один вес — в сис- систему разрешенных квазипорогов, другой — в систему запрещен- запрещенных квазипорогов. Используя введенное понятие, рассмотрим синтез (настройку) нейрона, реализующего булеву функцию yxfo.sa, *3)|1=VB,3,416). Булева функция <Р\{х\, Х2, Хз) не является симметрической (рис. 4.80, а), так как нашелся ярус в гиперкубе, содержащий нули и единицы. Система для разрешенных квазипорогов имеет вид §4.11. Моделирование автоматных систем сетями Петри 373 для запрещенных — Ро = 0, Ws = Pi, Wi + W3 = Р2, Wi+W2 + W3 = Р3. Анализ уравнений показывает, что граф неравенства весов яв- является полным, следовательно, веса синапсов попарно различны. Пусть wi = 3, w2 = 2, U73 = 1; тогда {TJ = {2,3,5}, {*»¦} = {1,4, 6}. Решение найдено, нейрон имеет вид, представленный на рис. 4.80,6. На рис. 4.80, б в горизонтальной цепи перечеркнутый ключ соответствует инверсному ключу, обведенный кругом номер разряда регистра квазипорогов содержит 1, необведенный содер- содержит 0. Содержимое регистра квазипорогов имеет вид .. .0011010... § 4.11. Моделирование автоматных систем сетями Петри В связи со все более широким использованием параллельных и распределенных вычислительных систем особую актуальность приобретают дискретные структуры, представляющие параллель- параллельные процессы. Аппаратом описания сложных систем взаимодей- взаимодействующих процессов являются формальные системы типа сетей Петри, моделирующие динамические свойства систем. Формализм сетей Петри общего вида основан на понятии ком- плекта, являющегося в некотором роде обобщением понятия мно- множества. Как и множество, комплект — это набор элементов, но всякий элемент может входить в него более одного раза. Иначе говоря, отношение включения, связывающее элементы и множе- множества, заменяются на функцию числа экземпляров элемента в ком- комплекте, которая обозначается #(ж, В) (читается: число х в ком- комплекте В). Множество — частный случай комплекта. Многие понятия теории множеств распространяются и на ком- комплекты. Так, пустой комплект аналогичен пустому множеству. Мощность комплекта есть общее число экземпляров элементов в комплекте. Комплект А включен в комплект В (является под- комплектом), если для всякого х #(х, А) < #(х, В). С помощью функции # легко определяются операции над комплектами: объединение комплектов А и В #(*, ЛиВ) = max (#(«, А), #(*, В)); пересечение комплектов А и В #(«, А П В) = min (#(», А), #(*, В)); сумма комплектов А и В разность комплектов А и В #(*, А-В)=Щх, А)-#(х, АПВ).
374 Гл. 4. Теория формальных грамматик и автоматов Рис. 4.81 Если М — множество, то Мп — множество всех таких ком- комплектов, построенных из элементов М, что #(z, В) < п, В ? Мп; М°° — множество всех комплектов, построенных из элементов М без ограничения на число экземпляров элемента в комплекте. Сеть Петри — это четверка С = (Р, Т, I, О), где Р — ко- конечное множество позиций, Т — конечное множество переходов, I: Т —? Р°° — входная функция, отображающая переходы в ком- комплекты позиций, О: Т -> Р°° — выходная функция, отобража- отображающая переходы в комплекты позиций. Графически сеть Петри изображают в виде мулыиграфа с вершинами двух видов: кружки со- соответствуют позициям, планки — переходам. Функции I и О пред- представляются дугами (рис. 4.81). Позиции, дуги из которых ве- ведут в переход tj, называются вход- входными для tj\ аналогично позиции, в которые ведут дуги из перехода tj, называются выходными для tj. Множество входных позиций обоз- обозначают I(tj), а выходных — O(tj). В сети Петри, изображенной на рис. 4.81, I(h) = {pi,Pi,pi}, 0{h) = {р3,Р4,Р4}. Функ- Функции I и О удобно обобщить и на отображение из позиции в ком- комплекты переходов (Р —>• Г°°), что позволяет обозначать множе- множества входных и выходных переходов позиций р,-, определяемые аналогично множествам входных и выходных позиций перехода, соответственно как I(pi) и O(pi). В сети Петри, изображенной на рис. 4.81, 1{рз) = {t2, t2}, О(р3) = {t2, U}. Введенные понятия относятся к статистической структуре сети Петри. Динамические свойства сети Петри определяются с по- помощью понятия маркировки. Маркировка /х сети Петри С = = (Р, Т, I, О) — это функция, отображающая множество позиций Р в множество неотрицательных целых чисел N. Маркировка изо- изображается с помощью помещаемых внутрь позиций фишек (точек). Так, маркировка сети Петри, приведенной на рис. 4.81, определя- определяется как /х(рх) = /х(р3) = 1, /х(р2) = /х(р4) = /х(р5) = 0. Удобно представлять маркировку как n-вектор /х = (/ii,/i2,... ...,/in) (где п = |Р|), каждый элемент которого /х,- есть /х(р;), а также как комплект /х, в который входят позиции сети р,- G Р и #(Pti /*) = /*(Pi)- Сеть Петри С с определенной в ней маркировкой /х называется маркированной сетью Петри. Маркировка сети может изменяться в результате запуска пе- переходов. Переход tj маркированной сети Петри С с маркировкой ц называется разрешенным, если I(tj) Э /х, т. е. в каждой входной позиции tj находится не меньше фишек, чем из этой позиции ис- исходит дуг в tj. Всякий разрешенный переход может запуститься. §4.11. Моделирование автоматных систем сетями Петри 375 В результате запуска перехода tj маркировка сети /х изменяется на новую: /х' = /х - I(tj) + O(tj), т. е. из всякой входной позиции pi перехода U удаляется столько фишек, сколько дуг ведет из pi в tj, а в каждую выходную позицию рк помещается столько фи- фишек, сколько дуг ведет из tj в рк- Последовательность запусков переходов называется выполнением сети Петри. Рассмотрим выполнение сети Петри, изображенной иа рис. 4.81. В началь- начальной маркировке разрешен только переход tj. При его запуске фишка удалится из рз, а затем в позиции рг и pa добавится по фишке, т. е. в результате запуска в новой маркировке /л' появится фишка еще и в рг. Теперь становятся разре- разрешенными переходы tat tt. Поскольку запуститься может любой разрешенный переход, предположим, что запускается переход t<. После его запуска из позиций "рз н рз фишки удаляются, а в позиции ре появится одна фишка. В получив- получившейся маркировке ft" не разрешен ни один переход. На этом выполнение сети ~ Петри заканчивается. Рассмотрим маркировку /х сети Петри С = (Р, Т, I, О). Мар- Маркировка /х' называется непосредственно достижимой из /х, если найдется такой переход tj G Т, разрешенный в /х, что при его Запуске получается маркировка и!; в этом случае пара (/х, /х') при- принадлежит отношению непосредственной достижимости, опре- определенному на Р°°. Транзитивное замыкание этого отношения на- называется отношением достижимости. Маркировки /х' такие, что пара (/х, /х') принадлежит отношению достижимости, назы- называются достижимыми из /х. Множество достижимых из /х мар- маркировок сети Петри С называется множеством достижимости и обозначается R(C, /х). Интерпретация сетей Петри основана на понятиях условия и события. Состояние системы описывается совокупностью усло- условий. Функционирование системы состоит в осуществлении после- последовательности определенных действий, т. е. событий. Для воз- возникновения события необходимо выполнение некоторых условий, называемых предусловиями. Возникновение события может при- привести к нарушению предусловий и к выполнению некоторых дру- других условий, называемых постусловиями. В сети Петри условия моделируются позициями, события — переходами. Предусловия события представляются входными позициями соответствующего перехода, постусловия — выходными позициями. Возникновение события моделируется запуском перехода. Выполнение условий представляется наличием фишек в соответствующих позициях, не- невыполнение — их отсутствием. Рассмотрим, например, простую вычислительную систему, по- последовательно обрабатывающую задания, которые поступают во входную очередь. Когда процессор свободен и во входной очереди имеется за- задание, оно обрабатывается процессором, затем выводится. Эту систему можно промоделировать сетью Петри, изображенной на рис. 4.82.
376 Гл. 4. Теория формальных грамматик и автоматов Установим, какие особенности систем учитывают сети Петри. Это прежде всего асинхронность. В сети Петри отсутствует поня- понятие времени. Время возникновения событий никак не указыва- указывается, но тем не менее структура сети Петри устанавливает частич- частичный порядок возникновения событий. Далее, поскольку возник- возникновение событий представляется запуском переходов, предполага- предполагается, что события происходят мгновенно. Если же моделируемое событие имеет отличную от нуля длительность, как, например, со- событие "задание обрабатывается" (рис. 4.82), и это существенно, то оно представляется в виде двух мгновенных событий типа "на- "начало события", "конец события" и условия "событие происходит" (рис. 4.83). Кроме того, считается, что события происходят неод- неодновременно. Действительно, если допустить одновременное воз- возникновение некоторых событий t и j, которым в сети Петри соот- соответствуют переходы ?,• и tj, то можно вести дополнительный пе- переход Ьц с I(tij) = I(ti)+I(tj), O(tij) = 0{U) +O(tj), интерпрети- интерпретирующийся как одновременное возникновение событий t и j. В этом случае переходы можно запускать последовательно. Задание помещается во входную очередь 'Задание ждет Задание обрабатывается Вывод задания Процессор свободен Задание ждет вывода Задание обрабатывается Начало выполнения задания Завершение выполнения задания Рис. 4.82 Рис. 4.83 Другим важным свойством сетей Петри как инструмента моде- моделирования является их способность представлять параллелизм и конфликтные ситуации. Параллелизм двух событий представля- представляется двумя разрешенными переходами, множества входных пози- позиций которых не пересекаются (рис. 4.84), конфликт — переходами с общей входной позицией (рис. 4.85). Сети Петри используют в основном как формальный аппарат при моделировании систем, которым присущ параллелизм. Если рассматривать процесс проектирования в целом, то возможны два принципиально различных подхода к использованию сетей Петри. В первом система моделируется сетью Петри, которая преобразу- преобразуется по определенным правилам к некоторому "оптимальному" виду. Полученная сеть Петри преобразуется в проект системы. Предполагается, что он также оптимальный. Здесь сети Петри применяют непосредственно при проектировании. Этот подход, однако, имеет 1рудности, связанные с неоднозначностью обрат- обратного преобразования (сети Петри в проект системы), что подвер- S4.ll. Моделирование автоматных систем сетями Петри 377 рает сомнению оптимальность получаемого проекта. Во втором, более общепринятом подходе сначала с помощью обычных средств создается проект системы и по нему строится модель в виде сети Петри. Затем исследуются свойства полученной сети и делаются выводы о свойствах и характеристиках проекта. Если они неудо- '"з Рис. 4.84 Рис. 4.85 Рис. 4.86 Йлетворительны, то полученные в результате исследования сети Шетри данные используют для модификации проекта. Модифици- Модифицированный проект снова преобразуется в сеть Петри, цикл повторя- повторяется. Этот процесс заканчивается, когда сеть Петри будет обладать необходимыми свойствами. Рассмотрим, какие свойства сети Петри как модели систе- системы могут интересовать проектировщика. Одно из важнейших Свойств — безопасность. Позиция сети Петри называется безо- безопасной, если число фишек в ней никогда не превышает 1. Мар- Маркированная сеть Петри безопасна, если безопасны все ее пози- позиции. Это свойство очень важно при интерпретации позиций как простых условий: если в позиции есть фишка, то условие вы- выполняется, если нет, что не выполняется. Если интерпретация фишек более сложная, например, количество фишек показывает число информационных единиц, то может быть интересен вопрос: ограничено ли число фишек в данной позиции, и если да, то ка- какова граница? Так приходим к свойству ограниченности. Позиция называется k-ограниченной, если число фишек в ней в любой до- достижимой маркировке не превышает целого к. Маркированная сеть Петри называется к-ограниченной, если ее позиции являются fc-ограниченными. В сети Петри, приведенной на рис. 4.86, по- позиции pi, p2 являются безопасными, позиция р3 2-ограниченная, вся сеть 2-ограниченная. В случае когда фишки интерпретируются как некоторые ре- ресурсы, они не должны ни создаваться, ни уничтожаться. Иначе Говоря, в сети должен действовать закон сохранения. Маркирован- Маркированная сеть Петри называется строго сохраняющей, если мощность маркировки (как комплекта позиций) постоянна. В общем слу- случае фишка может интерпретироваться как некоторое число эле-
378 Гл. 4. Теория формальных грамматик и автоматов §4.11. Моделирование автоматных систем сетями Петри 379 ментарных ресурсов, причем это число меняется от позиции к позиции. Введем понятие взвешивания позиций: вектор W = = (wi) W2, ..., wn), где Wi — вес позиции р{. Сеть Петри назы- называется сохраняющей по отношению к вектору взвешивания W, если скалярное произведение вектора W и маркировки (рассма- (рассматриваемой как вектор) постоянно; сеть Петри сохраняющая, если она является сохраняющей по отношению к вектору взвешивания W, все элементы которого положительны. Рассмотренные до сих пор свойства относятся как к последо- последовательным, так и к параллельным системам. Но при переходе от последовательных систем к параллельным возникают принципи- принципиально новые трудности: возможность тупиковых ситуаций. Ту- Тупиком в сети Петри называется множество переходов, которые в некоторой достижимой маркировке /х' и в последующих достижи- достижимых из /х' маркировках не разрешены. Свойство возможности возникновения тупиков в системе моделируется свойством актив- активности в сетях Петри. Переход tj называется активным, если он не входит ни в какой тупик. Переход называется пассивным, если он не разрешен ни в какой достижимой маркировке. При детальном исследовании активности сети Петри используют также понятие уровней активности. Переход tj обладает активностью: уровня О, если он не может быть запушен (пассивный); уровня 1, если он потенциально запустим, т. е. существует достижимая маркировка, в которой он разрешен; уровня 2, если для любого целого к существует последователь- последовательность запусков переходов, в которой он присутствует не менее к раз; уровня 3, если существует бесконечная последовательность за- запусков, в которой он присутствует неограниченно часто; уровня 4, если он потенциально запустим из всякой достижи- достижимой маркировки (т. е. активен). В сети Петри, изображенной на рис. 4.87, а, переход t3 активен, переходы ti, t2, t±, t6 имеют уровень активности 3; переход t$ пассивен. В сети Петри, приведенной на рис. 4.87, б, переход i* Пассивен, переход ?з обладает активностью уровня 1, переход ti — (активностью уровня 2, a t\ — активностью уровня 3. Одной из наиболее важных задач анализа сетей Петри явля- является задача достижимости: достижима ли маркировка /х' из на- начальной маркировки /х данной сети Петри? Важность этой задачи (Обусловлена тем, что маркировка служит интерпретацией состоя- кия системы. Решение задачи достижимости позволит опреде- определять, достижимо ли определенное состояние, будь оно "хорошим" «ли "плохим" для системы. Описанные свойства и соответствующие задачи анализа сетей Петри наиболее общие, хотя и не охватывают все множество во- вопросов, которые могут возникнуть при анализе сетей Петри. Для решения задач анализа имеется два основных подхода. Первый основан на построении дерева достижимости. Дерево достижи- достижимости — это ориентированное корневое дерево, вершинам кото- которого соответствуют возможные маркировки, дугам — переходы. Корневой вершине соответствует начальная маркировка. Из ка- каждой вершины исходят дуги, соответствующие разрешенным пе- переходам. Построение дерева осуществляется последовательно, на- начиная с корневой вершины; на каждом шаге строится очередной ярус дерева. Например, дерево достижимости для сети Петри, изображенной на рис. 4.87, а, после трех шагов имеет вид, при- приведенный на рис. 4.88,а (маркировки представлены векторами). @,0,1,0) ¦ 'з A,0,0.0) (о, i7o, о) @,0,0,1) A,0,0,0) ¦'1 (l.oi, 0,0) Рис. 4.87 @,0.1,0) Рис. 4.88 Очевидно, что если не использовать при построении дерева опре- определенные соглашения, то активные (даже ограниченные) сети Пе- гри будут иметь бесконечное дерево достижимости. Назовем вершины (и соответствующие маркировки), постро- построенные на очередном шаге алгоритма, граничными. Если в какой- либо граничной маркировке нет разрешенных переходов, то будем называть такую маркировку терминальной. Если какая-либо гра- граничная вершина имеет маркировку, уже существующую в дереве,
380 Гл.4. Теория формальных грамматик и автоматов то назовем ее дублирующей. Для терминальных и дублирующих вершин не будем строить исходящих из них дуг. Это обеспечивает конечность дерева достижимости для ограниченной сети Петри (рис. 4.87, а, 4.88, о). Для неограниченных сетей требуется как-то обозначить неограниченное число фишек в позиции. Пусть ш обо- обозначает такое число, причем ш + а ~ и>, ш — а = ш, а < ш, ш < и, где а — произвольное целое положительное число. Будем исполь- использовать при построении дерева достижимости следующее правило. Пусть граничная вершина fi ие является терминальной или ду- дублирующей. Для каждого разрешенного перехода tj в маркировке fi построим дугу, исходящую из fi. Дугу будем помечать перехо- переходом tj. Маркировка ц' новой вершины определяется следующим образом. Если /х(р,) = и, то /х'(р,) = и. Если на пути от корневой вершины к \i существует вершина ц" такая, что в результате за- запуска в fi перехода tj число фишек в каждой позиции не меньше, чем в fi", а в позиции р,- строго больше, то fi'(pi) = и. В противном случае fi'(pi) — число фишек в позиции р,-, получающееся после запуска tj из fi (рис. 4.88, б). Теорема 4.6. Дерево достижимости любой сети Петри конечно. Доказательство этого утверждения основано на свойствах и и на правилах введения этого символа в маркировку граничных вер- вершин. Метод анализа, основанный на дереве достижимости, позво- позволяет определить свойства безопасности, ограниченности, сохране- сохранения, исследовать свойства активности и достижимости. Сеть Петри ограничена тогда и только тогда, когда символ и от- отсутствует в дереве достижимости. Кроме того, положение символа ш показывает, какие позиции неограничены. Если символ и отсут- отсутствует в дереве, то число достижимых маркировок конечно, и все вопросы анализа можно решить простым перебором. В частности, для нахождения границы маркировки данной позиции р,- нужно найти наибольшее значение t-й компоненты среди всех вершин дерева. Если эта граница не превышает 1, то позиция безопасная. Для установления того, является ли сеть Петри сохраняющей по отношению к некоторому вектору взвешивания W = (u>i, ги2, ..., ги„), необходимо решить следующую систему линейных уравнений с ограничениями: = s ПРИ 3 = 1, ••-,*, Щ > 0 при i = l,..., п, где к — число вершин дерева достижимости, которым соответ- соответствуют различные маркировки. (Очевидно, что если имеется то и){ = 0.) §4.11. Моделирование автоматных систем сетями Петри 381 Возможность решения задач активности и достижимости огра- ограничена существованием символа и, скрывающего конкретную ин- информацию о числе фишек. Например, если в сеть Петри, изобра- изображенную на рис. 4.87,5, ввести две дуги (h, рг), (рг, t2), то полу- полученная сеть Петри будет иметь то же дерево достижимости, что и первоначальная. При этом в новой сети Петри в позиции р% может быть только четное число фишек, тогда как в первоначальной се- сети — любое, т. е. множества достижимости этих сетей Петри не совпадают. Можно привести разные сети с различными свой- свойствами активности, но имеющие одно дерево достижимости. Тем не менее, хотя дерево достижимости и не дает полной ин- информации о свойствах достижимости и активности, в некоторых случаях оно позволяет ответить на вопросы по достижимости и ак- активности. Например, если в нем имеется терминальная вершина, то сеть Петри не активна. При решении задачи достижимости может оказаться, что маркировка fi' присутствует в дереве дости- достижимости (положительный ответ) или что маркировка fi' не покры- покрывается никакой вершиной дерева достижимости, т. е. fi" ^ fi для всех вершин fi" (отрицательный ответ). Другой подход к анализу сетей Петри называется матричным и основан на их матричном представлении. Введем матрицы D~ и D+, столбцам которых соответствуют позиции, строкам — пе- переходы, и D~{j, i) = #(p,-, I(tj)), D+{j, i) = #(p,-, O(tj)). Пусть e(j) — вектор-строка, компоненты которой соответствуют пере- переходам и все равны нулю, за исключением j-й, которая равна 1. Тогда переход tj разрешен, когда fi > e(j) • D~ (p рассматри- рассматривается как вектор), а результатом запуска tj из fi является fi' = = fi - e{j)D~ + e(j)D+ = p + e(j) •(?>+-?>-) = fi + e{j) ¦ D, где D — D+ — D~ — составная матрица изменений. Маркировка fi', получающаяся из д в результате запуска после- последовательности а — tjxtj2.. .tjk, определяется как fi' = fi + e(ji)D + e{j2)D + ... + e(jk)D = = fi + (е(л) + ... + e{jk)) =fi + f{a)D, где f(ar) = e(ji) + ... + e(jk) — вектор запуска, i-я компонента которого равна числу запусков tj{ в а. Если маркированная сеть Петри является сохраняющей по от- отношению к некоторому вектору взвешивания W (W — вектор- столбец), то fiW — fi'W для любой fi' = R(C, fi). Так как fi' — = fi + f{o)D, то f(o)DW — 0. Поскольку это верно для всех /(<т), имеем DW — 0. Следовательно, сеть Петри является сохра- сохраняющей по отношению к некоторому вектору взвешивания тогда и только тогда, когда имеется такой вектор W, что DW = 0. Это уравнение позволяет отыскать и сам вектор взвешивания W.
382 Гл. 4. Теория формальных грамматик и автоматов @,2, 1,2) = A,0, 0,0) +*•! ? ~о Бели маркировка /х' достижима из начальной маркировки /х сети Петри, то должно существовать целое неотрицательное реше- решение уравнения ц' = /i + xD, решением которого будет i = f{o)- Исследуем задачу достижимости для сети Петри, изображенной на рис. 4.87,5, с начальной маркировкой A,0,0,0) для маркировки р! = @,2,1,2). Уравнение ц' = fi + xD принимает вид 0 1 0 0т 0 1 1 0 L 0 0 -1 О J и имеет решение х — D, 2, 1, 0), соответствующее последовательности запусков переходов h ti t\ t\ ?3 tt ti. Матричный подход к анализу сетей Петри, как и подход, осно- основанный на дереве достижимости, не позволяет в общем случае ре- решить задачу активности и достижимости. Проблемы матричного анализа заключаются в том, что, во-первых, вектор запуска, полу- получаемый при решении уравнения, не дает информации о порядке запуска переходов и, во-вторых, может соответствовать неразре- неразрешенной последовательности запусков. В настоящее время установлено, что задачи достижимости и активности эквивалентны, но не известно, разрешимы ли они вообще, т. е. нет ни алгоритма, позволяющего решить эти задачи, ни доказательства его отсутствия. Рассмотрим применение методов анализа сетей Петри, модели- моделирующих практические системы. Специализированная параллельиая система для реализации интеграцион- интеграционных вычислительных процессов состоит из совокупности процессорных элемен- элементов (ПЭ) и модулей памяти (памяти данных (МПД) и памяти команд (МПК)), связанных в кольцо (рис. 4.89). ПЭ работает в двух режимах. В первом слу- случае он захватывает оба смежных МПД, используя левый для извлечения исход- исходных данных новой итерации, правый — для выборки результатов предыдущей итерации. По завершении итерации он помещает результат в правый МПД и освобождает оба МПД. В другом режиме ПЭ работает с внутренними данными. Режим указывается командой, считываемой их МПК. Рассмотрим два варианта реализации устройств управления ПЭ. В первом варианте захват МПД при осу- осуществлении итерации производится последовательно. ПЭ может находиться в следующих состояниях: "обработка внутренних данных" (Si), "захвачен левый §4.11. Моделирование автоматных систем сетями Петри 383 МПД" E2), "захвачен правый МПД" E3), "захвачены оба МПД, обработка дан- данных очередной итерации" E4). МПД может быть либо свободным, либо захва- захваченным. Событиями будем считать захват и освобождение МПД. Этот вариант работы представляется сетью Петри, в которой каждому ПЭ соответствуют четыре позиции, реализующие описанные условия, а каждому МПД — позиция (фишка в которой означает, что МПД свободен; (рис. 4.90). Можно убедиться, что де- дерево достижимости этой сети Петри содержит две терминальные маркировки: Рис. 4.90 Рис. 4.91
384 Гл.4. Теория формальных грамматик и автоматов 2i 5|, 5|} и Ц2 = {Si, S3, S3}, представляющие ситуацию, когда ка- казахватывает левый и правый МПД соответственно. Это означает, что §4.12. Задачи и упражнения 385 ждый р сеть Петри не активна, т. е. в системе возможны тупиковые ситуации. При другом варианте работы системы ПЭ осуществляют только одновремен- одновременный захват смежных МПД (если он возможен). В этом случае каждому ПЭ соот- соответствуют только условия Si и 54 (рис. 4.91). Дерево достижимости (рис. 4.92) не содержит терминальных маркировок, сеть Петри активна. Кроме того, из рас- 11 1 0 1 0^1 @10011010) @01100110) A1110 10 10) A11101010) Рис. 4.92 A00101001) A11101010) 1 1 1 1 D 0 0 0 -1 1 -1 1 -1 1 0 0 -1 1 -1 1 0 0 0 0 1 -1 0 0 0 0 0 0 -1 1 0 0 0 0 1 -1 0 0 0 0 0 0 -1 1 0 - 0 0 0 1 -1. смотрения дерева достижимости очевидно, что сеть Петри безопасная (позиция интерпретируется как простые условия). В системе осуществляется распреде- распределение ресурсов, которые ие появляются и ие исчезают, т. е. выполняется закон сохранения. Определим, является ли сеть Петри сохраняющей. Для этого решим уравнение DW = 0, которое принимает вид W2 w3 w4 «5 = 0. ил . Wg . Решением его является W = A, 1, 1, 1, 3, 1, 3, 1, 3). Действительно, позиции Pi, Pi, Pi представляют условия, связанные с тремя устройствами, остальные позиции — условия, которые связаны с одним устройством. Таким образом, сеть Петри обладает основными необходимыми свойствами, что обеспечивает работо- работоспособность второго варианта. Попытки моделирования реальных систем привели к различ- различным доопределениям и модификациям сетей Петри. В основном эти модификации связаны с изменением правила запуска перехо- переходов. Мощность моделирования обычных сетей Петри ограничена невозможностью проверки позиции на нуль (т. е. того, что мар- маркировка позиции нулевая). Одним из способов преодоления этого недостатка является введение сдерживающих дуг. По новым пра- правилам запуска переход разрешен, если фишки есть в его обычных входных позициях (из которых ведут обычные дуги) и отсутствуют в сдерживающих входных позициях (из которых ведут обычные дуги). Сдерживающая дуга изображается как обычная, только на конце имеет вместо стрелки маленький кружок (это обозначе- обозначение заимствовано из теории переключательных схем, где кружок МПД означает "не") (рис. 4.93). Если в обычных сетях Петри пере- переход запускается по логике И, то в сетях Петри со сдерживающими дугами логика расширена до включения отрицаний. Поскольку событие может представляться несколькими переходами, можно смоделировать событие, предусловие которого записывается как объединение нескольких конъюнкций условий и отрицаний условий, соответ- соответствующих позициям сети Петри со сдер- сдерживающими дугами. Таким образом, сети Петри позволяют моделировать предусловия в виде ДНФ, т. е. условия самого общего вида. Рассмотренная задача организации работы специализированной вычислительной системы может быть решена и первым вариантом, в ко- котором разрешен последовательный захват МПД (см. рис. 4.90), но с предотвращением тупико- тупиковых ситуаций. Очевидно, что возможны две ту- тупиковые ситуации, описываемые маркировками с фишками в позициях 5], 5|, 5| и 5з, 5|, 5|. Для предотвращения первой тупиковой ситуации необходимо в маркировках {Si, Sj}, {Si, 5j}, {5|, 5|} предотвратить появление фишки в позициях 5|, 5|, 5; соответственно. Следо- вательно переход ?i должен иметь в качестве предусловия конъюнкцию МПД! & icSl &EJ к 5f), т. е. его иужио заменить иа переходы t[ и t" с предусловиями МПД] icSiLS2 и МПД! к, S\ LS2 (см. рнс. 4.93). Аналогично следует посту- поступить с переходами t$, ?9 (см. рис. 4.90). Подобные действия предпринимаются и для предотвращения второй тупиковой ситуации. Другие предложения по изменению правил запуска либо экви- эквивалентны введению сдерживающих дуг, либо носят даже более частный характер. Например, в сетях Петри с областями ограни- ограничения имеются множества позиций (называемые областями огра- ограничения), в которых фишки одновременно находиться не могут. Правила запуска модифицированы так, чтобы не нарушать это условие. Если в сеть Петри, изображенную на рис. 4.90, включить две области ограничения, {Sj, 5|, 5^} и {S3, S$, Sf}, то можно предотвратить возникновение тупиковых ситуаций. Рис. 4.93 §4.12. Задачи и упражнения 4.1. Составить функциональную таблицу машины Тьюринга при суммиро- суммировании 1 к числу, записанному в троичной системе счисления. 4.2. На лейте записано число в системе счисления с основанием Q. Сос- Составить функциональные таблицы, с помощью которых можно записать число: а) непосредственно следующее за данным; б) непосредственно предшествующее Данному. 4.3. На ленте записано число х в троичной системе. Составить функцио- функциональную таблицу, с помощью которой иа леиту записывается 2х, если х делится иа 3 без остатка, и х — 1 в противном случае. 4.4. Синтезировать криотрониую схему, реализующую функцию /(*i,'*a, хз, х4)|, = V(l, 3, 7, 8, 9, 10, 12, 15). 13 В. А. Горбатов
386 Гл. 4. Теория формальных грамматик и автоматов 4.5. Как учитывается коэффициент разветвления, определяемый нагрузоч- нагрузочными способностями заданного базисного элемента, при использовании коалгеб- ры графов К1 4.S. Сравнить сложности счетчиков четности от трех переменных в базисе Вебба и Шеффера. 4.7. Сравнить сложности счетчика четности от трех переменных в базисе Шеффера, по строенного методом моделирования связок алгебры Буля и методом, который осиоваи иа применении ко алгебры графов К. 4.8. Минимизировать количество нетерминальных символов автоматной грамматики, определяемый секвенциями вида: §4.13. Комментарии 387 1Я2 -+ 370, 1в4 -* «з1, 1ав -* as0, lag -)• з20, Ояз -> Sil, 1яз -»• «вО, 0я4 -)• 0я5 -)• ail, las -)• «40, 0лв -* 0я7 -+ ав0, 1*7 -»• ail, 0s8 -)• где a; (i = 1, ..., 8) — нетерминальный символ; 0, 1 — терминальные символы (левый относительно стрелки входной, правый выходной). 4.9. Произвести соседнее кодирование нетерминальных символов автомат- автоматной грамматики, заданной в предыдущей задаче. 4.10. Построить функцию возбуждения первого триггера с раздельными вхо- входами для автомата, рассмотренного в предыдущей задаче. 4.11. Построить функцию возбуждения второго триггера со счетным входом для автомата, рассмотренного в задаче 4.9. 4.12. Синтезировать триггер со счетным входом в импликативном базисе. 4.13. Синтезировать триггер с раздельными входами в коимпликативном базисе. 4.14. Синтезировать генератор последовательности чисел 1, 7, 0, 2, 5, 1, ... в базисе Жегалкина. 4.15. Синтезировать логическую схему, реализующую булеву функцию /(г,, *а, хз, c<)|i = v(°. 1. 2- 7- И), в первом топологическом базисе. 4.1S. Синтезировать логическую схему, реализующую булеву функцию Д*1, Х2, ХЗ, Х4)|! = V@, 1, 2, 4, 15), во втором топологическом базисе. 4.17. Синтезировать, логическую схему, реализующую булеву функцию /(xi, «а, хз, х4)|, = V(O, 3, 5, 10, 12, 15), в третьем топологическом базисе. 4.18. Синтезировать логическую схему, реализующую булеву функцию /(х,, х2, хз, x4)|i = V(O, 3, 5, 6, 9, 10), в четвертом топологическом базисе. 4.19. Синтезировать логические схемы, реализующие булеву функцию /(х,, х2, хз, x4)|i = V(O, I, 2, 12, 13, 14), в базисах Вебба и Шеффера. Сравнить, сложности полученных схем. 4.20. Синтезировать логическую схему, реализующую булеву функцию /(xi, X2, хз, х4)|, = V(O, 1, 2, 4, 7, 9), в базисе УСЭППА. 4.21. Может ли иметь автомат эквивалентные состояния, если его граф переходов представляет собой взвешенный путь? 4.22. Синтезировать иейрон, реализующий булеву функцию вида /(xlt X2, хз, *«)|, = V(O, 2, 3, 5, 12, 14). § 4.13. Комментарии Создание систем автоматизации проектирования, гибкого автоматизирован- автоматизированного производства, локальных вычислительных сетей, интеллектуальных систем знаний — решение этих и других проблем невозможно без формализации, основу которой составляет теория формальных грамматик и автоматов. В развитие этой теории большой вклад внесли ученые — члены академий: Международной Ака- Академии информатизации, Российской академии иаук, Российской академии есте- естественных иаук — В.М.Глушков, М.А.Гаврилов, В.А.Горбатов, Э.В.Бвреинов, А.В. Каляев, В.Г. Лазарев, П.П. Пархоменко, Д.А. Поспелов, В.П. Чистов, И.И. Юз- аишнн, Э.А. Якубайтис и др. Для углубления знаний по теории формальных грамматик и автоматов ре- рекомендуем [1,6,7,10,13,21,27].
§5.1. Принципы характеризационного анализа 389 Где круга этого начало, где конец, откуда мы пришли, куда уйдем отселе? Омар Хайлм Глава 5 ПРИКЛАДНАЯ ТЕОРИЯ АЛГОРИТМОВ. ХАРАКТЕРИЗАЦИОННЫЙ АНАЛИЗ § 5.1. Принципы характеризационного анализа. Построение комбинаторных алгоритмов Характерной чертой современной научно-технической револю- революции является возрастающая роль вычислений комбинаторного (пе- (переборного) характера в прикладных задачах. Актуальной пробле- проблемой дискретной математики является построение эффективных как по объему необходимой памяти, так и по быстродействию ком- комбинаторных алгоритмов. Прикладные задачи можно подразделить на задачи анализа и задачи синтеза дискретных систем. Под решением задачи анализа подразумевается определение того, обладает ли модель Ф„, пред- представляющая дискретную систему, требуемыми свойствами. Ре- Решение задачи синтеза предполагает проведение преобразования модели Фа в модель Ф(,, при котором достигается экстремум за- заданного функционала качества <^(Фь). В обоих случаях можно говорить об эквивалентировании. В задачах анализа по модели Фо строится ее эквивалент, раскрывающий свойства модели. В задачах синтеза модель Фа эквивалентируется синтезируемой мо- моделью Ф(,. Как анализ, так и синтез осуществляют с помощью комбинированных алгоритмов. Примитивным классом комбинаторных алгоритмов являются ГСН-алгоритмы (ГСН — грубая сила и невежество). Это алго- алгоритмы, лишенные какой-либо "искусности", они решают задачи "вслепую", проводя полный перебор возможных преобразований. В этом случае отсутствуют теоретические предпосылки, на основа- основании которых можно было бы предложить "утонченный" алгоритм решения. В алгоритмах этого класса реализуется синтаксическое эквивалентирование. Синтаксическое эквивалентирование, называемое эквивален- эквивалентным преобразованием, соответствует уровню знаний, при кото- котором известна полная система аксиом. Оно заключается в построе- построении очередного варианта для задач анализа и в замене модели Фа моделью Фь для задачи синтеза на основании той или иной акси- аксиомы или закона, полученного из системы аксиом. Дерево решений при синтаксическом эквивалентировании изображено на рис. 5.1, а. Каждая висячая вершина дерева соответствует тупиковому ре- решению. Характерными свойствами этого дерева являются: 1) комбинаторный рост числа висячих вершин при линейном росте размерности задачи; 2) необходимость возврата на предыдущий, (г - 1)-й уровень при вычислении информации, соответствующей соседней вершине В 1-м уровне. Следствием этого свойства является принципиальная необходимость обхода всего дерева при поиске минимального ре- решения. Эти свойства определяют явление, называемое "проклятием размерности" или "информационным взрывом". При разработке математического и программного обеспечения ЭВМ, особенно при работе в реальном масштабе времени, при со- создании систем автоматизации проектирования (проблема САПР) я х. д. актуальным является проектирование быстродействующих шкетов прикладных программ. Для повышения быстродействия алгоритмов используют эвристики в виде соответствующих функ- Еионалов, найденных на основании опыта, аналогий, здравых со- соображений. В результате получают класс эвристических алгорит- алгоритмов. Примерами эвристических алгоритмов являются генетиче- генетические, технологические (типа отжига), жадные, хитрые и другие алгоритмы. При построении этих алгоритмов используется прин- 1|«п аналогий на основе дескриптивной семантики. Алгоритмы Этого класса реализуют эвристическое эквивалентирование. При эвристическом эквивалентировании быстродействие алгоритма по- ВЙшается, но оценить качество полученного решения невозможно; Нельзя даже сказать, является ли оно тупиковым, т. е. далее не ТПрощаемым. Дерево решений, каждая вершина которого соот- соответствует исходному заданию, а дуга — варианту перебора или преобразованию, изображено на рис. 5.1,5.
390 Гл. 5. Прикладная теория алгоритмов Рассмотрим, например, задачу синтеза диверсифицированного портфеля. Эта задача возникла при оценке риска в проводимой фирмой инвестиционной политике. Финансовый риск связан с неопределенностью эффективности операций в момент заключе- заключения сделки, обусловленной трудностью прогноза цены в будущем, а для акций — и будущих дивидендов. Вложив деньги в акции одной компании, инвестор оказывается зависящим от колебаний ее курсовой стоимости. Если он вложит свой капитал в акции нескольких компаний, то эффективность будет определяться уже усредненным значением курсовых стоимостей нескольких компа- компаний. Средний же курс, как правило, колеблется меньше, поскольку при понижении курса одной из ценных бумаг курс другой может повыситься, что приведет к меньшим колебаниям усредненного курса. Именно этим объясняется, что инвестор часто является держателем не одного вида ценных бумаг, а нескольких, именуе- именуемых портфелем инвестора. При росте числа N видов ценных бу- бумаг, включенных в портфель, риск ограничен и стремится к нулю при N -? оо. Этот факт известен в теории финансового риска как эффект диверсификации (разнообразия) портфеля. Эвристика, применяемая при решении задачи синтеза дивер- диверсифицированного портфеля, основана на принципе аналогий. Вспомнив житейскую мудрость: никогда не клади все яйца в одну корзину, формулируем эвристику решения этой задачи: задав- задавшись мощностью диверсифицированного портфеля, приобретаем слабо связанные между собой виды ценных бумаг. Здесь под мощностью портфеля понимается количество видов ценных бумаг. Анализ западных финансовых рынков показал, что оптимальная мощность портфеля инвестора не меньше 15. Для России, в ко- которой финансовый рынок только формируется, это число должно быть гораздо большим. Рассмотрим реализацию выбранной эвристики. Имеем множе- множество ценных бумаг М — {ft,/ ft,- — ценная бумага}. На основе ана- анализа временных рядов изменения их курсовой стоимости строим корреляционный граф GKOpp = (V, (С/, К)), каждая вершина и,- € V которого взаимно однозначно соответствует ценной бумаге, а ребро {vi, vj} € U взвешено корреляционным коэффициентом K(bi, bj) между ценными бумагами ft,-, bj (рис. 5.2, а). Установим порог существенной корреляции: КF,-, bj) > 0,5. Тогда корреляционный граф GKOpP преобразуется в граф связности ценных бумаг GCB = {V, U), и,- f» ft,, {v,-, Vj) € U f» K(bif bj) > 5. Если мощность |тг| диверсифицированного портфеля ж равна 2, то, очевидно, его содержимое будут представлять ценные бу- бумаги ba, bp, расстояние p(ba, bp) между которыми равно диаметру d{GCB) графа GCB: §5.1. Принципы характеризационного анализа 391 Если мощность портфеля 2 < |я-| < ео^св), где ?q(Gcb) — число внутренней устойчивости или вершинное число независи- а б Рис. 5.2 мости графа связности GCB, то порождаем пустые подграфы и вы- выбираем из них подграф, вершины которого попарно максимально удалены друг от друга. Если мощность портфеля \ж\ > eo(GCB), то к максимально про- простому подграфу Етлх добавляем |7г| - eo(GCB) веРшин TaKi чтобы Образовавшийся подграф G — (V, U) имел минимальную мощ- мощность СИГНатурЫ |C/|min При |У| = |7Г|. Рассмотрим синтез диверсифицированного портфеля ж. Мно- Множество ценных бумаг М — {ft,/ i = 1, ..., 8}, и соответствую- соответствующий корреляционный граф GKOm> представлен на рис. 5.2, а. После учета порога корреляции граф Сткорр преобразуется в граф связно- ети GCB (рис. 5.2,6). Для случая, когда |я-| = 2, строим матрицу расстояний R(GCb) между вершинами: 12 3 4 5 6 7 8 1 2 3 4. 5 6 7 8 Диаметр d(GCB) равен 3. Следовательно, получаем восемь эквива- эквивалентных в смысле мощности диверсифицированных портфелей: >,-} = {{1,2}, {1,3}, {2,6}, {2,7}, {2,8}, {3,6}, {3,7}, {3,8}}. Синтезируем портфели мощности 3. Порождаем пустые под- подграфы графа связности GCB. На рис. 5.3 дерево естественным обра- ,!3ом преобразовано в эквивалентную в смысле включения путей — 3 3 2 1 2 1 1 3 — 1 1 2 3 3 3 3 1 - 1 2 3 3 3 2 1 1 - 1 2 2 2 1 2 2 1 - 1 1 1 2 3 3 2 1 - 1 2 1 3 3 2 1 1 - 1 1 3 3 2 1 2 1 -
392 Гл. 5. Прикладная теория алгоритмов диаграмму Хассе. Вершинное число независимости 6o(GCB) графа связности равно 3. Оцениваем каждый пустой подграф Е{ суммой попарных расстояний между вершинами подграфа Е{. Выбираем подграфы с максимальной суммой: Ei = <{Ьь Ь2, Ъ6}, 0> ->¦ ?>,= 3 + 3 + 2 = 8, Е2 = <{&а, be, Ь&}, 0) -+ ?>,¦ = 3 + 3 + 2 = 8, Е3 = ({h, Ь3, Ь6}, 0) -»• J2Pi = 3 + 3 + 2 = 8, Еа = ({Ьз, Ь6, Ь8}, 0) -> ЕР-' = 3 + 3 + 2 = 8, ?5 = <{Ьь ЬА, Ь6}, 0) -+ ?>,- = 2 + 2 + 2 = 6, ?6 = <{Ь4, be, be}, 0) "+ Х> = 2 + 2 + 2 = 6. В результате получим четыре эквивалентных диверсифициро- диверсифицированных портфеля: {я-J = {{Ъи Ь2, be}, {Ь2, Ь6, Ъ8}, {h, Ъ3, Ъ6}, {Ъ3, Ъ6, Ь8}}. Рассмотрим синтез портфелей мощности, равной 4. Расши- Расширяем носитель пустых подграфов, каждый из которых в преды- предыдущем случае образовал портфель мощности 3. Оцениваем рас- расширение суммой ak корреляционных коэффициентов добавленных ребер. Выбираем подграф с минимальной суммой. §5.1. Принципы характеризационного анализа 393 р (\Ь \ — Подграф Ei расширяется вершиной ?>7i при этом сумма оь = = 0,6. Добавилось ребро {be., h}, остальные расширения уве- увеличивают значение о>. В результате получили первый портфель я = {bi, b2, Ьв, h}. Аналогично расширяем остальные 3 порт- портфеля; в результате получаем еще 4 портфеля с суммой <х* = 0,6: 7Г2 = {b2, b6, i>7, b&}, 7Гз = {h, b3, Ь4, Ь6}, 7Г4 = {b3, ЬА, be, b6}, w5 = {Ьз, b6, b7, bs}. Добиться максимального быстродействия комбинированных алгоритмов без порождения всех эквивалентных решений, т. е. ис- использовать малый объем памяти, позволяют алгоритмы третьего класса, реализующие семантическое эквивалентирование. При семантическом эквивалентировании известна не только полная система аксиом, но и конструктивный критерий, который позволяет: для задачи анализа проверить истинность предиката если м°Дель *о обладает заданным свойством, в противном случае; для задачи синтеза связать две различные абстракции — мо- модели Ф,иФ(, — в единую систему с помощью предиката функцио- функциональной целостности 1, если преобразование Фа —> Ф(, существует при взаимно однозначном соответствии между элементами моделей Фа и Ф(,, 0 в противном случае. Общее, что характеризует модели Фа и Ф(, и что отличает их от других, — это смысл преобразования Фа —> Ф{,. Суть преобразова- преобразования Фа —> Ф(, — это свойство языковых выражений, инвариант- инвариантное относительно их модельных представлений. Изучением смы- смысла занимается логическая семантика, которая является разделом металогики. Под семантикой, как правило, понимают дескрип- дескриптивную (описательную) семантику, изучающую связь между зна- косочетаниями формализованного языка и их интерпретациями (толкованиями) в терминах той системы понятий, формализацией которых является, данный язык. Здесь под семантикой понимают изучение интерпретации одного формализованного языка в катего- категориях другого, причем оба языка являются формализацией одного и того же объекта (явления). Этот вид семантики будем называть проект ив ньш. В частном случае, когда оба языка совпадают и исследуется выполнимость определенного свойства изучаемой мо- модели, проективную семантику будем называть рефлексивной. Рефлексивная семантика позволяет решать задачи анализа мо- моделей. Проективная семантика преобразования Фа —> Ф(, позво- позволяет вычислять экстремальное значение функционала качества ре- решения <^(Ф(>) и строить соответствующую оптимальную модель Ф(,,
394 Гл. 5. Прикладная теория алгоритмов не строя все эквивалентные модели {ФьЛ, что намного уменьшает трудоемкость алгоритмов. Для определения проективной семантики преобразования Фа ->• Фь необходимо: 1) найти числовые характеристики {i/,} модели Фь, однозначно определяющие значение у(Фь); 2) установить свойства 5(, модели Фь, при наличии которых вычислимы {vi}\ 3) выявить свойства Sa модели Фа, однозначно определяющие свойства 5(, модели Фь; 4) найти числовые характеристики модели Фа, обладающей свойствами Sa, однозначно определяющие <^(Фь). Таким образом, наличие свойств 5а позволяет однозначно вы- вычислить <^(Фь) без фактического построения Фь. Для нахождения рефлексивной семантики анализа модели Фа необходимо: 1) выявить свойства 5а модели Фа, однозначно определяющие предикат Ро(Фа); 2) найти числовые характеристики модели Фа, определяющие наличие свойств Sa. В обоих случаях основным моментом является установление свойств 5а модели Фа. которые определяют истинность предиката Д)(Фо) или Ро(Фа, Фь)- Эти свойства модели Фа будем определять отсутствием запрещенных фигур, образующих основу критерия выполнения свойств Sa- Знание запрещенных фигур позволяет эффективно решать задачи анализа и конструктивно вычислять функционал ?>(Фь) без генерации всех эквивалентных моделей {Фь,} (см- Рис- 5.1,в) при решении задач синтеза. Поиск про- проективных и рефлексивных семантик, основой которых являются запрещенные фигуры, и их изучение отнесем к разделу метало- гики и будем называть конструктивной семантикой. Взаимоотношение всех трех семантик преобразования иллю- иллюстрирует рис. 5.4. Рефлексивные семантики §5.1. Принципы характеризационного анализа 395 Формализуемая система — внешний мир Рис. 5.4 Проблему поиска запрещенных фигур называют характери- зационной проблемой. Эта проблема определяется классом рас- рассматриваемых моделей Ка = {Фо} и характеризуется свойством 5а, определяющим предикат Ро(Фо) или Ро(Фа1 Фь)- Для реше- решения характеризационной проблемы требуется определить множе- множество запрещенных фигур К3 = {Ф,}, т. е. таких моделей Ф,, отсутствие которых в данной модели Фа € Ка является необходи- необходимым и достаточным условием того, что Фа обладает свойством Sa, и при этом никакая из моделей Ф, € К3 не присутствует в другой запрещенной фигуре — модели Ф^- € К3. Формализуем понятие отсутствия и присутствия одной мо- модели в другой. На множестве моделей Ка можно задать отношение упорядочения РП такое, что (Ф,-, Ф^) € Р„, если Ф,- присутствует в Ф^. Отношение Рп называется отношением подчинения, а мо- модель Ф,- — подчиненной модели Ф^-. Отношение подчинения моде- моделей служит обобщением известного отношения быть подмоделью. Модель Ф,- является подмоделью модели Ф^-, если получена из Ф^ удалением некоторых элементов носителя и/или сигнатуры. Ха- рактеризационная проблема с заданным отношением подчинения Р„ в классе моделей определяет характеризационные задачи. По- Поскольку в классе моделей Ка может быть задано много отношений упорядочения, характеризационную проблему можно рассматри- рассматривать как целое множество характеризационных задач, каждая из которых имеет собственное решение в виде множества запрещен- запрещенных фигур. От выбора отношения подчинения в решении характеризаци- характеризационной задачи зависит многое: и компактность множества запре- запрещенных фигур, и разрешимость этой задачи вообще. Принци- Принципиальным является тот факт, что характеризационная проблема всегда разрешима. Нужно только правильно выбрать отношение подчинения и соответственно получить постановку разрешимой характеризационной задачи. Покажем, каким должно быть отно- отношение подчинения. Теорема 5.1 (принцип локальности). Множество запре- запрещенных фигур К3 — {ФзЛ для класса моделей Ка = {Фо} с от- отношением подчинения Р„ и свойством Sa существует (харак- (характеризационная задача разрешима) тогда и только тогда, когда справедливо, что всякая модель Ф,-, подчиненная модели Ф^-, обладающей свойством 5a, также обладает им. Доказательство. Допустим, что множество запрещенных фигур существует. Тогда по определению запрещенной фигуры никакая модель Фа, обладающая свойством 5а, не имеет запре- запрещенной фигуры в качестве подчиненной. С другой стороны, пусть отношение подчинения таково, что моделям Фа, которым присуще свойство 5а, подчинены только мо- модели, которые им также обладают (рис. 5.5). В этом случае по
396 Гл. 5. Прикладная теория алгоритмов определению запрещенной фигуры множество запрещенных фи- фигур К3 образуется из минимальных элементов отношения упоря- упорядочения Рп на множестве Ка\Ка, где Ка С Ка — подкласс моделей Фа, обладающих свойством 5а. В качестве примера рассмот- рассмотрим проблему характеризации двудольных графов. Задачи опре- определения двудольности графа и преобразования графа в двудоль- двудольный имеют много приложений: от проектирования надежных автома- автоматов до построения эффективных информационных систем с распа- распараллеливанием обработки. Пусть, например, библиотечная информа- информационная система реализуется на ЭВМ, имеющей два дисковых устройства (рис. 5.6, а). Для достижения максимальной произво- производительности информационно-поисковой системы необходимо так декомпозировать базу данных на две части, чтобы за счёт одно- одновременной установки головок чтения-записи на двух дисковых Рис. 5.5 i Контроллер внешних устройств / / \ (чес 1 V Процессор Вычисли- Вычислительный экспе- эксперимент Математи- Математические методы, модели Дискретная математика Автомата- \ / Автомати- Автоматизированные \ Ьация проекта системы упра-ГПоования и про- производства устройствах время обработки запроса оказалось минимальным. Файлам базы данных поставим в соответствие вершины графа. Две вершины смежны, если оба соответствующих файла необхо- необходимы для ответа на запрос некоторого типа (рис. 5.6,6). Опти- Оптимальное распределение файлов по дискам определяется разбиением §5.1. Принципы характеризационного анализа 397 множества вершин графа на два множества, внутри которых как можно меньше ребер (что соответствует достижению максималь- максимального параллелизма). Эта задача сводится к выявлению проектив- проективной семантики преобразования графов в двудольные с минималь- минимальным удалением ребер. Семантику определяет решение характери- зационной проблемы двудольности графов (рис. 5.6, в). Класс Ка состоит из моделей, сигнатура которых образуется од- одним бинарным симметричным, антирефлексивным отношением. Свойство Sa означает быть двудольным. Исследуем два отноше- отношения подчинения: Р* — быть частичным подграфом нРл2 — быть сводимым графом. Сводимым называется граф Ga, полу- получающийся из Gb в результате последовательного склеивания смеж- смежных вершин (объединения их в одну) с соответствующим объеди- объединением их окрестностей. Оба отношения удовлетворяют принципу локальности. Следовательно, в обоих случаях характеризацион- ная задача разрешима. Диаграммы отношения подчинения при- приведены на рис. 5.7. В случае отношения подчинения Р* множе- G G Рис. 5.7 ством запрещенных фигур является множество нечетных циклов, в случае отношения подчинения Р% — множество полных графов порядка > 2. Итак, всегда можно решить характеризационную проблему, а следовательно, получить множество запрещенных фигур. Это мно- множество определяет конструктивный семантический критерий для решения задачи анализа. Более того, знание множества запре- запрещенных фигур используется в методе семантического эквивален- тирования в задачах синтеза. Основополагающим принципом се- семантического эквивалентирования является то, что знание кон- конкретных запрещенных моделей, присутствующих в модели Фа и мешающих ей обладать свойством Sa, позволяет определить те локальные структуры, преобразование которых необходимо для того, чтобы получить модель Фа, которой присуще свойство 5а. При этом осуществляется только минимальный (неизбежный) пе- перебор вариантов преобразований, т. е. вычислительный процесс в смысле трудоемкости улучшить нельзя. При семантическом экви-
398 Гл. 5. Прикладная теория алгоритмов валентировании дерево решений (см. рис. 5.1, в) состоит из двух звезд. Первая звезда соответствует преобразованию Фа —? Фь, ?о(Фа, Фь) = 1, вторая — Фо ->¦ Ф(,. При поиске минимального решения необходим обход всех ветвей первой звезды, во второй звезде достаточно взять любую ветвь, так как с точки зрения ми- минимальности решения, определяемого значением у(Фа), все ветви второй звезды равнозначны. Рассмотрим подробно процесс семантического эквивалентиро- вания. Основу этого процесса составляют способы преобразова- преобразования запрещенных фигур в эквивалентные разрешенные. Эквива- Эквивалентность определяется смыслом преобразования Фа —>• Фь. Как правило, способом преобразования запрещенной фигуры в разре- разрешенную является удаление, введение или расщепление элемента носителя или сигнатуры либо переход к некоторой подчиненной модели. Для семантического эквивалентирования или преобразования графа в двудольный существует несколько способов преобразова- преобразования запрещенных фигур — циклов нечетной длины. В случае ис- использования преобразования для вложения графа в гиперкуб при проектировании надежных автоматов запрещенная фигура пре- преобразуется в разрешенную введением на ребро нечетного числа вершин (строго говоря, здесь не одно преобразование, а множе- множество). Если преобразование используется для оптимальной деком- декомпозиции базы данных, то способ преобразования заключается в удалении ребра. Принципиальным является то, что способ пре- преобразования запрещенной фигуры в разрешенную существует все- всегда, когда преобразование Фа —>• Ф(, имеет смысл. Действительно, для каждой модели Фа существует эквивалентная модель Фа, обла- обладающая свойством 5а. Следовательно, существует преобразование Фа в Фа, а любое преобразование модели Фа в модель, обладаю- обладающую свойством Sa, обязательно преобразует запрещенные фигуры в разрешенные. Таким образом, способ преобразования запрещен- запрещенной фигуры в разрешенную существует всегда. В общем случае существует множество преобразований запре- запрещенной фигуры в разрешенную. Пусть Д, = {г,^} — множество способов преобразований запрещенной фигуры Ф,- ? К3 (т. е. для всякого j ^.(Ф*) — разрешенная фигура). Построим множество базисных способов преобразований Д° С Д,-, т. е. такое мини- минимальное по включению множество г°, что для любого г,- най- найдется последовательность преобразований из Д°, переводящая Ф, в Гч(Ф,-)- Рассмотрим способы преобразования запрещенных фигур для преобразования мографа в линейный, что важно в задачах ор- §5.1. Принципы характеризационного анализа 399 ганизации данных в информационно-поисковых системах и ба- базах данных. Основными характеристиками размещения данных в памяти являются объем занимаемой памяти и время доступа. При представлении информационно-поисковой системы мографом объем памяти определяется мощностью носителя, а время дос- доступа — временем считывания слов модели. Одним из способов оптимальной организации данных в памяти является линейное размещение, которое предполагает такое линейное (полное) упо- упорядочение объектов данных, что ответ на каждый вопрос есть це- цепочка непосредственно следующих в этом упорядочении объектов данных. Поставим в соответствие объектам данных элементы но- носителя мографа, ответам на запросы — слова. Мограф называется линейным, если допускает линейное размещение элементов носи- носителя, при котором все слова представляются цепочками. Таким образом, для получения оптимальной организации данных необхо- необходимо преобразовать мограф в линейный и, следовательно, решить характеризационную проблему линейности мографа. Не конкретизируя вид запрещенных фигур (этот вопрос по- подробно рассмотрен далее), отметим, что возможны два способа преобразования запрещенных фигур в разрешенные: 1) расщепление элемента носителя i на i и х' с соответст- соответствующей заменой i на х' в некоторых словах, в которые входил элемент i; 2) расщепление слова М, т. е. замена его на два слова. Можно показать, что эти способы образуют базисное множество способов преобразований запрещенных фигур в разрешенные. Проиллюстрируем способы преобразования запрещенных фигур в разрешен- разрешенные на примере мографа (рис. 5.8, а), представляющего гипотетическую библио- Рис. 5.8
400 Гл.5. Прикладная теория алгоритмов темную информационную систему, включающую информацию о следующих кни- кни1978; — Ржевский В.В. Процессы открытых горных работ. — М.: Недра, — Самарский А.А. Теория разностных схем. — М.: Наука, 1977; хз — Марчук Г.И. Методы вычислительной математики. — М.: Наука, 1977; Х4 — Оснокы автоматизации управления производством / Под ред. Мака- Макарова И.М. — М.: Высшая швола, 1983. В ней реализуются следующие запросы: Mi — Книги по вычислительным методам. Ответ {хг, хз}; Мъ — Книги по автоматизации процессов. Ответ {xi, X4}; М3 — Книги авторов (редакторов), фамилии которых начинаются с букв от А до М. Ответ {хз, Х4}; М\ — Книги авторов (редакторов), фамилии которых начинаются с букв от Н до Я. Ответ {xi, гг}. Данный мограф не является линейным. Можно показать, что каждый эле- элемент носителя и каждое слово входят в запрещенную фигуру. Расщепление элемента носителя или слова должно преобразовать мограф в линейный. Рас- Рассмотрим, например, расщепление элемента х\. Преобразованный мограф явля- является линейным и представляется линейно упорядоченным, приведенным на рис. 5.8,5. При расщеплении любого слова, например, Л/г, мограф также ста- становится линейным и представляется линейно упорядоченным, приведенным на рис. 5.8,в. В первом случае увеличивается объем памяти, занимаемый объек- объектами данных, во втором — увеличивается среднее время ответа на запросы. Каждый способ преобразования г,^ характеризуется стои- стоимостью c,v. Функционал качества преобразования у(Фь) опреде- определяется стоимостью произведенных преобразований запрещенных фигур в разрешенные. Для выполнения преобразования Фа —> Фа неизбежно преобра- преобразование каждой запрещенной фигуры в разрешенную, поэтому вы- выберем для каждой запрещенной фигуры Ф3, С Фа один из спо- способов ее преобразования; их совокупность определит глобальное преобразование Фа —> Фа. Такое преобразование в общем случае может не достигать экстремума функционала у(Фь), даже если для каждой фигуры Фэ, выбран способ преобразования с наимень- наименьшей стоимостью. • Это обусловлено тем, что возможен способ пре- преобразования Ф3,., пусть имеющий не наименьшую стоимость, но преобразующий заодно и другую запрещенную фигуру Ф3,. Более того, взаимосвязь способов преобразования запрещенных фигур может оказаться очень сложной, поэтому простой выбор способов преобразования по одному на каждую фигуру Ф3< С Фа не обеспе- обеспечивает достижения экстремума функционала качества у>(Фь). Процедура семантического эквивалентирования основана на построении семантической таблицы. Столбцам этой таблицы соот- соответствуют запрещенные фигуры,, присутствующие в модели, стро- строкам — компоненты запрещенных фигур. Элемент (i, j) таблицы равен 1, если преобразование t-й компоненты превращает j-ю за- запрещенную фигуру в разрешенную, и 0 в противном случае. По- §5.1. Принципы характеризационного анализа 401 крытие столбцов строками семантической таблицы определяет ми- минимальное по включению множество преобразований, которые не- необходимо выполнить для получения из Фа модели Фа, обладаю- обладающей свойством Sa- Учитывая, что каждый способ преобразования может иметь собственную стоимость, делаем вывод, что для до- достижения экстремума <?>(Фь) необходимо найти минимальное по стоимости покрытие семантической таблицы. Рассмотрим задачу семантического эквивалентирования гра- графа, изображенного на рис. 5.6,6, в двудольный. Функционал ка- качества определяется минимальным числом удаленных ребер. За- Запрещенные фигуры (циклы нечетной длины) образованы следую- следующими множествами ребер: Ф31 = {а, 6, с}, Ф32 = {а, 6, d, e, /}. Способ преобразования — удаление ребра — имеет стоимость 1; конкретный способ преобразования обозначим указанием удаляе- удаляемого ребра. Семантическая таблица имеет вид табл. 5.1. Таблица 5.1 »»1 1 1 1 *з, 1 1 1 1 1 Минимальным является, например, по- покрытие тг = {а}. Следовательно, удаляя ре- ребро а, получаем двудольйый граф (рис. 5.6,в); при этом достигнут минимум у(Фь) = 1. В общем случае способ преобразования может быть связан не с элементами носителя или сигнатуры модели, а с некоторыми ее компонентами. Поэтому в общем случае се- семантическое эквивалентирование предпола- предполагает построение иерархической системы таб- таблиц некоторой глубины к, определяемой количеством уровней в способах преобразований. Покрытие столбцов строками первой та- таблицы указывает, какие компоненты запрещенных фигур должны быть изменены при приведении модели Фа к интерпретируемому в терминах модели Фь виду. Опре- Определение подкомпонент, которые надо изменить для изменения най- найденных на предыдущем шаге ком- компонент, сводится к покрытию вто- второй таблицы, построенной ана- аналогично, и т. д. до построения fc-й таблицы, строки или столбцы которой соответствуют элементам носителя или сигнатуры, которые необходимо изменить при приве- приведении модели Фа к интерпретиру- интерпретируемому в терминах модели Ф;, виду (рис. 5.9). Для определения минимально- Запрещенные фигуры Компоненты Элементы носителя (сигнатуры) модели' Рис. 5.9 го числа элементов носителя или сигнатуры, соответствующих элементам fc-й таблицы, необходима генерация всех множеств,
402 Гл.5. Прикладная теория алгоритмов каждое из которых состоит из покрываемых строк (столбцов) в последней, fc-й таблице. Эта генерация соответствует перебору всех покрытий (к - 1)-й таблицы. Для получения всех покрытий (к - 1)-й таблицы необходима генерация всех покрытий (к - 2)-й таблицы и т. д. Таким образом, для нахождения минимального решения необходим перебор всех сочетаний покрытий первых к -1 таблиц. Эта процедура принципиально содержит перебор. Таким образом, определение сложности решения является минимальным по трудоемкости стандартным процессом. Этот процесс на много порядков менее трудоемок, чем процесс фактической генерации всех эквивалентных структур при поиске минимального решения синтаксическим эквивалентированием. Способы преобразования запрещенных фигур, будучи по отно- отношению к ним однозначными, по отношению к модели в целом могут быть как однозначными, так и неоднозначными. Напри- Например, способ преобразования запрещенных фигур для двудольного графа (нечетных циклов), основанный на удалении ребра, одно- однозначен и для модели в целом. Рассмотрим способ преобразова- преобразования нечетных циклов, заключающийся в расщеплении одной из вершин v на две несмежные вершины v и i/, каждая из кото- которых инцидентна одному из двух ребер х и у расщепляемой вер- вершины (рис. 5.10, а); обозначим способ преобразования как v(x, у). Рнс. 5.10 Этот способ преобразования используется в семантическом эквива- лентировании при декомпозиции информационной системы с тре- требованием максимального быстродействия, т. е. максимального параллелизма обработки информации. Такое требование обуслав- обуславливает размещение всех разделов данных, соответствующих смеж- смежным вершинам, на разных дисках, т. е. приводит к дублированию некоторых разделов. Данный способ преобразования запрещенной фигуры для модели в целом (графа) не однозначен. Дело в том, §5.1. Принципы характериэационного анализа 403 Таблипа 5.2 vi(a,b) v2(b,c) »2(b,f) "з(е,/) vt(d,e) vs(a,d) *»i 1 1 1 *з, 1 1 1 1 1 что преобразование запрещенной фигуры при расщеплении вер- вершины v, инцидентной ребрам хну, фиксирует только то, что новая вершина v инцидентна ребру х, а новая вершина v' — ре- ребру у. Для графа в целом это означает расщепление вершины v на v и v' с соответствующим разбиением окрестности Ги (рис. 5.10), при котором х и у попадают в разные новые окрестности. Рассматриваемый способ преобразования не указывает распре- распределения всех вершин по новым окрестностям. Семантическая таблица для графа (см. рис. 5.6, б) при таком способе преобразования имеет вид табл. 5.2 В случае неоднозначных способов пре- преобразований необходимо проверить все покрытия семантической таблицы. Рас- Рассмотрим три покрытия: 7Ti = {ui(a,6)}, 7Г2 = {v2(b,c),v2(b,f)}, 7Г3 = {u5(a, с), 4v3(e, /)}. Первое покрытие, имеющее ми- минимальную мощность, дает минимальное решение (рис. 5.10,6). Но и второе покрытие, имеющее мини- минимальную мощность, также определяет минимальное решение. Оба преобразования, входящие в 7Г2, расщепляют uj. Ответ на во- вопрос, сколько новых вершин дают эти расщепления вместе, дают построение и раскраска специального графа, который построен на множестве ребер, инцидентных V2 (рис. 5.10,в). Раскраска графа {6}, {с, /} определяет число вершин после расщепления „и разбиение окрестности Г«2. Полученное решение минимально ¦(рис. 5.10,г). Преобразование, соответствующее л"з (рис. 5.10,д), не минимально. Таким образом, если применяются способы преобразований, неоднозначные для модели в целом, то необходимо для каждого покрытия строить специальные графы и определять их минималь- минимальную раскраску. Поэтому особенно актуальны оценки хроматиче- хроматического числа графа (см. гл. 3), которые позволяют быстро отсе- отсеять большую часть покрытий, соответствующих графам с боль- большим хроматическим числом. Важны также "быстрые" методы фаскраски графов. В целом семантическое эквивалентирование ?лри минимальном (неизбежном) переборе позволяет получить аб- абсолютно оптимальное решение. На основе семантического эквивалентирования получаем двух- Шонтурную структуру быстродействующего пакета прикладных Программ (рис. 5.11), в котором с помощью модуля "Характер" Происходит автоматическая настройка на оптимальную стратегию Й1ри проведении преобразования Фа -> Ф&. Это придает "интел- "интеллектуальность" пакету прикладных программ и позволяет отнести Подобные пакеты к классу систем искусственного интеллекта.
404 Гл. 5. Прикладная теория алгоритмов В предыдущих главах были рассмотрены характеризационные проблемы вложения графа в плоскость, в булево пространство, характеризации параллельно-последовательной структуры диаг- Директор |Характер] 1 Операционная часть ¦ Диспетчер ¦ 1 Рис. 5.11 раммы Хассе, раскраски графов, частичного упорядочения могра- фа, проектирования логических схем в несвязных базисах. Остановимся теперь на характеризационных проблемах, в том числе на проблемах проектирования многовыходных логических схем, разложения графа переходов в частичное декартово произве- произведение, а также на характеризационных проблемах, возникающих при проектировании оптимальных размещений данных в инфор- информационных системах. Характеризация моделей позволяет выя- выявить объективные причины, определяющие сложность решения и трудоемкость его поиска. § 5.2. Характеризация и методы оптимального размещения данных в памяти ЭВМ Для современных информационных систем характерны не только большие объемы, но и сложность хранимых данных. Слож- Сложность данных проявляется в том, что они находятся в различных взаимосвязях. Таким образом, сложные данные представляются в виде набора некоторых элементарных объектов и совокупности о ¦ ношений, связывающих объекты данных. Иначе говоря, сложные информационные системы формализуются такими понятиями, как граф и мограф. Это подтверждается богатым практическим опы- опытом построения информационных систем. Часто возникает необходимость хранить в "чистом виде" гра- графовые структуры, например, при использовании в базах данных моделей данных, основанных на графах. Объекты данных хра- хранятся отдельно от своих связей, которые представляются графом. Известно несколько способов задания графов: с помощью матриц инциденций и смежности, перечислением окрестностей вершин. Можно показать, что последний способ наиболее экономичен при больших размерностях графов, что характерно для практики. Но задание графа перечислением окрестностей равносильно заданию мографа, носителем которого является носитель графа, а слова- словами — окрестности его вершин. Возможны варианты в задании §5.2. Методы оптимального размещения данных 405 графа, но в любом случае абстракцией представления может быть мограф. Например, в базах данных, основанных на сетевой мо- модели данных (фрагмент сетевой схемы данных приведен на рис. 5.12, а), абстракцией данных является ориентированный граф. При обработке запросов поиск информации осуществляется ОборуД \Щ Ms Тех. процессМв_Щ/ Х3«. 2, 6) в направлении, которое указывается дугами (от данных о про- процессах к данным об оборудовании), поэтому хранить необходимо только окрестности нижнего яруса графа (рис. 5.12, б). Эта инфор- информация задается мографом, приведенном на рис. 5.12, в. Как было показано выше, мограф является абстракцией информационно- поисковой системы с фиксированным множеством запросов. Другим приме- примером, когда мограф представляет информационную систему, является организа- организация файлов с несколькими ключами доступа. Файл представляет собой после- последовательность записей, состоящих из идентичных полей (записи могут быть неодинаковой длины). Ключом называется поле или множество полей, значе- значения которых идентифицируют записи. Доступ к файлу осуществляется с помо- помощью указания значения ключа. Для ускорения обработки запросов организу- организуются индексы — таблицы, в которых для каждого значения ключа указываются адреса записей, имеющих это значение. Если индекс хранит адреса всех за- записей, имеющих данное значение, то такая организация называется инверти- инвертированными списками. Информация, хранящаяся в инвертированных списках, представляется мографом, носитель которого образуется множеством адресов за- записей, а слова — множествами адресов записей, имеющих идентичные значения ключа. Рассмотрим файл библиотечной информационной системы (рнс. 5.13). Он имеет несколько ключей доступа: по фамилии автора, по названию издатель- издательства, по ключевому слову и др. Для ускорения доступа файл можно упорядочить по одному из ключей (обычно по фамилии), по другим же ключам записи будут совершенно неупорядочены. В рассматриваемом примере индекс по ключу до- доступа "ключевое слово" представляется уже приведенным ранее мографом (см. рис. 5.12,в), слову Mi соответствует значение "математические методы", слову М2 — "автоматизация" и т. д. Мограф может задавать не только инвертированные списки, но и другие списковые организации индексов: мультисписки, секционные списки. Наконец, просто двоичная матрица может рассматриваться как матрица ннцидентиостей мографа. Основными критериями при размещении данных в памяти ЭВМ являются минимизация объема памяти и времени доступа. Элементы носителя мографа однозначно соответствуют объектам
406 Гл. 5. Прикладная теория алгоритмов данных, размешенным в памяти, следовательно, критерий мини- минимизации объема памяти определяет функционал качества у(Ф(,) при семантическом эквивалентировании как минимум мощности Адрес 12 13 хъ Хв Х7 Фамилия И.О. Самарский А.А. Марчук Г.И. Макаров И.М./ ред. Свами М., Тхуласираман К. Брейер М. Ржевский В.В. Питерсон Дж. Название Теория разно- разностных схем Методы вычис- вычислительной ма- математики Основы автома- автоматизации управ- управления произ- производством Графы, сети, алгоритмы Теория и мето- методы ввтомати- запии проек- проектирования вы- вычислительных систем Процессы открытых горных работ Теория сетей Петрн н моде- моделирование систем Выходные данные М.: Наука, 1977 М.: Наука, 1977 М.: Высшая школа, Г983 М.: Мнр, 1984 М.: Мнр, 1977 М.: Недра, 1978 М.: Мир, 1984 Ключевые слова Математиче- Математические методы Математиче- Математические методы, математиче- математическое модели- моделирование Математиче- Математические методы, производст- производственные про- процессы, авто- автоматизация Математиче- Математические методы, теоретико- графовые модели, ал- алгоритмы на графах Автоматиза- Автоматизация, алго- алгоритмы на графах Производст- Производственные про- процессы Математиче- Математическое модели- моделирование, тео- ретико-графо- ретико-графовые модели Рис. 5.13 носителя Ф(,. Мограф Ф;, определяет размещение, в котором все слова отыскиваются максимально быстро. Бели мограф Фа не до- допускает такого размещения, то поиск некоторого слова эквивален- эквивалентен поиску нескольких слов, что равносильно тому, что данное слово расщеплено на несколько слов. Таким образом, критерий минимизации времени доступа определяет функционал качества у>(Ф(,) как минимум мощности сигнатуры Ф&. В рассмотренных примерах организации данных, представляемых мографом, при условии минимального времени доступа важно минимизировать объем памяти. Возможен и обратный критерий: минимизация времени доступа при неизменном объеме памяти. Он важен, на- например, в задаче такого упорядочения записей файла (рис. 5.14), при котором быстрее осуществляется поиск по ключу. §5.2. Методы оптимального размещения данных 407 Доступ к объектам данных осуществляется с помощью неко- некоторой стандартной процедуры поиска, реализующей переход от одного элемента памяти к другому. Переход осуществляется одно- однозначно, поэтому эту процедуру поиска можно формализовать функ- х6 Коли- Указа- честв0 Ключевое слово тель Коли- Указа- честв0 Ключевое слово записей тель записей .—• — — 4 2 2 2 2 2 Математические методы Автоматизация Алгоритмы на графах Теоретико- графовые модели Математическое моделирование Производствен- Производственные процессы х6 *-* —• — 4 2 2 2 2 2 Математические методы Автоматизация Алгоритмы на графах Теоретико- графовые модели Математическое моделирование Производствен- Производственные процессы Адрес И 13 14 15 Хб Х7 Файл Самарский А.А. Марчук Г.И. Макаров И.М./ ред. Свами М., Тхуласираман К. Брейер М. Ржевский В.В. Питерсон Дж. цией осмотра памяти S — частичной функ- функцией на множестве элементов носителя мографа S: X -*• X; S(x) — элемент, к которому осуществляется переход после элемента х. Рассмотрим такое размещение данных и такую функцию осмотра памяти S (модель Фь), при которых для каждого слова М модели Ф(, имеется такой элемент io € М, что Рис. 5.14 т. е. каждое слово отыскивается с помощью функции 5 на основании только информа- информации о мощности слова и начальном элементе х0. Подобные мографы называются допустимыми. Очевидно, что на практике большинство мографов не являются допустимыми. Для их реализации в памяти ЭВМ необходимо расщепление эле- элементов носителя или расщепление слов. При этом увеличивается либо объем памяти, либо время доступа. Допустимые же мографы представляются в памяти ЭВМ безызбыточным образом и требуют минимального времени доступа. Таким образом, задача оптимального размещения данных за- заключается в преобразовании мографа в допустимый и в построе- построении функции осмотра памяти. При этом функционалом качества
408 Гл. 5. Прикладная теория алгоритмов является минимальное расширение носителя без изменения сиг- сигнатуры или минимальное расширение сигнатуры без изменения носителя. Эта задача имеет графовую интерпретацию. Рассмо- Рассмотрим функцию осмотра памяти 5: X —? X допустимого мографа Фь как отношение смежности S С X хХ вершин в ориентирован- ориентированном графе G/ = (X, S), построенном на множестве вершин X. Граф Gf является функциональным (/-графом), т. е. из каждой вершины его исходит не более одной дуги. Теорема 5.2. Связный /-граф является либо ациклическим, либо содержит точно один цикл. Из этого утверждения следует, что практически важными яв- являются следующие классы /-графов и допустимых мографов, представляющихся соответствующими /-графами: линейные (пу- (пути), циклические (контуры), ациклические (ориентированные де- деревья). На практике функция осмотра памяти реализуется либо с помощью указателей, либо переходом к соседнему элементу па- памяти. Для представления в памяти линейных графов можно ис- использовать второй вариант реализации функции осмотра памяти. Представление циклических /-графов также основано на переходе к соседнему элементу памяти, но с одним исключением: S(xn) = = Xi, где х\, хп — соответственно первый и последний в разме- размещении элементы. Для представления ациклических /-графов необ- необходимы указатели. Однако представление ациклического /-графа парами (x,S(x)) для каждой вер- вершины х избыточно (рис. 5.15, а, б). Для безызбыточного представле- представления разобьем /-граф на линейные |i| ft ft ft ft ft §\ ft р| И ft ifi ft, М ft) И fa |И ft ft Рис. 5.15 §5.2. Методы оптимального размещения данных 409 фрагменты, внутри которых в качестве функции осмотра будем использовать переход к соседнему элементу памяти, а связь фраг- фрагментов задавать указателями (рис. 5.15,в). Для решения характеризационных проблем представления мографов /-графами различных классов введем отношение подчи- подчинения. Мограф Фх подчинен мографу Ф2 в отношении подчине- подчинения Р*, если он получен из Ф2 последовательностью ограничений, сужений, расширений и сверток. Под ограничением мографа по- понимаем удаление некоторых его слов, под сужением — удаление некоторых элементов носителя, под расширением — введение но- нового слова, являющегося пересечением имеющихся, под сверт- сверткой — склеивание всех вершин некоторого слова с объединением A,3) № di 2) A,5) B, 3) Рис. 5.16 их весов. Введенные операции иллюстрируют рис. 5.16. Отноше- Отношение подчинения Р* используется для характеризации линейных и ациклических мографов. Отношение подчинения Р%, кроме операций, используемых в Р*, включает еще одну операцию — замыкание слова, т. е. замену его на дополнение в множестве элементов носителя мографа (рис. 5.17), а на опера- операцию расширения Р% накладывает следую- следующее ограничение: можно включать только слово М, являющееся пересечением слов Mi, Mj таких, что их объединение не обра- образует весь носитель мографа (возможное расширение). Это отношение подчинения используется для характеризации цикли- циклических мографов. Принцип локальности выполняется для свойств линейности и ацикличности при отношении Р* и для свойства цикличности при отношении Р%. A.4.5L Рис. 5.17 A, 2, 3) A,3,4)
410 Гл. 5. Прикладная теория алгоритмов Нетрудно доказать следующее утверждение. Утверждение. Запрещенными фигурами для классов до- допустимости мографов являются следующие мографы: 1) для свойства линейности и отношения подчинения Р* — 2) для свойства цикличности и отношения подчинения П - К*; 3) для свойства ацикличности и отношения подчинения Pi - S3, Kl Къ. Мографы 5з) Ki, K\, Къ приведены на рис. 5.18. A,2) A,3) B)(* A,4) Ks A,5) 1,2,3,4) B,4) м C,4) B,5) Рнс. 5.18 C,6) 2,3, 4,5, 6) D,6) Способы преобразования этих запрещенных фигур в разрешен- разрешенные заключается либо в расщеплении элемента носителя х и в соответствующем разбиении множества слов Е{х), в которые он входил, на два множества, Ех(х) и Е<г(х) (обозначим этот способ как х(Е\, Еч)), либо в расщеплении слова М,- на два, М( и М", с соответствующим распределением элементов по этим словам (обо- (обозначим как t(Mt', M")). Способы преобразования запрещенных фигур в принятых обозначениях объединены в табл. 5.3. Можно показать, что эти способы базисные, т. е. любой дру- другой способ преобразования является суперпозицией этих способов. Для модели в целом данные способы преобразования запрещен- запрещенных фигур являются неоднозначными. Семантическое эквива- лентирование мографа Фа в мограф Фь с заданными свойствами допустимости осуществляется с помощью обычной процедуры: строим семантическую таблицу; находим покрытия; оцениваем эти покрытия с помощью построения специальных графов и их раскраски. В результате получаем мограф, обладающий задан- заданным свойством допустимости. По нему строим соответствующий /-граф. Рассмотрим подробнее алгоритм построения линейного §5.2. Методы оптимального размещения данных 411 /-графа по линейному мографу (будем считать мограф связным). Таблица 5.3 Запрещенная фигура s3 кА к\ Кь Способ преобразования Расширение носителя *iB,3) «а A,3) *зA,2) *оC,A,2)) хоB,A,3)) *оA,B,4)) *i(l,4) *аB,4) хзC,4) *оA, B,3,4)) хоB, A,3,4)) хоC, A,2,4)) xi(l,5) х2B,5) х3C,6) х«D,6) «0A,B,3,4, 5,6)) хоB,A,3,4,5,6)) хоC,A,2,4,5,6)) хоD,A,2,3,5,6)) хо(A,2,5),C,4,5)) Расширение сигнатуры 1(*4|*з) 2(хьгз) 3(xi,r2) l(xo,xi) 2(хо,хг) 3(хо,хз) 1(Х1,ГО) 2(гг,хо) 3(хз,х0) 4(x1,(x2,i3,xo)) 4(Х2,(П,ХЗ,ХО)) 4(х3,(х1,Х2,Хо)) 1(Г1,ГО) 2(г2,го) 3(хз,х0) 4(Х4,ХО) 5(xi,(xo,X2)) 5(x2,(xo,xi)) 6(хз,(хО,Х4)) 6(Х4,(ХО,Х3)) ¦ Определим отношение упорядочения Ре на носителе мографа такое, что (х,-, Xj) ? Ре, если Е(х$ С E(xj) (одноэлементные слова при этом не учитываем). Найдем множество минимальных эле- элементов Х\ отношения упорядочения Ре- Оставим в нем по од- одному элементу из тех, которые входят в одинаковые слова, а за- затем только такие элементы Z;, удаление которых вместе с Е(х$ не делает мограф несвязным. (Можно показать, что таких элементов всегда не более двух.) Пусть останутся элементы х,- и хп. Зафикси- Зафиксируем один из них, например, хп, как конечную вершину /-графа. Удалим другой элемент х, из мографа и введем его в /-граф. Если в /-графе уже есть вершины, то соединим предыдущую введен- введенную вершину Xj дугой с х,-. Продолжаем этот процесс до тех пор, пока в мографе не останется одна вершина хп. Поступаем с ней аналогично. Рассмотрим процесс семантического эквивалентирования мографа (см. рис. 5.12) в линейный /-граф. Запрещенные фигуры для свойства линейности, присутствующие в Фа, приведены на рис. 5.19. Если критерием является ми- минимизация функционала <р(Уь), равного мощности носителя Фь, при условии неувеличения мощности сигнатуры Фа, то можно применять только преобразо- преобразование, основанное на расщеплении элементов носителя. Семантическая таблица имеет вид табл. 5.4.
412 Гл. 5. Прикладная теория алгоритмов Рис. 5.19 id. 3, 4) Таблица 5.4 х3A,B,6)) х3B,A,6)) х3F,A,2)) *s(l,2) х5B,3) Х4A,3) *аA,5) *«(М) *тD,5) х«A,C,4)) ««C,A,4)) «4D,A,3)) Фх 1 1 1 Фг 1 1 1 Фз 1 1 1 ¦¦ *4 1 1 1 1 1 1 1 Ф5 1 1 1 1 1 1 1 1 1 1 1 Ф8 1 1 1 A) A,5) §5.2. Методы оптимального размещения данных 413 Рассмотрим покрытие я- = {х3B, A, 6)), х^A, C, 4))}. Выполнение этих преобразований в Ф„ приведет к линейному мографу Ф(, (рис. 5.20, а). По- Построим, следуя предложенному алгоритму, линейный /-граф, представляющий Фь. Определим отношение упорядочения Ре (рис. 5.20,6). Минимальными его элементами являются х\, ц, xe, x'3. Удаляя из рассмотрения Xi или Х4 со сло- словом М, приходим к несвязному мографу. Элемент Хз фиксируем как конечную вершину /-графа. Вводим в /-граф вершину х6. удаляя этот элемент из Фь- Затем снова строим отношение упорядочения Ре (рис. 5.20, в). Минимальными элементами являются х\, хз, Х4, хз- Первые три входят в одно множество слов; выбираем элемент Хз, остальные из рассмотрения удаляем. Вводим хз в /-граф (рис. 5.20,г). Продолжая эту процедуру, строим /-граф (рис. 5.20, д). Мограф Фа представляет систему инвертированных списков для файла библиотечной информационной системы (см. рис. 5.13). При использовании обычной списковой организации с линейной функцией осмотра инвертированные списки (см. рис. 5.14, а) за- занимают 14 элементов памяти; при использовании оптимального размещения (см. рис. 5.14, б) — 9 элементов. Таким образом, экономия памяти на инвертированных списках составила прибли- приблизительно 35 %. Если критерием является минимизация функционала ?>(Ф(,), равного мощно- мощности сигнатуры Фь, при условии неувеличения мощности носителя Фа, то можно применять только преобразования запрещенных фигур, расщепляющие слова. Семантическая таблипа имеет вид табл. 5.5. Таблипа 5.5 1(Х1,Х3) 2(хз,х5) 6(хз,хв) 1(Г2,Х3) 1(ХЗ,Х4) 3(Х4,Х5) 1(*а,х«) 4(х4,х7) 5(x2,x7) 1(Г1,Х4) ¦1 1 1 Фз 1 1 1 Фз 1 1 1 Ф4 1 1 1 ф5 1 1 Фв 1 1 1 Фт 1 1 1 Фв 1 1 1 Одним нз покрытий, определяющих минимальяое решение, является не- неминимальное (по числу преобразований) покрытие л- = {l(xi, хз), 1(хг, Хз), 1(хз, Xi), 1(х2, xt), l(xi, X4)}. Специальный граф яля слова М (а все способы расщепляют только его) приведен на рис. 5.21, а. Раскраска его в три цвета опре- определяет минимальное расщепление Mi: М[ = {xi, хг}, М" = {хз}, М[" = {х4}; после расщепления мограф становится линейным (рис. 5.21, б) и представляется линейным /-графом (рис. 5.21,в). Решение этой задачи позволяет в соответствии с построенным /-графом так упорядочить записи файла библиотечной информаци- информационной системы (рис. 5.22), что записи, имеющие идентичное значе- значение ключевого слова, сгруппированы в наименьшее число цепочек.
414 Гл.5. Прикладная теория алгоритмов Если в первоначальном файле (рис. 5.13) таких цепочек было 10 (для ключевого слова "математические методы" — 1 цепочка, для ключевого слова "автоматизация" — 2 и т. д.), то в полученном размещении (рис. 5.22) таких цепочек 8 (для ключевого слова "ма- A) A,5) D,5) Адрес х6 Хз XS ХА Х7 Х2 Х\ Фамилия И.О. Ржевский В.В. Макаров И.М./ ред. Брейер М. Свами М., Тхуласираман К. Питерсон Дж. Марчук Г.И. Самарский А.А. Рис. 5.21 Рис. 5.22 тематические методы" — 3, для остальных — по 1). Таким обра- образом, быстродействие при обработке файла в результате оптимиза- оптимизации увеличилось на 20%. Для обоих критериев получено мини- минимальное решение. § 5.3. Характеризация выходной связности логических структур Проектирование многовыходных логических схем в топологи- топологических базисах не отличается от проектирования одновыходных схем, если допускается съем информации с элементов, не являю- являющихся минимальными или максимальными; при этом накладыва- накладывается только одно ограничение — не расщеплять элементы графа, взвешенные выходными буквами /,-. При проектировании мно- многовыходных схем в функциональных базисах, как правило, реа- реализуемую систему булевых функций сводят к одной функции или ищут пересечения единичных областей булевых функций и син- синтезируют схемы по булевым функциям, описывающим эти пере- пересечения. Окончательная схема представляет собой композицию схем, реализующих поведение данных булевых функций на пере- пересечениях рабочих областей, и схем-сборок, выводы которых совпа- совпадают с выходными каналами искомой схемы. В случае же, когда единичные области не пересекаются, при использовании извест- известных методов имеет место несвязная реализация системы булевых функций. Рассмотрим следующий пример. Пусть задана система булевых функций вида /l = 11X2X314 VX1X2X3X4, /2 = X1X2X3X4VX1X2X3X4. §5.3. Характеризация выходной связности структур 415 Преобразуем мограф GM ({/«}), задающий эту систему (рис. 5.23, а), в структурный мограф #({/,}) так, чтобы макси- A, з, 4) A,4) B, A,2) A,3,4) D) A,2,3) C,4) мальные элементы были взвешены буквами, идентифицирующими вы-. ходные каналы, и ни одна из вер- вершин, не являющихся максимальным элементом, не была взвешена выход- выходной буквой /;. Структурный граф #({/;}) изображен на рис. 5.23,6". С помощью коалгебры графов прео- преобразуем его в логическую схему /2 (рис. 5.23,в). Вершины мографа и ~~ структурного графа, определяющие многовыходную логическую схему, будем раскрашивать в два цвета: вер- вершины, взвешенные входными буква- буквами х,-, г,-, белым цветом, вершины, взвешенные выходными буквами fi, — черным (на рисунках черному рис 5 23 цвету соответствует штриховка). При преобразовании мографа GM{{fi}), задающего систему булевых функций, в структурный граф #({/,•}) на последний накладывается следующее ограниче- ограничение: максимальные элементы структурного графа, и только они, должны быть взвешены выходными буквами /,-, которые при этом преобразовании не расщепляются. Систему булевых функций F(x) = {fi} представим в виде мо- модели *. = <M.>p1SllSai...>Sn)> где Ма = {mi, тп2, ..., тп, тпп+1, ..., тпп+*}, 5,- С Mla, i = 1, 2, ..., n; p — одноместный предикат, разбивающий Ма на два
416 Гл. 5. Прикладная теория алгоритмов подмножества: 0 на элементах тп,- при t = 1, 2, ..., п, ( ) _ Г ~~ 1 р , , , , 1 на элементах m,j при j = (n -f 1)..., (п + к). Структурный граф H(F(x)) представим в виде модели Фь = (Мь, <, q), где f 1, если из p(m.) > p(rrij) следует m,- > rrij, р () ( 0 в противном случае. При исследовании вопроса преобразования модели Фа в модель Ф;, и построения многовыходного структурного графа следует рас- рассматривать модели со следующими ограничениями: 1) если в модели Фа найдутся два слова, \ia и цр, такие, что Ma С Ф/j, то эти слова заменяют одним словом /хо; 2) если в слове имеются хотя бы две одинаковые буквы, та и mb (mo = "*„), то одну из них заменяют другой; 3) если в модели Фа найдутся хотя бы два слова, /хо и рр, такие, что ца = amr, \ip = am(, где р(тпГ) = p(mt) — 1, а состоит из букв т,, р(т^) = 0, то одно из этих слов заменяют другим. Очевидно, для того, чтобы было можно частично упорядочить буквы модели Фа, необходимо, чтобы мограф GM не содержал за- запрещенных фигур Qa, Qb (см. рис. 3.52). В этом случае возможно частичное упорядочение букв модели Qx, Qb без учета предиката q в модели Фо. Найдем запрещенные фигуры в мографе GM[F(x)), характе- характеризующие фиксирование максимальных (минимальных) элемен- элементов в соответствующем структурном графе #(F(i)) при преобра- преобразовании GM[F(x)) —? H(F(x)). Для определенности будем фик- фиксировать максимальные элементы, которые соответствуют выход- выходным каналам проектируемой логической схемы. Условие частичного упорядочения букв модели Фа, в котором учитываются заданные максимальные элементы, устанавливает следующая теорема. Теорема 5.3. Между буквами модели Фа = (Ма, р, S\, S2, ..., Sn), мограф GM которой не содержит мографов Q&, Qe, существует отношение частичной упорядоченности то- тогда и только тогда, когда мограф GM не содержит модельных подграфов Qe (рис. 5.24). Сложность логических схем в основном определяется сложно- сложностью соответствующего структурного графа Н. Следовательно, §5.3. Характеризация выходной связности структур 417 структурная минимизация булевой функции / определяется рас- распределением запрещенных фигур Qx, Qb в мографе GM(f), а системы булевых функций (/;) — распределением запрещенных Рис. 5.24 фигур Qa, Qb, Qe в мографе Gw({/J). Таким образом, мини- минимальной логической схеме будут соответствовать те ДНФ булевых функций, в которых необходимо произвести минимальное коли- количество расщеплений первичных термов для того, чтобы образо- образовавшийся мограф был интерпретируем в категориях структурных графов. Рассмотрим точную структурную минимизацию булевой функ- функции /, которая сводится к покрытию семантической таблицы глу- Интервалы Первичные - рабочей области термы Максимальные интервалы 1 • ?_ Рис. 5.25 Запрещенные фигуры бины 2 (рис. 5.25) и, если необходимо, к раскраске графов, соот- соответствующих покрытиям второй таблицы. Первая таблица формируется на основе покрытия таблицы различий для практических булевых функций. Покрытие первой таблицы порождает тупиковую ДНФ, которой соответствует мограф GM. Преобразование его в частично упорядоченный, т. е. в ин- интерпретируемый структурным графом Н, выполняется с помощью покрытия второй таблицы. Рассмотрим пример. Пример 5.1. Определим сложность абсолютно минимального структурного графа (диаграммы), реализующего булеву функцию /(*i, хг, хз, x4)l= V@, 1, 2, 4, 9, 11, 13) и равного нулю на остальных наборах. 14 В. А. Горбатов
418 Гл. 5. Прикладная теория алгоритмов Выделим максимальные интервалы и построим для рассматриваемой функ- функции таблицу Квайна (табл. 5.6). Таблица 5.6 Номера строк 1 2 3 4 5 6 Максимальные интервалы 000- 00-0 00-0 -001 10-1 1-01 Единичные точки 0000 1 1 1 0001 1 1 0010 I 0100 1 1001 1 1 1 1011 1 1101 I Подчеркнутая единица в таблице Квайна соответствует обязательному мак- максимальному интервалу. (Максимальный интервал является обязательным, если найдется единичная точка, принадлежащая этому и только этому интервалу.) Множество обязательных максимальных интервалов образует ядро покрытия. Находим тупиковые ДНФ заданной функции, покрывая столбцы Квайна строками таблицы. Имеем два покрытия: первая, вторая, третья, пятая, шестая строки и вторая, третья, четвертая, пятая, шестая строки. Этим двум покрытиям соответствуют ТДНФ функции / вида 12, Х3, = X1I3X4 V X\X2Xi VX1X3X4 VX1X2X4 VX1X2X3, 1 2 з 4 5 / (ll, X2, Хз, Х<) = Х1Х3Х4 VX1X2X4 VX1X3X4 VX1X2X4 VX2X3T4. Первой ТДНФ соответствует мограф, изображенный на рнс. 5.26, а. В этом графе имеются циклы нечетной длины с циклической перестановкой весов A,3,5) A,3,5) следующего вида: QA3 = Рнс. 5.26 (г2D, 5),хзE,3),г4C,4) (x1(l, 2), «аB, 5), хзE, 1)} (х4A, 2), 1,B, 5), хзE, 1)} Первой ТДНФ соответствует семантическая таблица — табл. 5.7. §5.3. Характеризация выходной связности структур 419 Таблица 5.7 Qi Qi Qi Q3 xi(l,2) 0 1 0 x2D,5) 1 0 0 *sB,5)' 0 1 1 re C,5) 1 0 0 13A,5) 0 1 1 r<C,4) 1 0 0 Г4A,2) 0 0 1 Одним из минимальных покрытий является ж = {«2D, 5), хгB, 5)}. По- ляют лексико! одинаковые буквы, строим граф на словах {2, 4, 5} (рис. 5.26,5). Этот граф скольку преобразования, входящие в него, расщепляют лексикографически одинаковые буквы, строим граф на словах {2, 4, 5} (рис. 5.26,5). 3i раскрашивается в два цвета: {2, 4} и {5}. Следовательно, достигнуто минимальное расщепление букв. После штри- штриховки буквы xt в пятом слове получаем ДНФ, интерпретируемую в категориях диаграммы Хассе со сложностью 7 (рис. 5.26, в): /'(Х1, Х2, Хз, Г4, Гг) = Г1Х3Х4 VX1X2X4 VX1X3X4 V «1X2X4 VX1X2X3. Рассматривая аналогично остальные покрытия и распределение запрещен- запрещенных фигур в мографе второй тупиковой ДНФ, получаем, что найденная упоря- упорядочиваемая ДНФ является абсолютно минимальной. Следовательно, сложность диаграммы, реализующей эту функцию, также равна 7 (рис. 5.26,г). Приведем точное решение задачи структурной минимизации Системы булевых функций, основанное на использовании зап- запрещенных фигур преобразования мографа в диаграмму с фик- фиксированными максимальными элементами. Оно заключается в выполнении следующих этапов. 1. С помощью одного из известных методов формируют множе- множество многовыходных простых импликант (МПИ) (многовыходных Максимальных интервалов). Множество точек пространства, вхо- входящих в единичные области булевых функций /i, /2, ..., fk и Образующих гиперкуб, называется многовыходным (к-выходным) интервалом функций /i, /г, • • ¦, Л- Многовыходной интервал булевых функций /i, /г, • • •, Л назы- называется многовыходным максимальным интервалом, если не най- найдется многовыходного интервала этих функций, включающего его. Конъюнкция, соответствующая многовыходному интервалу буле- Вых функций /i, /2, ..., Л, называется многовыходной простой импликантой. 2. Строят импликантную таблицу Квайна, в которой каждой строке соответствуют МПИ, столбцу — конституенты единицы (или импликанты) исходных булевых функций fi(X) eF(X). При Этом конституента единицы (импликанта) столько раз входит в таблицу, сколько функций принимают на ней значение единица. 3. Находят покрытия столбцов строками импликантной табли- таблицы. Таким образом определяются ТДНФ системы булевых функ- функций. 4. Для каждой ТДНФ системы булевых функций, которой со- соответствует модель Фа, строят решетчатую ДНФ (РДНФ) системы булевых функций минимальной сложности, т. е. осуществляют преобразование Фа —)• Фь.
420 Гл. 5. Прикладная теория алгоритмов 5. Из всех РДНФ системы булевых функций выбирают РДНФ минимальной сложности. Далее строят многовыходной структур- структурный граф Н. Для того чтобы удалить все запрещенные фигуры, построим семантическую таблицу R, каждой строке которой взаимно од- однозначно соответствует буква (в скобках указываются идентифи- идентификаторы двух слов, в которые эта буква входит при образовании запрещенной фигуры), а столбцу — одна из запрещенных фигур Qa, Qb, Qe; {1, если буква, соответствующая г'-й строке, входит в j-ю запрещенную фигуру, О в противном случае. Строкам соответствуют буквы модели тп,- С Ма, для которых р(пц) = 0. Тогда покрытие столбцов строками в матрице R со- соответствует множеству букв, которые необходимо расщепить при преобразовании Фа —> Фь. Проиллюстрируем точный метод минимизации системы буле- булевых функций с учетом их теоретико-структурных свойств. Пример 5.2. Пусть задана система булевых функций F(X) = {/i(X), f2(X), /з(Х), ft(X)}, зависящая от пяти переменных (табл. 5.8). Выделим все МПИ, затем строим таблицу Квзйна н в результате получаем две ТДНФ Таблица 5.8 Xi 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Xi 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 *з 0 0 1 1 1 1 1 1 1 0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 Х2 0 1 0 1 1 0 0 1 1 0 1 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 Xi. 1 0 1 0 1 0 1 0 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 /l 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 1 1 1 1 1 1 1 1 1 /2 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 /з 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 h 1 1 1 1 1 0 1 1 1 1 1 1 1 0 0 1 1 1 0 1 1 0 0 1 1 1 §5.3. Характериэация выходной связности структур 421 данной системы: Fi(X) = XiXsfi Vx2xsfi F2{X) = XiXsfi V 12*5/1 V Z3Z4/2 V Z3Z5/3 V 11*2/4 V 11*2/4 V 11*3/4. Рассмотрим первую из ТДНФ, представляя ее в виде модели Ф^: Ма = {*1, *1, Х2, Х2, ХЗ, Xi, Xi, /l, /2, /3, /4}, p(xi) =p(*i) =p(x2) =р(*г) =р{хз) =p(x*) =P(xi) =0, .Р(/0=Р(/2)=Р(/з)=Р(/4) = 1- Слова модели Ф„ соответствуют конъюнкциям функции Fi(X). Построим (б) E) B, 5, 7) Рис. 5.27 Модельный граф GM (рнс. 5.27,а). Перечислим запрещенные фигуры, содержа- содержащиеся в GM: Qai = {*5A, 4), *4A, 3), гзC, 4)}, QA2 = {zsB, 4), *зD, 7), x2{2, 7)}, Qb* D Ы1, 4), r3C, 4)}, QB6 D {*5A, 4), гзD, 7)}, Qeb D {zsB, 4), x2B, 5)}, Qbio Э{х<A, 3), z3C, 4)}, QE12 D {*2B, 7), z3C, 7)}, Qez D {zsA, 4), *4A, 3)}, Qbs D {xiB, 4), z3C, 4)}, Qe7 D {z5B, 4), *3D, 7)}, «и D {*5B, 4), XiB, 7)}, Qeu D {*4A, 3), r3C, 7)}, Qeis D {x2B, 7), r3D, 7)}. Покрытиями семантической таблицы (табл. 5.9) являются множества строк: |1, 2, 3, 8}, {1, 2, 3, 5, 6}, {1, 2, 4, 5, 6}, {1, 2, 4, 5, 8}, {3, 4, 6, 7, 8}, {1,4,5,6,7,8}. Построим для лексикографически одинаковых букв графы на множестве слов, в которые входят эти буквы. Раскраска их определяет необходимое рас- расширение (ДМа) носителя Ма в каждом конкретном случае.
422 Гл. 5. Прикладная теория алгоритмов § 5.4. Теоретико-структурная минимизация булевых функций 423 Таблица 5.9 Таблица 5.10 Буквы *вA,4) г5B,4) **A,3) *зC,4) *sC,7) *sD,7) 12B,5) *аB,7) 1 1 0 1 1 0 0 0 0 2 0 1 0 0 0 1 0 1 3 1 0 1 0 0 0 0 0 4 1 0 0 1 0 0 0 0 Запрещенные 5 0 1 0 1 0 0 0 0 6 1 0 0 0 0 1 0 0 7 0 1 0 0 0 1 0 0 фигуры 8 0 1 0 0 0 0 1 0 9 0 1 0 0 0 0 0 1 10 0 0 1 1 0 0 0 0 11 0 0 1 0 1 0 0 0 12 0 0 0 0 1 0 0 1 13 0 0 0 0 0 1 0 1 Мощность расширения носителя |ЛМа| для каждого из покрытий соответ- соответственно равна 3, 3, 3, 3, 3, 4. Следовательно, минимальная сложность L струк- структурного графа Я равна 14 (рис. 5.27,6): L = \Ма\ + |ДЛ/а| = 14. Рассмотрим модель Ф},2', соответствующую второй ТДНФ: Ма = {х\, Х\, Х2, Х2, Хз, Ха, Xi, /l, /2, /3, /4}, p(xi) =p(*i) =p(*2) =p{x2) =р(гз) =p(xt) = p(z5) = 0, .P(/l)=P(/2)=P(/3)=p(/0=l. Мограф GM (рис. 5.28, а), определяющий эту модель, содержит запрещенные 2,4) A,3) О. 4, 7) (б, 7) Рис. 5.28 фигуры следующего вида: Qai = {*e(l, 4), *4A, 3), *8C, 4)}, Явг Э {*вA, 4), *«A, 3), *8C, 4)}, QB3 D {xt(l, 4), «3C, 4)}, Qe< D {*5B, 4), *8C, 4)}, QB5 D {*вA, 4), x,D, 7)}, Qb» D {«4A, 3), z3C, 7)}, Qb* D {*5B, 4), *2B, 5)}. Покрывая семантическую таблицу (табл. 5.10), получаем, что минимальное расширение носителя | ДМ| равно 2. Оно и порождает минимальный структур- Буквы *вA,4) *вB,4) **A,3) гз C,4) гз C,7) *sD,7) *яB,5) Запрещенные фигуры 1 1 0 1 1 0 0 0 2 1 0 1 0 0 0 0 3 1 0 0 1 0 0 0 4 0 1 0 1 0 0 0 5 1 0 0 0 0 1 0 6 0 1 0 0 0 1 0 7 0 0 1 1 0 0 0 8 0 0 1 0 1 0 0 9 0 1 0 0 0 0 1 ный граф (рис. 5.28,6), определяющий данную систему булевых функций F(X). § 5.4. Теоретике-структурная минимизация булевых функций Рассмотрим оптимизирующие функционалы усечения вариан- вариантов, построенные на основании учета структуры запрещенных фи- iyp. Исследуем более подробно процесс приведения произвольного мографа к упорядочиваемому виду. Количество меток каждой вершины и, мографа равно собствен- собственной частоте соответствующей буквы модели, а количество общих Меток для пары вершин и,- и vj (ребра (г, j)) — значению взаим- взаимной частоты соответствующих букв. Следовательно, ребро (i, j) мографа можно характеризовать тремя величинами: /,-, fj и /,_/, где /,- — собственная частота буквы г; fj — собственная частота буквы j; fij — взаимная частота букв г и j (i ф j). Прослеживая процесс образования запрещенных фигур Q\, Qb, Qei замечаем, что чем больше сумма /,- + /,¦ собственных ча- частот букв i и j при данной взаимной частоте /tJ- или чем меньше взаимная частота /,_,- букв i и j при данной сумме их собственных Яастот, тем больше вероятность вхождения букв г, j в подмодели ?ида QA, Qb, Qe- Охарактеризуем каждое ребро (г, j) мографа Ф(/) значением производной от модели, вычисленной на соответствующей паре %кв: д±(. ._ k-Va + h ds{h3)~ /у ' Тогда чем больше значение производной, тем выше степень Неодинакового участия букв в словах; чем больше неоднородность Юграфа, тем больше вероятность образования подмоделей вида if A» Qbi Qe в этой модели, тем более сложный (в смысле числа йементов) синтезируемый граф соответствует этой модели. По- Цому максимальный интервал I функции /, которому соответ- соответствует полный подграф, будем оценивать средним значением рA)
424 Гл. 5. Прикладная теория алгоритмов производной, вычисленной для каждого ребра этого подграфа, т. е. выражением t=l J=l+1 ' * где г — ранг простой импликанты 7 (он равен числу первич- первичных терминов, образующих импликанту). Следовательно, оценка E.1) позволяет синтезировать оптимальные ДНФ булевой функ- функции, учитывая ее теоретико-структурные свойства. Используя оптимизирующий функционал, представленный в виде оценки E.1), приведем приближенный алгоритм теоретико- структурной минимизации булевой функции. 1. Заданную ДНФ функции / определяем в виде матрицы ин- инцидентности Q. 2. Выделяем простые импликанты функции / и записываем их в список I. 3. Строим ядро функции /. Если оно пустое, то переходим к п. 6, в противном случае из списка 7 вычеркиваем элементы ядра и переходим к п. 4. 4. В матрице Q заменяем единичные интервалы функции /, по- покрываемые вычеркнутыми из списка 7 простыми импликантами, на эти простые импликанты. 5. Если любая строка матрицы Q представляет собой простую импликанту, то переходим к п. 8, в противном случае — к п. 6. 6. По матрице Q строим частотную матрицу отношений F = 7. Согласно E.1) оцениваем каждую простую импликанту из списка 7. Выбираем простую импликанту с минимальной оценкой, вычеркиваем ее из списка 7 и переходим к п. 4. 8. Определяем, задаст ли построенная матрица Q тупиковую форму. Если нет, удаляем избыточные простые импликанты. По- Полученная матрица Q задает минимизированную булеву функцию с учетом ее теоретико-структурных свойств. Пример 5.3. Минимизируем с учетом теоретико-структурных свойств бу- булеву функцию /(zi, X2, хз, Xi)\^= VB, 3, 4, 5, 8, 9, 11, 12, 14, 15); на осталь- остальных наборах она равна нулю. 1. Матрица Q имеет вид Xl Xl X2 Х2 Хз Хз Xi xt 110 0 1 110 10 01100101 01100110 10 0 10 10 1 10 0 10 110 10011010 1 0 1 0 С 1 0 1 б о 10 0 1 10 10 11 12 14 15 § 5.4. Теоретико-структурная минимизация булевых функций 425 2. Список / простых импликант булевой функции следующий: 001-, 10О-, 11-0, 010-, -011, 1-11, -100, 10-1, 111- . 3. Функция / имеет ядро, состоящее из обязательных простых импликаит 010-, 001— и 100-. После вычеркивания элементов ядра список / принимает вид -100, 11-0, -011, 1-11, 10-1, 111-. 4. В результате соответствующей замены строк матрица Q принимает вид Х2 Х2 Х4 0 10 110 0 0 0 110 0 10 0 10010100 10 0 110 10 10 0 10 10 1 0 о о о 0 10 001- 010- 100- 11 12 14 15 5. Строки матрицы Q' с четвертой по седьмую не соответствуют простым импликантам, поэтому переходим к п. 6. 6. Частотная матрица отношения F' (F' = (Q')T x Q'), соответствующая Матрице <?', такова: X] 2?l X2 "Х2 Хз Хз Xi x"i 50323222 02111100 31402212 2 10 3 2 110 3 12 2 4 0 2 1 21210301 20112020 20201102 х2 х2. хз хз 7. Оцениваем каждую простую импликаиту из списка, полученного в п. 3. Согласно E.1) имеем jp(-100) = p(x2x3xi) = 1 /4-2- ~ 3-2 V 2 - 2-2+3 4-2-2 + 2 3-2-1 + 2 2 2 р(-011) и 0,91, рA0-1)«1,98, рA-11)йО,58, рA1-0) иО,58, р(Ш-) « 0,67. раем простую импликанту 11 — 0 и переходим к п. 4. w 4. В матрице Q' заменяем конституенты единицы функции /, покрываемые Ямпликантой 11—0, на эту простую импликанту. В результате получаем матрицу Ху х\ Х2 Х2 Хз 0 0 1 1 1 1 1 1 0 0 0 0 0 1 0 1 0 1 1 0 1 0 1 0 1 0 0 0 1 1 0 1 1 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 001- 010- 100- 11-0 11 15 Q" = 5. Матрица Q содержит конституенты единицы функции, не являющиеся Вростыми импликантами. Переходим к п. 6.
426 Гл. 5. Прикладная теория алгоритмов 6. Частотная матрица отношении F", соответствующая Q", имеет вид 110 0 1111 XI 12 Х2 *3 Х3 Xt 4022212 0 2 11 2 13 0 2 2 1 2 1 11 0 2 10 3 2 112 3 1110200 0112020 0100001 ху XI Х2 х2. хз 7. По формуле E.1) оцениваем простые импликанты из списка 7, покрываю- покрывающие оставшиеся конституенты единицы функции /. Имеем р(-011)«0,75, рA-11) « 0,5,' рA0-1)ю 0,91, р(Ш-) « 1,16. Выбираем простую импликанту 1 — 11 и переходим к п. 4. 4. После соответствующей замены строк, получаем матрицу Q'" = XI XI Х2 Х2 Хз Хз *4 S 01011000 0 110 0 10 0 10010100 10100001 10 0 0 10 10 001- 010- 100-1 11-0 1-11 5. Любая строка матрицы Q'" соответствует простой импликанте. Переходим к п. 8. 8. Матрица Q'" задает булеву функцию /, минимизированную с учетом ее теоретико-структурных свойств. Используя метод семантического эквивалентироваиия, установим, насколько удалена полученная ТДНФ функции /(*i, х%, Хз, х*) от ТДНФ функции /, соот- соответствующей минимальному структурному графу. Найдем все тупиковые ДНФ функции /. Для этого построим импликаитную таблицу и определим ее покры- покрытия. Каждую ТДНФ функции / задаем в виде мографа. Выделим запрещенные фигуры типов А и Б и построим семантические таблицы. Затем найдем и оце- оценим их покрытия. В результате окажется, что тупиковая ДНФ, полученная с помощью предложенного алгоритма минимизации, свободного от перебора всех тупиковых ДНФ, соответствует абсолютно минимальному решению. Рассмотрим теоретико-структурную минимизацию системы бу- булевых функций F(X). В этом случае каждой многовыходной про- простой импликанте, как и простой импликанте при минимизации одной булевой функции, соответствует полный подграф, вершины которого взвешены идентификатором этой МПИ в мографе GM'. Учет распределения запрещенных фигур в рассматриваемом слу- случае может быть оценен выражением E.1). При этом производные вычисляют только для дуг, соединяющих вершины, взвешенные буквами тп,- и nij, для которых p(mt-) = p(mj) = 0. Для простоты опустим в выражении E.1) постоянную частотную составляющую и будем оценивать МПИ по формуле м § 5.4. Теоретико-структурная минимизация булевых функций 427 Предложим следующую процедуру минимизации системы бу- булевых функций с учетом их теоретико-структурных свойств, осно- основанную на применении оптимизирующего функционала. 1. Задаем систему булевых функций множествами М/, М,°. При этом . . A на элементах (О на элементах М°. 2. Находим одним из известных способов все МПИ булевых функций и заносим их в список 7. 3. Строим матрицу Q, каждому столбцу которой соответствует Первичный терм, строке — конституента единицы (импликанта) /функции fi(X) € F(X) и Г 1, если Xk входит в 1-ю конституенту (импликанту), \ 0 в противном случае. 4. Определяем обязательные МПИ в списке 7. Если они име- имеются, то переходим к п. 5, вычеркивая обязательные импликанты из списка 7. В противном случае переходим к п. 7. 5. Корректируем матрицу Q, заменяя конституенты единицы, Покрываемые вычеркнутыми МПИ, этими МПИ. 6. Если любая строка матрицы Q представляет собой МПИ, то переходим к п. 9, в Противном случае — к п. 7. 7. По матрице Q строим частотную матрицу отношений F = QTXQ. Таблица 5.11 8. Оцениваем каждую МПИ, вычисляя значение сA). Выбираем МПИ с Минимальным значением *мииС0- Выбранную МПИ вычеркиваем из списка 7 'л переходим к п. 5. 9. Устраняем избыточ- избыточность строк в матрице Q. Матрица Q задает мини- минимизированную систему рулевых функций F(X) с учетом теоретико-струк- теоретико-структурных свойств. Пример 5.4. Задана система булевых функций F(X) = {/i(X), /2(Х), (табл. 5.11). X* 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 Хз 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 Х2 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 Х\ 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 h 1 0 0 1 1 0 0 1 1 1 0 1 1 1 0 1 h 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 0 h 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1
428 Гл.5. Прикладная теория алгоритмов § 5.5. Характеризация разложения графа переходов 429 /, =00— U = -01- h = 1—О /,о = 1—1- /,з = 1-11 /,6 = 1-10 /,9 = -100 1,3), /,. = 1-00 1,3), /21 = 1100 1,3, 1,3, 1,2), 1,2,3). 2. Список / многовыходных простых импликант системы F(x) следующий: 3 , h =0-0 3), /з = 00 1), 3 , /5 = -Ю- 3), /в = 1-0- 1), 2 , /в = 11 1), Л =1 1 3 , /и = 11 3), 1x2 = 11-1 /,4 = 11-0 2,3), /,т = -011 1,3), /20=0-00 В скобках указаны номера функций, рабочие точки которых покрывает со- соответствующий интервал. 3. Составляем матрицу Q, в которой каждая иояституента единицы повто- повторяется столько раз, сколько она входит в булевы функции. 4. Обязательной МПИ является импликаита I». 5. Заменяем в матрице Q строки ООН, 0111, 1011, 1111, соответствующие конституентам булевой функции /i, на многовыходную простую импликанту h. В результате получаем матрицу Х4 Э?4 Хз Хз Х2 Х2 Х\ Х\ 10 10 10 10 10 10 10 10 10 10 10 0 1 10 10 0 110 10 10 0 10 1 10011010 10 0 110 10 0 0 110 0 1 0 110 10 10 0 110 10 10 01101001 01100110 01100110 01100101 о о 5. В матрице Q*1*- заменяемконституенты единицы, покрытые импликантой /з, этой импликаитой. В результате получаем матрицу п. 7. 0 10 110 1 01011010 01011010 0 10 110 0 1 0 10 110 0 1 0 10 10 110 01010110 0 10 10 10 00000101 6. Строки матрицы с первой по последнюю ие являются МПИ. Переходим к 1 1 1 1 1 1 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 1 1 1 1 1 1 0 0 1 1 1 1 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 1 1 1 1 1 1 0 0 1 1 0 0 1 1 1 1 0 0 0 1 1 1 1 0 0 0 0 1 0 0 1 1 0 0 0 0 1 1 1 0 0 0 0 1 1 1 1 0 1 0 1 0 1 0 1 0 1 1 0 1 1 0 0 1 1 0 0 1 0 1 0 1 0 1 0 1 0 0 1 0 0 1 1 0 0 1 1 0 7. Частотная матрица отношений имеет вид *1 Xl Xj X2 хз Хз 9 0 4 5 4 4 О 14 5 9 7 7 4 5 9 0 3 5 5 9 0 14 8 6 4 7 3 8 11 О 4 7 5 6 0 11 9 6 8 8 6 3 5 3 6 5 5 9 5 6 3 8 6 8 3 6 5 14 О О 8 ху х\ Х2 хз 8. Оцениваем каждую МПИ, вычисляя значение с(/). Для импликаиты /з = = 00 эта оценка минимальна и равна 1,55. Выбираем /з = —00 и переходим к п. 5. 6. Матрица Q'2' содержит строки, ие являющиеся МПИ. Переходим к п. 7 и т. д. В результате получена матрица S, Х\ Х2 Х2 ХЗ Хз Х+ г4 10 0 0 0 0 1 0 111 0 0 0 0 10 10 0 10 0 10 0 0 0 10 0 0 0 10' 10 0 0 10 0 0 0 0 10 0 10 0 О 1 О 1 О О 0 0|| которая соответствует решению F(X) = X\X2J\ V XlX2fi V X2X*fi V 11*4/2 V X2Xif3 V Z2Z3/3 V Z3Z4/3. Определим удаленность полученного решения от минимального. Для этого зададим каждую ТДНФ этой системы мографом и определим распределение запрещенных фигур. Семантически эквивалентируя полученные мографы мо- графами, интерпретируемыми в категориях структурных графов, получаем, что синтезированная ТДНФ системы булевых функций г(Х) без перебора всех экви- эквивалентных ТДНФ соответствует абсолютно минимальному решению. § 5.5. Характеризация разложения графа переходов в частичное декартово произведение Сложность и надежность автомата во многом определяются кодами внутренних состояний. Одной из актуальных является задача минимизации связей между элементами памяти. Будем считать два элемента памяти несвязными, если функция возбуж- возбуждения одного из них не зависит от состояния другого элемента памяти, и наоборот. В случае несвязности элемента памяти со всеми остальными элементами его функция возбуждения опреде-
430 Гл.5. Прикладная теория алгоритмов ляется состоянием этого элемента и входным вектором: <Pi = 4>i(zf, X). Будем характеризовать память автомата ее связностью в t=i где s — общее количество элементов памяти; а,- — количество элементов памяти, отличных от t-ro элемента, значения которых необходимы для вычисления функции возбуждения г-го элемента памяти. Значение связности памяти 5, равное нулю, означает, что эле- элементы памяти функционально несвязны и функция возбуждения любого элемента памяти определяется его значением и входным вектором. Рассмотрим задачу разложения произвольного графа переходов в частичное декартово произведение п функционально не связан- связанных друг с другом сомножителей, каждый из которых соответ- соответствует подавтомату. Функциональная связность между блоками возникает при на- нарушении детерминированности хотя бы в одном из графов перехо- переходов G{. Для описания ситуаций нарушения детерминированности введем граф сцепления Ссц, каждой вершине которого взаимно од- однозначно соответствует внутреннее состояние автомата, ребру — пара сцепленных состояний, причем каждое ребро взвешено вход- входными векторами, которые сцепляют соответствующие состояния автомата. Два состояния, Sa и Sp, называются сцепленными вектором Xi, если найдутся: набор Xi, который переводит состояние Sa в 57 (Sa —^ 57), и набор Xj [X{ С Xj), который переводит Sp в 5,$ у (Sp —'-* Si), такие, что 57 ф S$ и Eа, 57) и (Sp, S$) не образуют петли одновременно. Состояние графа переходов G = (V, (U, X)) после его разложе- разложения в частичное декартово произведение можно охарактеризовать вектором, г-му разряду которого соответ- соответствует состояние г-го подавтомата. При разложении каждый подав- подавтомат характеризуется допустимым количеством состояний |Vj|. Очевидно, что Сцепленным состояниям должны соответствовать векторы, от- отличные друг от друга в каждом разряде. В противном случае, если § 5.5. Характеризация разложения графа переходов 431 в j-u разряде векторы сцепленных состояний совпадают, то при подаче на вход автомата вектора X, по которому они сцеплены, в общем случае будет нарушена детерминированность перехода в этом подавтомате. Следовательно, построение абстрактной парал- параллельной декомпозиции автомата сводится к многокомпонентной раскраске (мультираскраске) графа сцепления, при которой смеж- смежным вершинам сопоставляют спектры красок, отличные друг от друга в каждой компоненте. Разложение графа переходов в частичное декартово произведе- произведение не выводит результирующий граф из класса графов перехода. Запрещенными фигурами этой семантики являются квазиполные графы. Теорема 5.4. Если граф сцепления, построенный для каж- каждого из подавтоматов, не содержит квазиполного графа ква- квазиплотности q+1, то соответствующий автомат разложим (декомпозируем) в частичное декартово произведение функ- функционально не связанных между собой сомножителей — под- подавтоматов, число состояний каждого из которых не превы- превышает q. Таким образом, квазиполные графы — запрещенные фигуры, характеризующие достаточное условие функциональной несвязно- несвязности подавтоматов при поиске параллельной декомпозиции управ- управляющего автомата. В дальнейшем этот класс запрещенных фигур будем обозначать фж. При этом граф сцепления для первого рас- рассматриваемого подавтомата представляет собой граф сцепления, построенный по графу переходов согласно его определению. Граф сцепления t-ro подавтомата представляет собой граф сцепления первого подавтомата, в который добавлены ребра, соединяющие вершины с одинаковым спектром красок. Добавление этих ребер необходимо для однозначной идентификации состояний автомата. Рассмотрим построение абстрактной параллельной декомпози- декомпозиции автомата на основе найденной семантики на следующем при- примере. Автомат имеет три входных канала. Граф переходов изображен на рис. 5.29, а. Входные векторы обозначены десятичными эквивалентами соответ- соответствующих двоичных наборов. Найдем параллельную декомпозицию автомата в виде двух автоматов с числом внутренних состояний соответственно 3 н 4. Граф сцепления первого подавтомата приведен на рнс. 5.30, а. Он не со- содержит запрещенных фигур; следовательно, возможна раскраска тремя цветами: {0, 1, 2}. Каждый цвет соответствует состоянию первого подавтомата. Построим его граф переходов Gi = (Vj, (Ui, X)). В результате раскраски графа Gco мно- множество состояний исходного автомата разбивается иа три соцветных множества, каждое из которых соответствует состоянию первого подавтомата. Обозначим их соответственно 5(о, S'n, S'n- Имеем {54, 5s, S9, 5ц} = Si0, {S2, S«, St, Sio) = 5ц, {Si, S3, Sy, S12} = Sl2. Отсюда условиями перехода 4>,-*j из состояния S'n в состояние S[j (i, j = О, 1, 2) первого блока являются условия перехода из состояния Sa € S'n в состояние
432 Гл. 5. Прикладная теория алгоритмов S/з € 5{,', определяемые исходным графом переходов: ifio-to = 0, <рО-»1 = 1 V 5, <ро-»2 = 2 V 3 V 4, Vi_n=3V5, Vi_»o=2v5, <Pi-»2=4V7, V2-»2=1V3V5, V2-»0=6, (P2-»1=OV5. Граф сцепления, соответствующий второму блоку, изображен на рис. 5.30, б. Он не содержит запрещенных фигур; следовательно, исходный автомат реали- реализуем в виде параллельно работающих функционально несвязных подавтоматов. Рис. 5.29 Рис. 5.30 Раскраска второго графа сцепления разбивает множество состояний исходного автомата на следующие четыре множества: 5го = {Si, S\o, 5ц},' 5г1 = {55, 5в, 5г}, 5гг = {5г, 5з, 54}, 5гз = {5g, S9, S12}. Функции перехода для состояний второго подавтомата имеют следующий вид: ifio-ю = 2, vo-»2 = 0, ч>о-*з = 3, <pi_n = 1 V 7, V1-+0 = 3, V0-+2 = 4, v>i_»3 = 5, V2-+2 = 4 V 6, V2-»o = 2 V 5, <fi3-n = 0 V 7, v>3_»3 = 6, <рз-ю = 2 V 5, <fi3-n. = 7, v>3-»2 = 4. § 5.5. Харайтеризация разложения графа переходов 433 Разложение заданного графа переходов иа функционально несвязные сомно- сомножители приведены на рис. 5.29, б. Построим абстрактную декомпозицию автомата, используя семантику разложения графа переходов в произведение сомножи- сомножителей. Пусть задан граф переходов G (рис. 5.31, а), который необ- л Рис. 5.31 ходимо разложить в произведение G = G\ X G2, где Gi и G2 — графы переходов, мощность носителя каждого из которых не пре- превышает 3. Построим граф сцепления Gm и произведем его раскраску по первой компоненте (рис. 5.31,6). Для этого выделим все пустые подграфы {52, 54, 56}, {53, 54}, {Si, 56}, {Si, S3, 55}, {Si, S2, S7}, {S2, 55}, {52, S6, Sa}, {S7, 58} графа сцепления. Таблица 5.12 Носители пустых подграфов {Si,St,S,} {5,,5з,55} {SuSe} {52,54,5»} {5г, 5e, 5g} {52,55} {5з,54} {57,5в} Вершины 5, 1 1 1 0 0 0 0 0 52 0 0 0 1 1 1 0 0 5з 0 1 0 0 0 0 1 0 56 0 0 1 1 1 0 0 0 55 1 1 0 0 0 1 0 0 54 0 0 0 1 0 0 1 0 58 0 0 0 0 1 0 0 1 57 1 0 0 0 0 0 0 1 Покрываем столбцы строками таблицы (табл. 5.12), в которой каждой строке взаимно однозначно соответствует пустой подграф, столбцу — вершина, а на пересечении г-й строки и jf-ro столбца стоит 1, если j-н вершина содержится в носителе г'-го пустого подграфа, и 0 в противном случае. Число допустимых состоя- состояний графа Gi ие превышает 3; следовательно, мощность покры- покрытия этой таблицы также не должна быть больше 3. Запрещенных фигур по первой компоненте (квазиполных графов квазиплотнос-
434 Гл. 5. Прикладная теория алгоритмов ти 4) граф сцепления не содержит; следовательно, такие покры- покрытия существуют, поскольку хроматическое число графа равно его квазиплотности. Эти покрытия имеют следующий вид: j, 54, 56}, {Si, 53, 55}, {57, 58}}, 54, 57}, {52, 56, 58}, {53, 54}}. Для определенности выберем первое покрытие. Ему соответ- соответствуют раскраска графа сцепления, представленная на рис. 5.32, а. Согласно этой раскраске функции переходов <pijk, где t — номер о 1 Рис. 5.32 компоненты разложения, j — состояние (краска), из которого осуществляется переход, к — состояние (краска), в которое осу- осуществляется переход первого сомножителя графа переходов Gi, имеют следующий вид: = OV1, <?ioi = 2V3V4V5v6, <?io2 = 9V10, = 1V3V7V8VO, <pm = 5V10, <рц2 = 4 V 9, Pi20 = 6, (pin = 2 V 5 V 7, «^122 = 8. Для того чтобы произведение графов удовлетворяло условию автоматности, перед раскраской графа сцепления по второй ком- компоненте необходимо соединить ребрами вершины, соцветные по первой компоненте (рис. 5.32, б). Чтобы установить, содержит § 5.5. Характеризация разложения графа переходов 435 ли полученный граф (рис. 5.32, в) запрещенные фигуры, выде- выделим полные подграфы плотности 4. Опять воспользуемся при- приведенным выше алгоритмом, который модифицируем так, чтобы в ярусе располагались несмежные вершины, причем взвешивались вершинами, смежными с ними. Пути, длина которых меньше 4, обрываем (рис. 5.32,г). Кроме выделенных полных подграфов плотности 4, носители которых имеют соответственно вид {S\, S3, S5, Ss}, {Si, S4, Ss, Ss}, {S2, S3, 5б, 57}, {52, 54, 56, 57}, граф сцепления при рас- раскраске по второй компоненте содержит еще шесть запрещенных фигур — квазиполных графов квазиплотности 4 (рис. 5.33). Таблица 5.13 Ребра {5i,54} {SuS,} {SuSt} {54,5,} {54,55} {S^S,} {52) S7} {52,5,} {52,56} {5з,5т} {56,5Т} {S3,St} {52, 54} {S3,St} {S3,S,} {S^S,} {54,5T} {5i,5,} {5t,5,} {5i,52} {54,5,} 1 1 1 1 1 1 0 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 0 0 0 0 0 . 0 0 0 Квазиполные 1 1 0 1 1 1 1 0 1 0 0 1 1 0 1 1 1 1 1 0 0 0 0 1 1 0 0 0 0 1 1 1 1 1 1 0 0 1 1 1 1 0 графы 1 1 0 0 1 0 1 1 0 0 1 1 0 0 1 1 1 1 0 1 0 квазиплотности 4 0 1 0 0 1 1 1 1 0 1 0 0 1 1 0 0 1 1 1 1 0 1 0 0 0 0 0 1 1 1 0 1 1 1 0 0 0 1 1 0 1 0 1 0 1 0 0 0 0 1 1 0 1 1 1 1 0 0 1 1 1 1 0 0 0 0 0 0 0 1 0 1 0 1 0 1 0 0 0 1 0 0 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 Построим семантическую таблицу (табл. 5.13). Каждой ее стро- строке взаимно однозначно соответствует ребро запрещенной фигуры, столбцу — запрещенная фигура и /• -\_/1) если i-e ребро содержится в j-й фигуре, V*) 3) — у о в противном случае. Третья и седьмая строки образуют минимальное покрытие. Следовательно, при удалении из графа сцепления соответствую- соответствующих им ребер {Si, S$} и {52, S7} возможна раскраска графа тремя цветами (см. рис. 5.32,6). В результате получаем двухкомпонент-
436 Гл. 5. Прикладная теория алгоритмов ную раскраску графа сцепления (см. рис. 5.32, а,б): Si —A,1), S2 —@,0), S3 —A,2), S4 —@,2), S5-(l,0), Se-@,l), S7-B,0), S8-B,1). Удаление ребер {Si, Se} и {S2, S7} означает, что состояния Si и S$ исходного графа переходов не должны быть сцеплены вход- входным вектором 8 (см. рис. 5.32, а), а состояния S2 и S7 — вектором 2. Для расцепления этих векторов введем в соответствующих че- Рис. 5.33 тырех переходах дополнительные разряды, по которым эти век- векторы будут отличаться. Это возможно осуществить, используя связи между компонентами (в данном случае состояние первой компоненты) либо организуя специальный развязывающий блок памяти. В первой компоненте спектра состояниям Si и S$ сопоставлены соответственно краски 1 и 2. Для расцепления этих состояний вектор 8, взвешивающий переход из состояния Si, расширяем до вектора 8' = 8-Sn; вектор 8, взвешивающий переход из состояния Se, расширяем до вектора 8" = 8 • Si2, где Sn, S12 — значения разрядов, в которых отличаются коды красок 1 к 2 первой компо- компоненты спектра (рис. 5.34, а). Для расцепления состояний S2 и S7 соответственно имеем 2' = 2 • Sio, 2" = 2 ¦ S12. Специальный блок памяти в данном случае представляет один элемент памяти а (рис. 5.34,6), в котором одно из состояний (на- (например, нулевое) сопоставляется состояниям Si и S2, другое — состояниям Sg и S7. В этом случае 8' = 8а, 8" = 8а, 2' = 2а, 2" — 2а. Значение специального развязывающего блока памяти § 5.5. Характериэация разложения графа переходов 437 фиксируется при переходе в состояние, однозначность выхода из которого определяется состоянием этого блока. "t Память! ] Логика! 1 Логика III Шамять lit Шамять! Логика! Р -Д Логика II \ И Память!^ Рнс. 5.34 В результате получаем следующие функции возбуждения графа переходов, определяющего второй сомножитель разложения: «Р200 = 1 V 6 V 10, «Р201 = 2' V 7 V 9, <р2о2 = 2" V 3 V 8, ?521О = 0 V 5 V 8" V 9, <р2п = 6, ip2u = 3 V 4 V 8', ^220 = 7, • <?221 = 1 V 4 V 6, <?222 = 0 V 5. Полученная абстрактная параллельная декомпозиция заданно- заданного автомата со связными сомножителями приведена на рис. 5.35. Рис. 5.35
438 Гл. 5. Прикладная теория алгоритмов Для выяснения, возможно ли разложение рассматриваемого автомата и частичное декартово произведение несвязных между собой сомножителей, рассмотрим раскраску графа сцепления с уче- учетом характера переходов сцепленных состояний. Такой учет по- позволяет не принимать во внимание связь в графе сцепления, если из соответствующих сцепленных состояний переход осуществля- осуществляется в соцветные вершины. Следовательно, перед расширением входного вектора для расцепления внутренних состояний необхо- необходимо проверить возможность устранения этой связи одинаковой раскраской тех состояний, в которые сцепленные состояния пере- переходят. Построим таблицу переходов заданного автомата (табл. 5.14), каждой строке которой взаимно однозначно соответствует значе- значение входного вектора, столбцу —- внутреннее состояние, а в клетке (г, j) таблицы находится идентификатор внутреннего состояния, в которое автомат переходит из j-ro состояния под воздействием г-го входного вектора. Таблица 5.14 Xi 0 1 2 3 4 5 6 7 8 9 10 Si 52 54 54 52 52 5, 5з 5з 56 53 52 54 54 5з Si 58 55 54 5. 55 56 5з Si 5т 57 5з 52 Si 5т 5« 55 Несвязное разложение имеет место, если (согласно покрытию семантической таблицы) связность пар {Si, Ss} и {5г, S7} не учи- учитывается из-за возможностей соцветности пар вершин {54, S7} и {S\, S3}. Состояния 54 и 57 сцеплены, и чтобы они были со- цветны, необходима соцветность вершин 5i и 5г, в которые эти со- состояния переходят. Соцветия Si, S2 сцеплены, и чтобы они были соцветны, необходима соцветность вершин 5з и 54- Состояния 5з, 54 не сцеплены, следовательно, могут быть соцветны. Раскра- Раскрашиваем вершины 5з, 54 в один цвет. Тогда согласно свойству транзитивности отношения соцветности получаем, что каждое из подмножеств Ко - {Si, 52, 58}, Ki = {53, 54, 57}, К2 = {55, 56} состоит из соцветных вершин. При найденной раскраске графа сцепления второй компоненты разложения состояния 5г, 57 являются несоцветными. Следова- Следовательно, и второе противоречие, обуславливающее недетерминиро- §5.6. Семантическое ослабление функциональной связности 439 ванность графа переходов второго сомножителя, также устранено. Окончательно получаем следующие функции возбуждения второй компоненты разложения: <f200 = О V 1 V 2, <р201 = 3 V 8, 1Р202 = 5, у>210 = 6 V 7 V 10, чьи = О V 2 V 5, 95212 = 1, ip220 = 6 V 9, <?221 = 4 V 8, <?222 = Ю. Таким образом, имеем несвязное разложение заданного авто- автомата, определяемое полученными системами и двухкомпоиеитной раскраской вида Si —A,0), S4 —@,1), 57-B, 1), S2 —@,0), 55-A,2), 58-B,0), 53 — A, 1), 5б-@,2). В общем случае для построения параллельной абстрактной де- декомпозиции абсолютно минимальной связности необходимо оценить каждую раскраску по первой компоненте раскрасками по второй и выбрать многокомпонентную раскраску, удовлетворяю- удовлетворяющую заданным количествам вершин графов сомножителей и их условиям связности. Разложение графа переходов на п компонент аналогично. § 5.6. Семантическое ослабление функциональной связности памяти автомата Рассмотрим предельную параллельную абстрактную декомпо- декомпозицию автоматов, когда подавтоматом является элемент памяти. Семантика этой декомпозиции будет семантикой функциональной связности элементов памяти. С учетом структуры квазиполных графов и двузначности булевой логики рефлексивная семантика функциональной связности элементов памяти автомата определя- определяется следующим утверждением. Теорема 5.5. Графы сцепления, не содержащие циклов не- нечетной длины, определяют кодирование, при котором элемен- элементы памяти функционально несвязны. Этот критерий позволяет последовательно определять значения разрядов в кодах внутренних состояний аналогично тому, как это делалось при поиске параллельной абстрактной декомпозиции. Рассмотрим семантическое кодирование внутренних состоя- состояний автомата, заданного графом переходов G (см. рис. 5.29,а). Граф сцепления Gcai для первой внутренней переменной Zi, пред- представленный на рис. 5.23, а, не содержит запрещенных фигур — циклов нечетной длины. Кодирование по первой переменной Zi заключается в раскраске двумя цветами, 0 и 1, вершин графа сцеп- сцепления GCux (рис. 5.36, а). Строим граф сцепления Gcia для второй переменной Zi, Для чего соединяем ребром соцветные вершины графа сцепления (рис. 5.36, б).
440 Гл. 5. Прикладная теория алгоритмов Запрещенными фигурами в графе ССЦ2 будут циклы нечетной длины, содержащие один путь, составленный из ребер графа (-гСц1- Циклы нечетной длины, не содержащие таких ребер, не являются запрещенными фигурами, так как эта цикличность образовалась Рис! 5.36 из-за условия однозначного кодирования состояний, а не из-за условия недетерминированности переходов. Запрещенными фигурами в графе Gctl2 являются циклы нечет- нечетной длины с носителями: 4,5ю}, ^жз & {Si, 5e> 5ц}, джз & {52,55,57}, {^г, 57, {5i, S4, Запрещенные фигуры фж,- позволяют последовательным коди- кодированием минимизировать функциональную связность элементов памяти. Рассмотрим другой, более быстрый (параллельный) способ определения минимально связных кодов внутренних состояний, для чего введем понятие предквазиполных графов квазиплотности К + 1. Граф Q3 называется предкеазиполным графом квазиплотно- квазиплотности К + 1, если после раскраски его в х цветов и соединения одноцветных вершин он преобразуется в квазиполный граф ква- квазиплотности К + 1', при этом К + х является минимальной ве- величиной при различных раскрасках G3 и это преобразование не выполняется при удалении из G3 хотя бы одного ребра. Теорема 5.6. Запрещенной фигурой функциональной не- несвязности элементов памяти является предквазиполный граф квазиплотности К + 1 в графе сцепления (К — значность логики, в которой описывается поведение автомата). Для случая булевой логики запрещенной фигурой является цепь длины 2, обозначим ее Q3. § 5.6. Семантическое ослабление функциональной связности 441 Рассмотрим кодирование внутренних состояний автомата на основе использования найденных запрещенных фигур <5Ж и Q3, которые соответствуют последовательному и параллельному мето- методам кодирования. Последовательный метод проиллюстрируем кодированием гра- графа переходов G, представленного на рис. 5.29, а. Выше было най- найдено кодирование по внутренней переменной z\. Для определе- определения кодов по второй переменной строим семантическую таблицу. Столбцам первой подтаблицы взаимно однозначно соответствуют запрещенные фигуры — циклы нечетной длины, строкам — пара сцепленных состояний (ребро графа сцепления GC4i) и на пересе- пересечении (г, j) ставится 1, если t-e ребро входит в j-й цикл, 0 — в противном случае. Представим эту подтаблицу в виде следующей матрицы: Q Я Qac3 <3ж4 <3ж5 <?жв <3ж7 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 t-H 1 0 0 t-H 0 0 0 0 0 1 1 0 t-H 0 0 0 0 0 1 1 1 0 0 0 0 1 {Su {Si, {5e, {52, {sl\ {Sio Si} Sio} 5e} Su}. 5S} 57} ,Sn} Минимальным покрытием является {{54,5ю}, {Si, Se}, {S2,57}}. Строкам второй подтаблицы взаимно однозначно соответству- соответствуют пары сцепленных состояний, столбцам — входные векторы, которыми они сцеплены, и на пересечении (г, j) ставится 1, если t-я пара сцеплена j-u входным вектором, и 0 в противном случае. Представим эту подтаблицу в виде следующей матрицы: 1 1 0 0 0 0 0 0 0 2 0 0 0 0 t-H 0 0 0 3 0 1 0 0 0 0 0 t-H 4 0 0 1 t-H 0 0 0 0 5 0 0 0 0 0 1 1 0 {Si, {Si, {Si, {5e, {5,, {52, {57, {Sio Si} 5ю} St} Su} Si} 5t} 59} Покрытие {{54, 5ю}, {Si, Si}, {S2, S7}} столбцами элементов покрытия первой подтаблицы указывает, какие входные векторы необходимо расширить для устранения недетерминированности при кодировании внутренних состояний по второй переменной. Такими входными векторами являются 2, 3, 5. После их расшире- расширения, которое отметим штриховкой, исходный граф сцепления Gcu\
442 Гл.5. Прикладная теория алгоритмов преобразуется в граф, представленный на рис. 5.37, а. Раскраши- Раскрашивая этот граф двумя цветами, кодируем состояния по второй пе- переменной (рис. 5.37, а). После соединения ребром вершин, имею- 0110 1010 Рис. 5.37 щих одинаковые спектры красок, запрещенные фигуры в данном случае образоваться не могут. Следовательно, существует коди- кодирование по третьей и четвертой переменным z3, «4 (рис. 5.37,6). Окончательно коды с минимальной функциональной связностью элементов памяти имеют следующий вид: 5i — 0001, 52 — ОНО, S3 — 0010, 54 — 1110, 55 — 1001, S6 — 1010, 57 — 1100, 58 — 1101, 59 — ООП, Sio — 0111, 5ц — 0101, Su — Ю00. Построим функции возбуждения элементов памяти (для опре- определенности — триггеров с раздельными входами) с соответствую- соответствующей минимальной функциональной связностью. Разбиение всего множества внутренних состояний на два под- подмножества согласно значениям внутренних переменных сведем в табл. 5.15. Таблица 5.15 i 1 2 3 4 s, s, s, s2 s2, ,s3 Ss, ,s3 zf =0 ceo оз, >3g, 3i , Ss, Se, S с с с , S4 , Se, S o,Sn ),Si2 i,Su r,Si2> S4 s2 Si s, ,s$, со" ,S3, 5s, *,* Se S7, S4 со" = 1 , S7, Sg, Sg, Sio , Se, S9, S9,Slo s» ^11 Sio Sn Согласно построенной таблице функции возбуждения единич- единичных входов имеют вид V §5.6. Семантическое ослабление функциональной связности 443 ^12(-^\ Z2 , Z-y ) = Z; у>1з(Х, гз — /¦ (X1X2X h) = z + 4 = П r3 V X1X2X3 (xiXjXaVa (X!X2X3 V I V X1X2X3 V XiX; C1X2X3 V XiX2X3 CiX2X3 V XiX2X3 >.*; V V Зг^" Vxix2x3), XlX2X3), XlX2X3). Функции возбуждения нулевых входов имеют вид <P0l(X, Z*) = Zj (x"iX2X*3 V Х1ХХ"з V Х'хХгХз V ; <Р02(Х, zj, Z?) - = zf(xix2x3 V Х1Х2Х3 V xix2x3zf V Х1Х2Х3 V xix2x3), <fo3{X, z$ ) = z$ (X1X2X3 V Х1Х2Х3 V Х1Х2Х3), <Р04^Х, Z4) = Z4 [XiX2X3 V X1X2X3 V Х1Х*2Х"з V Х"^хХз). Введем понятие противоположных кодов. Два кода называ- называются противоположными, если они отличны в каждом разряде. Очевидно, что если сцепленным состояниям соответствуют противоположные коды, то элементы памяти являются функ- функционально несвязными. Рассмотрим противоположное кодирование на следующих при- примерах. Пусть граф переходов G задан своей таблицей переходов (табл. 5.16), каждой строке которой взаимно однозначно соответ- соответствует входной вектор Х{, столб- столбцу — внутреннее состояние Sj и в клетке (t, j) указывается вну- внутреннее состояние, в которое ав- автомат переходит при входном воздействии Xi из состояния Sj. Внутренние состояния Si, S2; S2, S5; S3, S5; S3, Sq; S5, Sq и S4, Se сцеплены соответственно входными векторами 1, 1, 3, 4, 4 и 2. Матрица смежности графа сцепления для заданного случая имеет вид, представленный в табл. 5.17. Клетка (t, j) таблицы содержит значения входных век- векторов, которыми соответствующие состояния сцеплены. Таблица 5.17 Xi 0 1 2 3 4 Si s2 s, s2 s2 S3 S3 s2 Se Ss Таблица Si s, Ss Si S4 Ss 5.16 Se Ss S4 Внутренние состояния sa S3 S4 s5 s6 s, 1 st 1 1 S3 3 4 S4 2 ss 1 3 4 s« 4 2 4
444 Гл. 5. Прикладная теория алгоритмов Строим семантическую таблицу, состоящую из двух подтаблиц. Столбцам первой подтаблицы взаимно однозначно соответствуют запрещенные фигуры Q3 — пути длины 2 графа сцепления, стро- строкам — ребра и в клетке (г, j) стоит 1, если i-e ребро содержится в j-u пути, и 0 в противном случае. Строкам второй подтаблицы вза- взаимно однозначно соответствуют ребра, столбцам — входные век- векторы, взвешивающие эти ребра, и в клетке (г, j) стоит 1, если j-й входной вектор взвешивает t-e ребро, и 0 в противном случае. Для устранения недетерминированности переходов необходимо расширить входные векторы, вошедшие в покрытие семантиче- семантической таблицы. Для этого необходимо покрыть столбцы строками в первой подтаблице и найденное покрытие покрыть столбцами во второй подтаблице. Таблица 5.18 Q3i 1 1 0 0 0 0 Q32 0 1 0 1 0 0 Q33 0 1 1 0 0 0 Q34 0 0 1 1 0 0 Q3S 0 0 1 0 1 0 <?36 0 0 0 1 1 0 Q37 0 0 0 1 0 1 Озв 0 0 0 0 1 1 Ребра {Si,S2} {&,&} {53,5S} {SitS6} S3,St\ S<,Se) 1 1 1 0 0 0 0 2 0 0 0 0 0 1 3 0 0 1 0 0 0 4 0 0 0 1 1 0 Для рассматриваемого примера семантическая таблица (табл. 5.18) содержит запрещенные фигуры, имеющие следующий вид: Q3i = {{Si, S2}, {S2, 55}}, Q32 = {{S2, S5}, {55, 56}}, <?эз = {{52, 55}, {55, 53}}, Q34 = {{S3, S5}, {55, 56}}, <?з5 = {{S5, 5з}, {S3, 56}}, Q36 = {{55, 56}, {53, 56}}, <?з7 = {{S5, Seh {S6, 54}}, Q* = {{53, 56}, {56, 54}}. В данном случае покрытие цервой подтаблицы образуют вто- вторая, четвертая и пятая строки; покрытие этих строк во второй подтаблице образуют первый и четвертый столбцы. Следовательно, для противоположного кодирования внутренних состояний необ- необходимо на графе сцепления удалить ребра {52, 5s}, {5s, Se}, {S3, 5б}. После такого сужения сигнатуры графа сцепления он не со- содержит запрещенных фигур и, следовательно, возможно противо- противоположное кодирование: Si — Oil, S2 — 100, S3 — 101, S4 — 001, 55 — 010, S6 — ПО. Ребра из графа сцепления удаляются путем расцепления соот- соответствующих внутренних состояний расширением сцепляющего их входного вектора. Расширение осуществляется приписыванием минимального количества внутренних переменных, которыми от- § 5.6. Семантическое ослабление функциональной связности 445 личаются расцепляемые состояния, соответствующему входному вектору. Для получения покрытия семантической таблицы состояния 52, S$ необходимо расцепить расширением входного вектора Х1Ж2ЖЗ) состояния 55, 5б и 5з, 5б — расширением вектора Х1Х2х"з. Первое расцепление можно осуществить двумя способами: при- приписать ко входному вектору Х1Х2хз либо первую внутреннюю пе- переменную z+, либо вторую zf, т. е. переход из состояния 52 в 5з взвешивается соответственно вектором "ххХчХзг* либо векто- вектором xii2X3^2". Для определенности выберем первый способ рас- расширения входного вектора x"ix2x3. Обозначим хххгхз^ через 1', а Х1Х2Хзг^ — через 1". Расцепление состояний 5s и 5$ осуще- осуществляется приписыванием первой внутренней переменной zf ко входному вектору Х1Х2Х3. Переход из состояния 5s в 5s осуще- осуществляется под воздействием х^гхзг^" (обозначим его 4'), переход ИЗ состояния 5б в 54 — под воздействием вектора хх^хз-г^ (обо- (обозначим его 4"). Расцепляемые пары внутренних состояний, пересечение кото- которых не пусто, называются связными, если они сцеплены одним и тем же значением входного вектора. Расцепление связных пар производится совместно. Коды состояний третьей сцепленной пары 5з, 5в отличаются двумя переменными, следовательно, расцепление этих состояний можно провести двумя способами, используя вторую или третью Переменную. При первом способе переход из состояния 5з в 5s осуществля- осуществляется под воздействием вектора Х1Х2Хзг2+, переход из 5б в 54 — под воздействием X1X2X3Z2". При втором способе приращениями вектора Х1Х2Х3 являются соответственно zt, ~z$. Пары 5з, 5б и 5s, S6 связаны входным вектором х\Хгх3. Следовательно, необхо- необходимо произвести их совместное расцепление, которое заключается в логическом умножении условий расцепления для состояния, во- Шедшего в пересечение связных пар. В нашем случае таким со- состоянием является 5б. , Согласно условию расцепления связных пар внутренних состоя- |ш1й переход из состояния 5б в 54 осуществляется под воздей- воздействием вектора ^+ Либо вектора Для определенности выбираем первый способ расцепления, обо- обозначив при этом вектор х^хзг^ z^ как 4'". Окончательно полу-
446 Гл. 5. Прикладная теория алгоритмов = г|(xix2x3 V Х!Х2г3 V хххгхзг^) V V z%(X1X2X3 V xix2x3 V z? V XiX2X3), ^г^), z}, z?) = V V xix2x3 V V чаем следующую систему функций возбуждения: h(X,z+,z+) = f2{X, zf, /з(Х, которой соответствует функционал <f(G), равный 4. Здесь и ниже для определенности в качестве элементов памяти взяты триггеры со счетным входом. Найденные запрещенные фигуры определяют достаточные ус- условия функциональной несвязности элементов памяти. Следова- Следовательно, после кодирования возможно уменьшение значения <p{G) Таблица 5.19 пУхем анализа таблиц смены сос- состояний элементов памяти. Каждый элемент памяти своим значением разбивает все множество внутрен- внутренних состояний на два класса. Для рассматриваемого примера это разбиение представлено в виде табл. 5.19. Таблицы смены состояний для графов переходов элементов па- памяти приведены в табл. 5.20. Таблица 5.20 4 4 4 4 Si, 52, 52, 0 54, 5з, 5s, 5s 54 Se Si, Si, Si, 1 5з, 5s, 5s, 5e 5e 4=0 4 = 1 0 1 i= 1 1 V 2 V 3V V4' V l" 2 V 4"V V4'" 0 ovi'v3 0 1 i = 2 ovi' 0 V 3 V 4'" 2 V 3 V 4" 1V4'V VI" V 2 0 1 i = 3 0 V 2 V 4' 0 V 3 V 4" l'vl"v V3 V 4"' 1 V2 В результате анализа таблиц смены состояний на детерминиро- детерминированность получаем, что штриховка входных векторов может быть снята везде, кроме векторов 4' и 4'", которые устраняют недетер- недетерминированность при переходе из единичного состояния второго элемента памяти и нулевого состояния третьего элемента памяти. При этом для отличия вектора 4'" от 4' достаточно взять его в виде Теперь функции возбуждения памяти окончательно имеют вид fi(X, z?) = ?) = J^xix2x V Xix2x3), § 5.6. Семантическое ослабление функциональной связности 447 f2(X, zf, z%) = J2+(xix2x3 V ххх2х3 V xix2x3) V V V Z$(X1X2X3 V XlX2X3 V X!X2X3) и (p{G) = 2. . Таким образом, минимизация перекрестных связей между эле- элементами памяти сводится к выполнению трех этапов. 1. Устранение запрещенных фигур путем расширения вход- входных векторов и противоположное кодирование внутренних состоя- состояний. 2. Анализ полученного кодирования с целью ликвидации из- избыточного расширения входных векторов. 3. Выписывание функций возбуждения элементов памяти и определение значения <p{G). В случае автоматов, для которых коэффициент плотности со- соответствующего графа сцепления велик и которые имеют большую размерность, трудоемкость покрытия семантической таблицы увеличивается, и если для ее реализации проектировщик не обла- обладает соответствующими вычислительными мощностями, то пер- первый пункт можно выполнить с меньшими вычислительными за- затратами, для чего предложим следующий алгоритм реализации п. 1. 1. Выделяем в граф сцепления частичные подграфы, ребра каждого из которых взвешены одним и тем же входным векто- вектором. 2. Производим раскраску вершин каждого из этих графов, ну- нумеруя краски 1, 2, ..., п. При этом номер краски указывает коли- количество штрихов у входного вектора на соответствующем переходе. 3. Штриховка входных векторов физически реализуется раз- различными состояниями элементов памяти. Раскраска (см. п. 2) порождает разбиение множества внутренних состояний, которое определяет коды внутренних состояний. Проиллюстрируем расширение входных векторов. Таблица пе- переходов автомата — в табл. 5.21. Таблица 5.21 Таблица 5.22 X а Ь с Si 55 5з 54 st 54 Si Si s3 s3 s3 5s 54 Si Si Si 55 Si s3 st Si s2 s3 Si Si Si a,b а,с a,b Si a,b а,с a,b s3 а, с а,с а, с а, с Si a,b a,c a,b Ss, a,b а, с a,b Таблица переходов автомата определяет матрицу смежности графа сцепления (табл. 5.22) и матрицы смежности частичных
448 Гл. 5. Прикладная теория алгоритмов подграфов сцепления Gca, Gcb, Gcc (табл. 5.23, а,б,в) по входным векторам а, Ь, с соответственно. Таблица 5.23а Таблица 5.235 Таблица 5.23в 5! 52 5з 5< Si Si 1 1 1 52 1 1 1 5з 1 1 1 1 5< 1 1 1. Si 1 1 1 5i 52 Si Si 5i 1 1 52 1 1 54 1 1 55 1 1 5, 52 53 54 Si Si 1 52 1 53 1 1 1 1 54 1 Si 1 Квазиплотность графов Gca, Gcb, Gcc равна соответственно З, 2, 2. Следовательно, их хроматические числа равны соответственно 3, 2, 2. Раскрашивая эти графы, получаем разбиение вершин графов <2са — Ки = {Si, 55}, К2а = {52, S^}, K$a = {S3}, Gcb — Кп = {52, 54}, Кгь = {Si, S$}, Gcc — Kic = {S3}, Kic — {Si, Si, S4, S$}. Раскраска Gca, Gcb, Gcc порождает разбиение множества вну- внутренних состояний, которому соответствует кодирующее дерево {51,52,5з,54,55}-^{5з} 4.1 {5i,52,54,55} —^{51,5б} 4.1 {S2,S4} в котором на ребрах указаны соответствующие значения внутрен- внутренних переменных. Согласно кодирующему дереву штриховка, соответствующая полученной раскраске, будет реализована, если внутренние состоя- состояния будут иметь коды 53 — 0aia2, Si — 10a3, 55 — 10a4, 52 — lla5, 54 — Па6, где а,- = 0, 1 (г = 1 — 6), причем для однозначности кодирования полагаем, что аз = «4, <*5 = Щ- Конкретизируя а,-, окончательно получаем коды 53 — Oil, Si — 100, 55 — 101, 52 — ПО, 54 — Ш. После получения кодов переходим к п. 2 первого алгоритма: устраняем избыточную штриховку входных векторов. В резуль- результате получаем, что для расцепления оставшихся пар {5з, 54}, {53, 55}, сцепленных вектором а, пар {Si, 52}, {Si, 54}, {52, 55}, §5.6. Семантическое ослабление функциональной связности 449 {54, 5э}, сцепленных вектором Ь, и пар {52, 5з}, {5з, 54}, сцеп- сцепленных вектором с, достаточно вектор а расширить переменной р о' = az* а" = zf до о' = az* и а" = az+, так как краска K^a отличается от красок Kia, Kia этой переменной; аналогично вектор b нужно рас- расширить переменной z% до Ь' = bz%, Ь" = Ы^', вектор с расширить переменной zf до d — сг*, с" = czf. С учетом проведенных расширений входных векторов перво- первоначальная таблица переходов семантически эквивалентируется табл. 5.24, в которой около расширяемого вектора в круглых скоб- Таблица 5.24 Внутренние состояния st st st st st sr 52" „(—») 53" b("-") а(—'),Ъ ь("--) «Г с a,c(-"-) с(-"-) с a с Таблица 5.25 ках указан способ расширения при вычислении каждой внутрен- внутренней переменной (z\, z2, Z3); при этом прочерк означает, что со- соответствующая переменная вычи- вычисляется без учета расширения входного вектора, т. е. не зави- зависит от других внутренних пере- переменных. Полученные коды разбивают все множество состояний согласно табл. 5.25. Эти разбиения определяют таблицу смены состояний элемен- элементов Памяти (табл. 5.26). Таблица 5.26 4 *t 4 0 5з 5i,5s 5i,52 1 Si, Si, Si, Si 52, 5з, 54 S3, Si, Si zi zt =0 zt=\ 0 1 i= 1 a\lb b" с aVb'Vc 0 1 i = 2 a c' aVbVc" 0 1 i = 3 b' a" aVb" Vc a' VbVc Табл. 5.26 задает функции возбуждения элементов памяти вида fi(X,z+, z+)'=z+cVz+bz+, MX, z+, z+) = z + (bVc) V z+cz + , f3{X, z+, z+, z+) = ^(a V bz+ V c) V z+az+, для которых f(G) = 4. 15 В. А. Горбатов
450 Гл. 5. Прикладная теория алгоритмов Рассмотрим этот пример с учетом характера переходов, ана- анализируя при этом возможность раскраски сцепленных состояний одной краской при их переходах под воздействием сцепляющего входного вектора в соцветные состояния. Граф сцепления (табл. 5.22) содержит циклы нечетной длины вида С2 = {{Si, 53}, {52, 53}, {5Ь 52}}, С4={{53, S4}, {S4,S5}, {S3,S5}}. Покрывая семантическую таблицу (табл. 5.27), отметим, что для получения первого разряда кодов внутренних состояний необ- Таблииа5.27 Ci Ci c2 c3 Ci {Si ,s3} 1 1 {53 ,54} 1 1 {5i,54} 1 {53 Pi ,53} 1 1 {5i,52} 1 {5з ,55} 1 1 {S2,Ss} 1 {54,5S} 1 ходимо расцепить внутренние состояния {Si, S3} и {5з, 5s}. Пе- Перед тем как производить это расцепление путем расширения вход- входных векторов, которыми эти состояния сцеплены, рассмотрим усло- условия их соцветной окраски. Для того чтобы вершины {Si, S3} были соцветны, необходима соцветность вершин {S4, 5s} и {S3, 55}: = k(S3) = *E5)) & (k(S3) = *E5)). Состояния {S4, 5б} сцеплены, следовательно, для того чтобы они были соцветны, необходима соцветность состояний {Si, S2} и {S3, 54}: *E4) = *E5) (*E3) = *E4)). Состояния {Si, S2} сцеплены, следовательно, для их соцветно- сти необходима соцветность состояний {5г, 5з} и {54, 5s}: = k(S2) <- (k(S2) = *E3)) & (ibE4) = JbE5)). To же самое имеем и для вершин {52, 5з} и {S3, 54} соответ- соответственно: = k(S3) k(S3) = ibE4) (JbE4) = JbEB)) & (ibE3) = ibE4)), = *(S5)) & (ibEa) = ibE3)). §5.6. Семантическое ослабление функциональной связности 451 0.4} {4,5} {3. 4} Аналогично, рассматривая остальные сцепленные пары вну- внутренних состояний, получаем граф Gp (рис. 5.38, а), показываю- показывающий условия соцветности сцеп- сцепленных состояний. Вэтомгра- {2^.3} {1^ фе каждая вершина взаимно однозначно соответствует паре сцепленных состояний, кото- которая играет роль веса соответ- соответствующей вершины, дуги графа показывают условия соцветнос- соцветности сцепленных пар. Отношение соцветности обладает свойством транзитивности. Расширим сигнатуру этого графа добавле- добавлением транзитивно замыкаю- замыкающих дуг. Согласно свойству транзитивности полученный граф в дальнейшем будем называть графом расцепления. Условия, при которых сцепленные вершины могут быть окрашены в один цвет, определяются следующим утверждением. Утверждение. Если вершина иE,-, 5,-) графа расцепления соединена путем с полным подграфом, объединение весов вер- вершин которого равно носителю графа сцепления, то для вершин Si, Sj не существует условия, при котором эти вершины со- соцветны. В рассматриваемом случае ни одна пара сцепленных вершин не может быть соцветна, так как каждая вершина графа расцепле- расцепления соединена путем с вершинами {из, и4, v5, v6}, которые после добавления транзитивно замыкающих дуг образуют полный под- подграф, объединение весов вершин которого равно носителю графа сцепления. Производим расцепление сцепленных состояний {Si, S3} и {5з, Ss} расширением входных векторов а и с. В результате за- заданная таблица переходов автомата эквивалентируется табл. 5.28. Матрица смежности (см. табл. 5.22) преобразуется в матрицу смежности, представленную в табл. 5.29. Таблица 5.28 Таблица 5.29 Xi а а' а" Ь с с' с" 5! 55 5з Si s3 Si 52 54 5з 5з 5з 55 54 5а 54 54 55 ft 5з 54 ft s3 s3 Si Si Si a,b a,b 52 a,b a,c a,b s3 а, с а, с Si a,b a,c a,b 55 a,b a,b
452 Гл. 5. Прикладная теория алгоритмов После удаления ребер {Si, S3} и {5з, 5s} хроматическое число графа сцепления равно 2: Ко = {Si, S3, Ss}, Ki = {S2, S4}. Соединяя соцветные вершины ребром, получаем граф сцепле- сцепления для определения значений второго разряда кодов внутрен- внутренних состояний. Граф сцепления для второго разряда представ- представляет собой полный граф на пяти вершинах {Si, S2, S3, S4, S$}. Этот граф содержит запрещенные фигуры фж,- — циклы нечетной длины: Ci = {{Si, S2}, {S2, S3}, {S3, S4}, {S4, Ss}, {Si, S5}}, C2 = {{Si, S3}, {S3, S5}, {S2, Ss}, {S2, S4}, {Slf S4}}, C3 ={{Si,S2},{S2,S3},{Si,S3}}, C4 = {{S2, S3}, {S3, S4}, {S2, S4}}, C5 = {{S3, S4}, {S4, Ss}, {S3, Ss}}, C6 = {{Si, S4}, {Si, Ss}, {S4, Ss}}, C7 ={{S1,S2},{S1)S5}, {S2,S5}}, C8 = {{Si, S2}, {Si, S4}, {S2, S4}}, C9 = {{S2, S3}, {S2, Ss}, {S3, Ss}}, C10={{S1,S3},{S1,S4}, {S3,S4}}, Cn = {{S2, S4}, {S2, Ss}, {S4, Ss}}, C12 = {{Si, S3}, {Si, S5}, {S3, Ss}}. Семантическая таблица — табл. 5.30. Таблица 5.30 Pi {Si,S2} {Si,St} {Si, St} {Si,S5} {S2,S3} {Si, Si} {S2,SS} {S3,Si} {Ss,Ss} {Si,Ss} C, 1 1 1 1 1 c3 1 1 1 1 1 c3 1 1 1 Ci 1 1 1 d 1 1 , 1 Ce 1 1 1 c7 1 1 1 c« 1 1 1 1 1 1 Сю 1 1 1 Cn 1 1 1 Cl2 0 1 1 1 Очевидно, что граф расцепления, соответствующий второму разряду, получается из графа расцепления первого разряда путем удаления вершин, взвешенных расцепленными состояниями, и инцидентных им дуг. После удаления вершин vx и v2 получаем, § 5.6. Семантическое ослабление функциональной связности 453 что ни одна пара сцепленных вершин не может быть соцветна. Поэтому расцепление пар {Si, S2}, {S2, Ss}, {S3, S4}, вошедших в минимальное покрытие {{Si, S2}, {Si, Ss}, {S2, Ss}, {S3, S4}} табл. 5.30, производим расширением входных векторов а, Ь, с. После удаления ребер {Si, S2}, {Si, S5}, {S2, S5}, {S3, S4}, вошедших в покрытие, раскрашиваем граф сцепления в две кра- краски: Ко = {Si, S2, Ss}, Ki = {S3, S4}. В результате расширения входных векторов таблица переходов (см. табл. 5.28) эквивалентируется табл. 5.31. Таблица 5.31 Таблица 5.32 Xi а' а" а'" Ь Ь' Ь" с с' с" с"' Si Si s3 Si s2 S4 s2 S4 S3 S3 S3 Ss S4 s2 S4 S4 Ss s, S3 S4 Внутренние состояния Si s2 S3 S4 Ss s, b s2 с s3 с Si b Ь Ss .Матрица смежности (см. табл. 5.29) преобразуется в матрицу смежности, представленную в табл. 5.32. После двухкомпонентной раскраски вершины Si и Ss соцвет- соцветны — им соответствует краска 00. Соединяя эти вершины ребром, получаем, что граф сцепления, соответствующий третьему разряду кодов, представляет собой треугольник с носителем {Si, S4, Ss} и двуугольник на вершинах {S2, S3}. Граф расцепления для этого разряда представлен на рис. 5.38, б. Согласно этому графу если вершины {S3, S4} соцветны, то вершины {Si, S4} или вершины {S4, Ss}, {S2, S3} могут быть соцветны. Вершины {Si, Ss} не мо- могут быть соцветны из-за однозначной идентификации внутренних состояний кодами. Отсюда получаем две раскраски графа сцепле- сцепления: = {S2, Ss} или KO={S2,S3, S4, S5}, #i = {Si}. Для определенности выбираем первую раскраску. Окончатель- Окончательно получаем следующие коды внутренних состояний: Si — 000, S2 — 101, S3 — 010, S4 — 110, S5 — 001.
454 Гл.5. Прикладная теория алгоритмов После замены штрихов у входных векторов а, Ь, с соответствую- соответствующим расширением этих векторов внутренними переменными по- получаем условия переходов элементов памяти, представленные в табл. 5.33. _, с Таблица 5.33 § 5.7. Решение проблемы повторной декомпозиции 455 *t z,+ =0 *i "~ 0 a V6v VczJ — 1 = 1 CZ + a\lb\l с 0 i = az^M 1 r2 az+V Vbzj+ V с azj+ V bV 0 1 i = 3 dzfz} VbV a V bz j+ V с Функционал <p(G), как и в предыдущем решении, равен 4. § 5.7. Решение проблемы повторной функциональной декомпозиции в булевой логике В гл. 2 (§2.2) было введено понятие функциональной деком- декомпозиции. Рассмотрим проблему синтеза функциональной деком- декомпозиции для общего случая, когда переменные, соответствующие строкам и столбцам, в матрице Вейча пересекаются. Представим заданное булево пространство Р(Х) в виде декартова произведения Р(Ха) х Р(ХЬ) пространств Р(Ха), Р(ХЬ), {Ха} U {Хь) = {X}, {Ха} П {Хь) = 0. Каждой точке пространства Р(Ха) взаимо однозначно сопоста- сопоставим вершину va G К графа Ga = (Va,0), а точке пространства Р{Хь) — вершину Vb G Vj, графа Gb = (V&, 0). Тогда граф G = (VaUVb,U1,t7Q), G = Ga определит исходное пространство Р(Х). При этом если булева функция f(X) в этом пространстве принимает единичное значе- значение в точке Л,", то вершины vai G Va и vbi G И, соответствующие этой точке, соединены неинверсным ребром {vai, %} е U\\ если /(X) принимает нулевое значение, то вершины vai и v^ соеди- соединены инверсным ребром {«„,-, «^} G ?/о; если же функция /(X) в точке X,- = Xai Л"ь( (вектор Xj есть результат конкатенации век- векторов Xai и Хь{) не определена, то {vai, v^} $ U\, Uq. Получен- Полученный граф К(/) является графом Кёнига и имеет два сорта ребер: неинверсные и инверсные. Очевидно, что каждая вершина vai G Va взаимно однозначно соответствует остаточной булевой функции /( Х), а вершина v^ G И — остаточной функции •, ^ь„) в разложении Шеннона по строчным a2> ¦ia ak, и столбцевым переменным соответственно: f(Xa,Xb) = yV хкх^-/(^,Хь), Е,- Рассмотрим, например, булеву функцию -l1 на 0,1,4,17,18,26,30, - { о на 2, 3, 11, 19, 29. В качестве Ха выберем переменные хи хг! в качестве Хь — пе- переменные ХЗ) г4) ^5- Тогда граф Кёнига K(f), определяющий эту функцию, имеет вид, представленный на рис. 5.39, а. При этом 1*2 0 12 3 0 12 {0,1, 4,5} {2, 6} {3} а б Рис. 5.39 вершине верхнего яруса, которая взвешена вектором Ха = 0, со- соответствует остаточная функция вида на 0, 1, 4, на 2, 3, вершине нижнего яруса, взвешенной вектором 2, соответствует остаточная функция Л~ _ о\ I 1 на 2, о, *1,*а,2) = |0 на 0 Очевидно, что поиск декомпозиции функции /(xi, Х2, ..., х5) можно свести к нахождению склеивания вершин внутри яруса, при котором не образуется цикл длины 2, состоящий из инверсного и неинверсного ребер. В данном случае в нижнем ярусе склеиваются вершины {0, 1, 4, 5} и {3, 6} (рис. 5.39,6). Закодировав полученные множества {0, 1, 4, 5}, {3, 6} и {2} в пространстве P(<pi, <^г) значениями 0, 1 и 2 соответственно, полу- получаем декомпозицию исходной функции f{x\, x2, ..., х5) в виде /0*1, , x2, <Pi(x3, х4, х5), , х5)), аь '(*+!)!
456 Гл.5. Прикладная теория алгоритмов х2, <ръ <р2) = где Г 1 на 0, 8, 10, 13, 14, [0 на if 2, 5, 9, 12, 1 на 2, 0 на О, 1, 3, 4, 5, 6, 1 на 3, 6, 0 на 0,1,2,4,5. Для поиска объективных причин, определяющих декомпози- декомпозицию булевых функций в общем случае, предложим теоретико-гра- теоретико-графовую интерпретацию этой задачи. Для построения декомпозиции функции f{X) определим поня- понятие графа противоречивости. Строчным графом противоречивости Gnp(Xa) = (К, Unp), называется граф, каждая вершина и,- которого взаимно однозначно соответствует вектору Xai: е и пр bi) Ф f(xif), Столбцевым графом противоречивости Gnp(Xb) = (И, t7np) называется граф, каждая вершина Vj которого взаимно однозначно соответствует вектору Хь/- {xhi}*+vh, unpcvb2, ejl X,J ф f(Xai, Xj,)). Названия графов противоречивости Gnp(Xa) и Gnp(^b) соот- соответственно «строчной» и «столбцевой» указывают на возможность задания графа Кёнига K(f) = (Va UVb;Ui, Uo), определяющего булеву функцию f{x\, x2, ..., хп), в виде соответствующей двумер- двумерной таблицы Вейча, в которой каждая строка (столбец) задает со- соответствующую остаточную функцию в разложении Шеннона. Теорема 5.7 (А.В.Горбатов). Булева функция f(X) деком- декомпозируема в виде F(<pi(Xa), <Pi(Xa), ••-,<fk(Xa), Хь) тогда и только тогда, когда ближайшее большее целое двоичного ло- логарифма хроматического числа h(Gnp(Xa)) графа противоре- противоречивости Gnp(Xa) - (Va, Unp) меньше \Ха\'- f(X) = ) где k = [log2 h(Gnp{Xa))], [ ] лого. (Xe))]<|XA|l E.3) знак ближайшего большого це- це§ 5.7. Решение проблемы повторной декомпозиции 457 Рассмотрим функцию Пхл х-, х.)-!1 на !'4'9'И'13'14'17'19'20' 28> (x1,x2,...,x5)-^0 061215161822232426 ''''''''20' 8> 0 на 0,6,12,15,16,18,22,23,24,26,29. Граф Кёнига, соответствующий разложению заданного простран- пространР{хи 12, • • -,яге) = P(xi, х2, х3) х Р(х4, xs), ства имеет вид, представленный на рис. 5.40. Построим граф противоречивости для строчных остаточных функций Gnp(^a) (рис. 5.41, а); при его построении учитываем, что две вершины, Vi{Xai) и Vj{Xa.), {vi(Xai), Vj{Xa))} € Unp, смежны, если найдется вершина Ук(Хь) другого яруса, которая соединена с вершиной Vi(Xai) неинверсным ребром, а с вершиной vj(x<4) — инверсным (рис. 5.41,6). Граф Gnp{Xa) содержит ква- квазиполный подграф QC, 0): V(QC, 0)) = {1, 3, 4}. Согласно характеризационному анализу минимальное число красок равно трем: о = {0,2, 4,6}, Ь={1, 5, 7}, с={3}. Теорема 5.7 справедлива. После кодирования красок с помо- помощью символов <pi<p2 (а — 00, 6 — 01, с — 10) получаем декомпо- декомпозицию заданной функции f(x\, х2, ..., х5) вида u х2, х3), <Р2(хх, х2, х3), х4, х5), х3) ^ = VC), х2, Функция F(<pi, <р2, х4, х5) , определяется матрицей Вейча (табл. 5.34), полученной в результате соответствующего раскраске-
458 Гл. 5. Прикладная теория алгоритмов склеиванию строк матрицы Вейча, определяемой по выбранному Таблица 5.34 Таблица 5.35 § 5.7. Решение проблемы повторной декомпозиции 459 0 1 2 3 X4Xi 0 0 1 0 1 1 0 1 2 0 0 1 3 1 0 ««. 0 1 2 3 4 5 6 7 х<х* 0 0 1 0 0 1 0 1 1 1 1 1 1 0 2 0 1 0 0 0 3 1 0 1 0 разложению пространства Р(х\, х2, •••, х$) (табл. 5.35): Г 1 на 1, 3, 4, 9, 10, = { о на 0,2,5,6,8,11. <Р2, *4, В дальнейшем функции ifi, <?2 будем называть внутренними, а функцию F — внешней; множества переменных, вошедших в различные сомножители при разложении заданного пространства, назовем взаимно дополняющими до полного множества. В рассматриваемом случае множества Ха = {xi, х2, хз} и Хь = = {х4, Х5} являются взаимно дополняющими друг друга до пол- полного множества X = {xi, х2,..., xs}. Очевидно, что условия декомпозируемости по столбцевым пе- переменным будут аналогичными E.3). Булева функция f(X) декомпозируема в виде f(X) = F{Xa, МХь), тп(Хъ),...МХъ)) тогда и только тогда, когда [log2/i(Gnp(Xi1))] < \Хь\: f(X) = F{Xa, m(Xb), т{Хъ), • • -, V.(Xb)) t+ »[log2h(Gnp(Xb))]<\Xb\, E.4) гдев=[1об2/1(Спр(А:6))]. Рассмотрим булеву функцию ., , Г1 на 0, 4, 12, 16, 17, 19, 21, 26, 30, /(хь х2, ..., х5) = |0 на lf 3) 5, 6, 9, 10, 23, 24, 28, 31. Представим исходное пространство P(xlt х2, ..., Х5) в виде де- декартова произведения пространств Р(Ха) х Р(Хь), где Ха = {х\, х2}, Хь = {хз, Х4, xs}. Тогда получим граф Кёнига и матрицу Вейча соответственно в виде рис. 5.42, а и табл. 5.36. 01234567 ° х3х4х5 JC,JC2 Рис. 5.42 Таблица 5.36 Таблица 5.37 0 1 2 3 Z3Z4Z5 0 1 1 0 1 0 0 1 2 0 1 3 0 1 4 1 1 0 5 0 1 6 0 1 7 0 0 ЦХ? 0 1 2 3 0 1 1 1 0 1 0 0 1 1 2 0 0 3 Минимальная раскраска графа противоречивости Gnp(Xb) (рис. 5.42, б) а = {0, 4}, Ь = {1, 2, 3, 5, 6}, с = 7 определяет со- соответствующее склеивание столбцов (табл. 5.37); при этом коды красок имеют следующие значения: а —00, Ь — 01, с—10. Утверждение E.4) справедливо. Получаем декомпозицию вида f{xi, х2, ..., х5) = F(xb x2, t/i(x3, x4, х5), ^(хз, х4, х5)), где t/i(x3, х4, х\ , х4, х5) = V(l, 2, 3, 5, 6). Внешняя функция F(xi, x2, щ, т/2) определяется матрицей Вейча (см. табл. 5.37) ги „ \ Z1 на 0, 4, 8, 9, 13, F(xu х2, m, m) = [Q на х; 5; 10, 12, 14. Теорема 5.8 (А.В.Горбатов). Булева функция f(X) деком- декомпозируема в виде f(X) = F(<p1(Xa),<p2(Xa),...,<pk{Xa),r]i(Xb), гJ(Хъ),..., г)а(Хъ)) тогда и только тогда, когда {[\og2h(Gnp(Xa))] < \Xa\)k([log2h(Gnp(Xb))] < \Xb\) :
460 Гл. 5. Прикладная теория алгоритмов , <р2{Ха), ¦ ¦., -> {[\og2h{Gnp(Xa))} < \Ха\)Ь f(X) = |Xb|) E.5) при совместной раскраске графов Gnp(Xa) и Gnp(Xb)\ при этом vv 0 Рассмотрим булеву функцию //, - ,\-11 на 0,4,12,16,17,19,21,24,26,28,30, ДХ1, х2, ..., z5j- ^0 на 1^,5,6,9,10,23,31. Представление исходного пространства P(ii, жг,..., Z5) выберем в виде Р{хи х2, ..., х5) = P(xi, х2) X P(z3, х4, z5). Таблица Вейча, соответствующая этому разбиению, имеет вид табл. 5.38. Таблица 5.38 цхг 0 1 2 3 . ХзХЦь 0 1 1 1 1 0 0 1 2 0 1 3 0 1 4 1 1 1 5 0 1 6 0 1 7 0 0 Граф противоречивости Gnp(Xb) = ({0,1,2,...,7}, Unp), соот- соответствующий табл. 5.38, представлен на рис. 5.43, a; Gnp(Xb) D О Рис. 5.43 Э <ЭC, 0), следовательно, h(Gnp(Xb)) = 3: а = {0,4}, Ь = {1,2, 3,5, 6}, с ={7}, а, Ь, с — краски. Кодируем краски: а — 00, b — 01, с — 10, и соответственно раскраске склеиваем столбцы в табл. 5.38; получаем табл. 5.39. §5.7. Решение проблемы повторной декомпозиции 461 Внутренние функции 771A31 а^, х^), 772A31 ветственно вид имеют соот- соотt х5) , х5) = VG), = VA,2,3,5,6). Для склеивания строк строим граф противоречивости Gnp(Xa) (рис. 5.43,6); анализируя табл. 5.39, получаем h(Gnp{Xa)) = 2, а = {0, 1}, Ь = {2, 3}. Склеиваем строки в табл. 5.39 согласно раскраске графа Gnp(Xa)\ получаем матрицу Вейча (табл. 5.40), определяющую Таблица 5.39 Таблица 5.40 Х1ХЗ 0 1 2 3 0 1 1 1 1 1 0 0 1 1 2 0 0 3 « 0 1 0 1 1 1 0 1 2 0 3 внешнюю функцию F((fi, 771, 772); при этом краска а кодируется символом 0, краска b — символом 1. Получаем Теорема 5.7 справедлива; получаем декомпозицию вида f(xu г2, --чХъ) = F(yj1(zi, х2), 77i(i3, х4, х5),г]2(х3,х4, х5)). Утверждения E.3)-E.5) являются теоретико-графовым раз- развитием теоремы Шеннона о разложении булевой функции по за- заданным переменным и определяют построение бесповторной декомпозиции (случай, когда Va П Vt = 0; на практике же этому ограничению, как правило, булевы функции не удовлетворяют). Предложим характеризационный подход, позволивший впер- впервые решить проблему, поставленную К. Шенноном в 1936г. — проблему синтеза оптимальных повторных декомпозиций системы булевых функций заданной размерности. Подход основан на све- сведении поиска декомпозиции к раскраске введенных графов проти- противоречивости заданным числом красок. Согласно характеризационному анализу запрещенными фигу- фигурами раскраски графа G в q красок является квазиполный граф квазиплотности q + 1. Отсюда нетрудно доказать теорему 5.9.
462 Гл. 5. Прикладная теория алгоритмов Теорема 5.9. Запрещенными фигурами бесповторной де- декомпозиции булевой функции /(xi, ж2, ..., жп) являются ква- квазиполные графы Qa{qi), Qa{qi) с Gnp{Xa), и Qb{qj), Qb{qj) с С Gnp(Xb), для которых [log2 qi(Qaj\ + [bg2 qj(Qb)} = n E.6) при совместной раскраске соответствующих графов противо- противоречивости. Рассмотрим булеву функцию х _ ч _ / 1 на 0, 5, 7, 9, 10, 14, 20, 21, 25, 27, u ж2, ..., х5) _ ^0 ^ 4 g П 12 13 22 31 и разложение пространства P(xlf z2, ...,15) в виде P(xi, x2, ... ..., г5) = P{xi,xi, хз) х P(i4i х^). Граф Кёнига, соответствующий этому разложению, имеет вид, представленный на рис. 5.44, а. Строчный граф противоречивости Gnp(Xa) (рис. 5.44, б) имеет хроматическое число, равное 5, так как вершины, соответствую- соответствующие точкам пространства 0, 1, 2, 3, 5, образуют носитель пол- 0 1 Рис. 5.44 ного подграфа плотности 5, а столбцевой граф противоречивости Gnp(Xb) — хроматическое число, равное 4 (рис. 5.44, в). Следова- Следовательно, [log25] + [log24] = 5, и согласно утверждению E.6) рассматриваемая функция не имеет бесповторной декомпозиции. Предложим стратегию построения повторных декомпозиций, т.е. когда УаГ\Уьф 0. Стратегия основана на редукции хромати- хроматических чисел графов противоречивости Gnp(Xa), Gnp(Xb) с целью выполнения соотношения [log2 qi{Qa)] + [log2 qj(Qb)] < п. E.7) Это неравенство осуществляется при сужении сигнатуры графов противоречивости, которое в свою очередь осуществляется на осно- основе расширения носителя графа противоречивости сопряженного §5.7. Решение проблемы повторной декомпозиции 463 подпространства за счет увеличения его размерности. Увеличе- Увеличение размерности осуществляется с помощью «заема» переменных из другого сопряженного пространства. Продолжим рассмотрение примера. Синтезируем повторную декомпозицию, и в конце пара- параграфа оформим эту стратегию в виде соответствующих процедур. Для выполнения соотношения E.7) понизим хроматическое число h{Gnp(Xa)) удалением одного из ребер полного подграфа с носителем {0, 1, 2, 3, 5} (рис. 5.45, а). Каждое ребро на этом I О I 2 _3 _5 J 7 о,ь Х1ХА Х5 Рис. 5.45 подграфе взвешено векторами сопряженного пространства Р(Хь), которыми соответствующие точки рассматриваемого пространства Р(Ха) сцеплены. Очевидно, что при оптимальном решении необ- необходимо удалить ребро с минимальным по мощности весом. Для определенности удаляем ребро {1, 5}, расщепляя сцепляющий их вектор 0 в сопряженном пространстве Р{Хь) (рис. 5.45, б) на 0' и 0". Вектор 0' есть результат конкатенации 0 и х\ @ = Огх), а вектор 0" — резуль- результат конкатенации 0 и х\ @" = Ozi). Век- Векторы 1 и 5 в подпространстве Р{Ха) отли- отличаются переменной х\'. 1— iii2i3, 5 — 11г21з- Следовательно, инверсное ребро {1, 0} в графе Кёнига (см. рис. 5.44, а) по- после расщепления преобразуется в инверс- инверсное ребро {1, 0'}, ребро {5, 0}— в ребро {5, 0"} (см. рис. 5.45, б). Такое удаление реализуется расщеплением ребра {1, 5} в графе Gnp(-X"a). Размер- Размерность пространства Р{Хь) увеличилась на единицу: Р{х±, х$) —> -> Р(хх, Х4, х$). Хроматическое число h(Gnp(Xa)) уменьшилось на единицу (рис. 5.46): a = {0, 4}, Ъ = {2, 7}, с = {3}, d = = {1, 5, 6} (a, b, с, d — краски), и соотношение E.7) стало вы- выполняться: [Iog24] + [log24]<5. Рассмотрим функциональную декомпозицию в подпространст- подпространстве Р(Хь), Хь = {ii, X4, х5}. Столбцевой граф противоречивости
464 Гл. 5. Прикладная теория алгоритмов Gnp(Xb) имеет вид, представленный на рис. 5.47, а. Уменьшаем хроматическое число h(Gnp(Xb)) до 2. Запрещенными фигурами O'=OXi 0"=0x, 1 Рис. 5.47 являются циклы нечетной длины: {Qi} = {{0', 1, 3}, {0', 1, 2}, {0', 2, 3}, {1, 2, 3}}. Строим семантическую таблицу (табл. 5.41). Таблица 5.41 0,1,2,3,5€Р(Хв) .{С, 1,3} {ОМ, 2} {О',2,3} {1,2,3} ц П 0 1 2 3 5 о', 1,2,3 еР(Хь) {ОМ} 1 1 1 1 1 1 {О',2} 1 1 1 1 1 {о'.з} 1 1 1 1 1 {1,2} 1 1 1 1 1 1 {1,3} 1 1 1 1 {2,3} 1 1 1 1 Первая подтаблица показывает распределение ребер графа Gnp(Xb) по запрещенным фигурам. Покрытие строк столбцами по- § 5.7. Решение проблемы повторной декомпозиции 465 называет, какие ребра необходимо удалить. Имеем три покрытия: *1 = {{0', 1}, {2, 3}}, Т2={{0',2}, {1,3}}, Вторая подтаблица показывает, какими переменными отлича- отличаются точки пространства Р{Хь), образующие ребро в графе GnP(Xb), взвешенное сцепляющими векторами Ха (третья подтаб- подтаблица). Покрытие столбцов, составляющих покрытие первой под- таблицы, строками второй подтаблицы состоит из переменных, с помощью которых расщепляются точки пространства Р(Ха), соответствующие векторы которых сцепляют векторы простран- пространства Р(Хь). В рассматриваемом случае пространство Р(Ха), Ха = = г^гг^З) расширяется: — для первого покрытия 7ГХ — переменной х5, с помощью ко- которой расщепляются точки 0, 1, 2 пространства Р{Ха); — для второго покрытия 7Г2 — переменной х^, с помощью ко- которой расщепляются точки 2, 3 € Р{Ха)] — для третьего покрытия 7Гз — одной из переменной х± или z5) которой расщепляются точки 1, 3, 5 € Р{Ха)- Выбираем покрытие тг2 как оптимальное, так как при этом расщепляется минимальное количество точек пространства Р(Ха) (рис. 5.47, б, в,г). В результате размерность пространства Р{Ха), Ха = {xi, X2, х3}, увеличилась на 1: Р(Ха) -> Р(Х'а), Х'а = {х1,Х2,Х3,Х4}, размерность пространства Р{Хь), Хь = {х4, xs}, — также на 1: Р(ХЬ) -> PM. Х'ъ = {*ь *4, хь). Пространству Р{Х'а) соответствует граф противоречивости Gnp{X'a) (рис. 5.48, а), пространству Р{Х'Ь) — граф Gnp(X'b) 13* а={0',2} р={0",1,3} Рис. 5.48
466 Гд. 5. Прикладная теория алгоритмов (рис. 5.47, в), хроматические числа которых равны /i(Gnp(-X"?)) = Соотношение E.7) справедливо: [\og2h{Gnp(X'a))\ + [log2GnpTO] < 5, следовательно, функциональная декомпозиция существует. Для ее построения раскрашиваем вершины графа Gnp(X'a): а = {0, 2", 3", 7), Ь=? {1,2', 5, 6}, с = {3'}, и вершины графа Gnp(Xl): а' = {0',2}, /? = {0",1,3}. Кодируем краски: а — 01, о — 10, с — 11, используя функцио- функциональные символы <Pi<f2, и при кодировании а — 0, /? — 1 — символ (рз- Склеивая соцветные вершины, получаем внешнюю функцию F(<pi, <р2, <р3) (рис. 5.48, б). В результате получим функ- функциональную декомпозицию вида f(xu х2, ...,х5) = х2, х3, х4), (р2{х!, г2, а;3, хА), ч>3{хъ x4, х5)), _ /l на 1,2', 3', 5, б, на 0, 2", 3", 7, на О, 2", 3', 3", 7, на 1, 2', 5, 6, на О", 1, 3, на О', 2, _ / 1 на 2, 5, на 3, 4, б, 7. Таблица 5.42 000- 001- 0100 0101 ОНО 0111 100- 101— 1 lO- lll- 000 1 0 0 0 100 1 -01 0 1 1 0 1 1 -10 1 1 0 -11 1 0 1 0 Матрица Вейча, соответствующая этой декомпозиции, имеет вид табл. 5.42. §5.8. Синтез функциональной декомпозиции в k-знаиной логике 467 § 5.8. Синтез функциональной декомпозиции в к-значной логике Обобщим найденные критерии функциональной декомпозиции на случай fc-значной логики. Теорема 5.10. Функция k-значной логики f(X) декомпози- декомпозируема в виде тогда и только тогда, когда [\ogkh{Gnp(Xa))]<\Xa\, XaUXb = X, ХаГ\Хь = 0; E.8) [ ] — знак ближайшего целого числа; Gnp(A"a) — граф противо- противоречивости, соответствующий пространству Р(Ха), Р(Х) = = Р(Ха)хР(Хь). Теорема 5.11 (А.В. Горбатов). Функция k-значной логики f(X) декомпозируема в виде F((fi(Xa), (f2{Xa), ...,(ра(Ха), щ{Хь), гJ{Хь), ...,T]t{Xb)) тогда и только тогда, когда ([log* h{Gnp(Xa))} < |Xe|)&([logfc MGnpPC))] < \ХЬ\) E.9) при совместной раскраске строчного графа противоречивос- противоречивости Gnp(-Xa) и столбцевого графа противоречивости Gnp(Xb), Ха U Ль — X, Ха П Хь = 0, при представлении пространства Р(Х) в виде Р(Ха) х Р(ХЬ). Теорема 5.12 (А.В. Горбатов). Функция k-значной логики f(X) декомпозируема в виде F{<Pi{Xa), <Р2{Ха), ...,(fs{Xa), щ{Хь), хаихь = х, ха тогда и только тогда, когда после редукции хроматических чисел h(Gnp(Xa)) и h{Gnp(Xb)) [bgkq(Qa)\+ [\ogk q(Qb)} <\X\, E.10) где q(Qa) — квазиплотностъ редуцированного строчного гра- графа противоречивости Gnp(Xa); q(Qb) — квазиплотностъ реду- редуцированного столбцевого графа противоречивости Gnp(Xb). Рассмотрим функцию трехзначной логики B на 0,2,3,23,38,43,67,68, flxi, х2, х3, аи) = < 1 на 10,27,29,35,50,53,57,60,61,79, (О на 4,8,21,33,45,51,78,80. Представим исходное пространство Р{Х) в виде произведе- произведения двух сопряженных подпространств Р(Ха), Р{Хь), Р{Х) = = Р{Ха) х Р{Хь), Ха = {xi, х2), Хь = {х3, х4); тогда матрица Вейча имеет вид табл. 5.43.
468 00 01 02 10 11 12 20 21 22 Гл.5 . Прикладная теория алгоритмов Таблица 5.43 ХЗГ4 00 2 1 0 01 1 02 2 1 2 10 2 0 1 11 0 2 12 2 1 20 0 0 1 0 21 2 1 1 22 0 1 1 0 Таблица Вейча (табл. 5.43) определяет граф Кёнига (рис. 5.49), и строчный граф противоречивости Gnp{Xa) (рис. 5.50), ребра 0 12 3 4 5 6 2 3 4 5 6 7 Рис. 5.49 которого взвешены сцепляющими векторами сопряженного про- пространства Р(Хь). Размерность пространства Р{Ха) равна 2: г(Р(Ха)) = 2. Сле- Следовательно, чтобы по переменным х\, х2 существовала декомпози- декомпозиция, необходимо и достаточно, чтобы хроматическое число h(Gnp(Xa)) было равно 3; тогда одним троичным символом можно Qi Q3 Qa Qs Qe {0,2} 1 1 1 {0,3} 1 1 {0,5} 1 1 1 1 {Xait {0,6} 1 1 1 Xaj} € P{Xa) {0,7} {2,5} 1 1 1 {2,6} 1 1 1 {3,4} 1 1 {3,5} 1 1 1 1 § 5.8. Синтез функциональной декомпозиции в k-знаиной логике 469 закодировать краски вершин графа Gnp(Xa): 3r^F^°^~1. Отсю- Отсюда, запрещенными фигурами при поиске этой декомпозиции будут 3 Рис. 5.51 квазиполные графы квазиплотности 4: QD). Граф Gnp(Xa) содержит шесть квазиполных подграфов квазиплотности 4 (рис. 5.51): QiD, 0) = {{0, 2}, {0, 5}, {0, 6}, {2, 5}, {2, 6}, {5, 6}}, QaD, 0) = {{0, 3}, {0, 5}, {0, 6}, {3, 5}, {3, 6}, {5, 6}}, Q3D, 0) = {{3, 5}, {3, 6}, {3, 8}, {5, 6}, {5, 8}, {6, 8}}, Q4D, 0) = {{3, 4}, {3, 6}, {3, 8}, {4, 6}, {4, 8}, {6, 8}}, QbC, 1) = {{0, 2}, {0, 3}, {0, 5}, {2, 5}, {2, 6}, {3, 5}, {3, 8}, {5, 6}, {5, 8}, {6, 8}}, QeC, 1) = {{0, 2}, {0, 5}, {0, 6}, {2, 5}, {2, 6}, {3, 4}, {3,5}, {3,8}, {4,6}, {4,8}, {6,8}}. Семантическая таблица, определяющая распределение ребер по запрещенным фигурам, имеет вид табл. 5.44. Таблица 5.44 {Xat, Xaj} <Е Р(Ха) {3,6} 1 1 1 {3,8} 1 1 1 1 {4,6} 1 1 {4,8} 1 1 {5,6} 1 1 1 1 {5,7} {5,8} 1 1 {6,8} 1 1 1 1 {7,8}
470 Гл. 5. Прикладная теория алгоритмов Минимальным покрытием строк столбцами является {{0, 5}, {3, 6}}; после соответствующего сужения сигнатуры графа проти- противоречивости Gnp(Xa) его минимальная раскраска имеет вид а = {0, 4, 5}, Ь = {1,2, 8}, с = {3, б, 7}. Склеивая соцветные вершины графа Gnp{Xa) и расширяя сопря- сопряженное пространство Р(Хь) до пространства Р{Х'Ь), Х'ь = {хь х3, х*}, штриховкой векторов 0, б, 8 € Р{Хь), которыми сцеп- сцеплены удаленные из графа Gnp(Xa) ребра, получаем граф Кёнига (рис. 5.52). Верхний ярус графа Кёнига соответствует введенной О = {0,4,5} 1={1,2,8} 2 = {3,6,7} 1*1*3*4 5 6'= 6*} б" Рис. 5.52 6х\ 8"= 84 8'= 8xj> 8"= функции ViC^ii г2), полученной после кодирования красок а, Ь, с графа Gnp(Xa) значениями соответственно 0, 1,2: {0 на 0, 4, 5, 1 на 1, 2, 8, 2 на 3, б, 7. Строим граф противоречивости Gnp(X'b) для вершин нижней доли графа Кёнига (рис. 5.52). Этот граф имеет вид, представленный на рис. 5.53. Редуцируем хроматичес- хроматическое число /i(Gnp(A"j)) до 3, чтобы согласно E.10) можно было синте- синтезировать внутреннюю функцию искомой декомпозиции в прост- пространстве Р{Х'Ь). Запрещенными фи- фигурами при этом поиске будут ква- квазиполные графы квазиплотности 4. Читателю предлагается найти эти подграфы и на основе распреде- распределения ребер в них определить опти- оптимальное сужение сигнатуры графа § 5.8. Синтез функциональной декомпозиции в k-знаиной логике 471 Gnp(X'b). Одним из таких сужений будет удаление семи ребер: {4,6'}, {0",5}, {0",7}, {0",8"}, {1, 5}, {5,7}, {7,8"} (рис. 5.54), в результате чего хроматическое число h(Gnp(X'b)) \Xl\X3\XA\ а = {4, б', 8'} - б^О & = {0',2,3,6(r,8"'}- 0 0я с = {0", 1,5,7,8"} - 0"-»10О 5--12 0"-100 7—2I 0"-»100 • -•¦*« Рис. 5.54 становится равным 3 (рис. 5.55): а = {4, б', 8'}, Ь = {0', 2, 3, б", 8'"}, с = {0", 1, 5, 7, 8"}. При удалении ребер необходимо учитывать, что нельзя уда- удалять ребро, вершины которого взвешены одним и тем же вектором рассматриваемого пространства, на- например, в нашем случае ребро {8', 8'j (см. рис. 5.53), так как век- векторы 8', 8" € Р{Х'Ь) не отличают- 8 ся переменными подпространства Р{Х'Ь), и, следовательно, штрихов- штриховка сцепляющего их вектора 0 @ € 8< G P(fi)) физически не реализуема: отсутствуют переменные подпрост- подпространства P(Xf)), которыми отличают- отличаются векторы 8' и 8" и которые могли быть «делегированы» в сопряжен- сопряженное подпространство для штрихов- штриховки сцепляющего их вектора.
472 Гл.5. Прикладная теория алгоритмов В рассматриваемом случае (см. рис. 5.54) для соцветности вер- вершин 4, 6', 8' необходимо было удалить ребро {4, б'}, для чего расширить сопряженное подпространство Р{<р\) до P(<pi, хз) или P((fi, Xi) переменной х3 или х4, которыми отличаются векторы 4 и б'. Вершины 0', 2, 3, б", 8'" образуют пустой подграф, и уда- удаления ребер не требуется. Для соцветности вершин 0 , 1, 5, 7, 8" необходимо удалить шесть ребер При этом векторы, соответствую- соответствующие вершинам ребер {0", 5}, {0", 7}, {0", 8"}, {1, 5}, {5, 7} от- отличаются как переменной хз, так и х±. Векторы, соответствую- соответствующие ребру {7, 8"}, отличаются переменной х±. Следовательно, при расширении переменной г4 сопряженного подпространства P(<Pi) -* P(fi) xi) реализуема штриховка всех векторов подпро- подпространства P(<fi), порождающих семь удаляемых ребер в простран- пространстве Р{Х'Ь). Склеиваем соцветные вершины, окрашенные крас- красками а, Ь, с (рис. 5.56); кодируем эти краски соответственно как 0'=0х? а = {4, б', 8'} = @', 2, 3,6я, 8"} Рис, 5.56 = {0", 1,5, 7. 8я} О, 1, 2. В результате полученный граф Кёнига определяет внеш- внешнюю функцию F(<fi, i4i <P2) искомой декомпозиции: *2, х3, хА) = F(<pi(xi, ж2), х4, (f2(xi, х3, х4)). Здесь функция трехзначной логики от четырех переменных пред- представлена в виде оптимальной повторной декомпозиции одной функ- функции <pi от двух переменных и двух функций <р2 и F от трех пере- переменных. Вид функции <pi был представлен выше. Функция <p2(xi, х2, хз) имеет вид (см. рис. 5.52) {О на -11,120,022, 1 на 000, -02, -10, 220, 222, 2 на 100, -01, -12, -21, 122. Функция F(<pi, z4, <Р2) имеет вид (рис. 5.56) {0 на 000, 002, 010, 020, 101, 121, 200, 1 на 022, 112, 201, 202, 211, 212, 221, 222, 2 на 001, ОН, 012, 021, 122, 210. §5.9. Синтез функциональной декомпозиции 473 Таким образом, стратегия синтеза оптимальной функциональ- функциональной декомпозиции в fc-значной логике заключается в выполнении следующих этапов: — разбиение исходного пространства Р(Х) на два сопряжен- сопряженных, Р{ХЛ и Р{ХЬ)\ Р{Ха) х Р{ХЬ) = Р(Х), ХаПХь = 0, ХаиХь = Х\ — построение графа противоречивости Gnp(Xa), его раскраска и, если это необходимо для выполнения соотношения E.8), осуще- осуществление редукции его хроматического числа путем расширения подпространства Р(Хь) до Р(Х%), Х'ь = Хь U АА"а; — склеивание соцветных вершин графа Gnp(Xa), кодирова- кодирование красок и построение соответствующих внутренних функций в подпространстве Р(Ха); — построение графа противоречивости Gnp(^), его раскраска и, если это необходимо для выполнения соотношения E.9), осу- осуществление редукции его хроматического числа на основе расши- расширения подпространства -Р(Ф) до -Р(Ф')) Ф' = ФАХь; — склеивание соцветных вершин графа Gnp(-^b)i кодирование красок и построение соответствующих внутренних функций в под- подпространстве Р{Х'Ь); — при необходимости дальнейшая декомпозиция полученных внутренних функций на основе этой стратегии и в результате по- построение внешней функции F искомой декомпозиции. § 5.9. Синтез функциональной декомпозиции заданной размерности Многие практические задачи сводятся к синтезу функциональ- функциональной декомпозиции булевой функции, в которой полученные вну- внутренние и внешняя функции имеют заданную размерность. Рассмотрим синтез функциональной декомпозиции булевой функции f(xi, X2, ..., хп) через функции от четырех переменных. Тогда в выражении E.5) параметры к и s удовлетворяют неравен- неравенству к -f s < 4. При этом возможны два случая: к = s = 2 и k(s) = 3, s{k) = 1. В первом случае запрещенными фигурами построения деком- декомпозиции булевой функции вида f(X) = F(^(Xe), <p2{Xa), щ(Хь), V2(Xb)) являются квазиполные графы квазиплотности 5 Q{pi, k{) С С Gnp(Xa), Gnp{Xb) {pi — плотность, fc, — порядок квазиплотного графа Q): QE,0), QD,l), 0C,2), 0B,3). Минимальные ресурсы — вершинный, реберный, локально- топологический (степени вершин графа), — определяющие запре- запрещенные фигуры 0E), приведены в табл. 5.45.
474 Гл. 5. Прикладная теория алгоритмов Таблица 5.45 Тип запре- запрещенной фи- фигуры Q(i,j) <?E), квази- квазиполные графы квази- квазиплотности 5, i+j = 5 Плот- Плотность t 5 4 3 2 Поря- Порядок 3 0 1 2 3 Мини- Минимальная структура Q(i,j) <?E,0) QB, i)+ + <?B,0) QB,2)+ + <?(!, 0) <?B,3) Минимальное значение Мощности носителя 5 7 12 23 сигнатуры 10 16 31 71 Степени вершины графа 4 4 4 4 Во втором/случае при к = 3, s — 1 запрещенными фигурами являются квазиполные графы квазиплотности 9: Q(9) = {Q(9, 0), Q(8, 1), QG, 2), QF, 3), QE, 4), QD, 5), QC, 6), QB, 7)}, Q(9) С Gnp(Xa); и квазиполные графы квазиплотности 3: QC) = {QC, 0), QB, 1)}, QC) С Gnp(Xb). При к = 1, s = 3 запрещенные фигуры Q(9) принадлежат графу Gnp(Xb): Q(9) C Gnp(Xb); а запрещенные фигуры QC) принадлежат Gnp(Xa): QC) С Gnp(Xa). Минимальные ресурсы, при наличии которых возможно суще- существование запрещенных фигур Q(9) и QC) в графах противоречи- противоречивости Gnp(Xa) и Gnp(Xb), представлены в табл. 5.46 и табл. 5.47 соответственно. Разбиваем исходное пространство Р(Х) на два подпростран- подпространства, Р{Ха) и Р{Хь), так, что Р{Х) = Р{Ха) х Р{ХЬ), ХаПХь = 0, |Xe|=[0,5|X|], \Xb\ = \X\-[0,5\Xa\], EЛ1) где \Х\ = п. Оцениваем каждое из С(п, [0,5п]) разбиений пространства Р(Х) суммой двоичных логарифмов верхних оценок хроматиче- хроматических чисел h(Gnp(Xi)), h(Gnp(Xj)): R(P) = [log2 /i(Gnp(X,))] + [bg2 hiG^Xj))}, E.12) § 5.9. Синтез функциональной декомпозиции 475 Таблица 5.46 Тип запре- запрещенной фи- фигуры Q(i,j) Q(9), квази- квазиполные графы квази- квазиплотности 9, i+i = 9 Плот- Плотность 1 9 8 7 6 5 4 3 2 Поря- Порядок 3 0 1 2 3 4 5 6 7 Мини- Минимальная структура ] Q(9,0) QB,1)+ + QF,0) QB,2)+ + QE,0) +QC,0) + QD,0) QB,2)+ +QB,1)+ +QB,0) +QB,1)+ <?B,4)+ <?B,3)+ QB,2)+ +QB,2)+ QB,5)+ + QB,0) QB,4)+ + QB,1) QB,3)+ + QB,2) QB,6)+ QB,7) Минимальное значение Мощности носителя 9 11 16 13 27 18 15 50 29 23 97 52 34 192 383 сигнатуры 36 50 85 68 169 113 90 380 507 183 946 476 344 2551 7271 Степени вершины графа 8 8 8 10 8 10 12 8 10 15 8 10 15 8 8
476 Гл. 5. Прикладная теория алгоритмов Таблица 5.47 Тип запре- запрещенной фи- фигуры Q(i,j) 0C), квази- квазиполные графы квази- квазиплотности 3, i+j = 3 Плот- Плотность t 3 2 Поря- Порядок з 0 1 Мини- Минимальная структур» 0C,0) 0B,1) Минимальное значение Мощности носителя 3 5 сигнатуры 3 5 Степени вершины графа 2 2 где С(п, [О,5п]) — число сочетаний из п по [0,5n]; G(X{) — строч- строчный граф противоречивости; G(Xj) — столбцевой граф противо- противоречивости, используя верхние семантические оценки хроматиче- хроматического числа графа h{G) < ] (smin + 1 + ((smin + IJ + + 8|C/|-4|V|.SminI/2)-2-1[, E.13) где sm;n — минимальная степень вершины графа G = (V, U), ] [ — целая часть числа. Выражение E.13) более точно определяет оценку хроматиче- хроматического числа, если известна плотность p(G) графа G. В этом слу- случае вместо графа G необходимо рассмотреть частичный подграф G' = (V, U'), G' С G, полученный после удаления вершин V{ со степенями, меньшими, чем p(G) — 1: s(vi) < p(G) - 1. Кроме оценки E.13), можно использовать и другие оценки хро- хроматического числа, рассмотренные в гл. 3, например, оценку, учи- учитывающую отклонение степеней вершин графа от среднего значе- значения: h(G) < 1 (scp + 1) • 2-1 + (((*ср + 1) • 2J + E-14) где scp — среднее значение степени вершин графа G =¦ (V, U), равное \U\ • B ¦ |V|)~ ; s(vi) — степень t-й вершины. Оценку E.14) получаем более точной, если вместо графа рас- рассматриваем его частичный подграф G' = (V, U'), G' С G, по- полученный после удаления вершин и,- со степенью, меньшей, чем P(G) - 1. §5.9. Синтез функциональной декомпозиции 477 Разбиение вида E.11) определяется использованием субмик- субмикронной технологии, так как в этом случае дебаланс активизируе- активизируемых цепей в нейронной сети будет оптимальным. Исследование такого разбиения показало, что оценки E.12), с помощью которых выбирается оптимальное разбиение, близки друг к другу. Действительно, порождение различных разбиений переменных булевой функции /(xi, Х2, ..., хп) эквивалентно применению пре- преобразований Джевонса к этой функции. Все соответствующие гра- графы Кёнига определяют функции, принадлежащие одному и тому же типу (в смысле Джевонса), но все однотипные булевы функции имеют одни и те же теоретико-структурные свойства, которые в ко- конечном счете объективно определяют декомпозиционные свойства функции. Рассмотрим синтез функциональной декомпозиции, реализую- реализующей булеву функцию /(xi, X2, ..., х6), описывающую функциони- функционирование одного из узлов машины логического вывода, при задан- заданных ограничениях к + s < 4: {1 на 3, 4, 7, 9, 16, 18, 22, 24, 25, 26, 34, 36, 37, 48, 50, 53, 58, 59, 62, 63, 0 на 0,2, 12, 13, 19,23,28, 31,40, 43,44,45,46,49,55. В результате оценки разбиений согласно E.12) было выбрано раз- разбиение вида 2, ..., х6) = 2, х3) х Р(х4, г5, х6); соответствующая таблица Вейча представлена в виде табл. 5.48 и граф Кёнига — на рис. 5.57. Таблица 5.48 ХЦЦз 0 1 2 3 4 5 6 7 Х4ХЦв 0 0 1 1 0 1 1 1 1 0 2 0 1 1 1 1 1 3 1 0 0 1 4 1 0 0 1 0 5 0 1 0 1 6 1 0 1 7 1 0 0 0 1 Строчный граф противоречивости Gnp(A"a) представлен на рис. 5.58, а; он содержит запрещенную фигуру QE, 0) — пол- йый подграф плотности 5 (рис. 5.58,6). Для определения мини- минимального сужения сигнатуры графа противоречивости и его оп-
478 Гл. 5. Прикладная теория алгоритмов тимальной реализации построим матрицу смежности S(Gnp(Xa)): 0 12 3 4 5 6 7 О 3. 7 Здесь в клетке [г, j] указаны векторы пространства Р(Хь), кото- которыми сцеплены векторы Xai, Xaj пространства Р(Ха). - 4 0,2,3 0,2,4,7 3,4 0,2,7 2 4 - 4,5 1,5 0,2,3 - 0,6 3,7 0,2,4,7 - 4 0 1 4,5 4 - 4,5 3,4 0,6 0 4,5 - 0,5 3,6 0,2,7 1,5 1 0,5 - 7 2 3,7 3,6 7 - Рис. 5.57 а, р, у. 6. t - краски графа Gnp{Xa) Рис. 5.58 Для устранения запрещенной фигуры QE, 0) выбираем ре- ребро, которому соответствует минимальное количество сцепляю- сцепляющих векторов. В данном случае выбираем ребро {и@), vG)}, так как векторы Ха, равные 0 и 7, сцеплены одним вектором Хь, Хь = 2. Штрихуем вектор 2 пространства Р(Хь): 2' = 2-г3, 2" = 2-1з, что эквивалентно удалению ребра {и@), и G)} из строчного гра- графа противоречивости Gnp(Xa); при этом хроматическое число § 5.9. Синтез функциональной декомпозиции 479 h(Gnp(Xa)) понижается до 4 (рис. 5.59): а = {0,7}, /3 = {1,5}, 7 = {2,3}, 6 = {4, 6}. В результате проведенного преобразования пространство Р(Хь), Хь = {х*, х$, Хб), расширилось до про- пространства Р(хз, 14, а?5) Хв) размерности 4 (рис. 5.60, а). После склеивания соцветных вершин в графе Gnp(Xa) и кодирования красок в пространстве P((fi, <^2) получили первую компоненту искомой декомпозиции (рис. 5.60,6): , Х2, х3) , х2, х3) = VB,3,4,6), = VA,5,4,6). а, Р. Y> * ~ краски графа Gnp(Xa) Рис. 5.59 Синтезируем внутренние функции в со- сопряженном пространстве Р(Хь). Граф противоречивости Gnp(Xl), Х'ь = Хь U АХа, Хь = {i4, ^5, Яб}, АХа = {х3} (рис. 5.61, а), со- Хв:х1х2х3 Х„: 2'= 2У3 2"= 2х3 t Ха:хххгх3 Х„: х3х4х5х6 0 12 3 а={0.7} Р={1,5} Y={2,3} 6= D,6} Рис. 5.60 держит запрещенную фигуру QE, 0) (рис. 5.61,6), следователь- следовательно, его хроматическое число /i(Gnp(A"j)) равно 5: а = {1,2"}, /3 = {0,2',5}, 7= {3,7}, 6 = {6}, е = {4}.
480 Гл. 5. Прикладная теория алгоритмов у Для редукции хроматического числа достаточно удаления од- одного из ребер графа QE, 0). Для нахождения оптимального сужения сигнатуры графа про- противоречивости Gnp(X'b) строим матрицу смежности S(Gnp(X'b)) с Р а, р, -у, 6. е - краски графа противоречивости Gnp(Xb) Рис. 5.61 указанием сцепляющих векторов пространства Р{Фа), Фа = {v>i, (табл. 5.49). Удаляем ребро (иA), иF)}, взвешенное сцепляю- Таблица 5.4Э — 0 1 2' 2" 3 4 5 6 7 0 - 1,3 0 0,2 0,2 0 0,2,3 1 1,3 - 3 1,2 1,2,3 1,3 1 2 2' 3 - 0 0,2 0,2 0 0,2,3 2" 0 0 - 2 2 2 3 0,2 1,2 0,2 2 - 2 4 0,2 1,2,3 0,2 2 — 2 3 5 1,3 - 3 6 0 1 0 2 2 - 2 7 0, 2,3 2 0, 2,3 2 3 3 2 - щим вектором 1, A <-»¦ а^яг^з) (рис. 5.62, а). В результате чи- число красок графа противоречивости Gnp(-X"?) уменьшается до 4 (рис. 5.62,6): а = {1,2", 6}, /? = {0,2'}, т={3,7}, <* = {4,5}. Склеиваем соцветные вершины и кодируем краски а, /?, у, 8 соответственно векторами 0, 1, 2, 3 пространства Р(<рз, щ)- По- Получаем, что внешняя функция определяется пятью переменными, ?>ъ ?>2, Уз, ?>4, Х4 (рис. 5.63): /(хь i2, ...,x6) = F(v>i(xb x2, х3), V>2(si, ar2, х3), Х4, Я5, х6), щ(хз, х4, х5, х6), х4), § 5.9. Синтез функциональной декомпозиции 481 т. е. получили декомпозицию исходной функции от шести пере- переменных в виде системы одной функции от пяти переменных, двух функций от четырех переменных и двух функций от трех перемен- переменных Внешняя функция F не удовлетворяет введенным ограни- . 2", 6} {0, 2'} {3, 7} {4, 5} Рис. 5.63 1'= 15< 1"= 1*4 5'= Рис. 5.64 чениям и ее необходимо декомпозировать дальше. Такой резуль- результат получен при последовательном способе поиска декомпозиции. Более оптимальное решение получим при параллельном способе поиска. Для этого расширение пространства P(<pi, ^2) Д° про- пространства P(<fii, 4>i,xa) спроектируем на расширение простран- пространства Р(х\, х2, хз) до пространства Р(х\, х2, х3, х4) (рис. 5.64). Граф Кёнига K(f) (рис. 5.64) определяет таблицу Вейча (табл. 5.50) 16 В. Л. Горбатов
482 Гл. 5. Прикладная теория алгоритмов Таблица 5.50 X1X2X3X4 0 1 1' = 1X4 1" = 1X4 2 3 4 5 5' = 5x4 5" = 5X4 6 7 ?¦3X4X5X6 0 0 1 1 0 1 1 1 1 0 2 2' = 2х3 0 1 1 1 2" = 2х3 1 1 3 1 0 0 1 4 1 0 0 1 0 5 0 1 0 1 6 1 0 1 7 1 0 0 0 1 Таблица 5.51 X 1X2X3X4 0 1 1' = 1X4 1" = 1X4 2 3 4 5 5' = 5x4 5" = 5x4 6 7 ViVt 0 {1,2", 6} 1 1 1 0 0 1 1 {0,2'} 0 1 1 1 0 1 2 {3,7} 1 0 0 0 0 1 3 {4,5} 1 0 0 1 0 1 Таблица 5.52 фКР2 0 1 2 3 {0,1', 7} {1",5',5"} = {1",5} {2,3} {4,6} <рз<р* 0 {1,2", 6} 1 0 1 0 1 {0,2'} 0 0 1 1 2 {3,7} 1 0 0 0 3 {4,5} 1 0 1 Здесь 1' = 1г4, 1" = 1*4, 2' = 2х3, 2" = 2х3. §5.10. Семантическое проектирование нейронных сетей 483 с учетом расширения пространств Р(Ха), Р(Хь), при котором га- гарантируется размерность функций, декомпозирующих исходную функцию, равная 4; результат сжатия таблицы Вейча по столбцам приведен в табл. 5.51, по строкам — в табл. 5.52 и на рис. 5.65. 0 0-{0, Г,7} = а 0 1-{1",5',5"} 1 0-{2,3} = с d 4 Рис. 5.65 Таблица 5.53 Связь десятичных эквивалентов с х,, » = 1,... ,4 (ц.хг.хз) определяет десятичный эквивалент (x4,xs,x6) определяет десятичный эквивалент Функции 4>l(xi,X2lX3) V2(X1,X2,X3,X4) ?>з(Х4,Х5,Х6) ?>4(Х4,Х5,Х6,Хз) F(tpi,ip2,V3,V4) Области определения Единичная 2,3,4,6 1" = 1X4,4,5,6 3,4,5,7 0,2'= 2X3,4,5 0,2,3,8,9,13,15 Нулевая 0,1,5,7 0,1'= 1X4,2,3,7 0,1,2,6 1,2" =2x3,3,6,7 1,4,5,6,7,10,12,14 Окончательно получаем оптимальную повторную декомпози- декомпозицию /(xi, X2, ..., х6) в виде , х2, ...,x6) i, х2, х3), (Р2(хи х2, х3) х4), , Х5, Х6), V>4(S3, Х4, Х5, Х6)) (табл. 5.53), т. е. в виде суперпозиции системы трех функций от четырех переменных и двух функций от трех переменных. § 5.10. Семантическое проектирование нейронных сетей В современных нейротехнологиях можно выделить два класса технологий: soft-нейротехнологии и hard-нейротехнологии. В тех- технологиях первого класса основной проблемой является разработка
484 Гл. 5. Прикладная теория алгоритмов стратегий обучения и самообучения нейронных сетей, включаю- включающих в себя синтез сценариев обучения. Эти технологии особенно важны при решении неформализованных задач при наличии зашумленной, противоречивой, неполной входной информации. Такими задачами являются задачи распознавания, классифика- классификации, прогнозирования, краткосрочного предсказания, которыми изобилуют финансовая и оборонная области деятельности чело- человека. В hard-технологиях, реализованных в виде нейроБИС, нейро- платакселераторов и работающих, как правило, в субмикронном диапазоне, одной из главных проблем является проблема разложе- разложения произвольной булевой функции f(xi, 12, ..., хп) в декомпози- декомпозицию функций от четырех-пяти переменных. Современный уровень технологий в электронной промышленности России и США по- позволяет выпускать четырехсинаптические нейроны, а в Японии — пятисинаптические нейроны при их цифровой реализации. Рассмотрим проектирование четырехсинаптической нейрон- нейронной сети на однородных нейронах гексагональной структуры, реализующей булеву функцию f(x\, х2, ..., хв) (табл. 5.54). Таблица 5.54 Единичная область функции f(xi,x2 -00100, 0 - 1001, 01 - 010, 01100-, 1 - 0010, 1100 - 0, -11010, 11 - 010, 111-11, ...,х6) 000-11 010 - 10 -10010 ОНО - 0 10010- 00-111 1 - 0101 11101— 11111— Нулевая область функции /(*1,*2, 0000-0, 0 - 1100, 101 - 00, 01-111, 101011, ¦ ¦.,х6) -0110- 010-11 1011 - 0 110001 -10111 Представим исходное пространство P(xi, Х2, ..., хв) в виде де- декартова произведения пространства размерности 3: Р(ХЬ Х2, ...,Х6) = Pa{Xl, Х2, Х3) X Рь(х4, ХЬ, Х6), и зададим исходную функцию в виде графа Кёнига K(f) (рис. 5.66). Столбцевой граф противоречивости Grmnp(Xb) имеет вид рис. 5.67. Граф Grmnp(Xb) содержит квазиполный подграф 0D,0): Grmnp(Xb) D QD, 0), 0D, 0) = ({1, 2, 4, 7}, UF). Следовательно, его хроматическое число равно 4 и минимальная раскраска имеет вид а = {1}, Ь = {4, 5}, с = {3, 7}, d — {0, 2, 6}. §5.10. Семантическое проектирование нейронных сетей 485 Кодируя краски двумя символами щ, щ: а — 00, 6 — 01, с — 10, d — 11, получаем внутренние функции щ, щ вида = У@,2,3,6,7), = V@, 2, 4, 5, 6). После соответствующего раскраске склеивания столбцов получаем граф Кёнига вида К(хх,Х2,хз, Щ,щ) (рис. 5.68). Строчный граф , Х5, Х6) 5, Х6) X4X5X4 Рис. 5.66 Рис. 5.67 Рис: 5.68 Рис. 5.69 противоречивости Gnp = (P(Xa), Unp) и его минимальная рас- раскраска представлены на рис. 5.69, а. Краски а, 6, с, d, e окрашивают вершины следующим образом: а = {0}, 6 = {1,7}, с = {2,3}, d={4,6}, e = {5}. Раскраска минимальная, так как Gnp(Xa) содержит квазиполный граф 0E, 0) = ({0, 1, 3, 4, 5}, UF).
486 Гл. 5. Прикладная теория алгоритмов Хроматическое число, равное 5, редуцируем до 4, устраняя за- запрещенную фигуру QE, 0) сужением сигнатуры с помощью уда- удаления ребра {3, 5}. Векторы 3 и 5 пространства Р(х\, Х2, хз) находятся в отношении противоре- противоречивости {3, 5} G Unp, обусловленном вектором 3 пространства P(r)i, %). Удаление ребра {3, 5} в графе Gnp(Xa) обеспечивается штриховкой век- вектора 3 в пространстве Р(щ, %)• Векторы 3 и 5 отличаются друг от друга переменными xi и х2. Для определенности выбираем х\; тогда вектор 3 в пространстве P(Vu "Пг) после штриховки имеет вид 3' = 3 • х\, 3" = 3 • xi, при этом 3' соответствует вектору 3 <-»¦ Х1Х2Х3; 3" — вектору 5 <->¦ xix2x3 (рис. 5.70). В результате сужения сигнатуры граф Gnp(-X) красится в че- четыре краски (см. рис. 5.69,6): а = {0}, 6 = {1,7}, с = {3,5}, d={2,4,6}. Кодируем краски, вводя символы <рцр2- с — 00, 6 — 01, с — 10, d — 11. После склеивания соцветных вершин получаем граф Кёнига K(F) (рис. 5.71), определяющий внешнюю 4142*1 Функцию F(y>i, (p2,m, m, xi)- Полученная внешняя функция ^(Vii У2, Щ, V2, х\) зависит от пяти переменных, следовательно, необхо- необходимо далее либо декомпозировать ее, ipi<f2 либо редуцировать хроматическое число столбцевого графа противоре- противоречивости Gnp(-Xb) (рис. 5.67) до 2. При этом запрещенными фигурами являются циклы нечетной длины. О- 1- 2- О.-(з) {0,1,4} {0,1,7} {1,2,4} {1,2,7} {1,5,7} 2,4,7 1,4, Г 0,4,7' {0,1,2,4,7} {1,2,3,6,7} Ребра {0,1} 1 1 1 {0,4} 1 1 {1,4} 1 1 1 1 {0,7} 1 1 1 {1,7} 1 1 1 1 {1,2} 1 1 1 1 §5.10. Семантическое проектирование нейронных сетей 487 Построим семантическую таблицу (табл. 5.55), каждой строке которой взаимно однозначно соответствует запрещенная фигура, столбцу — ребро, и в клетке (i, j) находится 1, если j-e ребро входит в г-ю запрещенную фигуру. Покрытие строк столбцами определяет искомое сужение сигна- сигнатуры графа Gnp(Xb). Минимальное покрытие образуют столбцы {1, 4} {1, 7}, {4, 7}. В результате удаления соответствующих ре- ребер граф Gnp(-X^b) преобразуется в бихроматический (рис. 5.72): а = {0,2, 5, 6}, Ь = {1,3,4,7}. Для определения переменных, которыми расширяется сопря- сопряженное пространство, рассматриваем вторую часть семантической таблицы (табл. 5.56; первой частью является табл. 5.55) Таблица 5.56 Xi Xi Xi Хб Ребра {1,4} 1 1 {1.7} 1 1 {4,7} 1 1 Рис. 5.72 Покрывая столбцы строками в табл. 5.56, определяем перемен- переменные, расширяющие пространство Р(Ха); покрытиями являются {Х4, xs}j {X4i хв}, {х$, xq}. Размерность пространства Р{Ха) уве- увеличивается на 2. Более оптимальным будет покрытие табл. 5.55, имеющее вид {{2, 4}, {0, 4}, {1, 7}}. Действительно, мощность минимального покрытия {14} табл. 5.57, аналогичной табл. 5.56, равна 1. Сужение сигнатуры графа Gnp(Xb) (см. рис. 5.68), соот- Таблица 5.55 Ребра {2,4} 1 1 1 {2,7} 1 1 {1,5} 1 {5,7} 1 {4,7} 1 1 1 1 {2,3} 1 {3,6} 1 {6,7} 1
488 Гл.5. Прикладная теория алгоритмов ветствующее покрытию ж = {{2,4}, {0,4}, {1,7}}, обеспечивает ре- редуцирование его хроматического числа h(Gnp(Xb)) до 2 (рис. 5.73). Таблица 5.57 Xi Х4 Хъ Хб Ребра {2,4} 1 1 10,4} 1 {1,7} 1 1 В результате штриховки векторов О, 3 пространства Р(х\, хг, хз) (рис. 5.74) раскраска графа Gnp(Xb) вид х,х2х3х4 X 4X5X4 а = {1,3, 7}, Ь ={0,2, 4, 5,6}. Кодируя краски: а-1, 6 — 0, получаем внутреннюю функцию вида / \| __ T/Y1 Q 7\ ll Для построения внутренних функций в подпространстве Р(Ха) склеиваем соцветные вершины графа Gnp(Xf,); в результате получаем граф Кёнига (рис. 5.75). а-{0,2,4.5,6} *={1,3,7} 0'= 0х4 0"- ОЗГ4 3'= Зх4 3"= ЗЗГ4 Рис. 5.74 0'= Ох 4 0"= О5?4 Рис. 5.75 Строчный граф противоречивости Gnp{X'a), Х'а — Ха U -Х^о = {^li Х21 ^з}| Д-Хь = {3:4} (рис. 5.76), содержит квазиполный подграф максимальной квазиплотности, равной 4: Gnp(X'a) Э 0D, 0), ОМ, 0) = <{0', 0", 2-, 5-}, С/пр). Следовательно, ^(Gnp(A"a)) = ^i поэтому достаточно введения двух внутренних функций, <fii(xx,X2,x3,х4) и [log2 и получаем §5.10. Семантическое проектирование нейронных сетей 489 fa))] = 2. Кодируем краски а, Ь, с, d (табл. 5.58) , fl на 0', 3', 3", 5-, 7-, х2, хз, х4) = 10 на ^ 11) 2'_) ^ ?_t v /l на 2-, 4-,3', 5-, 6-, , «я, *з, *4) = | о на 0', 0", 1-, 3", 7 - . Согласно проведенной раскраске Gnp(^) (см. рис. 5.76) склеиваем соцветные вершины; в результате получаем табл. 5.59, определяю- Таблица 5.58 Рис. 5.76 Краски a = {0", 1-} Ъ = {2-, 4-, 6-} с = {0',7-,3"} <*={3',5-> Таблица ! 0 1 2 3 V3<fit 00 01 10 11 >.5Э п 0 0 1 1 0 1 1 0 1 0 щую внешнюю функцию F оптимальной повторной декомпозиции исходной функции f(xi, х2, ..., xe): , X2, • .., Х6) = = F(<Pi(xu х2, хз, X4),ifi2(xi, х2, х3, х4), Т)(х4, х5, х6)), {хь х2, х3, х4}П {х4, х5, х6} = {х4}. Внешняя функция F((f\, 4>2,v) имеет вид F(<fii, V2, V)l = V(l, 2, 4, 5). В результате исходная булева функция от шести переменных представлена в виде повторной декомпозиции двух функций (<pi и v>2) 0T четырех переменных и двух функций (F и rj) от трех переменных. Вторым способом штриховки является способ, основанный на введении специальных переменных штриховки {хШТ1-}. Выше были найдены два покрытия ж\ и тг2 (см. табл. 5.55): *i = {{1.4}, {1,7}, {4,7}}, ж2 = {{2,4}, {0,4}, {1,7}}.
490 Гл. 5. Прикладная теория алгоритмов Для определения размерности вектора штриховки строим граф зацепления BЭац = \V, U3&n, X)), являющийся подграфом соот- Л Рис. 5.77 ветствующего графа противоречивости. Для покрытия тгх граф за- зацепления (рис. 5.77, а) имеет вид <?эац = (V, (С4ац, *)), V = {1, 4, 7}, С/эац = {{1, 4}, {1, 7}, {4, 7}}, для покрытия ж2 — вид (рис. 5.77,6) <23ац = ({0, 1,2,4,7}, ( Двоичный логарифм хроматического числа графа зацепления определяет минимальное значение размерности вектора штрихов- штриховки ХШТ, значение которого для пу равно 2: |*iijt| = [log2 /i(G3au(jr1))] = [log2 3] = 2, а для 7г2 — 1. Выбираем второе покрытие. Минимальная раскраска вершин графа G3&H(n2) имеет вид а ={0,2, 7}, 6 = {1,4}. Кодируя краски а — 0, Ь — 1, получаем значение вектора штри- штриховки ХШТ, задаваемого функцией , v _ Г 1 на 1,4, <Ршт{*4, х5, *б)-\0 на 0,2,7. Векторы 0, 1, 3 пространства Р(х\, i2, хз), определяющие зацеп- зацепления векторов 0, 1, 2, 4, 7 пространства Р(х4, xs, xe), штри- штрихуются согласно раскраске G^,,^), как показано в табл. 5.60, табл. 5.61). Таблица 5.60 0 0' = 0 • ?>шт 0 0 1 2 0 4 1 7 §5.10. Семантическое проектирование нейронных сетей 491 Таблица 5.61 XlX2X3Vm 3 3' = 0 • <?шт 3" = 0 • фШТ ХЦЦб 0 1 1 1 2 1 4 0 7 0 0 Бели первый способ основан на разложении исходного про- пространства Р(Х) в виде Р(Х) = Р{Ха) х Р{ХЬ) и расширении одного подпространства с помощью заема перемен- переменных в сопряженном ему подпространстве, то второй способ основан на представлении Р(Х) в виде Р(Х) С Р(Ха) х Р(ХЬ) х Р(Хпр) и расширении подпространств Р{Ха) и Р{Хь) в случае повторной декомпозиции переменными штриховки хшт € Р{ХШТ), опреде- определенными отношением противоречивости Unp между подпростран- подпространствами Р(Ха) и Р(Хь). Реализуем найденные функции т), <р\, у>2, F в виде соответствующих нейронов гексагональной структуры. Рассмотрим функцию t](x4, х5, хв)\х = V(l, 3, 7). Системы уравнений для определения синаптических весов и ква- квазипорогов имеют соответственно вид = T 2, I „„ D W4 "т~ ^5 — -*4• Решая уравнения, определяем синаптические веса и квазипороги нейрона (табл. 5.62), реализующего Т)(х4, xs, xe) (рис. 5.78, а); при ¦'¦¦' ¦¦'¦¦' У ' ' '' ¦¦.' ¦¦¦¦ ¦¦¦¦ ¦¦''¦I1 ¦¦' ¦¦' ¦¦' ¦¦' J- .j:,,l „I „I i1..'..'.,'.i1 .ТА J .,' .¦' .¦' ..' ..' Ъ .,,, ¦'¦'¦' 1 1 \\л,,\\т, ,гх, .ттх, .г. xi I Г I I Г I « ттттттт 0ПJ 3GMFO Рис. 5.78 этом используем граф неравенства весов (рис. 5.78,6).
492 Гл.5. Прикладная теория алгоритмов ц ч _ Г 1 на 0001, Oil-, 101-, 111-, , х4) - у 0 0000 00 Рассмотрим функцию Vi(*i» *: Системы уравнений, определяющие синаптические веса и квази- квазипороги, имеют соответственно вид W4 — L\, "о = О, w2-\- w3 = T2, w* -f Wd = Рл. ... i i rp lUi -f №3 = 14, I .... I .... T1 IWj •+• W3 + №4 = /5, 3 + 4 V>3 = Pi, 2 + 3 6, w2 + w3 + w4 = T7; 2 + f l = Р = P ъ, 4, = P6, = P7, = PS. Используя граф неравенства синаптических весов (рис. 5.79, а), определяем веса и квазипороги (табл. 5.63). Соответствующий нейрон имеет вид, представленный на рис. 5.79,6. Таблица 5.62 Таблица 5.63 «ч 2 3 1 Ti 1,4,6 иц 1 tu2 1 w3 2 «Ч 4 Ti 3, 4, 7, 8 ¦¦T ¦¦'¦¦' ¦¦'¦'' .¦'¦'"¦¦'"¦¦'"¦¦'"¦¦' ¦¦'¦¦' ,1 ,1 ,1 ,1 ,1' I A " 1 ¦¦' ¦¦' it' .'' '' '' ¦'¦¦' i ¦' .1 .1 .1 .1 .1 ¦¦¦¦ ¦¦¦¦¦' ¦'.¦' ¦¦'¦¦' ¦¦' ' i' i' i' i' , , , , , , , , , , , .'' ¦¦' .''¦¦' ¦¦''¦¦' .'''¦' '¦'. ''¦¦'.' y i' i' i' Г i' Г ' ' i1 ' i' i' ' 0 1 2@05 б®®9 б Рис. 5.7Э Рассмотрим функцию ч_ /l на 2-, 4-, 3', 5-,6-, 2, x3, x4)- j0 на 0-, i-,3", 7-. Системы уравнений, определяющие синаптические веса и квази- квазипороги, имеют вид и + w4 = T2, + w3 + w4 = Т4, + w4 = T5, о , W4 = Pi, W3 = Р2, = Р3, = Р4, = Р5. + 4 = Г8, = T7, = Т9; §5.10. Семантическое проектирование нейронных сетей 493 Граф неравенства синаптических весов является полным (рис. 5.80, а), следовательно, веса попарно не равны друг другу. Решая эти системы, получаем табл. 5.64. Нейрон, реализующий функцию ip2(xi, x2, х3, х4), имеет вид, представленный на рис. 5.80,5. Таблица 5.64 1 W2 3 2 иц 6 1, 3, 4, 7, 9, 10, 11 ¦¦' ¦¦'¦¦'. ¦'¦¦'¦¦' \>1',л ¦¦'¦¦' it'^'.t' '¦¦ 1' 1' 1' 1' 1' У 1' 1' 1' 1' 1' 1' 1' '' ¦''¦'' ¦''¦'' ¦''¦'' ¦''¦'' ¦'' ¦'' ¦'' ¦''¦'* .1 .1 ,Г ,1 .1 ..I ,г ,г..г..О- 1 ¦.'¦¦'.¦'..'.¦'..'.¦'..'.Л. ¦'¦¦'. ¦'.¦'¦ хш 1 ¦'¦'¦' ¦'¦'¦' ¦» ¦'¦'¦'¦' J \,1 * ¦¦¦ ¦¦ ¦' ¦¦'¦¦'¦¦'¦¦'' ' ' ' ' ¦¦ ¦ .¦'"¦¦'.¦' ' ' ' ¦ / .I1 ¦¦'¦¦' ' ' ' 1 ¦' ¦' ¦' ¦' ¦' ¦' ¦' ¦' ¦' ¦' ¦' ¦'..' 0(ТJ(|Х4M 6G)8(?IО( б Рис. 5.80 Л Рассмотрим функцию I i 1 11 1 1 1 1 1 ^ I1..1 .¦' ¦¦'.¦'.¦'¦' ¦'¦¦' ¦'.¦'¦¦'..' 1 .¦' .¦'¦¦' .¦'..' TJ oQXD б Рис. 5.81 Граф неравенства синаптических весов GHep имеет вид (рис. 5.81, а). Решая системы равенств wr = Ti, w6 + w7 = Pi, w6 = T2, w5+w7 = P2; w5 = T3, w5 + w6 = T4; W5 = w((f3), W6 = w(lfi4), W7 =
494 Гл. 5. Прикладная теория алгоритмов *1 Рис. 5.82 1 1 w7 2 Г; 1,2 Таблица 5.65 и зная, что w^ = we, получаем табл. 5.65, определяющую ней- нейронную реализацию функции F (рис. 5.81,6). Окончательно по- получаем нейронную сеть, представленную на рис. 5.82. § 5.11. Оценка динамики логических структур Для описания функционирования автомата во времени с по- помощью булевых функций положим, что все поступающие сигналы могут изменяться во времени только дискретно. Выбрав доста- достаточно короткие интервалы времени, считаем, что сигнал изменя- изменяется только на границе временных интервалов и не изменяется внутри самого интервала. Длительность интервала выбираем, исходя из следующих со- соображений. Разложим временной бу- в сумму эталонных функ- eo а2 x(t) ш ш ш ш ! 1 ш ш ш ш I ш ш ш ш ш 1 лев Ряд Наиболее простые эталонные функции a0, ai, O2, ... приведены на рис. 5.83, где Го — время, в течение которого анализируется работа авто- автот0 мата; при этом Рис. 5.83 Г,-= Го/2', E.15) где Г, — период эталонной функции а,. Согласно D.7) длитель- §5.11. Оценка динамики логических структур 495 ность минимального интервала где 7 — глубина временного квантования. Для любого автомата существует минимальное время Гмин между двумя соседними переходами. Для того чтобы описать ра- работу автомата во времени с достаточной степенью точности, необ- необходимо, чтобы выполнялось соотношение Гмин ^> Г/t, или 7 » [log2 (Г0/Гмин)]. E.16) Таким образом, для аналитического задания временных буле- булевых рядов с данной степенью точности необходима глубина вре- временного квантирования у > [log2 (Го/Гмии)]- Минимальный временной интервал Г/t будем называть вре- временным квантом. Тогда каждому кванту соответствует консти- туента единицы булевой временной функции ip(aQ, ci, a2, ..., a7), переменными которой являются эталонные функции a0, ci, аг, ... ..., ау. Следовательно, любой временной булев ряд с заданной сте- степенью точности можно задавать как булеву функцию от a0, ai, ... ..., а7 и применять ее как обычную булеву функцию. Например, временной булев ряд х(() (см. рис. 5.83) можно представить в виде x(t) = ao(ai V a2) V ao(aia2 V aia2). Каждый реальный элемент, входящий в синтезируемую логи- логическую схему, обладает постоянной времени. Следовательно, в практических логических схемах имеют место переходные про- процессы, которые необходимо учитывать. Рассмотрим применение понятия производной для исследования переходных процессов в схемах. Временной производной dx/dt от булевой переменной x(t) на- называется выражение dx/dt = x(t)ex(t^l), E.17) где x(t) — временная булева последовательность, принимающая значения 0, 1 в моменты времени 0, 1,2 ... Для определенности возьмем в E.17) знак минус. Временная производная показывает изменение сигнала во времени. Будем рассматривать периодиче- периодические булевы ряды. Проиллюстрируем понятие времениой производной иа следующем примере. Если переменная x(t) по времени t = 0, 1, 2, 3, 4, 5 имеет соответственно зна- значения x(t) = 0, 1, 0, 1, 1, 1, то временная производная изменяется как dx/dt = - 1, 1- 1, 1, 0, 0. Рассмотрим логическую схему с двумя входами, которые одно- одновременно переключаются. Для определенности будем рассматри- рассматривать переход @, 0) —)¦ A, 1). Условие одновременного переключе- переключения входных каналов xi и х2 является идеальным. На самом деле
496 Гл. 5. Прикладная теория алгоритмов с вероятностью, близкой к 1, изменяется сначала один, а через некоторое время другой вход. В зависимости от порядка их пе- переключения путь от @, 0) к A, 1) может пройти через A, 0) или через @, 1). Рассмотрим два случая. 1. Функции /@, 0) и /A, 1) не равны. Выходные сигналы до и после перехода различны. Тогда в промежуточных состояниях может иметь место либо "старое" значение сигнала, либо "новое". Если в схеме отсутствуют всплески, то никаких ложных сигналов не может быть. 2. Функции /@, 0) и /A, 1) равны. Выходные сигналы до и после перехода одинаковы, т. е. переход на выходе "не чувству- чувствуется". Но если выходной сигнал во время промежуточных состо- состояний отличается от /@, 0) и /A, 1), то во время переключения может появиться ложный сигнал, и переход критический. Это явление будем называть риском в логической схеме. Путь, по ко- которому сигнал перейдет из состояния @, 0) в состояние A, 1), за- зависит от физических параметров сигналов и имеет статистический характер. Следуя Бохману, приведем необходимые и достаточные усло- условия критического перехода. Для того чтобы переход из состояния (^ъ °г) в состояние (ру, <т2) (<т\, а2 = 0, 1) был критическим, не- необходимо и достаточно, чтобы: а) f{eri, °2) = f(ai, o2); б) /(оь о2) ф f{ou <т2) или /(<ть а2) ф /(оъ а2). Эти условия легко сформулировать с помощью производных. В случае критического перехода имеем: а) одновременное переключение обоих входов, т. е. дх\ дх дх2 ~дГ = ; at at б) значения выходного сигнала до и после переходов одинако- одинаковые, т. е. = 0; d(xi,x2) в) переключение только одного из входов ведет к переключению выхода, т. е. 0*i дх2 " Следовательно, ошибка выражается следующим образом: dxldx2fdfxidf\ Wf А/~ at at где Д/ — функция ошибки. дх E.18) §5.11. Оценка динамики логических структур 497 В выражении E.18) конъюнкция (dxi/dt)(dx2/dt) определяет свойства сигнала; в дальнейшем будем называть ее сигнальной частью. Конъюнкция (df/dxi\/df/dx2)d2f/d(xi,x2) определяет свойства реализуемой функции; далее будем называть ее функ- функциональной частью формулы, определяющей ошибку. Одним из способов повышения производительности ЭВМ явля- является увеличение рабочей частоты применяемых элементов. Сов- Современные молектронические элементы имеют рабочую частоту тысячи мегагерц. При работе логических схем задержка в цепи элементов становится сравнимой с периодом функционирования схемы, что приводит к необходимости учитывать ложные сигналы, определяемые выражением E.18). Ошибки не возникает, если Д/ = 0; для этого необходимо наложить ограничения на сигнальную или на функциональную часть формулы. Рассмотрим случай логических схем, у которых одновременно переключаются три выходных канала. Согласно E.18) ошибка имеет место при переключении двух произвольных входов. Следо- Следовательно, в функции ошибок при переключении трех входов, х„, it,, xc, содержатся следующие члены: Wf дхадхс (df_v dp dt \дха дхс, дха at at \дха v дхь) д{ха,Хьу dt d2f d{xa,xcy dt dt \дхьУдхс) ч ., _, В формуле, определяющей условия возникновения ошибок при переключении трех входов, содержится еще один член, который и учитывает одновременное переключение трех входов: >дхьдхс( d2f d2f d2f \ dt dt \d(xa,xb) d(xa,xc) d(xb,xc)) дха WJ dt dt dt \d(xa,Xb) ' d(xa,xc) d{xb,xc)J д(ха,хь,хс)' Следовательно, функция ошибки при переключении трех входов имеет вид dxadxb_(df_ **_^ _*р dt \dxaV дхь) д(ха,хь) , дха дхс dt *J at Qi дха V дхс ~dt~dt dt dxb dxc ( df dt dt \dxb d2f ., \дха dxcj д(ха,хс) dxj д(хь,хс) d2f .. d2f д(ха,Хс) V d2f d(x ai ь,с) E.19)
498 Гл. 5. Прикладная теория алгоритмов Обозначим функциональную часть функции ошибок, которая входит в одну и ту же конъюнкцию с (dxajdt)(dxa2/dt)... ... (dxak/dt), как F(xai, хО2, ..., хак). Тогда E.19) можно пере- писать в виде дха dt dxa dxc а, ХЬ) » л, л. ¦* l^aj •''с/ ' at dt dxbdxc \.,дха дхс F(xa, xb, xc). at dt dt Обобщая функцию ошибок на случай переключения п входов в логической схеме, получаем Fix х х \ — bai i • •*;ai i xanj E.20) n-l, и функция ошибок имеет вид Л/ = at dt dxa dt -F(xa • •.,*»„), E.21) dt dt '" dt . «ii »2. ••• = ai, a2, ..., an. Из формулы E.21) следует, что при увеличении числа перек- переключаемых входных каналов вероятность критического перехода увеличивается. При переключении трех каналов на входе схемы вероятность риска не меньше 75%. Функция ошибок Д/ носит статистический характер. Функция ошибок Д/ позволяет выяснить, возможна ли лож- ложная информация, и в каких временных квантах при подаче на входные каналы логической структуры заданной сигнальной ча- части. Более сложной и важной задачей является синтез сигналь- сигнальной части, гарантирующей 100-процентное выявление аномалий динамического поведения логической структуры. Рассмотрим эту задачу при реализации логической структуры в виде нейронной сети из четырехсинаптических нейронов, используя при этом теорию трасс. В §2.10 было показано, что распределение трасс объективно определяет качество переходного процесса, а именно при пере- переключении логической структуры по трассе может возникнуть лож- ложная информация в выходном канале логической структуры. Дру- Другими словами, ложная информация проявляется на выходном ка- канале выходного элемента логической структуры из-за неодновре- неодновременного переключения входных каналов этого элемента. §5.11. Оценка динамики логических структур 499 С учетом вероятной фильтрации ошибок невыходными эле- элементами логической структуры предложим модель ИС (рис. 5.84), представляющую собой граф Gm — (Vm, Um), гомеоморфный гра- графу <-?ис (каждая вершина Ghc взаимно однозначно соответствует элементу логической структуры, дуга — соответствующему каналу) и отличающийся от него наличием вершин и7, (г = 1, 2, ..., JbBX; &вх — входной коэффициент выходного элемента), (vyi, ивых.эл.) € Um- Каждая вершина и7,- соответствует минималь- минимальной задержке, "приведенной" к входным каналам j-то выходного элемента: rmin Ь ТЧ ^ где rmin — минимальное время задержки прохождения сигнала (переключения) от входного канала ИС до г'-го входного канала j-ro выходного элемента, определяемой соответствующей активи- активируемой цепью; '-'•7 — максимальное время задержки аналогичного харак- тера, что и гЧп. Значение r,j носит статистический характер. Разность Д(г, j) = - г Ч называется временным деба- (, j) п лансом г-ro входного канала j-ro выходного элемента. Пара вход- входных векторов, Ха, Хь, соответствующих трассе Т(Ха, Хь) для выходного элемента, может быть нереализуема, если цикломати- ческое число графа Ghc = (^ис, #ис) больше нуля и найдется элемент va с kBtlx(va) > 2 (А;вых — выходной коэффициент эле- элемента va) и ортогональными функциями возбуждения (pai, (paj входных каналов смежных с ним элементов Ui, vj: (Va, Vi) ? С/ИС, (Uari Vj) G С/ИС, Vm & Vaj = 0.
500 Гл. 5. Прикладная теория алгоритмов §5.11. Оценка динамики логических структур 501 Для построения распределения трасс для выходного канала выходного элемента логической структуры, реализующего булеву функцию /(xi, x2, ..., хкшх), необходимо рассмотреть 1=2 переключений входных векторов X = (х\, х2, ..., хкях), где JkBX — входной .коэффициент элемента, равный количеству его входных каналов. Рассмотрим это распределение для ней- нейрона (рис. 5.85), реализующего булеву функцию /(«1, «2, «3, «4I!= V@, 1, 2, 12, 13). Дерево распределения трасс (рис. 5.86) имеет 11 поддеревьев B4 — 4 — 1 = 11), каждое и которых соответствует фиксиро- /(XI, Х2, Х3, X, i i i i i I i i 1 ¦' ¦'¦''' .07 ¦'¦'¦' ¦'¦'¦'¦' '.¦'¦¦'¦'¦¦'.''.''.¦' ,' ,i ,i ,i ,| ,i ,i J .1 Г I Г I Г * 0 12 3 4 5 МЧОИЮИЮП Рис. 5.85 ванному переключению входных каналов. l/(*i. х2. Переключе- Переключение двух входных каналов Переключе- Переключение трех входных каналов Переклю- Переключение четырех каналов Рис. 5.86 В силу B.24) справедливо условие E.22) (М.В. Горбатова) поро- порождения всех трасс при переключении входных каналов ха1, ьак- ьац ¦ I • • -l^Ojfc) — dkf д(х ¦и Oil ¦к- ( \/ df , v *Л/ I V ——— Q? к...к— L— \ E.22) d(xbi, x^, хЬз) (bi, b2, ..., bjt-i) С (bi, b2, ..., bk), (h, b2, ..., bk) G P{au a2, ..., ak), где P(ai, a2, ..., ак) — множество перестановок из А; элементов. Переключение входных каналов х\ xTj: /(*li Х2, Х2, Х4) = ^l^2^3^4 V x"iX*2X^3:c4 V V X"iXX3X*4 V Х\Х2~Х$Х4 V Х1Х2Х3Х4, -q^- = /A, х2, х3, х4) ф /@, х2, хз, х4) = = (Х2Х3Х4 V Х2Х3Х4) ф (Х2Х3Х4 V X2X3X4 V X2X3X4) = Х3 V Х2Х4, df дх2 = x3V (так как переменные х\, х2 являются симметричной парой для функции /(xi, х2, х3, х4)), d2f д fdf\ д ._ w__. О Q— = Q— I Q— 1 = ТП"^ V XlX4) = X3X4. 0x1 дх2 dxi\ox2j 9xi Для порождения трасс при переключении х\, х2 согласно фор- формуле E.22) построим табл. 5.66. Получим пять решетчатых ин- Таблица 5.66 0000 0001 0010 ООП 0100 0101 оно 0111 1000 1001 1010 1011 1100 1101 1110 1111 в*1 1 1 1 0 1 1 0 0 1 1 1 0 1 1 0 0 м. 1 1 1 0 1 1 1 0 1 1 0 0 1 1 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 e(x!,Xj) 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 Wt в(Х!,Х3) 1 1 0 1 1 1 1 1 1 1 1 1 1 1 0 1 R(xux2) 1 1 0 0 1 1 1 0 1 1 1 0 1 1 0 0 тервалов, из которых [0, 12], [1, 13], [4, 8], [5, 9] содержат по две трассы длины 2, а интервал [6, 10] — одну трассу той же длины (рис. 5.87): 0 1 5 < V < V < V 4 g 1 < V < V < V 12), v 13), v 9), v л л 5 < V < V < V )() 0) < t,(8), v 13)(9) < v <v < V 5) < иA3 12) < и(8 2) < иA0
502 Гл. 5. Прикладная теория алгоритмов Вычисление трасс для xi, хз и для других переключений двух каналов оставляем для самостоятельной работы читателю, здесь же приведем только результаты этих вычислений. При переключении |а?г|а:з 1 имеется три трассы: иC) < иA) < и(9), иD) < «A2) < иA4), vE) Множество трасс при переключении | a?i |a?41: иC) < иB) < иA0). Множество трасс при переключении |х2|хз|: иC) < «A) < иE), v(8) < иA2) < иA4), и(9) < Множество трасс при переключении |х2|х4|: f>C) < иB) < и(б). Множество трасс при переключении хзрсЛ: Решетчатый интервал, содержащий хотя бы одну трассу, на- называется критическим. При переключении двух входных каналов нейрона получили 14 критических решетчатых интервалов: Ji =[0,12], h =[1,13], J3 =[4,8], J4 =[5,9], J5 =[6,10],' J6 =[3,9], J7 =[4,14], J8 =[5,15], J9 =[3,10], Jio = [3,5], Jn = [8,14], J12 = [9,15], Лз = [3,б], J14 = [l,2]. Вычислим трассы при переключении трех входных каналов ней- нейрона: (Xi, Х2, Х3), (Xi, Х2, Х4), (Xi, г §5.11. Оценка динамики логических структур 503 Переключение входных каналов E.22) имеем I. Согласно формуле ЛО f ' *2< ^ = д(хи х2, Л/ д(хъ х2) у у v d2f v дх3 *~ а(хь х3) " дх3 ~ д(х2, x3)J ' ^' ' Производные df/dxu df/dx2, d2f/d(xi, x2) были вычислены выше. Вычислим остальные производные, входящие в формулу Д(х1, х2, хз)'. df ф (llX2 VX1X2) = __д_(д/\ д Vxxx2, V Х3) = х2зГ4 ф 1 = х2 V х4, d{xuxz) = (г3 V х2х4) ф (х2 V х4) ф (xix2 V 9x2 дхз дх2 d3f dxi дх2 дх3 (Я f \ -L ) = дхз) Я xix2x4 V = хх V х4, dx2dx3 Ф ф d3f dxi дх3 дх2дх3 дххдх2 дх3 = (х3 V х2х4) ф (х3 V xix4) ф (х!г2ж4 V xix2) ф ф х3х4 ф (х2 V х4) ф (xi V x4) ф х4. Подставляя найденные выражения производных в E.23), получаем шесть трасс: иB) < иF) < иA4) иB) < иF) < иD) < иA2), vB) < и( иD) < и@) < «B) < и(
504 Гл. 5. Прикладная теория алгоритмов содержащихся в трех критических интервалах J15 = [2, 12], Лб = [4, 10], J17 = [6, 8]. Поиск трасс при переключении переменных (гх, х2, х4), (х\, х3, г4)> (X2i хз, х4) оставляем читателю для самостоятельной работы. Приведем результаты вычислений. При переключении (х\, х2, х4) получаем семь трасс: §5.11. Оценка динамики логических структур 505 ) «A) < и(9) < t>(8) < v(U), иD) < и@) < иA) < «(9), юD) < иA2) < иA3) < и(9), иE) < юA) < и@) < «(8), «E) < иA3) < иA2) < f/(8)f содержащихся в четырех критических интервалах Ji8 = [0, 13], Ji9 = [l, 12], J20 = [4, 9], /31 = [5, 8]. При переключении каналов {х\,Хз,х4) получаем четыре трас- трассы: иC) < иA) < и@) < и(8), иC) < иB) < и@) < и(8), иD) < иA2) < иA3) < иA5), иE) < иA3) < иA2) < «A4), содержащиеся в трех критических интервалах ^22 = [3,8], J23 = [4, 15], J24 = [5, 14]. При переключении входных каналов (х2, хз, х^) получаем че- четыре трассы: иC) < иA) < и@) < иD), иC) < t7B) < «@) < t7D), и(8) < «A2) < иA3) < иA5), и(9) < иA3) < иA2) содержащиеся в трех критических интервалах J25 = [3,4], J26 = [8, 15], J27 = [9, 14]. Переключение входных каналов |х1|х2|хз|х4[- Согласно E.22) имеем 9- 9- д(хих2) д(хих2,хз) V dxi^d(xl,x3) *~ 9(zi,x2,x3) d3f V V V V V V V V V , хз, x4) d2f 'д{х1,х4)""д(х1,хз,х4) . d2f ,. 9г2*~9(:с2,:Ез)' dx-i**1 д{х2,х4)" Of и d2f , d(x2,x3,x4) i Z3i z4) d2f dx3 df_^ f dx3 9A1,13)' dft d2f ; 9ж3 9(ж2)а;з) 9г4 9(xbX4)' a/,. 92/ V 9(гз,а;4) "/9(х1,г3)г4) »/.. d2f u 93/ V '9(г1,а;з)"'9(х1, хэ,х4) Of.. d2f ,, a3/ d3f 9г31Х'9(а;2, х3) °°9(a;2, x3, г4) ELb-?L-b-J?I— ) d{xt,x2,x4) 9x4 9(a;2,x4) 9(xi,x2,a:4) 5/.. d2f tr d3f -V V V V V V V V V V 'д(х2,х4)О1'д(х2,хз,х4) " 9x4U°9(a;3,a;4)"'9(ii,a;3,X4) va/fc 92/ fc 93/ у 9a;4 9A3,14) 9(ж2)а;з,а;4)У Истинное значение i?(a?i, г2, «з, a?4) показывает, что при пе- переключении четырех каналов (xi, x2, х3, х4) получаем 14 трасс (рис. 5.88): С и(8) < и(9) < «(И) < и
506 Гл.5. Прикладная теория алгоритмов v{2) v{2) vG) vE) содержащихся в трех критических интервалах J28 = [2, 13], J29 = [5, 10], J3Q = [6, 9]. [2,131 [6,2,0,1.9] [2,3,7,5,13] [2,3,7,15,131 [2,3,11.9,13] [2,3,11,15,13] [2,6,4,5,13] [2,6,7,5,131 [2,6,7,15,131 [2,6,14,15,131 [2,10,8,9,13] [2,10,11,9,13] [2,10, II, 15,131 [2,10,14,15,13] Риск сбоя Рис. 5.88 Каждому решетчатому интервалу J = [Ха, Хь] с расстоянием по Хеммингу между экстремальными элементами Н(Ха, Хь) = к соответствует &-куб. Найдем количество &-кубов в n-кубе, п > к; &-кубу соответствует трехзначный вектор а 102 ¦ ¦ ¦ в котором к разрядов имеют прочерки, п — к разрядов имеют О или 1. Число двоичных векторов длины п — к равно 2п~к. Число способов индивидуализации п — к значащих разрядов в п-мерном векторе равно (п"^)- Следовательно, количество fc-кубов в п-кубе равно 2П~* • (n2jfc)? Число пар точек, отстоящих по Хеммингу друг от друга на расстояние, равное к в Jk-кубе, равно 2*. Каждая §5.11. Оценка динамики логических структур 507 пара точек соответствует возможному переключению к каналов; при этом фактическое переключение возможно по одной из к\ це- цепей. Следовательно, число цепей длины к в одном А:-кубе равно 2* ¦ к\ Отсюда получаем, что возможное количество цепей Nn длины к, каждая из которых может быть трассой, в n-кубе равно in—к п -к п - к) к\ Для рассматриваемого нейрона: из 96 цепей длины 2 образуют трассы 14 цепей; из 192 цепей длины 3 — 13 цепей; из 192 цепей длины 4 — трассы 3 цепи. Если допустить что переключения каналов равновероятны, то: с вероятностью 0,15 возможна ложная информация при пере- переключении двух каналов; с вероятностью 0,07 — при переключении трех каналов; с вероятностью 0,01 — при переключении четырех каналов. Из 480 цепей трассами являются 30; наиболее "опасным" в случае порождения ложной информации является переключение @010) <-> A101). Порождение трасс для выходных элементов составляет пер- первый этап синтеза "наихудшей" в смысле переходных процессов сигнальной части — входной сигнальной программы при модели- моделировании аномалий динамических свойств логической структуры. Вторым этапом является отображение найденных в пространстве P(zii Z2, • • •) *к„) критических решетчатых интервалов в прост- пространство P{xi, X2,..., хп), где z,- (г = 1, 2, ..., квх) — входные х2, хп — входные каналы ло- локаналы выходного элемента; гической структуры. Рассмотрим логическую структуру в виде нейронной сети (рис. 5.89), состоящей из нейронов гексагональной структуры, реализующих булевы функции: /i(/2i Х2, х3, /3)^= V@, 1, 2, 12, 13) (ее реализация в виде нейрона гексагональной структуры представлена на рис. 5.85, где х\ = hi Х4 — /з); Л(*ю, *п, *12, Л)|х= VE, 7, 9, 10, 11, 13) (рис. 5.90); /з(*1, *4, *5, /4)|i= VC, 4, б, 11) (рис. 5.91); /4(*в, *т, *8, х9)\1= V@, 3, 7, 8, 15). (рис. 5.92); Учитывая, что невыходные элементы нейронной сети имеют свойство "фильтрации", каждый критический интервал простран- пространства Рк„ будем отображать в соответствующий критический ин- интервал пространства Рп (для рассматриваемого случая квх = 4, п = 12) с максимальным расстоянием по Хеммингу в пределе так,
508 Гл. 5. Прикладная теория алгоритмов чтобы экстремальные элементы интервала соответствовали двой- двойственным векторам. h о——о Рис. 5.89 , дг4, jrs> /4) C ¦'¦' ¦¦|..'..'.1| ..' 'У Г.1..1..1..1 С4-Д .1 ..I I ,1 ,1 У"..' ..' .¦' ,I.,'.,'..' ,1 .1 .1 .1.1 J-J. I..IJ.J..1. ¦' у у у '¦Г.1..1..' >'¦¦'.''.''¦¦'¦¦' у у А Г Г 1" 1* Г I I *4 '.''¦¦'¦¦'¦¦' 5 6 7 8 9 ЧЮ11 Ю1111 и IQ-П Регистр квазипорогов Рис. 5.90 ..I ..I ,1' ,1 • 1 • 1.,' • ,' ,1 ,1 Г1 , , ,, ,1,.Г,.1 ,1 i 1 1 ,1 ,1 1 , , , Л..1 .1 ,1 JI i ,1.1.,' I Г Г 4 5 6 7 8 9 ЮИШОЩОП Рис. 5.91 ГТТ-4 ¦'.'¦'¦' ¦'¦'¦' ¦'¦'¦СТУ 1 ¦'¦'¦' ¦'¦'¦' ¦'¦'¦' УУ ¦' ¦¦'¦¦' '¦|..' ¦¦'¦¦' 'J'. б ¦XI TJ7J ,.Г,.Г,,Г,.Г„Г,.1 ..ГУУх!, у у у у у у у у у у у ,,х, I ..I J ,i ,,г,.1 .1 „I „г .СГТЙ у у у у у у уу yyyZxl i' г i' i' ' ' ' г |'У/х» 01 23456789 10 \|1|0|1|1|0|0|0|1|0|0|1|/ Рис. 5.92 §5.11. Оценка динамики логических структур 509 Для критического интервала J\ — [0, 12] в пространстве P(f2, х2,хз, /з) имеем рис. 5.93). .2 -» 13 (двойственная пара) /з=0-0 14 -* 1 (двойственная пара) О 12 г» 3 (двойственная пара) (Г о. j_ 1 Рис. 5.93 Окончательно получаем табл. 5.67. Таблица 5.67 Ха Хь XI 1 0 х3 0 1 хз 0 0 ха 1 0 Xi 1 0 агв 1 0 xj 1 0 Xi 0 1 X9 0 1 агю 0 1 xu 1 0 0 1 Критическому интервалу Ji = [0, 12] в пространстве Р± соот- соответствует критический интервал J[ = [2530, 1053] в пространстве Рп, в котором определено функционирование исследуемой нейрон- нейронной сети. Интервал J[ на выходном элементе определяет переходный процесс, "эквивалентный" переходному процессу, соответствующе- соответствующему интервалу J\. Эффективность аэфф предлагаемого подхода к вычислению критических интервалов можно оценить отношением количества всевозможных пар входных векторов (X,-, Xj), Xi ф Xj, в Р\2 к количеству критических интервалов определенных по E.22) для выходного элемента нейронной сети: Л - 1). _ /2П\ _ 2" • BП - \ * / . * ' J'Kp.H лг, кр.ннт
510 Гл.5. Прикладная теория алгоритмов Для рассматриваемого случая -СП- <*эфф 8 386560 30 = 279 552. Выполняя аналогично отображение остальных 13 критических интервалов при переключении двух каналов выходного элемента, получаем J2(l, 13) J4E, 9) J6C, 9) J8E, 15) ЛоC, 5) Ji2(9, 15) 0306, 3229), 1381, 2205), 0866, 2205 , 1378, 3741), J{0@870, 3225), j\2 @357, 3738), •/зD, 8) Л F, Ю) J7D, 14 1,10) ( J9C, ( Jn •Аз Ju ) 8, 14) 3,6 1,2 ЛC554, 0029), 4D066, 0541), 4C554, 1565), 4@994,2588), JM0229, 3866), ( J3@998, 3605), 44@486, 2585). Найдем отображение критических интервалов при переключе- переключении трех каналов выходного элемента: JisB, 12), ЛбD, 10), Л7F,8), J18@, 13), J19(l, 12), J20D,9), JnE,3), J22C, 8), •Ы4, 15), J24E, 14), J25C, 4), J26(8, 15), J27(9, 14). Отображение JisB,12) -)• J'ls@738,3357) показано на рис. 5.94. h 0 l *3 0 l хг i 0 h 0 0 /3:0~0 - 13 12-3 *1 0 1 *4 0 1 x? 1 0 A 0 1 и 1 0 1 0 *7 0 1 0 1 *? /г 0 l 5t l 0 1i 0 l "a x\ 0 l xi 0 1 *3 1 0 t*4 0 1 *? 1 0 Xj 1 0 *7 1 0 XS 0 1 x? 0 1 *& 0 1 xll 1 0 0 1 Рис. 5.94 Аналогично отображаем остальные 12 интервалов: Jis J22 J24 4, 10) -)• J{6A250, 2845) 0, 13) -)• 48B402, 1181) 4, 9) -» 40 3426, 0157 3, 8) -» 42 0994, 2077 5, 14) -» J\A 1506, 3613 . ,12) ./3iE,8) ./аз D, 15) ^25C, 4) J{7A762, 2333), 49@482, 3101), JL 1506, 2077), 4зC426, 1693), " @998,3097), 8, 15) -> 4бB405, 1690), J27(9, 14) -+ 47@485, 3610). §5.11. Оценка динамики логических структур 511 Определим отображение критических интервалов J2sB, 13), J2gE, 10), J3oF, 9) в пространство входных векторов нейронной сети — в пространство Pi2. Отображение J2eB, 3) -> J Аналогично получаем > 49A506, 2589), 7^C938, 0157). 1181) показано на рис. 5.95. ^29E, 10) ^зо F, 9) - Входные векторы Ха, Хь в про- пространстве Рп, являющиеся экстре- экстремальными элементами проекции критического решетчатого интерва- интервала пространства Р*„х, образуют кри- критическую пару входных векторов \Ла, Ль}- При отображении h 0 1 хз 0 1 хг 1 0 А 0 1 "ft 1 0 1 0 0 1 X, 0 1 4f 0 1 *11 1 0 "i? 0 1 Для каждого входного канала элемен- элемента BBhtx строили антисиндром, со- состоящий из элементов, входящих в активируемые цепи [хвх, хвах]; мвх — входной канал нейронной се- сети, Хвых — входной канал выход- выходного элемента; состояния цепей обеспечивали соответствующую си- ситуацию на рассматриваемом входном канале элемента В„ых- Если при этом находился элемент В,-, не обеспечивающий согласованное функ- функционирование цепей (условия поведения элемента В, противоре- противоречивы), то соответствующий интервал пространства PjtBX являлся нереализуемым и в дальнейшем не рассматривался. Для оптимального по времени выявления всех аномалий дина- динамических свойств введем граф связности G— ПУЛ ТТ\ ев — иЛ«Л 1^/, Рис. 5.95 в котором каждая вершина взаимно однозначно соответствует век- вектору Xi пространства Рп, ребро {Xi, Xj} G U — критическому решетчатому интервалу J(Xi, Xj), где Xi, Xj — концы соответ- соответствующей трассы. Для выявления всех аномалий при логическом моделировании нейронной сети, не повторяя ни одну из трасс, необходим одно- однократный обход всех ребер графа связности GCB, следовательно, граф GCB должен быть эйлеровым.
512 Гл. 5. Прикладная теория алгоритмов Для минимизации времени формирования входных векторов Х{ необходимо отсутствие их повторения, следовательно, граф GCB должен быть гамильтоновым. Используя характеризационный анализ, можно показать, что граф связности GCB эйлеров и гамильтонов тогда и только тогда, когда его цикломатическое число v(GCB) равно нулю и его степень S(GCB) не превышает двух: (v(GCB)=0)&(S(GCB)<2). При этих условиях граф GCB является линейно упорядочивае- упорядочиваемым. Запрещенными фигурами исследуемого свойства графа связ- связности являются циклы и вершины со степенью, превышающей 2. Если граф GCB не является эйлеровым и гамильтоновым, то расширением носителя {АХ{} устраняем циклы и вершины X,- со степенью 5(Х,) > 3 и линейно упорядочиваем граф GCB- Линейно упорядоченный граф GCB = {{Xi U Д Jfi}, U) опреде- определяет входную сигнальную программу выявления аномалий дина- динамических свойств нейронных сетей. Анализ графов связности для реальных сетей показал их ма- малую связность. Учитывая это свойство, предложим следующий эффективный алгоритм расширения носителя графа GCB и его линейного упорядочивания: 1)GCB:=G,-; 2) S(Gi) < 2 ? Если да, то переходим к п. 3), если нет — к п. 4); 3) V(G,) > 0 ? Если да, переходим к п. 4), если нет ^кп.6); 4) определяем цепь максимальной длины тгтах (в пределе — остов, графа) G,-; 5) G, \ тгтах := G,-, в результирующем графе штрихуем повто- повторяющиеся векторы Х{. Переход.к п. 2); 6) линейно упорядочиваем граф ({Х,иДХ,}, U); 7) конец. Пусть граф связности GCB = ({Xi}, U) (рис. 5.96, а) имеет вид {Xi/ i = a,b, с, d, е, k, т}, §5.11. Оценка динамики логических структур 513 U = {{Xa, Хь}, {Ха, Хс}, {Ха, Xd}, {Хь, Хс}, {Хь, Хе}, {Хь, Хт}, {Хс, Хе}, {Хс, Xd}, {Хс, Хк}, {Хе, Хк}, {Хе, Хт}, {Xd, Хк}, {Xd, Xm}, {Хк, Хт}}. Имеем запрещенные фигуры графа связности х{ S(Xi) Ха 3 Хь 4 Хс 5 xd 4 хе 4 хк 4 4 и восемь базисных циклов (рис. 5.96,6): «(Go.) = \U\ - \{Xi}\ + 1 = 14-7 + 1 = 8, v(GCb) — цикломатическое число графа. Ха Рис. 5.96 Выделяем остов 7гтах) состоящий из шести ребер (рис. 5.97, а): "max = {{-^0) Хь}, {Хь, Хт}, {Хт, Хе}, {Хе, Хс}, {Xc,Xd},{Xd,Xk}}. GCB \ тгтах = {{Ха, Х'с}, {Х'с, Х'ь}, {XI, Х'е}, {Х'е, Х'к}, {Хс, XI}, {Х'к, Х'т}, {Х'т, X'd}, {Х'а, X'd}}. Степень графа GCB \ ттах равна 3: S(GCB \ тгтах) = 3. Следовательно, выделяем остов тг^^, (рис. 5.97,6): 'к> Х'е}, {Х'е, Х'ь}, {Х'ь, Х'с}, {Х'с, Ха}, {Xa,Xd},{X'd>X'm}}, ""max = 17 В. А. Горбатов
514 Гл. 5. Прикладная теория алгоритмов 6 О*' Ха __ в Рис. 5.97 и производим его удаление: (UCB\nmax) \Ктлх— \\Лт> Лк1' \Лк> ЛсЦ- Линейно упорядочиваем граф связности с учетом расширения его носителя (рис. 5.97, в): Ci U ДХ,} = {Хо, Ха, Хь, Хь, Хс, Хс, Хс, Л<?, Лд, Ле, Ле, Лк, Л.^, Хт, Лт}, х9 1 2 3 4 5 6 7 8 9 10 И 12 13 14 15 16 17 18 19 20 21 22 23 24 II MIIIII 1 25 X,: x1x2x3x4xsx6x1xax9xi0xiixa Рис. 5.98 §5.11. Оценка динамики логических структур 515 При реализации линейно упорядоченного графа связности GCB = = ({Х{ U AXi}, U') имеем 14 ребер, 15 вершин, 7 из которых соответствуют повторениям входных векторов. Функционалом качества <ркан решения этой задачи будем счи- считать число, равное количеству повторений входных векторов, т. е. При <ркан = 0 граф связности является как эйлеровым, так и га- мильтоновым. Если эйлеровость графа характеризуется наличием и распре- распределением вершин с нечетными степенями, то эффективное опреде- определение гамильтоновости графа является открытой проблемой. По- Поэтому предложим приближенное, но с практической точки зрения оптимальное решение этой задачи. Линейно упорядоченный граф связности определяет как объем памяти Уп, так и время выполнения Т„ входной сигнальной про- программы при моделировании аномалий динамических свойств ИС: где ТМОд.1 — время моделирования одного переключения Xi —> Xj. Линейное упорядочение графа связности является третьим (за- (завершающим) этапом синтеза входной сигнальной программы (ВС-программы). Синтезированная ВС-программа для нейрон- нейронной сети (см. рис. 5.89) и построенных решетчатых интервалов J[ — J30 представлена на рис. 5.98. Для оценки переходного процесса в ИС предложим число- числовую характеристику в виде соответствующего функционала ip(Ta(Xi, Xj)), учитывающего распределение трасс, функциональ- 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 Продолжение рис. 5.98
516 Гл. 5. Прикладная теория алгоритмов ные и топологические свойства ИС и временной дебаланс пере- переключаемых цепей в ИС: <р{Т.{Хи Xj)) = maxflg ,-, Xj)) х x(ff(X,-,Xi)!)-1.Armax(J(X,-, s = 1, 2, ..., m. E.24) Здесь: f(T(Xi, Xj)) — частота (количество) цепей (Х{, Xj) решет- решетчатого интервала J = [Х{, Xj], для которого функция риска сбоя s-ro выходного канала Ra(X{, Xj) = 1 — количество трасс; Н(Х{, Xj) — расстояние по Хеммингу между точками Х{ и Xj в булевом kBXj-мерном пространстве; ATma.x{J(Xi, Xj)) — максимальный временной дебаланс це- цепей при переключении векторов X,- 4-> Xj для s-ro выходного эле- элемента ИС, Xj)) = тах(гтахB№ Xj)) - rmin(Tk(Xi, Xj))), где ттах(Тк(Х{, Xj)) — максимальное время задержки переключе- переключения входного канала гтах = тахтэад(а;а), а = 1, 2, ..., &вх>; Тэад(яа) — время задержки канала ха s-ro выходного элемента для k-ft трассы решетчатого интервала J(Xi, Xj); Tm\n{Tk{Xi, Xj)) — минимальное время задержки переключе- переключения входного канала rmin = minтзлл(хр), C = 1, 2, ..., кВХг, s-ro выходного элемента для А-й трассы решетчатого интервала J(Xi, Xj); m — количество выходных каналов логической структуры. В функционале E.24) частота трасс и соответствующие им расстояния по Хеммингу определяют функциональные свойства выходных элементов, дебаланс цепей — топологические свойства всей логической структуры. Значение функционала E.24) мажорирует относительную за- задержку на входных каналах выходных элементов ИС. Для нор- нормального функционирования время смены входных векторов (ре- (реактивность ИС) не должно превышать max(Armax(J(X,-, Xj))) t т. е. временную задержку для наихудшего случая переключений. Предложенный функционал E.24) позволяет оценить переход- переходные процессы на этапе логического проектирования. §5.11. Оценка динамики логических структур 517 Чем меньше значение функционала E.24), тем меньше пере- переходной процесс влияет на функционирование логической струк- структуры. На основе предложенного функционала оценки качества логи- логического проекта E.24), оценим переходной процесс в нейронной сети (см. рис. 5.85, 5.89-5.92). Сведем вычисление функционала E.24) в табл. 5.68. Таблица 5.68 NN крит. реш. интервала 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 0,12 1,13 4,8 5,9 1 1 6,10] [3,9] 4,14] 5,15 3,10 [3,5] 8,14] 9,15] 3,6 1,2 2,12 4,10 [6,8] [0,13] [11,12] 4,9 5-8 3,8 4,15 5,14 [3,4] 8,15 9,14 2,13] 5,10] [6,9] ДТ(*,Ху)) 2 2 2 2 1 1 1 1 1 1 1 1 1 1 4 1 1 2 1 2 2 2 1 1 2 1 1 12 1 1 H{Xi,Xj) 2 2 2 2 2 2 2 2 2 2 2 2 2 2 6 6 6 6 6 6 6 6 6 6 6 6 6 24 24 24 20 20 20 20 20 20 20 20 2 0 0 0 22 22 20 20 20 22 22 22 22 22 22 22 22 22 22 22 22 22 /(T(Xj,Xi))Arm., H(Xi,Xj)\ 20,0 20,0 20,0 20,0 10,0 10,0 10,0 10,0 1,0 0,0 0,0 0,0 11,0 11,0 13,3 3,3 3,3 7,3 3,7 . 7,3 7,3 7,3 3,7 3,7 7,3 3,7 3,7 11,0 0,9 0,9 *) За единицу задержки принята задержка иа одном ключе.
518 Гл. 5. Прикладная теория алгоритмов Суммируем элементы последнего столбца и, логарифмируя сум- сумму, получаем = max(lg (j?f(T(Xi, X,)) х Дг„ ¦T(Xi, = lg230,7«2,2. Минимизация функционала E.24) осуществляется с помощью уменьшения дебаланса активизируемых цепей. Для нейронных сетей гексагональной структуры, работающих в условиях субми- субмикронной технологии, нулевой дебаланс активизируемых цепей достигается совместным решением систем уравнений для разре- разрешенных и запрещенных квазипорогов всех нейронов сети путем соответствующего согласования весов синапсов: суммы весов си- синапсов нейронов, образующих активизируемую цепь, должны быть равными для каждой цепи. § 5.12. Семантическое проектирование скоростной транспортной сети большого города Повышение пропускной способности, увеличение скорости со- сообщения и безопасности движения транспорта и пешеходов в боль- больших городах является важной и острой проблемой в современном градостроительстве. Ее решение связано не только с большими капитальными затратами, но и с проблемой сохранения истори- исторических памятников и памятников культуры. При этом ввод маги- магистралей с большой пропускной способностью ставит проблему раз- разработки принципа оптимальной трассировки скоростных дорог. Дорога называется скоростной, если мощность транспортного потока, который она реализует, не меньше одного экипажа в се- секунду в одном направлении. Такой поток называется скорост- скоростным. Идеальным принципом управления скоростными потоками яв- является принцип непрерывного движения на магистралях типа ско- скоростной дороги, т. е. управление "без управления", когда потоки не пересекаются, а "вливаются" и "разливаются". Исходной ин- информацией синтеза сети скоростного движения является граф кор- корреспонденции Gc = (Vc, Uc), каждая вершина которого взаимо од- однозначно соответствует транспортному району и вершины и,-, и,- связаны ребром {и,-, Vj) 6 Uc, если плотность транспортного по- потока в "час пик" не меньше 3600 экипажей в одном направлении. Транспортные потоки прогнозируются на основе использования парной и множественной регрессии. Рассмотрим проектирование транспортной сети скоростного движения, представив транспортную сеть большого города как объе- объединение сети, реализующей скоростные потоки и построенной на § 5.12. Семантическое проектирование скоростной 519 основе частичного квазиупорядочения, и сети, реализующей осталь- остальные потоки и построенной на основе кратчайших остовов. При этом скоростное движение является свободным движением, ско- скоростные потоки не пересекаются (друг с другом и с пешеходными потоками). Управление во второй сети осуществляется, как обычно, с помощью светофоров. Преобразование графа скоростных потоков Gc = (V"c, Uc) в сеть скоростного движения Sc = (Vc, <) заключается в частичном ква- квазиупорядочении графа Gc, Gc -> Sc- Если при частичном упорядо- упорядочении некоторое подмножество преобразуется в путь, а все такие подмножества — в диаграмму Хассе, то при частичном квазиупо- квазиупорядочении они преобразуются соответственно в гамильтонов кон- контур и цунг. При этом очевидно, что запрещенные фигуры относительно предиката частичного упорядочения Ро(9а, Фь) являются запре- запрещенными фигурами относительно предиката частичного квазиу- квазиупорядочения Po(Gc, Sc), и наоборот. Поэтому методы частичного упорядочения с успехом могут быть использованы и при транс- транспортной интерпретации. Временные затраты, отведенные в данном городе в "час пик" (обычно это время равно 45 мин) определяют ограничения, кото- которые рассматриваемое преобразование Gc —> Sc сводят к преобра- преобразованию вида Фо —> 5С: = (М,52, ..., 5„>, = VC. Сигнатура модели Фа представляет собой полные подграфы F, = (Vi, Ui) графа Gc, удовлетворяющие следующему условию: время езды от произвольной вершины v G Vi до середины каждого гамилыонова контура любого из этих подграфов F{ не превышает предельных временных затрат, отведенных в "час пик". Семантика этого преобразования также определяется предика- предикатом частичного упорядочения. Для проектирования сетей скоростного движения предложим следующую стратегию. 1. В графе корреспонденции Gc = (V, (U, Р)), матрица смеж- смежности которого имеет вид [sij]|K|x|K|) < с, если P(vi, Vj) > 3600 эк./ч, 1, если 150 эк./ч < Р(и,, vj) < 3600 эк./ч, 0, если Р(и,-, vj) < 150 эк./ч, P(v{, Vj) — плотность транспортного потока между t-м и j-м транс- транспортными районами. 2. Формируем сигнатуру модели Фо выделением всех полных подграфов F{ = (Vi, Ui) графа Gc, удовлетворяющих временному
520 Гл.5. Прикладная теория алгоритмов ограничению (время езды от произвольной вершины и Е Vj до се- середины каждого гамильтонова контура подграфа F, не превышает времени, отведенного на езду в "час пик"). 3. Упрощением модели Фа Фа -> Фа (Ро(*а, *ь) = 1), опре- определяются запрещаемые потоки, которые реализуются транзитно через другие транспортные районы. В результате упрощения мо- модели Фа ее функциональная связность уменьшается настолько, что возможно частичное квазиупорядочение модели Фа. 4. Частично квазиупорядочиваем модель Фа. Удаляем все за- замыкающие дуги. Полученные гамильтоновы контуры, соответ- соответствующие словам модели Фа, сопоставляем скоростному кольцу, на котором не стоит ни один светофор и который не пересекает ни один поток. Полученная модель Фь определяет сеть скоростного движения S. Маршрут из одной вершины в другую вершину сети Sc реа- реализуется набором соответствующих отрезков полученных колец непрерывного движения. Съезд с одного кольца на другое осу- осуществляется стандартным образом. Проиллюстрируем предложенную методику построением транспортной сети крупного города. Пусть в транспортном разделе генерального плана города имеется граф корреспонденции, ребра которого взвешены плотностью транспортных потоков. Матрица смежности этого графа имеет вид 1 — с с с с с с 0 0 0 0 0 0 0 0 0 0 2 с — с с 0 1 1 0 0 0 1 1 0 0 0 0 0 3 с с — с с 0 1 с 0 0 0 0 0 0 0 1 1 4 с с с _ 0 0 0 0 0 0 0 1 1 1 0 0 0 5 с 0 с 0 — с с с 0 0 0 0 0 0 0 0 0 6 с 1 0 0 с — с 1 0 1 0 0 0 0 0 0 0 7 с 1 1 0 с с — 1 0 0 0 0 0 1 1 0 0 8 0 0 с 0 с 1 1 — 1 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 1 _¦ 0 0 0 0 0 0 0 1 10 0 0 0 0 0 1 0 0 0 — 1 0 0 0 0 0 0 11 0 1 0 0 0 0 0 0 0 1 _ 0 0 0 0 0 0 12 0 1 0 1 0 0 0 0 0 0 0 — 1 0 0 0 0 13 0 0 0 1 0 0 0 0 0 0 0 1 — 0 0 0 0 14 0 0 0 1 0 0 1 0 0 0 0 0 0 — 1 0 0 15 0 0 0 0 0 0 1 0 0 0 0 0 0 1 — 1 0 16 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 — 0 17 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 2 3 4 5 6 7 8 9 к 1] 15 12 и 15 16 17 Согласно предложенной стратегии выделяем частичный под- подграф, соответствующий скоростным потокам. Матрица смежности §5.12. Семантическое проектирование скоростной 521 графа Gc имеет вид 12 3 4 -111 1-11 5 1 0 6 1 0 7 1 0 8 0 0 11-11001 111-0000 10 10-111 10 0 0 1-10 10 0 0 11-0 0 0 10 10 0- 4. 8 Граф корреспонденции, задающий транспортные потоки рас- рассматриваемого города, приведен на рис. 5.99. Дуги, соответствую- соответствующие скоростным потокам, отмечены толстыми линиями. В графе выделяем полные подграфы, удовлетворяющие временным огра- ограничениям. 1 A,11, III, V) 7A11, V 3d, IV) Рис. 5.99 5A1, IV, V) Рис. 5.100 В результате получаем модель Фа = (М, 53, 54), М = {1, 2, ...,8}, 54 = {{^3^4}}, S3 = {{1Л6}, {1Л7}, {ЗЛ8}, {1Л7}}; I II III IV V соответствующий ей мограф представлен на рис. 5.100. Отсюда получаем, что модель Фа содержит запрещенные фигуры Фр вида: Ф?B,1) = AA,11), 3A,IV), 5A1,IV)}, Ф«B, l) = {l(I,V),3(I,IV),5(IV,V)}, Ф^B, 1) = {5A1, V), 7(III,V), 6A1,III)}, Ф?B, 1) = {1A, V), 3A,IV), 5A1,IV), 6A1,III), 7A11, V)}.
522 Гл.5. Прикладная теория алгоритмов В результате выделения запрещенных фигур формируется решетчатая таблица (табл. 5.69), столбцы которой взаимно одно- однозначно соответствуют запрещенным фигурам, строки — соответ- соответственно их компонентам 1A, V), 1A, II), 3A, IV), 5A1, IV), 5A, V), 7A11, V), 6A1, III). Покрытие рассматриваемой таблицы образуют строки 3 и 7. Оно является минимальным. Эти строки Таблица 5.69 Vi(<*,0) KI,V) 1A,11) 3(I,IV) 5(H,IV) 5(II,V) 7(III,V) 6(II,III) ^B,1) V-?B,l) 1 1 1 V-?B,l) 1 1 1 1 1 1 V-?B,l) 1 1 1 1 1 соответствуют компонентам 3A, IV) и 7A11, V). Для упрощения модели Фа необходимо вычеркнуть букву 3 из слова I или IV и букву 7 из слова III или V. Соответственно этим вычерки- вычеркиваниям имеем четыре способа упрощения модели Фа, а следо- следовательно, и четыре частично квазиупорядочиваемых модели Фа, = 1): Фа1 = (М,53), S3 = I II IV V при вычеркивании буквы 3 из слова I и буквы 7 из слова III; ФО2 = (М, 52, 53, 54>, II III IV при вычеркивании буквы 3 из слова IV и буквы 7 из слова III; Фа, = (М,53>, S3 = {{W},{W>}, {1Л7}, {ЗЛ8}} I II III IV при вычеркивании буквы 3 из слова I и буквы 7 из слова V; Ф<ц =.(М,52,53,54), 54 = II III IV при вычеркивании буквы 3 из слова IV и буквы 7 из слова V. § 5.12. Семантическое проектирование скоростной 523 В моделях Фа1 и Фа2 слово {1, 6}, а в моделях Фаз и Фа4 слово {1,5} поглощается словом {1, 5, 6}. Каждый способ упрощения порождает запрещаемые транс- транспортные потоки, которые соответствуют удаляемым дугам в графе корреспонденции при соответствующем упрощении модели Фа. Например, вычеркивание 3 из I и 7 из III означает запрещение по- потоков между следующими парами транспортных районов: B, 3), A,3), C,4), F, 7). Модель корреспонденции Фа после удаления дуг, соответствую- соответствующих этим потокам, преобразуется в частично квазиупорядочива- емую модель ФО1, мограф которой представлен на рис. 5.101, а. Этому мографу соответствует цунг (рис. 5.101,6). При этом об- обратное направление движения реализуется цунгом, полученным обратной ориентацией дуг. Цунгу (рис. 5.101,6) соответствует транспортная сеть, представленная на рис. 5.102). 8(IV) 6(П) 5A1, Рис. 5.101 Рис. 5.102 Каждый способ упрощения оценим величиной капитальных за- затрат, необходимых для реализации этого способа при проектиро- проектировании транспортной скоростной сети. Расчеты сведем в табл. 5.70. Кроме рассмотренного минимального покрытия имеем еще одно минимальное покрытие {3A, IV), 6A1, III)/; этому покрытию соответствуют четыре варианта скоростной сети (табл. 5.71). Минимальные капитальные затраты соответствуют первому варианту скоростной сети (рис. 5.102).
524 Гл.5. Прикладная теория алгоритмов Таблица 5.70 N 1 2 3 4 Вычеркивание букв на слов 3 из I, 7 из III 3 из IV, 7 из III 3 из I, 7 из V 3 из I, 7 из V Транспорт- Транспортная сеть S рис. 5.102 рис. 5.103 рис. 5.104 рис. 5.105 Число скрещи- скрещиваний 0 1 1 4 Число развя- развязок 2 2 3 3 Длина ско- скоростных до- дорог (км) 40 51 42 58 Капи- Капитальные затраты (млн. долл.) 300 380 327 448 Таблица 5.71 N 5 6 7 8 Вычеркивание букв из слов 3 из I, 6 из II 3 из IV, 6 из II 3 из I, 6 из III 3 из IV, 6 из III Транспорт- Транспортная сеть S рис. 5.106 рис. 5.107 рис. 5.102 рис. 5.103 Число скрещи- скрещиваний 1 3 0 1 Число развя- развязок 3 3 2 2 Длина ско- скоростных до- дорог (км) 42 53 40 51 Капи- Капитальные затраты (млн. долл.) 327 410 300 380 Рис. 5.103 Рис. 5.104 Реализация скоростной сети непосредственно по графу корре- корреспонденции (см. рис. 5.99), без запрещения транспортных потоков, оценивалась бы в 686 млн. долл. При проведении расчета, согласно Б. Гавене, приняты следующие стоимости: 1 км скоростной до- §5.12. Семантическое проектирование скоростной 525 роги — 1 млн. долл.; 1 развязка — 10 млн. долл.; двухэтажная реализация 1 скрещивания — 3 млн. долл. Развязка реализуется стандартным образом (рис. 5.105). Рис. 5.105 Рис. 5.106 Рис. 5.107 Таким образом, учет запрещенных фигур в данном проекте позволил более чем в 2 раза уменьшить капитальные затраты при строительстве скоростной сети.
526 Гл.5. Прикладная теория алгоритмов § 5.13. Техническая диагностика сильносвязных объектов В технической диагностике исследуемый объект представля- представляется в виде одной из функциональных моделей, устанавливающих причинно-следственные связи; при этом элементы модели явля- являются конструктивными или функциональными компонентами объ- объекта [11]. Модель объекта обычно представляется в виде графа каждая вершина которого взаимно однозначно соответствует этой компоненте объекта, а дуга указывает на причинно-следственную связь между компонентами г, j; например, выход i-го элемента связан со входом j-ro элемента или г-й параметр входит как аргумент при вычислении j-vo пара- параметра. Процесс нахождения неисправностей элементов системы мож- можно разбить на два этапа. Первый этап — приведение модели объекта к диагностиру- диагностируемому виду. При произвольном числе отказавших элементов для функциональных моделей без обратных связей существует такая последовательность проверок, которая позволяет выявить любую комбинацию отказавших элементов [11]. Но система без обрат- обратных связей может быть частично упорядочена, т. е. представлена как предметная интерпретация частично упорядоченных систем. Следовательно, первая проблема — диагностируемость объекта — сводится к семантическому эквивалентированию функциональной модели моделью, являющейся частично упорядоченным множе- множеством. При решении этой задачи необходимо найти те дуги графа G, разрыв которых устраняет все сильно связные подграфы исследу- исследуемого графа, причем суммарная стоимость всех разрывов должна быть минимальной (обычно под суммарной стоимостью понимают количество разрываемых дуг). Технически это осуществляется, как показано П.П. Пархоменко [11], организацией управляемых разрывов обратных связей. При проектировании программ проверки систем естественно стремление к получению минимального числа управляемых обрат- обратных связей. Решение проблемы определения минимального числа управляемых разрывов позволит значительно снизить временные затраты при диагностировании объекта и упростить аппаратуру проверки. Второй этап — диагностирование частично упорядоченной модели объекта. После устранения всех контуров в графе функ- функциональной модели, т. е. после приведения модели объекта к §5.13. Техническая диагностика сильносвязных объектов 527 частично упорядоченному виду согласно [11], имеется такая после- последовательность проверок, которая позволит выявить любую комби- комбинацию отказавших компонент системы. Решение задач этого этапа не содержит принципиальных трудностей, он достаточно хорошо изучен, имеется ряд программ диагностирования объектов этого класса [11]. Решение задач первого этапа особенно трудоемко при диагно- диагностировании попарно взаимозависимых (сильносвязных) объектов, к которым относятся автоматные сети управления химическими процессами, энергетическими комплексами, в том числе атомны- атомными электростанциями, и вообще объектами, включающими в свой состав ряд агрегатов, в которых происходят процессы, описывае- описываемые сложными системами нелинейных дифференциальных урав- уравнений, и параметры элементов каждого агрегата попарно связаны между собой: изменение режима работы одного из них влияет на работу всего агрегата. Функциональная модель объекта этого класса систем, имею- имеющая большое значение в промышленной автоматике, представляет собой граф G=(V,U), для которого, если (и,, Vj) € U, то (vj, и,) G U. Графы этого класса содержат большое количество контуров. Для определения оптимального числа разрывов дуг при устра- устранении контуров в графе G можно воспользоваться методами ди- динамического программирования, что для практических объектов, граф которых содержит в среднем 40-45 вершин, не реализуемо даже на современных вычислительных машинах. Сведение задачи первого этапа к другой модели — к задаче покрытия двоичных таблиц, в которых каждая строка взаимно однозначно соответствует дуге, столбец — контуру графа G, и по- покрытие столбцов строками определяет искомые разрывы, — также практически не реализуемо из-за больших размеров покрываемых таблиц. Графы этого класса для практических объектов содержат десятки и сотни тысяч контуров. Для определения оптимального числа управляемых разрывов предложим следующий метод, учитывающий временные ограни- ограничения на проведение технического диагностирования объекта. Обычно эти временные ограничения задают максимальную длину пути в графе функциональной модели, приведенной к частично упорядоченному виду. Предлагаемый метод проиллюстрируем диагностированием ав- автоматной сети управления баковой системой, предназначенной для уменьшения солесодержания в исходном продукте [11].
528 Гл. 5. Прикладная теория алгоритмов Автоматная сеть G = (X, U), управляющая баковой системой, определена матрицей смежности S(G): S(G) = i хяг х\ 10 О О 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 о о 0 0 0 0 0 1 0 0 0 0 Х2 Х3 Xt 0 10 0 0 0 0 1 О 0 1 О 1 О О 0 0 0 1 1 О 0 1 0 0 1 0 0 1 1 1 О О 0 1 0 0 0 Xi Xe X^ Xg X9 Хю Хк 0 0 0 0 0 0 0 0 0 0 0 0 10 10 0 0 0 10 10 0 0 10 0 10 0 0 10 0 0 1110 11 00000011 0 0 0 10 1 0 0 0 0 0 1 0 10 0 0 1 0 0 0 0 0 0 0 1 11110 0 0 0 0 0 0 0 0 0 X.I Хш1 Х\ хг х3 *4 Xi Хб XI хь х9 Сеть содержит 13 автоматов: два на входе сети, хн1, хн2, устана- устанавливают в начальное состояние два входных контура системы, фи- финальный автомат хк управляет спуском готового продукта, осталь- остальные десять автоматов, идентифицируемые как х\, х2, ..., 1ю, управляют непосредственно самим процессом уменьшения соле- содержания. В качестве исходной информации предлагаемого метода вы- выберем граф функциональной модели и время диагностирования объекта, которое определяет длину путей графа частично упорядо- упорядоченной функциональной модели. В рассматриваемом случае авто- автоматная сеть является графом функциональной модели, при этом компонентой модели является диагностируемый автомат. Из графа функциональной модели удалим два начальных и финальный ав- автоматы, которые не влияют на результат первого этапа, и каждый контур длины 2 представим в виде ребра. Окончательно полу- полученный граф автоматной сети определяется матрицей смежности, полученной из матрицы S(G) путем вычеркивания первых двух и последнего столбцов (строк). Пусть время диагностирования автоматной сети равно 5 едини- единицам времени (ед. вр.); при времени функционирования при одно- однократном возбуждении автомата х,- (»' = 1, 2, 3, 5, 7-10) — 1 ед. вр.; автоматов х4, хв, начальных и финального — по 0,5 ед. вр. Ребро графа автоматной сети указывает на наличие причинно-следствен- ной связи между автоматами, соответствующими концам ребра. Предлагаемый метод состоит из двух преобразований. Первое преобразование состоит из выделения полных подгра- подграфов в графе G, устанавливающем причинно-следственные связи объекта. Объединение выделенных полных подграфов образует граф G, и суммарное время всех вершин каждого полного подграфа §5.13. Техническая диагностика сильносвязных объектов 529 не превышает заданного времени диагностирования. Выделенное множество полных подграфов определяет модель Фа = (Ма, 53, 54), Мо = {х,/г = 1,2, ..., 10}, = {{Х2, Хз, хэ), {х2, х3, х5}, { 12 з, х5}, 4 = {{х4, Хб, Х8, Xig}}. }, {х4, х7, 5 Вторым преобразованием является частичное упорядочение мо- модели Фа. Модель Фа не содержит запрещенных фигур этого пре- преобразования, следовательно, предикат функциональной эмерджен- тности Р0(Фа, *ь) истинен: Р0(Фа, *ь) = 1, где Фь = (Мь, <), Мь — Ма. В рассматриваемом случае модель Фь определяет ли- линейно упорядоченные подмножества (цепи) вида *н1 < Хз < Х2 < Х9 < Хк, •^hI ^ Х3 ^ Х2 ^ ^5 ^ хк, < Х3 < Х1 < Х5 < хк, < Xi < Х5 < Хк, < Х7 < Х4 < хк, ^ Х6 ^ х& ^ Х4 ^ хк- После построения диаграммы Хассе проводим следующие пре- преобразования. 1. Проводим сечение, делящее диаграмму Хассе пополам, и по- подаем в места разрывов расчетные сигналы. На выходе объекта производим измерение выходных величин. Если измеряемая ве- величина правильна, то соответствующему выходу сопоставляем 1, в противном случае — 0. 2. Если всем выходам объекта сопоставлены 1, то рассматри- рассматриваем диаграмму, расположенную ниже сечения. Если хотя бы од- одному выходу сопоставлен 0, то рассматриваем диаграмму, рас- расположенную выше сечения, для которой выходы, помеченные 0, являются максимальными элементами, т. е. рассматриваем анти- антисиндром элементов, помеченных 0. 3. Если рассматриваемая диаграмма Хассе имеет носитель мощности более 1, то переходим к п. 1; в противном случае ком- компонента, соответствующая полученной вершине, неисправна.
530 Гл.5. Прикладная теория алгоритмов ), (х10, х6), (х10, х7). Проиллюстрируем решение этого этапа. Рассмотрим автомат- автоматную сеть, полученную после приведения ее к диагностируемому виду. Проводим сечение по дугам (*2, Х9), (Х2, Х5), (ХЬ Х5), (Х6, Х8), (Х7, Х4). На выходах автоматов х4, х5, х9 получаем правильные значения: х4 = Х5 = хд = 1. Проводим второе сечение по дугам (хз, хг), (х3, xi) На выходах автоматов хг, хь Хб, хг получаем значения, соответ- соответствующие хг = 0: х\ — Хб = Х7 — 1. Следовательно, неисправен автомат хг, так как хз < xj, и, следовательно, третье сечение, разрывающее дугу (х3, хг), реализовывать нет необходимости. В случае, если модель Фа содержит запрещенные фигуры, их устранение осуществляется путем сужения ее сигнатуры. Использование предлагаемого метода в практических разработ- разработках значительно уменьшает время диагностирования и упрощает контрольную аппаратуру. § 5.14. Задачи и упражнения 5.1. Определить трудоемкость и емкостную сложность алгоритма синтакси- синтаксического эквивалентирования неориентированного графа в двудольный путем уда- удаления ребер, если функционалом качества является минимум удаленных ребер. 5.2. Проверить выполнение принципа локальности для характеризационной задачи преобразования графа в двудольный и отношения подчинения "быть под- подграфом" (напомним, что подграф отличается от частичного подграфа тем, что если в ием иет какой-либо вершины графа, то иет и всех инцидентных ей в графе ребер). Образуют ли циклы нечетной длины множество запрещенных фи- фигур? 5.3. Определить отношение подчинения, удовлетворяющее принципу локаль- локальности для проблемы характеризацин гамильтоиовых графов. 5.4. Определить отношение подчинения, удовлетворяющее принципу локаль- локальности для проблемы характеризашш эйлеровых графов. 5.5. Предложить алгоритмы синтаксического, эвристического и семантиче- семантического эквивалентирования неориентированных графов в эйлеровы. Сравнить трудоемкость и емкостную сложность алгоритмов. 5.6. Выполнить семантическое эквивалентирование графа G\, который яв- является дополнением графа, изображенного иа рис. 5.4,б, в двудольный граф С?2 = (V4, Ui) для следующих способов преобразований запрещенных фигур в разрешенные и функционалов качества: а) удаление из нечетного цикла ребра, <p(G2) = max |{/г|; б) расщепление вершины нечетного цикла, <р((*г) = min \11г \. 5.7. Доказать, что при удалении поглощающихся строп и столбцов (см. § 5.2), применяемом для сокращеиня трудоемкости нахождения покрытия семантиче- семантической таблицы, минимальное решение остается. 5.8. Определить, являются ли неустойчивыми запрещенные фигуры типов А и Б, присутствующие в мографе, приведенном иа рис. 5.10, а. 5.9. Доказать, что решение задачи теоретико-структурной минимизации функции f(xu хг, х3, x4)U = VB, 3, 4, 5, 8, 9, 11, 12, 14, 15) предложенным в § 5.4 методом, который основание функционале E.1), абсолютно минимально. § 5.14. Задачи и упражнения 531 5.10. Доказать, что решение задачи теоретико-структурной минимизации системы булевых функций, задаваемой табл. 5.12 предложенным в § 5.4 мето- методом, который осиоваи на функционале E.2), абсолютно минимально. 5.11. Определить абстрактную параллельную декомпозицию автомата (см. рис. 5.28, а), начиная с построения второго подавтомата (имеющего четыре со- состояния). Изменится ли результат декомпозиции? 5.12. Выполнить семантическое эквивалентирование мографа Фа (см. рис. 5.30, в) в циклический Фь с функционалом качества (минимум расщепле- расщеплений) и следующими способами преобразования запрещенных фигур в разрешен- разрешенные: а) расщепление элемента носителя; б) расщепление слова. 5.13. Минимизировать с учетом теоретико-структурных свойств булеву функ- функцию f{xu х2, x3, xt)\i = VB, 3,. 4, 5, 8, 9, 11, 12, 13, 14, 15). 5.14. Минимизировать с учетом теоретико-структурных свойств булеву функ- функцию f(T т Т \ _ / 1 на 1, 3, 4, 7, 9, 12, 14, 28, 31, f(xux2, ..., is)- |0 иа 0,2,5,10,16,28. 5.15. Синтезировать диаграмму Хассе минимальной сложности, реализую- реализующую систему булевых функций вида /i(*i, «, *з, *4)|i = V(l, 3, 4, 5, 6, 7, 9, 11, 13, 15), /a(*i, X2, хз, *4)|i = V(l, 3, 5, 7, 9, 11, 12, 13, 14, 15), /з(*1, Х2, хз, xt)\i = V(l, 3, 5, 7, 8, 9, 10, 11, 13, 15), fi(xu X2, x3, *4)|i =VA, 2, 3, 5, 7, 9, 10, 11, 13, 15), Mxi, it, is, *«)|i = V(l, 2, 3, 5, 6, 7, 9, 11, 13, 15). 5.16. Разложить автомат G, переходы которого заданы матрицей смежности «3 «4 «5 36 иа два несвязных параллельно функционирующих автомата. 5.17. Найти предельное разложение автомата, заданного в упр. 5.16. 5.18. Синтезировать функциональную декомпозицию булевой функции fix х х ) = / * На °' 2' 4> 7> П' 14' 16> 21' 29> 30> 5.19. Синтезировать функциональную декомпозицию трехзначной функции f(xi, X2, ..., Is) = 11 3V8 6 2 6 7 11 1 7 6 5 3 5 4 2 1 9 8 10 4 на 1, 2, 11, 14, 86, 117, 240, иа 3, 5, 17, 27, 39, 181, 222, на 7, 9, 43, 51, 64, 201. 5.20. Синтезировать нейрон, реализующий булеву функцию /On, X2, 1з, *4)|i = V@, I, 2, 7, 11).
532 Гл.5. Прикладная теория алгоритмов 5.21. Синтезировать нейрон, реализующий булеву функцию /(п, xj, is, c«)|i = V@, I, 2, 4, 9, 14). 5.22. Вычислить трассы булевой функции /(«I, i2, is, *4)|i = V@, I, 2, 4, 9). 5.23. Вычислить аномальную область функционирования логической струк- структуры, реализующей булеву функцию /(*!, Х7, 13, I4>|l = V@, 1, 2, 7, 13). 5.24. Вычислить трассы булевой функции /(*1, 12, *з, *<)|i = V@, I, 2, 9, 15). 5.25. Вычислить трассы булевой функции f(xu X2, 1з, i4)|i = V@, I, 2, 4, 7, 8, И). § 5.15. Еомментарии Борьба с перебором вариантов при решении задач дискретной математи- математики — одна из актуальнейших проблем современного математического обеспе- обеспечения систем переработки информации. Успеха можно достичь, только решая проблему характеризации реализуемых модельных преобразований. Если же характеризациониая проблема не решена, то используют эвристический подход к оптимизации комбинаторных алгоритмов. Характеризационный анализ является метатеорией, конструктивно связы- связывающей различные формальные системы иа семантическом уровне знаний, что позволяет разрабатывать принципиально новые информационные технологии ре- решения проблемных задач большой размерности иа дискретных структурах. В настоящее время интенсивно развивается перспективная иаука, позволяю- позволяющая с единых методологических принципов исследовать и прогнозировать общие законы развития микромира, мира, макромира. Эта наука названа ее основате- основателем академиком И.И. Юзвишиным информациологией. СПИСОК ЛИТЕРАТУРЫ 1. Автоматизация проектирования сложных логических структур /Под ред. В.А. Горбатова.—М.: Энергия, 1978. 2. Ахо А., Хопкрофт Дж., Ульман Дж. Построение и анализ вычи- вычислительных алгоритмов.—М.: Мир, 1979. 3. Гильберт Д., Бернайс П. Основания математики. Логические исчи- исчисления и формализация арифметики.—М.: Наука, 1979. 4. Горбатов В.А. Квазиполные графы и их некоторые свойст- свойства / Доклады НТК МЭИ. Вычислительная техника. — М.: МЭИ, 1965. — С. 3-10. 5. Горбатов В.А. О минимальной раскраске графа / Доклады НТК. МЭИ, 27 марта — 10 апреля 1964 г. Подсекция вычислительной техники.—М.: МЭИ, 1964.—С. 17. 6. Горбатов В.А. Оценки при выборе направления вычислений в за- задачах синтеза конечных автоматов/ Изв. АН СССР. Техническая кибернетика.—1970.—№ 4.—С. 91-101. 7. Горбатов В.А. Семантическая теория проектирования автоматов.— М.: Энергия, 1979. 8. Горбатов В.А. Синтез логических схем в многозначных логи- логиках, основанный на структурных соотношениях / Многозначные элементы и структуры.—М.: Сов. радио, 1967. 9. Горбатов В.А. Синтез логических схем в произвольном бази- базисе/Теория дискретных автоматов.—Рига: Зинатне, 1967. 10. Горбатов В.А. Схемы управления ЦВМ и графы.—М.: Энергия, 1971. 11. Горбатов В.А. Теория частично упорядоченных систем.—М.: Сов. радио, 1976. 12. Горбатов В.А., Кафаров В.В., Павлов П.Г. Логическое управление технологическими процессами.—М.: Энергия, 1978. 13. Горбатов В.А., Останков Б.Л., Фролов С.А. Регулярные струк- структуры автоматного управления / Под ред. В.А. Горбатова.—М.: Ма- Машиностроение, 1980. 14. Горбатов В.А., Павлов П.Г., Четвериков В.Н. Логическое управ- управление информационными процессами.—М.: Энергоатомиздат, 1984. 15. Горбатов В.А., Смирнов М.И., Хлытчиев И.С. Логическое упра- управление распределенными системами.—М.: Энергоатомиздат, 1991.
534 Список литературы 16. Горбатова М.В. Теория трасс/Информационные коммуникации, сети, системы и технологии.—М.: МАИ, 1993. 17. Гудман С, Хидетниеми С. Введение в разработку и анализ алгоритмов.—М.: Мир, 1981. 18. Гэри М., Джонсон Д. Вычислительные машины и труднорешаемые задачи.—М.: Мир, 1982. 19. Зыков А.А. О некоторых свойствах линейных комплексов IIМат. сборник.—1949—Т. 24, № 2—С. 163-188. 20. Зыков А.А. Теория конечных графов.—Новосибирск: Наука, 1969. 21. Лазарев В.Г., Пийль Е.И. Синтез управляющих автоматов.—М.: Энергия, 1978. 22. Майника Э. Алгоритмы оптимизации на сетях и графах.—М.: Мир, 1981. 23. Мальцев А.И. Алгебраические системы.—М.: Наука, 1970. 24. Новиков П.С. Конструктивная математическая логика с точки зре- зрения классической.—М.: Наука, 1977. 25. Общая теория систем.—М.: Мир, 1966. 26. Оре О. Теория графов.—М.: Наука, 1980. 27. Поспелов Д.А. Логико-лингвистические модели в системах уп- управления.—М.: Энергия, 1981. 28. Рейнгольд Э., Нивергельт Ю., Део Н. Комбинаторные алгоритмы. Теория и практика.—М.: Мир, 1980. 29. Свами М., Тхуласираман К. Графы, сети и алгоритмы.—М.: Мир, 1984. 30. Справочная книга по математической логике. Ч. I-IV / Под ред. Дж.Барвайса— М.: Наука, 1982, 1983. 31. Харари Ф. Теория графов.—М.: Мир, 1973. 32. Юзвишин И.И. Информациология.—М.: Радио и связь, 1996. 33. Appel К., Haken W. Every planar map is four colorable /Bull, of Amer. Math. Soc—1976.—V. 82, № 5. 34. Berge C. Las Vergnas M. Sur un theoreme du type Konig pour hiper- graphes/Ann. V.Y. Acad. Sci.—1975. 36, № 1. 35. Birkhoff G.t Lewis D. Chromatic polynomials/Trans. Amer. Math. Soc—1946—№ 60—P. 355-451. 36. Christofides N. Traph theory. An algorithmic approach.—New York— London—San Francisco. Academic Press, 1975. [Рус. пер.: Кри- стофидес Н. Теория графов. Алгоритмический подход.—М.: Мир, 1978.] 37. Descartes В. Solution to advanced problem № 4526/Amer. Math. Monthly—1954—№ 61.—P. 352. 38. Dime G.A. On the structure of if-chromatic graphs/Proc. Cam- Cambridge Philos. Soc—1967.—№ 63.—P. 683-691. Список литературы 535 39. 40. 41. Dirac G.A. The structure of /^-chromatic graphs/Fund. Math.— 1953—№ 40.—P. 42-55. Goldberg D.E. Genetic Algorithms.—Addison-Wesley, 1989. Hardwiger H. Uber eine Klassifekation lexe/Vierteljschr. Naturforsch. Ges. Zurich. 142. der Strecken Komp- 1943.—№ 88.—P. 133- 42. Kelly J.B., Kelly L.M. Path and circuits in critical graphs/Amer. J. Math.—1954.—№ 76—P. 786-792. 43. Michalewicz Z. Genetic Algorithms + Data Structures = Evolution Programs.—Springer-Verlag, 1992. 44. Mycielski J. Sur le coloriage des graphs / Colloq. Math.—1955.— № 3—P. 161-162. 45. Saaty T.L. Thirteen corolful variation on Gulhrie's four-color conjec- tire/Amer. Math. Monthlu—1972.—-№ 72.—P. 2-43. 46. Whitney H. Congruent praphs and the connectivity of graphs/Amer. J. Math.—1932.—№ 54—P. 150-168.
ПРЕДМЕТНЫЙ УКАЗАТЕЛЬ Автомат асинхронный 266 — конечный 264 — магазинный 263 — Майхилла 262 — микропрограммный 282, 283 — операционный 267 — синхронный 266 — управляющий 267 Алгебра 18 — булева 33 — Вебба 132 — множеств (алгебра Кантора) 21 — отношений — Поста 132 — реляционная 42 — Россера — Тьюкетта 132 — схемная 367 Алгоритм 55 Антисиндром 344 Базис булев 108 — дизъюнктивный'113 — конъюнктивный 113 — Вебба 113 — Жегалкина 113 — импликативный 113 — коимпликативный 113 — несвязный 347 — связный 347 — циклов 171 — Шеффера 113 Буква 216, 259 — крайняя второго рода 327 первого рода 327 — обобщенная второго рода 322 первого рода 321 Булеан 15 Вершина граничная 379 Вершина покрывающая 331 — разделяющая 312 Вершины соцветные 208 Вес производной от булевой функ- функции 119 Вид 359 Высказывание 94 Гамак 312 Гиперграф 38 Гиперкуб (n-мерный куб) 50 Грамматика бесконтекстная 263 — контекстная 262 — контекстно свободная 263 связаная 262 — линейная 263 — металинейная 263 — односторонне линейная 263 — с конечным числом состояний 258 — языка 258 Грань нижняя 27 наибольшая 27 — верхняя 27 наименьшая 27 Граф взвешенный 158 — , вложимый в булево простран- пространство 198 — гомеоморфный 194, 229 — двудольный 39 — затирания 291 — зацепления 287 — звездный 208 — изоморфный 160 — квазиполный 217 невключаемый 242 — кубируемый 198 — линейный 339 — незацепленный 286 Предметный указатель 537 Граф переходов 272 — планарный 194 — полный 37 — , приводимый к цунгу 283 — предквазиполный 440 — противоречивости столбце- вой 456 строчный 456 — п-раскрашиваемый 208 — п-связный 166 — п-хроматический 208 — связный 163 сильно 168 несильно 168 — типа к<т — частичный 24 Группа 19 — подстановок (группа Галуа) 19 Группоид аддитивный 18 — ассоциативный 19 — идемпотентный 19 — коммутативный (абелев) 19 — мультипликативный 18 Декомпозиция автоматов абст- абстрактная 282 параллельная 282 — структурная 342 — функции булевой 100 fc-значной 467 Дерево 171 — достижимости 379 Диаграмма гомеоморфная 36 — Хассе 26 — Эйлера 15 Дифференцирование булевой фун- функции 117 — графа 176 Задача достижимости 379 Запуск переходов 374, 375 Изоморфизм алгебр 33 — упорядоченных множеств 27 Импликанта простая 52 многовыходная 419 Интервал булевой функции макси- максимальный 103 многовыходной 419 максимальный 419 — множества 51 Исчисление высказываний 127 — предикатов 142 расширенное 144 узкое 144 Еанал информационный 267 — управляющий 267 Квазиплотность квазиполного гра- графа 217 — модели 217 квазиполной 217 Квантор всеобщности 142 — существования 142 Класс булевых функций линейных 109 монотонных 110 самодвойственных 110 , сохраняющих константу 0A) 109 — хроматический 209 — эквивалентности Коалгебра графов 343 Код дополнительный 64 — обратный 64 — прямой 61 Кодирование Айкена — Эмери 72 — "в остатках" 73 — внутренних состояний 292 соседнее 297 частотно-матричное 293 — Штибитца 70 Кольцо 21 Комплект 373 — пустой 373 Кооперация 343 Конституента 47 Контур 168 Конфигурация комбинаторная 14 Мажоранта подмножества 26
538 Предметный указатель Матрица базисная разрезов (коци- кломатическая) 173 дипломатическая 170 — инциденций 158 вторая 172 первая 172 — fc-клеточная 165 — смежности 159 модифицированная 190 базисная 325 — частотная отношений 176 п-мерная 180 Машина Тьюринга 260 Микролуч 283 Микрооперация 273 Микропрограмма 273 Миноранта подмножества 26 Мограф 58 Модель 39 — гомеоморфная 229 — изоморфная 229 — квазиполная 217 Окрестность единичного радиуса элемента (сечение) 23 — вершины 184 Операция дизъюнкции 94 — дополнения 17 — инверсии 343 — конъюнкции 94 — обратная 343 — объединения 17, 40, 373 пересечения 17, 40 — произведения декартова расши- расширенного 40 — разложения 343 — разности 17, 40 симметрической 46 — расщепления второго типа 332 первого типа 331 Остов 171 Отношение п-арное 36 симметричное E-отноше- ние) 37 Отношение бинарное 22 упорядоченности 25 строгой 25 — достижимости 375 непосредственной 375 — обратное 28 — предпорядка 25 — рефлексивное 23 — симметричное 24 — транзитивное 24 — эквивалентности 28 Паросочетание 184 — наибольшее 184 — совершенное 184 Перестановка 14 — модели 217 Подмножество 13 — нечеткое 75 — собственное 14 Подмодель 216 Подстановка 19 Покрытие 53 Поле 21 Полугруппа 19 Полусистема Туэ 258 Порядок модели 217 Посет 75 Предикат 142 Проблема алгоритмически нераз- неразрешимая 262 — характеризационная 395 Проекция бинарного отношения 42 Произведение декартово 15 частичное 282 — подстановок 20 Производная временная 495 — графа 176 первого порядка 117 — fc-ro порядка 118, 178 смешанная 117, 178 — модели 333 Пространство булево 198 — метрическое 83 Предметный указатель 539 Путь простой 168 — сложный 168 — составной 168 Разбиение 29 Размещение 14 Разложение столбцевое 100 — строчное 100 — Шеннона 98 в точке 00...0 124 в заданной точке 127 двойственное 99 предельное 98 Разрез 167 Раскраска вершин 208 — ребер 209 Расстояние Евклидова (квадрат- (квадратное) 84 относительное 84 — Хемминга (линейное) 83, 84 относительное 84 Реберность 210 Решетка 29 — векторная 80 — дедекиндова (модулярная) 32 — дистрибутивная 32 — полная 32 — с дополнениями 33 Риск 496 Род графа 194 — поверхности 194 Связность реберная 166 Семантика дескриптивная 393 — проективная 393 — рефлексивная 393 Сеть Петри 374 маркированная 374 безопасная 377 Сечение 328 Символ 258 — нетерминальный 260 — терминальный 260 Система алгебраическая 40 Система счисления 56 аддитивная 58 асимметрическая 58 ч весомозначная 58 естественная 58 мультипликативная 58 непозиционная 58 позиционная 58 с основанием S 58 симметрическая 58 Состояния незацепленные 284 — неустойчивые 297 — псевдоэквивалентные 289 — совместимые 283 — эквивалентные 279 Суперпозиция 108 Таблица истинности 95 — Квайна (импликантная) 53 Тело 21 Терм первичный 96 Тип 359 Трасса 146 Уровень типа А 331 В 331 С 332 D 334 Фактормножество 23 Фигура запрещенная 198 Форма Кантора 51 нормальная (НФК) 51 минимальная 52 совершенная 51 сокращенная 52 тупиковая 52 скобочная 54 Форма (булевой функции) нормаль- нормальная дизъюнктивная (ДНФ) 96 совершенная 96 сокращенная 103 тупиковая 107 минимальная 107 решетчатая 317 Функция 16
540 Предметный указатель ISBN 5-02-015238-2 III Функция булева остаточная 100 слабоопределенная 105 — fc-значной логики 132 — полностью определенная 16 — частично определенная (недо- определенная) 16 Хорда 171 Цепь 26 — простая 163 составная 163 сложная 163 Цикл гамильтонов 163 — эйлеров 166 Цунг 283 Число графа внешней устойчи- устойчивости 183 вершинное 183 отрицательное 191 Число графа внешней устойчи- устойчивости вершинное положитель- положительное 191 реберное 183 — цикломатическое 171 мографа 325 Элемент дополнительный 31 — единичный 27 — максимальный 27 — минимальный 27 — наибольший 27 — наименьший 27 — нейтральный 19 двусторонний 19 левый 19 правый 19 — сравнимый 27 Язык конечноавтоматный 264 — с конечным числом состоя- состояний 259 — эквивалентный 258 7950201И52389"> Учебное издание Горбатов Вячеслав Афанасьевич ФУНДАМЕНТАЛЬНЫЕ ОСНОВЫ ДИСКРЕТНОЙ МАТЕМАТИКИ. ИНФОРМАЦИОННАЯ МАТЕМАТИКА Редактор Е.Ю, Ходан Компьютерный набор н верстка А.П. Носова, А.С. Фурсова Компьютерная графика М.В, Ивановского Подписано в печать с готовых диапозитивов 15.12.99. Формат 6OX9O'/i6- Бумага офсетная. Печать офсетная. Усл. печ. л. 34,0. Уч.-изд. л. 40,8. Тираж 2000 экз. Заказ 4130. С-О02. Издательская фирма «Физико-математическая литература» РАН ЛР № 020297 от 23.06.1997. 117071, Москва В-71, Ленинский проспект, 15. При участии ООО «Харвест». Лицензия ЛВ № 32 от 27.08.97. 220013, Минск, ул. Я. Коласа, 35-305. Ордена Трудового Красного Знамени полиграфкомбинат ППП им. Я. Коласа. 220005, Минск, ул. Красная, 23.