Text
                    В.А. ГОРБАТОВ
Фундаментальные основы ДИСКРЕТНОЙ МАТЕМАТИКИ
ИНФОРМАЦИОННАЯ МАТЕМАТИКА
Рекомендовано Министерством общего и профессионального образования Российской Федерации в качестве учебника для студентов высших технических учебных заведений
МОСКВА
НАУКА • ФИЗМАТЛИТ
M°"J/ 2000
УДК 519.45 Г 62
ББК 22.145 (075.8)
Издание осуществлено при содействии ООО /Фирма /Издательство АСТ»
Горбатов В. А. Фундаментальные основы дискретной математики. Информационная математика. — М.: Наука. Физматлит, 2000.—544 с.— ISBN 5-02-015238-2.
В учебнике излагаются основы многосортных множеств, математической логики, теории графов и мографов, теории формальных грамматик и автоматов, прикладной теории алгоритмов и характеризационного анализа, которые в совокупности образуют основы дискретной математики, представляющие собой методически взаимосвязный курс “Компьютерно-информационная математика”.
Для студентов технических университетов, академий и институтов, обучающихся по специальности “Информатика и вычислительная техника”, а также научных работников и инженеров, работающих в области информатики и вычислительной техники.
Табл. 163. Ил. 313. Библиогр. 46 назв.
Рецензенты:
кафедра “Информационные технологии”
Московского государственного института электроники и математики;
доктор фиаико-математических наук, профессор В. И. Решетников
ТП-99-П
ISBN 5-02-015238-2
© В. А.Горбатов, 1999
© Наука. Физматлит, оформление, 1999
ОГЛАВЛЕНИЕ
К читателю.................................................. 5
Предисловие ................................................ 7
Введение ................................................... 10
Глава 1. Основы многосортных множеств............................ 13
11.1.	Множество, функция, операция. Способы задания.	...	13
1.2.	Понятие алгебры. Фундаментальные алгебры........	18
1.3.	Бинарные отношения, способы их задания и	свойства	.	22
1.4.	Решетка....................................... 29
1.5.	Модель. Алгебра отношений..................... 36
1.6.	Аксиоматика теории множеств, минимизация представления множеств ...................................... 44
§	1.7. Алгоритм — двусортное множество. Системы	счисления	55
§1.8.	Компьютерные арифметики....................... 61
§1.9.	Нечеткие подмножества......................... 75
§	1.10. Метрические пространства................ 83
§1.11.	Задачи и упражнения.......................... 86
S 1.12. Комментарии................................. 93
Глава 2. Математическая логика ............................. 94
12.1.	Логика высказываний......................... 94
2.2.	Разложение Шеннона. Декомпозиция булевых функций	98
2.3.	Минимизация булевых функций в классе ДНФ......	102
2.4.	Полнота. Построение суперпозиций булевых функций	.	108
2.5.	Дифференцирование булевых функций........... 116
§	2.6. Разложение булевой функции в заданной точке прост-Йанства........................................... 123
[счисление высказываний..................... 127
i2.8.	Коиечнозначные логики.......................... 132
2.9.	Исчисление предикатов......................... 142
2.10.	Теория трасс.................................. 145
2.11.	Задачи и упражнения........................... 150
2.12.	Комментарии................................... 156
Глава 3. Теория графов и мографов ....................... 157
§3.1	.	Взвешенный граф и его матричное задание........ 157
13.2.	Связность и сильная связность графа............ 163
§3.3.	Дипломатика и коцикломатика.................... 170
13.4	.	Дифференцирование графов и мографов ........... 174
3.5.	Устойчивость, покрытия, паросочетания ......... 183
3.6.	Вложение графов................................. 194
3.7.	Раскраска вершин и ребер графа. Характеризация ре-берности............................................ 208
§	3.8.	Квазиполные модели, их структура и свойства... 216
4
Оглавление
§	3.9. Характеризация частичного упорядочения мографа . . .	227
§	3.10. Логарифмические оценки хроматического числа. Решение проблемы четырех красок........................... 239
§3.11	. Задачи и упражнения................................ 255
§	3.12. Комментарии........................................ 257
Глава 4. Теория формальных грамматик и автоматов ............. 258
§4.1.	Формальные грамматики............................... 258
§ 4.2.	Основные этапы проектирования автоматов ............ 265
§4.3.	Алгоритмический этап проектирования................. 271
§ 4.4.	Абстрактное проектирование автоматов................ 279
§ 4.5.	Кодирование внутренних состояний.................... 292
§ 4.6.	Построение выходных функций и функций возбуждения памяти автомата....................................... 305
§4.7.	Синтез логических структур в топологических базисах	310
§ 4.8.	Синтез логических структур в несвязных базисах	.	. .	342
§4.9.	Синтез логических структур в связных базисах.. 361
14.10.	Синтез нейронных структур.......................... 370
§4.11.	Моделирование автоматных систем сетями Петри ....	373
§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.	Решение проблемы повторной функциональной декомпозиции в булевой логике............................. 454.
§5.8.	Синтез функциональной декомпозиции в к-значной логике ................................................. 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-х годов, явилось основой научной школы В.А. Горбатова по информационной математике, идеи которой получили развитие как у нас в стране, так и за рубежом. В рамках этого науч
6
К читателю
ного направления В.А. Горбатовым разработана теория частично упорядоченных систем, получившая большое практическое значение в информатике; при этом решена проблема проектирования больших и сложных систем при различных предметных интерпретациях (информационной, компьютерной, транспортной, диагностической, атомной, экономической, медицинской и других). Им создана семантическая теория проектирования автоматов, в которой предложен принципиально новый путь эффективного решения фундаментальных общетеоретических проблем синтеза автоматов на основе интерпретации выражений входного языка в категориях выходного без фактического построения соответствующих конструкций на выходном языке, что позволило эффективно проектировать оптимальные системы логического управления на современных интегральных структурах, в том числе с использованием нейронной технологии.
На основе характеризационного анализа В.А. Горбатовым предложена новая интеллектуальная информационная технология решения проблемных задач большой размерности на дискретных структурах. Используя эту технологию, он и его ученики разработали и успешно внедрили в различные области народного хозяйства системы автоматизированного проектирования, системные и семантические прикладные программные пакеты, инструментальные компьютерные средства.
Научные достижения В.А. Горбатоца отмечены рядом международных и российских премий и медалей, в том числе Международной премией фон Неймана, медалью Лауреата Нобелевской премии П.Л. Капицы за научное открытие, медалью Петра I “За заслуги в деле возрождения науки и экономики России”, Георгиевским Крестом I степени “За заслуги в деле развития науки и экономики России”, именной медалью ООН, Международной премией и Золотой медалью ООН за большой вклад в области информатизации мирового сообщества, медалью “Лауреат премии имени Александра Чижевского”.
В.А. Горбатов уделяет большое внимание научным кадрам: им подготовлено свыше ста кандидатов и докторов наук в области информатики, вычислительной техники и экономики.
Основные научные результаты профессора В.А. Горбатова опубликованы более чем в 400 научных трудах. В.А. Горбатов — автор 35 книг, в том числе 18 монографий по дискретной математике, информатике и вычислительной технике, ряд которых переведен на английский, испанский, немецкий, китайский, болгарский, польский языки.
Академик МАИ, РАЕН, профессор МГУ,
доктор физико-математических наук	С.Я. Герценштейн
ПРЕДИСЛОВИЕ
Общество XXI века — общество информационное (постиндустриальное), в котором одной из главных проблем является проблема гармонии Человека и Природы. Составляющей этой гармонии является мощная информационная инфраструктура общества. Вопрос об исключительности Человека в связи с наличием у него разума после Коперника и Дарвина был поставлен в конце 50-х годов нашего столетия, когда началось исследование “искусственного интеллекта”, когда центр тяжести решения задач переместился от задач конечномерной (вычислительной) математики к Задачам на дискретных структурах. Если задачи конечномерной математики были связаны с проблемой создания ракетно-ядерного щита, то задачи дискретной математики — с проблемами управления и организации в сложных системах. Заметим, что эти задачи волновали Человека и в древние времена.
...Весна. Север. Вождь одного из племен задумчиво смотрит на собранный хворост. Сегодня ему предстоит большое испытание: управление построением ритуальных костров.
Его предки установили весенний ритуальный праздник построения костров. На этом празднике племя радуется приходу солнечных теплых дней, тому, что благодаря удачной охоте племя пережило суровую зиму. На празднике строятся ритуальные костры в виде цепочек. Каждая цепочка посвящена одной из охот минувшей холодной зимы. Между кострами стоят воины, отличившиеся на охоте силой удара или быстротой бега, или смелостью, находчивостью, позволившими заманить зверя в гибельную для него яму, или меткостью, или проявлением другого охотничьего качества. На празднике молодежь посвящается в воины, она в плясках проходит по. цепочке, и тепло ритуальных костров “передает” молодежи отвагу, силу удара и другие навыки воинов-соплеменников. В следующую зиму молодежь, посвященная в воины, будет достойной взрослых охотников при добыче пищи.
Всем построением ритуальных костров управляет вождь племени: он определяет место каждого отличившегося воина в цепочке так, чтобы каждая цепочка была посвящена одной и только одной охоте. Для него этот день — день испытания его мудрости. Если он не сможет построить ритуальных костров, то будет считаться, что духи отвернулись от него, что он потерял мудрость и должен лишиться шкуры вождя.
Вождь плотнее натягивает свою шкуру, хотя снежинки, сбросив свои белые шубки и образовав веселые потоки прозрачной воды, уже возвестили о приходе тепла. Он начинает готовиться
8
Предисловие
к построению костров: в прошедшую зиму было пять охот (охоты будем идентифицировать числами), в которых отличились девять воинов (воинов идентифицируем буквами). В первой охоте отличились воины а, к, р\ во второй — воины с, /, к, р; в третьей — воины а, d, f, р- в четвертой — воины b, е, д, р\ в пятой — воины
а, с, е, р.
Вождь чертит на земле расположение воинов в цепочках. Один вариант взаимного расположения воинов сменяет другой — костры не строятся. Неужели он лишился мудрости? Воин р ему не мешает — через него должны пройти все пять цепочек. Воинов b и д следует поставить рядом, ибо они отличились только в одной охоте — четвертой. ВоиныаиЬ, cud, ем f, дик соответственно не должны находиться в одной и цепочке, так как ни одна из этих пар, например а и d, не отличалась в одной и той же охоте. Все эти рассуждения не дают вождю ключа к построению костров. Он снова начинает перебирать варианты взаимного расположения воинов в цепочках.
Перебирать ему придется долго — число таких вариантов составляет около двух миллионов: П5»’- = 3! х 4! х 4! х 4! х 4! =
= 1 990 656, где — число охотников, отличившихся в г-й охоте.
Костры не строились. Вождь вошел в пещеру и в изнеможении опустился на шкуру. Шкура... а что, если тем воинам, из-за
которых не строились цепочки, выдать по шкуре за то, чтобы они “забыли” о своих геройствах в некоторых охотах. Такая “забывчивость” воинов упростит процесс построения ритуальных костров. Выход найден. Он останется вождем!..
Читатель, чтобы легче следить за дальнейшими рассуждениями вождя, давайте построим матрицу Q = каждой строке которой взаимно однозначно соответствует охота, столбцу — воин, и если у-й воин отличился в г-й охоте, то qij = 1, в противном случае 9,-, = 0:	а b с d е f д к Р
100000011 п_ 001001011 100101001-0 10 0 10 10 1 101010001
Хотя глава племени и сохранил за собой шкуру вождя, перед ним снова встала проблема: каким образом построить ритуальные костры, истратив при этом минимальное число шкур? Что должен сделать вождь?
Существовал такой обычай или нет — автору неизвестно. Но
пример построения ритуальных костров является хорошей иллюстрацией тех трудностей, которые появляются при решении проблем организации некоторой системы, удовлетворяющей заданным свойствам.
Предисловие 9
Характерной чертой этих задач является проблема “проклятия размерности”, или “информационного взрыва в ЭВМ”. Решение их полным перебором вариантов невыполнимо даже при использовании самых мощных ЭВМ при реальной размерности задачи.
Решению задач реальной размерности с учетом ограниченности временных и емкостных ресурсов ЭВМ и посвящен настоящий учебник. Учебник имеет двойное название. С точки зрения математика (внутренней) это — “Фундаментальные основы дискретной математики”, с точки зрения пользователя (внешней) это — “Информационная математика”. Книга написана на базе учебника “Основы дискретной математики” (М.: Высшая школа, 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) есть аббревиатура, составленная из шести слов, приведенных в эпиграфе и принадлежащих перу известного чешского гуманиста, просветителя Амоса Камениуса (1592-1671). Переводятся первые два слова как “мудро мыслить”, следующие два слова — “благородно действовать”, последние два слова — “лаконично говорить”. По окончании высшей школы ты должен обладать этими тремя свойствами. Первое свойство — мудро мыслить — основывается на фундаментальных естественных знаниях, одной из основ которых является абстрактное мышление, формированию которого и способствует дискретная математика; ее ты будешь успешно использовать при решении проблем информатизации в XXI веке.
Эффективность используемых информационных технологий во многом определяется оптимальностью разработанного алгоритма, которая оценивается временной и емкостной сложностью. Под временной сложностью понимается время работы алгоритма, под емкостной сложностью — объем памяти, необходимый для решения задачи. Временная и емкостная сложности являются функциями от размерности задачи. В настоящее время в связи с широким использованием вычислительной техники в различных сферах человеческой деятельности все большее значение приобретают вычисления на дискретных структурах — комбинаторные вычисления. Исследованию алгоритмов на дискретных структурах посвящены многочисленные публикации [2, 9, 11, 17, 18, 22, 25, 28, 29, 40, 43].
Анализ трудностей, имевших место при поиске эффективных алгоритмов решения задач дискретной математики, привел к формулировке центральной теоретико-методологической проблемы дискретной математики — решению вопроса о возможности исключения перебора вариантов при решении задач на дискретных структурах. Была выдвинута гипотеза, что для широкого класса задач дискретной математики, имеющих практический интерес, не существует эффективного алгоритма их решения, трудоемкость которого была бы полиномиальной функцией от размерности задачи. Эти задачи образуют класс АГР-полных задач, трудоемкость решения которых оценивается экспоненциальной функцией. Согласно этой гипотезе задачи реальной размерности (равной нескольким сотням) не могут быть эффективно решены даже на ЭВМ будущих поколений. Действительно, если представить себе ЭВМ, в
Введение
11
которой символы используемой системы счисления или логики моделируются различными состояниями атомов, причем масса ЭВМ равна массе Земли, то на основании общих законов физики эта ЭВМ не сможет даже в течение всех геологических эпох переработать больше 1073 двоичных разрядов информации [25]. При решении же NP-полных задач реальной размерности объем перерабатываемой информации превышает величину 1073. Этот факт вызвал пессимизм среди математиков-теоретиков, которые акцентировали внимание в основном на исследовании понятийного уровня дискретной математики и асимптотических зависимостей.
Математики-прикладники направили усилия на разборку алгоритмов решения задач дискретной математики, что диктуется практической потребностью ускоренного движения от физического смысла задачи к алгоритмическим построениям и широкому использованию ЭВМ.
При решении проблемы уменьшения перебора вариантов имеются группы алгоритмов: эвристические и характеризационные. К эвристическим относятся алгоритмы широкого класса, начиная от ГСН-алгоритмов (ГСН — грубая сила и невежество) и кончая “хитрыми”, “жадными” и другими эвристическими алгоритмами.
Название алгоритма соответствует тому виду эвристики, который определяет процедуру борьбы с перебором. Оценить, насколько удалено полученное с помощью эвристического алгоритма решение от минимального в смысле значений функционала качества решения, принципиально невозможно. От этого существенного недостатка свободны характеризационные алгоритмы, структура которых была предложена автором в 60-х годах [9]. На основании характеризации проводимых комбинаторных преобразований можно найти минимальное решение без поиска всех эквивалентных решений, исключая их перебор.
Характеризационный алгоритм решения задачи состоит из процедуры эквивалентирования и фактического получения решения. Первая процедура состоит в преобразовании исходной информации к виду, при котором, фактически не строя решения, можно вычислить функционал его качества. Трудоемкость ха-рактеризационных алгоритмов для практических задач оценивается полиномиальными функциями, степень которых не превышает 3-5. Расхождение полученных результатов с результатами, полученными математиками-теоретиками, объясняется двумя причинами. Во-первых, математики-теоретики оценивают трудоемкость алгоритмов решения комбинаторной задачи экспоненциальной зависимостью, исходя из наихудшего случая, который, как правило, является искусственным, не имеющим на практике места, и, во-вторых, доказывают асимптотические оценки, т. е. рассматривают предельный переход при п —> ею (п — размерность задачи). Практически же размерность задачи является конечной
Введение
величиной. Например, получение экспоненциальной оценки трудоемкости раскраски вершин произвольного графа сновано на знании максимального числа /(п) пустых подграфов в графе с п вершинами:
Зп/3, n = 0(mod3),
/(п) =	4 3<”-4)/3, n = l(mod 3),
2-3(п“2)/3, n = 2(mod3),
но эта зависимость справедлива только для графов единственного класса, являющихся дополнениями графов Муна—Мозера до полных.
Комбинаторные задачи необходимо рассматривать, принимая во внимание исходную конкретную информацию, и на ее базе разрабатывать интеллектуальные информационные технологии и стратегии их решения.
Подобно тому как дар слова обогащает нас мнениями других, так язык математических знаков служит средством, еще более совершенным, более точным и ясным...
H.ff. Лобачевский
Глава 1
ОСНОВЫ МНОГОСОРТНЫХ МНОЖЕСТВ
§ 1.1. Множество, функция, операция.
Способы задания
Любое понятие дискретной математики можно определить с помощью понятия множества. Под множеством понимают объединение в одно общее объектов, хорошо различаемых нашей интуицией или нашей мыслью. Таково интуитивное определение понятия множества, данное основателем теории множеств Георгом Кантором. Это понятие является в математике первичным и, следовательно, не имеет строгого определения. Объекты, которые образуют множество, будем называть элементами множества и обозначать, как правило, малыми буквами латинского алфавита. Если элемент т принадлежит множеству М, то будем использовать запись т € М, в противном случае используем запись т М; знак € принадлежности элемента множеству является стилизацией первой буквы греческого слова ест, (есть, быть).
Множество, содержащее конечное число элементов, называется конечным. Если же множество не содержит ни одного элемента, то оно называется пустым и обозначается 0.
Множество может быть задано различными способами: перечислением элементов (конечные множества) или указанием их свойств (при этом для задания множеств используют фигурные скобки). Например, множество М цифр десятичного алфавита можно задать в виде М = {0, 1, ..., 9} или М = {i/ i целое, О < i < 9}, где справа от наклонной черты указано свойство элементов этого множества. Множество М четных чисел можно записать в виде М = {т/ т — четное число).
Множество М' называется подмножеством множества М (М' включено в М) тогда и только тогда, когда любой элемент множества М' принадлежит множеству М:
М' СМн(тЕМ'->ш6 М) или
М' С М <-> М' = {пц/ mi € М);
здесь С — знак включения подмножества; а —> b означает: если а, то 5; а <-> Ъ означает: Ь, если и только если а. В частном случае множества М' и М могут совпадать.
14
Гл. 1, Основы многосортных множеств
Невключение подмножества М' в множество М обозначается М М.
Очевидно, что если множество Ма — подмножество множества Мь и множество Мь — подмножество множества Ма, то оба этих множества состоят из одних и тех же элементов. Такие множества называются равными: Ма = Мь- Если же множество М1 — подмножество множества М, а множество М не является подмножеством множества М', то множество М' называется собственным подмножеством множества ЛГ; запись: М' С С М.
Для каждого множества М существует множество, элементами которого являются подмножества множества М, и только они. Такое множество будем называть семейством множества М или булеаном этого множества и обозначать В(ЛГ), а множество М будем называть универсальным, универсумом или пространством и обозначать 1.
При рассмотрении различных подмножеств и их свойств часто приходится обращаться к комбинаторике — разделу дискретной математики, посвященному решению задач выбора и расположения элементов некоторого, как правило, конечного множества в соответствии с заданными свойствами.
Каждое такое свойство определяет способ построения некоторой конструкции из элементов множества, называемой комбинаторной конфигурацией. Простейшими комбинаторными конфигурациями являются размещения, перестановки и сочетания.
Размещение А(п, К) мощности К из п элементов (К < п) — это любая последовательность (т. е. множество с зафиксированным в нем порядком элементов) попарно различных К элементов, взятых из п элементов; для записи размещений используются круглые скобки.
Первый элемент последовательности можно зафиксировать п способами, второй элемент — п - 1 способами и т. д., К-й элемент — п — К 4-1 способами. Следовательно, количество таких последовательностей (размещений) равно произведению чисел п, п - 1, ..., п - К + 1:
|А(п, К)| = п • (п - 1) •... • (п - К 4-1) = U (п - :). i=o
В этой конфигурации важен как состав элементов, так и их порядок.
Размещение при К = п называется перестановкой Р(п). Число перестановок |Р(п)| из п элементов есть п-1
(п — г) = п • (п — 1) •... • 2 • 1 = п\.
1=0
Сочетанием С(п, К) мощности К из п элементов называется любое подмножество, содержащее К элементов, набранных из п
§ 1.1, Множество, функция, операция. Способы задания
15
элементов. В сочетании важен только состав элементов, порядок же не играет роли. Очевидно, что число размещений из п по К, содержащих одни и те же К элементов, равно К!, так как эти размещения отличаются друг от друга только порядком. Такие размещения соответствуют одному сочетанию. Следовательно, число сочетаний из п по К элементов есть
|C(n,tf)| =
Р(К)
п!
(п-К)’-К!’
Это число, кстати, равно /<-му коэффициенту в разложении бинома Ньютона (а 4- 5)п.
Рассмотрим образование булеана В(1) от универсума 1 = {у, х, а}. Первым множеством является пустое множество 0, не содержащее ни одного элемента. Образуем затем ('J') — число сочетаний из |1| по 1 — множеств, содержащих по одному элементу, Затем образуем множеств, содержащих по два элемента, и т. д., наконец, образуем множество, содержащее все элементы множества 1. Здесь |1| — количество элементов конечного множества 1, в дальнейшем называемое мощностью множества.
Очевидно, что мощность |В(1)| булеана от универсума 1 равна 2I1!;
|В(1)1 = 2|1'.
В рассматриваемом случае В(1) = {0, {у}, {т},{а}, {у,®}, {а,®}, {«>!/}> {У, ^вН-
Множество также часто задают графически с помощью диаграмм Эйлера. Например, задание множества {{в, b, с}, {5, d, е}} в пространстве 1 = {а, 6, с, d, е) приведено на рис. 1.1, где замкнутые линии, называемые в дальнейшем кругами Эйлера, ограничивают элементы множества, при этом рамка, в верхнем правом углу которой стоит 1, ограничивает элементы пространства.
Другие способы задания множеств будут рассмотрены по мере необходимости.
Одним из важнейших понятий теории множеств является понятие декартова произведения множеств. Декартовым произведением Ма X Мь множеств Ма и Мь называется множество вида
М = {(тп,-, mj)/ пг,- е Ма, rrij е Мь}.
16
Гл.1. Основы многосортных множеств
Подмножество.F С Му х Мх называется функцией, если для каждого элемента х G Мх найдется не более одного элемента у £ Му вида (у, ®) € F, при этом функция называется всюду (полностью) определенной] в противном случае функция называется частично определенной (недоопределенной). Множество Мх образует область определения функции F, множество Му — область значений функции F. Часто вместо записи (у,х) G F используют запись у = F(x)] при этом элемент х называют аргументом или переменной, а у — значением функции F.
Сопоставим с декартовым произведением двух множеств прямоугольную решетку, узлы которой взаимно однозначно соответствуют элементам декартова произведения. Подмножество декартова произведения на рисунках будем отмечать зачернением соответствующих элементов.
Пример 1.1. На рис. 1.2,а изображено подмножество декартова произведения множеств Му = {j/i, уз, уз, yt} и Мх = {xj, хз, хз}, не являющееся
функцией, на рис. 1.2,6 — подмножество, являющееся полностью определенной функцией, на рис. 1.2, в — частично определенной функцией.
Количество аргументов определяет местность функции. Выше были рассмотрены одноместные функции.
Аналогично понятию декартова произведения двух множеств определим декартово произведение п множеств.
Декартовым произведением
п
Мг х М2 х ... х Мп = JJ Mi ।
i=i
множеств М\, М2, ..., Мп называется множество
М = {(т{1,т{2, ...,min)/mit е Mi,mi2 G М2, ...,minE Мп}.
Элементами декартова произведения Му х М2 х ... х Мп являются всевозможные последовательности, каждая из которых
§ 1.1, Множество, функция, операция. Способы задания 17
состоит из п элементов, причем первый элемент принадлежит множеству Mi, второй — множеству Мг и т. д., n-й элемент принадлежит множеству Мп.
Если множество Мх в определении функции у = F(x) является декартовым произведением множеств МХ1, МХ2, ..., МХп, то получим определение п-местной функции:
y = F(xi, х2, ..., ®п)-
Частным случаем n-местной функции у = F(xi,x2, .. .,хп) является п-местная операция. Под п-местной операцией Оп в множестве М понимается n-местная функция у = F(®i, х2,..., ®п), у которой области определения аргументов и область значений функции совпадают:
=- Л/д;, ——	Л/д,п —— -Л^у.
Таким образом, n-местная операция по п элементам множества М определяет (п 4- 1)-й элемент этого же множества.
Рассмотрим пространство 1 и определим в нем четыре операции над множествами: объединение, пересечение, разность, дополнение.
Объединением MeUMj двух множеств Ма и Мь является множество М, состоящее из элементов множества Ма и из элементов множества Мь:
М ~ МаОМь = {тщ/ mi £ Ма и/или тп,- £ Мь}.
Пересечением МаОМь двух множеств Ма и Мь является множество М, состоящее из элементов, которые принадлежат как множеству Мау так и множеству Мь’.
М = Ма О Мь = {тп,/ ТП,- € Мо и тп,- £ Мь}; часто союз “и” заменяют знаком &:
М = Мо П Мь = {тп,/ mi 6 Ма & тп,- £ Мь].
Разностью Ма \ Мь множеств Ма и Мь является множество М, состоящее из элементов, принадлежащих множеству Ма и не принадлежащих множеству Мь’.
М = Ма\Мь = {тп,-/ тп,- € Ма & тп,- £ Мь}.
Введенные операции являются двуместными.
Рассмотрим операцию дополнения, являющуюся одноместной. Дополнением М множества М является множество
М = {mi/ mi £ М}.
Операции объединения, пересечения, разности и дополнения проиллюстрированы на рис. 1.3; результирующее множество каждой операции выделено штриховкой. Используя эти операции, можно выражать одни множества через другие, при этом сначала выполняется одноместная операция дополнения, затем пересече
18
Гл. 1. Основы многосортных множеств
ния и только затем операция объединения и разности. Для изменения этого порядка в выражении используют скобки.
торое входят идентификаторы (указатели) множеств, операции и, быть может, скобки. Такой способ задания называется аналитическим.
Пример 1.2. Рассмотрим операцию дополнения множества, являющегося пересечением множеств Л/о и Л/ь- Ее результат совпадает с объединением дополнений этих множеств: М = Ма П Мь = Ма U Л4ь; в этом можно убедиться с помощью диаграмм Эйлера (рис. 1.4).
§ 1.2. Понятие алгебры. Фундаментальные алгебры
Алгеброй А называется совокупность множества М с заданными в нем операциями
8 — {/11, /12,   •, /1гц, /21, /22, • • •
• • • > /2п2, • • •, /ml, /m2, • • •, /mnm}i
обозначается А = (М, S); здесь множество М — носитель, S — сигнатура алгебры. Первый нижний индекс у идентификатора операции указывает ее местность.
Замечание. Для идентификации единого целого, содержащего объекты, которые имеют различное математическое строение (например, множества и операций в нем), было предложено использовать термин многосортное множество или совокупность и обозначать его угловыми скобками.
Рассмотрим фундаментальные алгебры.
Алгебра вида (М, /2) называется группоидом.
Если /2 — операция типа умножения, то группоид называют мультипликативным, если /2 — операция типа сложения, то аддитивным.
§1,2. Понятие алгебры. Фундаментальные алгебры
19
Пусть А = (М, /2) — группоид; обозначим операцию /2 как о. Тогда элемент е G М называется правым нейтральным элементом группоида А, если для всякого элемента т € М выполняется равенство т о е = т, и левым нейтральным элементом, если е о т = т.
Если элемент е € М группоида А = (М, о) является одновременно и левым, и правым нейтральным элементом, то его называют двусторонним нейтральным элементом или просто нейтральным элементом. Никакой группоид не может иметь более одного нейтрального элемента. Действительно, если т о е = = е о т — т и тое' = е'от = т справедливо для всех т G М, то е' = е' о е = е.
Если группоид (Л/, о) мультипликативный, то нейтральный элемент называется единицей и обозначается 1; если группоид (М, о) аддитивный, то нейтральный элемент называется нулем и обозначается 0.
Группоид А = (М, о) называется идемпотентным, если его сигнатура удовлетворяет закону идемпотентности
(Vm G М) (тп о т = тп).
Группоид А = (М, о), сигнатура которого удовлетворяет закону коммутативности
(Vx, у еМ)(хоу = уох), называется коммутативным или абелевым.
Группоид (Л/, о), в котором выполняется закон ассоциативности
(Vz, у, z G М) (х о (у о z) = (х о у) о z), называется ассоциативным или полугруппой.
Полугруппа (М, о), в которой выполнимы обратные операции, т. е. для любых а, b Е М каждое из уравнений аох = Ь, уоа = b обладает единственным решением, называется группой.
Проиллюстрируем понятие группы на примере группы подстановок, содержащей шесть элементов. Группу подстановок исследовал выдающийся французский математик Эварист Галуа в связи с решением уравнений в радикалах. Подстановкой п-й степени называется взаимно однозначное отображение мно-жества из п элементов на себя.
Рассмотрим три элемента: Xi, Х2, хз. Существует шесть перестановок из трех элементов: Х1Х2Х3, Х2Х3Х1, Х1Х3Х2, Х3Х1Х2, Х2Х1Х3, Х3Х2Х1. Запишем две перестановки нз трех элементов друг под другом:
(Х1 Х2 х3\
Х2 Хз XlJ
Эта запись означает, что Xi переходит в хг, хз — в хз, хз — в xj.
Число возможных подстановок равно числу перестановок. Введем следующие обозначения для шести возможных подстановок:
/Х1 Х2 Хз\ \Х1 Х2 Хз/ '
/Х1 Х2 Хз\
\Х2 Хз Xl) ’
Ь=(*‘
Х1
Хз
Х2
Хз
хз\
XiJ
Х1
*2
Х2 Хз\
Х1 Хз/ '
Х2	Х3\ х _	/Х1	Х2	Х3\
Х1	Хз/	’ J	\Хз	Х2	XlJ
с =
е =
20
Гл.1. Основы многосортных множеств
Введем операцию умножения х над подстановками. Произведением подстановок называется подстановка, получаемая в результате последовательного выполнения сначала первой, а затем второй из перемножаемых подстановок. Например,
cxb=(*‘ ?	?)xfr	?	?)х(«?	?	*3)=е.
XI	Хз) Vе!	Х3	Хз) \хз	Х1	Хз)
Значения выражения а х /3, где а, 0 = а, Ъ, с, d, е, f, представлены в табл. 1.1.
Таблица 1.1
а	0					
	а	ь	с	d	е	f
а Ъ с d е f	а b с d е f	ъ а е f с d	с d f е а Ъ	d с f е а Ъ	е f ь а d с	f е d с Ъ а
В рассматриваемой алгебре {М, х) выполняется закон ассоциативности, но не выполняется закон коммутативности. Рассматриваемая алгебра (М, х) не является абелевой, так, а х /3 / /Зха, например, прн значениях а = с, /? = Ь; с х Ъ = е, Ь х с = d. В алгебре выполняется аакон ассоциативности
(а х /J) х у = а х (/J х у),
(1-1)
следовательно, она является полугруппой (рис. 1.5).
Рис. 1.5 Диаграмма выполнения подстановок согласно левой (а) н правой (б) частям выражения (1.1)
Каждое уравнение ахх=0иуха=0 имеет однозначное решение (рис. 1.6). Следовательно, эта алгебра является группой.
§ 1.2. Понятие алгебры. Фундаментальные алгебры 21
Алгебра (М, х,+), которая по умножению является мультипликативным группоидом, а по сложению — абелевой группой, причем умножение связано со сложением законами дистрибутивности
ах (Ь-Ь с) = axb+ax с, (Ц с) х а = 6 х а + с х а, называется кольцом. Кольцо, в котором все отличные от нуля элементы составляют группу по умножению, называется телом. Тело, у которого мультипликативная группа абелева, называется полем.
Рассмотрим алгебру множеств (алгебру Кантора, алгебру классов}
Ak = (B(l), U, Л, ’ ),
носителем которой является булеан универсального множества 1, сигнатурой — операции объединения U, пересечения Л и дополнения . Для операций алгебры Кантора выполняются следующие законы:
закон коммутативности объединения и пересечения
Ма U Mb = Mb U Ма, . Ма l~\ Mb = Mb Ма', закон ассоциативности объединения и пересечения
Ма U (Mb U Мс) = (Ма У Mb) U Мс, Ма Л (Мь Л Мс) = (Ма Л Мь) Л Мс;
закон дистрибутивности пересечения относительно объединения и объединения относительно пересечения
Ма Л (Mb U Мс) = Ма Л Мь U Ма П Мс, Ма U Mb Л Мс = (Ма и Мь) Л (Ма U Мс);
законы поглощения
Ма U Ма П Мь = Ма, Ма Л (Ма U Мь) — Ма;
законы склеивания
Ма Л Мь U Ма -Л Мь = Ма, (Ма U Мь) Л (Ма U Мь) = Ма;
законы Порецкого
МаиМаЛМь = МаиМь, Ма Л (М>U Мь} = Ма Л Мь;
закон идемпотентности объединения и пересечения МаиМа=Ма, МаЛМа=Ма;
закон действия с универсальным (1) и пустым (0) множествами
M\J0 = M, МС\0 = 0, М1Л = 1, МЛ1 = М, МиМ = 1, МЛМ = 0;
22	Гл. 1. Основы многосортных множеств
законы де Моргана
Ма А Мь = М^ U Мь, MaLJ Мь = М^ А Мь, закон двойного дополнения
Л=М.
Алгебра Кантора по аддитивной операции объединения и мультипликативной операции пересечения является абелевой полугруппой (так как для этих операций выполняются законы коммутативности и ассоциативности), но она не является группой (поскольку уравнения Ма UX = Мь, МаПХ = Мь не имеют решения, например, для случая когда множества не пересекаются: МаПМь — 0). Следовательно, алгебра Кантора по двуместным операциям U и А не является кольцом. Эта алгебра принадлежит к другому классу фундаментальных алгебр — к классу решеток, который рассмотрен ниже.
§ 1.3. Бинарные отношения, способы их задания и свойства
Фундаментальным понятием дискретной математики является понятие отношения, которое используют для обозначения связи между объектами или понятиями.
Квадратом множества М называется декартово произведение двух равных между собой множеств: М х М = Л12. Бинарным отношением Т в множестве М называется подмножество его квадрата: Т С М2. Говорят, что элементы яг,- и mj находятся в отношении Т, если (m,-, mj) &Т. Совокупность множества М с заданным в нем бинарным отношением Т С М2 называется графом G:
G = (М, Т),
где М — носитель графа (множество вершин), Т — сигнатура графа (множество дуг).
Пример графа был использован при рассмотрении группы Галуа (рис. 1.6).
Рассмотрим задание бинарного отношения с помощью матрицы смежности и фактормножества.
При матричном задании используют двумерную таблицу — матрицу смежности, каждой строке (столбцу) которой взаимно однозначно сопоставляют элемент множества М. Тогда каждая клетка (г, j) взаимно однозначно соответствует элементам множества М2. Клетку (г, j), которая соответствует элементу, принадлежащему тем2, каким либо образом помечают, например, зачерняют или помещают в нее единицу; остальные клетки оставляют незачер-ненными или в них записывают нули.
§1.3. Бинарные отношения, способы их задания и свойства 23
Рассмотрим предложенную фон Нейманом блок-схему ЭВМ, которая состоит из множества устройств
М = {а, Ъ, с, d, е}, где а — устройство ввода, Ъ — арифметическое устройство (процессор), с — устройство управления, d — запоминающее устройство, е — устройство вывода. Рассмотрим информационный обмен между устройствами т, и mj, которые находятся в отношении Т, если из устройства т, поступает информация в устройство mj. Это отношение можно дующим образом:
Ь 1 О 1 1 ' О
задать
в виде матрицы смежности сле-
а О О 1 О О
с 1 1 О 1 1
d 1 1 1 О О
е • О 1 1 1
О
В =
ь с d
Граф G, задаваемый рассмотренным отношением Т, изображен на рис. 1.7. Здесь (и в дальнейшем) вершины графа изображаются в виде кружков (иногда в виде точек), дуги — в виде стрелок, исходящих из тп, и / X. входящих в mj, если (тп,-, mj) € Г; при этом /	\
вершина тп,- — начало дуги, а вершина mj —	/	\
ее конец.	I /||\. |
Рассмотрим задание бинарного отношения с помощью фактормножества.
Окрестностью единичного радиуса эле-	I	Г )	Г
мента тп,- € М называется множество элемен-	\	тГРг	/
тов mj € М таких, что (тп,-, mj) € Т,Т С М2.	\	/
Часто вместо термина окрестность единич- \. У ного радиуса используют термин сечение.	'
Множество окрестностей единичного радиу- рнс 17 са, взятых для всех элементов множества М при задании в нем отношения Т С М2, называется фактормножеством М/Т множества М по отношению Т. Фактормножество М/Т полностью определяет отношение Т.
Зададим фактормножество для рассматриваемого примера в виде двух строк, в первой из которых поместим элементы множества М, во второй под каждым элементом запишем окрестность единичного радиуса этого элемента:
[а Ь с del
{Ь, с, dj {с, d, е} {а,Ь, d, е} {Ь, с, е} {с}]
Тогда вторая строка аадает фактормножество М по Г.
Бинарное отношение, задаваемое графом G = (М, Т) (рнс. 1.7), можно задать и перечислением его дуг: М={а, 6, с, d, е}, Т= {(а, 6), (а, с), (а, d), (6, с), (b,e), (b,d), (с, а),(с,Ь), (c,d), (с,е), (d,c), (d,b), (d,e), (е,с)}.
Рассмотрим наиболее важные свойства бинарных отношений.
Отношение Т в множестве М называется рефлексивным, если для каждого элемента m € М справедливо (тп, тп) € Т. Свойство рефлексивности при задании отношения матрицей смежности
24
Гл. 1. Основы многосортных множеств
характеризуется тем, что все элементы, лежащие на главной диагонали, отмечены (равны 1 или зачернены); при задании отношения графом каждый элемент имеет '> петлю — дугу вида (т, т) тк (рис. 1.8, а).
Отношение Т в множестве М называется симметричным, если из (mt, mj) Е Т следует (m>, mj) G М, mi / mj.
Матрица смежности симметричного отношения является симметричной относительно главной диагонали, а при задании отношения в виде графа
следствием симметричности является наличие между всякой парой вершин, находящихся в отношении Т, двух противоположно направленных дуг (рис. 1.8, б).
Отношение Т в множестве М называется транзитивным, если из (mj, mj) € Т и (mj, т^) € Т следует (mj, m*,) € Т, где mj, mj, mk € М; mi 0 mj, mi 0 m*,, mj ф т*.
В графе, задающем транзитивное отношение Т, для всякой пары дуг таких, что конец первой совпадает с началом второй, существует третья дуга, имеющая общее начало с первой и общий конец со второй (рис. 1.8, в), — транзитивно замыкающая дуга.
Отношение Т', задаваемое частичным графом G' графа G (см. рис. 1.7), после удаления дуг (а, Ь], (а, d), (b, е) и (d, е) становится симметричным.
Частичным графом G' графа G = (V, U) называется граф вида G' — (V, U'), U' С U, т. е. граф G', G' С G, получается путем удаления дуг из графа G.
Дуга называется инцидентной вершине и, если эта вершина является началом или концом дуги.
При удалении, вершин и инцидентных с ними дуг получаем подграф G' графа G: G' С G. Если в подграфе G', G' С G, удалены некоторые дуги, то получаем частичный подграф G", G" С G' С С G, графа G.
Отношение Т", задаваемое частичным подграфом G" графа G (см. рис. 1.7), полученным после удаления всех дуг, кроме (а, Ь), (а, d), (Ъ, е) и (d, е) и вершины с (рис. 1.9, а), не обладает ни свойством симметричности (ст), ни рефлексивности (р), ни транзитивности (т)}. Оценим, к какому из этих свойств отношение Т" наиболее близко. Близость А(Т", а) отношения Т" к свойству будем оценивать минимальным числом дуг, которые нужно удалить или добавить к графу, задающему это отношение, для того, чтобы граф задавал отношение Т, которое обладает свойством а,
§ 1.3. Бинарные отношения, способы их задания и свойства 25
а = о, р, г/. Для рассматриваемого примера (рис. 1.9,6)
Д(Т'» = 4, Д(Т",р) = 4, Д(Т")7?) = 1.
Используя эти свойства, определим бинарное отношение упорядоченности, имеющее большое теоретическое и практическое значение.
а	б
Рис. 1.9
Бинарное отношение R в множестве М, обладающее свойствами:
рефлексивности
(УаеМ)((а, а) € Д);
антисимметричности	4
(Уа, b G М) (((а, b) G R (6, а) € R) а = Ь);
транзитивности
(Уа, Ь, с G М) (((а, Ь) G R (b, с) G R) -4 (а, с) G Д); называется отношением упорядоченности и обозначается <.
Бинарное отношение в множестве М, обладающее свойствами антирефлексивности, антисимметричности и транзитивности, называется отношением строгой упорядоченности и обозначается <• Отношение R в множестве М, обладающее свойствами рефлексивности и транзитивности, называется отношением пред-порядка.
Рассмотрим отношение включения С . Это отношение рефлексивно: Mi С М, (множество Mi включает самое себя); если Mi С С Mj и Mj С М, то Mi — Mj и, следовательно, оно антисимметрично; еслиМ,- С Mj и Mj С Mt, то М С Mt, значит, отношение С транзитивно.
Отношение включения С является отношением упорядоченности <. Множество М с заданным в нем отношением упорядоченности < называется упорядоченным этим отношением.
Если любые два элемента т,- и mj упорядоченного множества находятся в отношении упорядоченности т,- < ту или ту < т,-,
26
Гл. 1. Основы многосортных множеств
то это множество называется линейно упорядоченным (цепью); в противном случае множество называется частично упорядоченным.
Пример частично упорядоченного множества приведен на рис. 1.10 (в качестве отношения < рассмотрено отношение включения множеств с).
Часто частично упорядоченное множество изображают в виде графов Н = (V, <), у которых удалены все петли и все транзитивно замыкающие дуги. Граф Н = (V, <), задающий частично упорядоченное множество с удаленными петлями и транзитивно
Рис. 1.10
замыкающими дугами, называется диаграммой Хассе Н. Диаграмма Хассе Н, задающая частично упорядоченное множество, которое показано на рис. 1.10, а, изображена на рис. 1.10, б.
Диаграмма Хассе известна с конца XIX века, и в течение многих лет ее применяли в генеалогии для указания родства. Понятие непосредственного старшего легко задается в частично упорядоченном множестве следующим определением: т,- покрывает m,j\ это означает, что m,j < mi и не найдется такого элемента тх, что mj <тх < mi.
Рассмотрим подмножество М' упорядоченного множества М. Если найдется элемент та € М такой, что тп,- < та для любого элемента т, подмножества М', то элемент та называется мажорантой подмножества М'. Аналогично, если найдется элемент тр € М' такой, что тр < т,- для любого элемента т,- подмножества М', то элемент тр называется минорантой подмножества М'. На диаграмме Хассе Н (рис. 1.10, б) элемент {х} является минорантой подмножества {{у, х], {а, г), {у, х, а}}, элемент {а, х} — мажорантой подмножества {{х}, {а}, 0}.
§ 1,3. Бинарные отношения, способы их задания и свойства 27
Если мажоранта та подмножества М' принадлежит М', та € € М1, то она называется максимальным элементом (тмйКС) этого подмножества. Аналогично, если миноранта тр подмножества М' принадлежит М', тр € М', то она называется минимальным элементом (тмии) подмножества М'. В диаграмме Хассе Н (рис. 1.10, б) минимальным и максимальным элементами подмножества {{г}, {у, х}, {а, г}, {у, х, а}} являются соответственно {ж}, {у,	а}- Для пары элементов линейно упорядоченного мно-
жества всегда существуют максимальный (равный одному из них) и минимальный (равный другому) элемента. Пару элементов линейно упорядоченного множества m,-, mj, для которых т,- < mj или mj < mi, называют сравнимыми.
Если множество мажорант (минорант) в свою очередь имеет максимальный (минимальный) элемент, то его называют верхней (нижней) гранью подмножества М'. Верхнюю (нижнюю) грань множества М' обозначают supAf' (infМ').
Верхняя (нижняя) грань подмножества М', принадлежащая М', называется наибольшим (наименьшим) элементом подмножества М1.
Теорема 1.1. Упорядоченное множество М содержит не более одного наибольшего (наименьшего) элемента.
Докажем теорему для случая наибольшего элемента. Действительно, если та, тр — два наибольших элемента, то та < тр и яг/з < та, откуда в силу антисимметричности отношения < следует та = тр. Доказательство для наименьшего элемента аналогично.
Наибольший элемент упорядоченного множества М, если он существует, назовем единичным и будем обозначать 1. Наименьший элемент упорядоченного множества М, если он существует, назовем нулевым и будем обозначать 0.
В упорядоченном семействе множества 1 пустое множество соответствует нулевому элементу, 1 — единичному элементу.
Элемент, покрывающий 0 в частично упорядоченном множестве М, т. е. минимальный элемент в подмножестве множества М, полученном исключением 0, называется атомом или точкой. При задании с помощью графа семейства множества М точке (атому) соответствует элемент универсума.
Под изоморфизмом между двумя упорядоченными множествами М и М* будем понимать взаимно однозначное соответствие г/ между М и М* такое, что из т,- < ту следует 7/(mt) < т/(ту) и из 7?(т,) < следует т,- < ту.
Два упорядоченных множества, М и М*, называются изоморфными тогда и только тогда, когда между ними существует изоморфизм.
28
Гл. 1. Основы многосортных множеств
Под отношением R, обратным R, понимают такое отношение, при котором (т,, mj) € R тогда и только тогда, когда (mj, m,) € € R.
Принцип двойственности. Отношение, обратное отношению упорядоченности, также является отношением упорядоченности.
Двойственным к частично упорядоченному_множеству М называется частично упорядоченное множество М, определенное на том же носителе с помощью обратного отношения. На рис. 1.10, в изображена диаграмма, являющаяся двойственной к диаграмме Хассе (рис. 1.10, б). Часто принцип двойственности формулируют следующим образом: если теорема справедлива для частично упорядоченных множеств, то справедлива и двойственная ей теорема.
Очевидно, что подмножество М' упорядоченного множества М является упорядоченным множеством, и если это упорядоченное множество М' является линейным, то подмножество М' является цепью М' в М. Одной из важных числовых характеристик цепи М' является ее длина I, равная |М'| — 1, где |М'| — мощность носителя линейно упорядоченного подмножества М'. Каждая цепь длины I изоморфна цепи целых чисел 1, 2, ..., I + 1. .
Высотой d(m,i) элемента пг; упорядоченного множества М называется максимум длины (/Макс) цепей т0 < mi < ... < mi в М, для которых mi — наибольший элемент, то — минимальный элемент множества М.
Длиной d(M) упорядоченного множества М называется максимум длин цепей в М. Другими словами, длиной d(M) упорядоченного множества называется максимум высот его элементов d(M) = maxtZ,(wi,), m, € М.
Наименьшей верхней гранью называется верхняя грань, меньшая всякой другой верхней грани. Наибольшая нижняя грань определяется аналогично. Очевидно, что подмножество упорядоченного множества имеет не более одной наименьшей верхней и не более одной наибольшей нижней грани.
Другим важным бинарным отношением является отношение эквивалентности (^). Бинарное отношение эквивалентности, обладающее свойствами рефлексивности, симметричности и транзитивности, называется отношением эквивалентности.
Назовем классом эквивалентности К(та) элемента та множество всех элементов mi, каждый из которых находится с этим элементом в отношении эквивалентности (множество эквивалентных элементов):
К(та) = {mi/ mi ma}.
§1.4. Решетка
29
Согласно свойству рефлексивности отношения имеем та € G К(та). Из свойства транзитивности отношения эквивалентности
(та ть) & (ть тс) -> та тс следует К(та) D К(ть), а из свойства симметричности — та ть - К(та) = К{тъ).
Два различных класса эквивалентности, К(тх} и К(ту), тх / ту, не пересекаются: К(тх} А К(ту) = 0, так как в противном случае они бы совпали. Действительно, пусть найдется элемент тг, принадлежащий этим классам: mz € К(тх), К (ту); тогда согласно приведенным выше свойствам К(тх) = K(mz) = = К(ту). Иначе говоря, если найдется элемент mz, принадлежащий двум классам эквивалентности, К(тх) и К(ту), то К(тх) = — К(ту), что можно записать (используя вместо слова “найдется” обозначение 3)
(Зтп2 е К(тх), К(ту)) -> (К(тх) = К(ту)).
Представление множества М в виде попарно непересекающих-ся подмножеств {Л1,} будем называть разбиением этого множества:
U Mi = М, Mia A М,ь = 0, ia 0 ц. i
Таким образом, классы эквивалентности образуют разбиение множества. Тестом распознавания отношения эквивалентности, заданного матрицей смежности, может быть приведение с помощью перестановки строк (столбцов) матрицы смежности к виду, изображенному на рис. 1.11, где около главной диагонали расположены подматрицы, состоящие из единиц (они
заштрихованы), остальные элементы матрицы равны нулю. Каждая заштрихованная подматрица соответствует классу эквивалентности.
Рис. 1.11
§ 1.4. Решетка
Используя понятие частичного упорядоченного множества, определим понятие решетки. Решеткой называется упорядоченное множество (М, <), любые два элемента m,-, mj которого имеют наибольшую нижнюю грань, или пересечение тп,- A т;, и наименьшую верхнюю грань, или объединение тп,- U mj. Очевидно,
30
Гл. 1. Основы многосортных множеств
что упорядоченное множество М, двойственное решетке М, является решеткой, в которой пересечение и объединение меняются местами.
Упорядоченное множество, в котором любое подмножество имеет наибольшую нижнюю и наименьшую верхнюю грани, называется полной решеткой. Очевидно, что если все цепи в решетке конечны, то всякое подмножество в решетке имеет наименьшую верхнюю и наибольшую нижнюю грани.
Найдем в качестве упражнения пересечение и объединение некоторых элементов решетки, определенной диаграммой Хассе Н (см. рнс. 1.10,6):
{у} и W = {у>	1 U 0 = 1,
{у} И {а, у} = {у},	{у, х}Л{а}=0,
{у, х} Л {а, х} = {х}, {у} U {а, х) = 1.
Решетку можно определить и как алгебру А = (М, U, А), сигнатура которой обладает следующими свойствами: коммутатив ности
mi U mj = mj U пг,-, пг,- A mj = mj A пг,-;
ассоциативности
(mi U mj) Um/c = mi U (mj U ть),
(mi (~\mj)Qmk — mi A (mj A mk);
поглощения
mi U mi A mj = mi, mi A (mi U mj) = пг,-.
На основе закона поглощения можно доказать свойство идемпотентности (дедекиндовости) этой алгебры:
mi = тп,- U т,- А (пг,- U mj) = пг,- U пг,-, пг,- = mi А (пг,- U mi A mj) = пг,- А пг,-
(этот результат получен Дедекиндом).
В любой алгебре, удовлетворяющей свойствам (1.2)-(1.4), пг,- A mj = mj тогда и только тогда, когда
пг,- U mj = mi U пг,- A mj = пг,-.
При введении отношения упорядоченности <:
пг,- > mj <-> mi A mj = mj, получаем определение решетки, в которой пг,-Amj и пг,-ипгл- являются соответственно наибольшей нижней и наименьшей верхней гранями.
Свойство рефлексивности отношения <:
пг,- < пг,-, вытекает из справедливости закона идемпотентности пг,- А пг,- = пг,-;
(1-2)
(1-3)
(1.4)
§ 1.4. Решетка
31
свойство антисимметричности отношения < вытекает из закона коммутативности:
пг,- < mj & mj < mi <-> пг,- = mj А пг,- = пг,- A mj = mj.
Если пг,- > mj &mj > mk, то согласно (1.3)
пг,- Amk = пг,- A (mj A mk) = (mi Amj) Птк = mjПт/, = тк, откуда пг,- > тк’, в результате доказано свойство транзитивности отношения <.
Наконец, согласно свойствам идемпотентности, коммутативности и ассоциативности операции пересечения получаем
пг,- А (пг,- A mj) = (пг,- А пг,) A mj — mi A mj,
и mi A mj является нижней гранью для пг,-, а согласно (1.2) — и для mj. Более того, пг, Amj есть наибольшая нижняя грань, так как из mi > тк и mj > тк вытекает согласно (1.3)
(пг,- Amj) Птк = П (mj Атк) = mi Птк = пг*,.
Согласно принципу двойственности miUmj является наименьшей верхней гранью для пг,- и mj.
В результате проведенного доказательства получена связь между определениями решетки как частично упорядоченного множества и как алгебры с двумя операциями Айи, где U — операция взятия наименьшей верхней грани элементов (объединения); А — операция взятия наибольшей нижней грани элементов (пересечения).
В качестве упражнения вычислим значение некоторой формулы F, рассматривая решетку как алгебру. Имеем F(a, 6) = (а П (a U Ъ)) Г) ((а U (а П Ъ)) Г) П(аиЬ)) UOUa = аП(аП(аиЬ)) UOUa = (ana)UOUa = aUOUa = aUa = а.
При упрощении F(a, Ъ) были использованы свойства (1.4), (1.2) и идемпотентность.
Здесь и ниже 0 и 1 в решетке будем называть структурными нулем и единицей; при этом
(Vm,)(0 А пг,- = О, О U mi = пг,-, mi А 1 = пг,-, пг,- U 1 = 1).
Определим в решетке свойство дистрибутивности. Подрешеткой А' решетки А называется подмножество решетки А, которое вместе с каждой парой элементов тп,’, mj из А содержит также пг,- U mj и пг,- A mj. Интервалом J, определенным элементами та и тр в решетке А, называется подрешетка А' решетки А с наибольшим элементом тр и наименьшим элементом та:
J = [пга, тр] = {пг,- € А'/ та < mi < тр}.
В решетке А со структурными нулем и единицей два элемента, та и тр, называются дополнительными, если
та А тр = 0, та U тр = 1.
32
Гл.1. Основы многосортных множеств
Элемент, дополнительный к т (пг), называется также дополнением элемента т в решетке А. Два элемента, обладающие общим дополнением в решетке А, называются связанными в А.
Важным классом решеток являются дистрибутивные решетки. Решетка А называется дистрибутивной, если она удовлетворяет следующим тождествам:
(тп,- U mj) Г\тк — т^ А U mj А тк, т.к А (т,- U mj) = тк A m, U тк A mj для всех m,-, mj, тк € М.
Согласно свойству коммутативности пересечения для определения дистрибутивной решетки достаточно выполнения одного из этих тождеств.
Критерий дистрибутивности решетки. Решетка А дистрибутивна тогда и только тогда, когда в каждом интервале J решетки А любые два связанных в J элемента равны.
Этот критерий можно выразить в более удобной для вычислений форме, если найти структуру подрешеток, наличие которых выводит решетку из класса дистрибутивных.
Введем понятие дедекиндовых (модулярных) решеток. Решетка А называется дедекиндовой тогда и только тогда, когда
(Утп,-, mj, т/с 6 A, mj < mk) ((mi U mj) Пт/, = mj Am^U mt).
Критерий дедекиндовости решетки. Решетка А дедекиндова тогда и только тогда, когда она не содержит подрешетки, изоморфной решетке Ат (рис. 1.12, а).
Решетка Ат содержит один элемент нулевой высоты, два элемента единичной высоты и по одному элементу, высота которых 2 и 3.
Используя критерий модулярности решеток, сформулируем критерий дистрибутивности в более удобной для вычислений фор-ме: решетка дистрибутивна J-X	JyL тогда и только тогда, когда
/	/ ।	она не содержит подрешетки,
r-f	А	£")	изоморфной Ат, т. е. является
f	|	у»	дедекиндовой, и не содержит
\ С) xJLz подрешетки, изоморфной nod-у.	yr	(_)	решетке Ад (рис. 1.12,6). Ре-
V/	шетка Ад содержит три цепи
а	6 длины 2, состоящие из одного
элемента нулевой высоты, трех
Рис- 1.12	элементов единичной высоты и
одного элемента высоты 2.
Решетка А, задаваемая диаграммой Хассе Н (см. рис. 1.10, б), является не только дедекиндовой, но и дистрибутивной.
$1.4. Решетка
33
В решетке А со структурными нулем и единицей, в которой каждый элемент т обладает дополнением т, можно считать заданной унарную одноместную операцию fi{m) = т. Решетка А называется решеткой с дополнениями, если она обладает структурным нулем и такой унарной операцией /i(m) = т, что
т = т,	(1.5)
т,- U mj ±=пц(1 т],	(1.6)
тГ\т = 0.	(1.7)
Согласно (1.5) и (1.6) одна из операций U, Л может быть выражена через другую. Следовательно, решетку с дополнениями можно определить как алгебру, сигнатура которой состоит из U, .
Отметим некоторые следствия тождеств (1.5)-(1.7). Имеем О < т для всех т Е М; следовательно, О Л т = 0.
Если положить 1 = 0, а0Лпг = 0и0ит = пг подставить в (1.6), то получим 1Л m = т, lllm = 1. Следовательно, 1 — наибольший элемент решетки, т. е. является структурной единицей.
Согласно тождествам (1.7) и (1.6) mUm = 1.
Дистрибутивная решетка с дополнениями называется булевой алгеброй.
Изоморфизмом г) между алгебрами Ai = {Mi, Si) и А2 = = {М2, S2) называется такое взаимно однозначное соответствие между элементами носителей и сигнатур, что
f,(mei, таз, .... так_к) = так о
О T](fi){r){mai), 7]{таз), ..., тДтПа*.,)) = 7}(так),
Е Mi, 7]{та.) е М2, j = 1, 2, ..., k, fi € Si, 7](fi) € S2.
Алгебры, между которыми существует изоморфизм, называются изоморфными. Все законы алгебры Ai справедливы и в изоморфной ей алгебре А2.
Теорема 1.2 (Стоун). Булева алгебра изоморфна алгебре Кантора.
Для рассматриваемых алгебр имеется следующий изоморфизм: a(Jb Ма иМь, а Л Ь о Ма Л Мь, а о Ма, где в левых частях выражений стоят теоретико-решетчатые, в правых — теоретико-множественные операции. Эти операции имеют одно и то же написание, поэтому, чтобы их различать, аргументы теоретико-решетчатых операций будем обозначать малыми буквами, а аргументы теоретико-множественных операций — большими буквами латинского алфавита.
2 В. А. Горбатов
34
Гл. 1. Основы многосортных множеств
На рис. 1.13 изображена дистрибутивная решетка с дополнениями, в которой результаты действия теоретико-решетчатых операций объединения, пересечения и дополнения определены в табл. 1.2-1.4.
Таблица 1.2
Операция объединения (a U /3)
а	0							
	0	а	ь	с	d	e	к	1
0 а Ъ с d е к 1	0 а Ь с d е к 1	а а d е d е 1 1	ъ d ь к d 1 к 1	с е к с 1 е к 1	d d d 1 d 1 1 1	e e 1 e 1 e 1 1	к 1 к к 1 I к 1	1 1 1 1 1 1 1 1
Операция пересечения (а П /3)
Таблица 1.3
а	0							
	0	а	ь	с	d	е	к	1
0 а Ь с d е & 1	0 0 0 0 0 0 0 0	0 а 0 0 а а 0 а	0 0 ь 0 ь 0 ъ ь	0 0 0 с 0 с с с	0 а Ь 0 d а d d	0 а 0 с а е е е	0 0 ъ с Ь с к к	0 а Ъ с d е к 1
Таблица 1.4 Операция дополиеиия (а)
а	а	Комментарии
0	1	0Ul = l, 0П1 = 0
а	к	a U к = 1, а Г) к = 0
ъ	е	6Ue = l, бЛе = 0
с	d	cUd = l, cnd = 0
е	ъ	eU6 = l, еГ)Ь = 0
к	а	к U а = 1, к Г) а = 0
1	0	1UO = 1, 1П0 = 0
Элементам аиа соответствуют максимально (в смысле длины соединяющей их цепи) удаленные вершины диаграммы Хассе.
Рассмотрим еще один пример решетки, образованной бинарным отношением делимости Rjg в множестве целых чисел {1, 2, 3,4, 5, 6, 10, 12, 15, 20, 30, 60}; (а, Ь} ё Rgg rest (Ъ/а) = 0, где rest (Ъ/а) — остатоп от целочисленного деления Ь на а.
§1.4. Решетка
35
Отношение делимости Яз9 рефлексивно: rest (а/а) = 0; антисимметрично: rest (Ъ/а) = 0 -+ rest (а/Ъ) / 0 (rest (а/Ъ) = а), rest(Ъ/а) = rest (а/Ъ) Н- а = Ъ; транзитивно: rest(b/a) = Ofc rest (c/d) = 0 —>• rest(c/a) = 0. Следовательно,
отношение Ria является отношением частичной упорядоченности. Диаграмма Хассе, определяющая это отношение, представлена на рнс. 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 Операция пересечения (а Л Д)
а												
	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
Гл. 1. Основы многосортных множеств
Операция объединения (a U /3)
Таблица 1.6
а												
	1	2	3	4	5	6	10	12	15	20	30	60
1	1	2	3	4	5	6	10	12	15	20	30	60
2	2	2	6	4	10	6	10	12	30	20	30	60
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
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
15	15	30	15	60	15	30	30	60	15	60	30	60
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 Операция дополнения (а)
а	1	2	3	4	5	6	10	12	15	20	30	60
а	60	нет	20	15	12	нет	нет	5	4	3	нет	1
Рис. 1.15
Если после замены дуг на цепи соответствующей длины диаграмма Хассе Но преобразуется в диаграмму, изоморфную диаграмме Нь, то диаграммы На и Нь называются гомеоморфными.
Теорема 1.3. Диаграмма Хассе Н не определяет решетку, если она содержит поддиаграмму, гомеоморфную Н3 (рис. 1.15).
Доказательство. Очевидно, что эле
менты а и 0 не имеют наибольшей нижней грани, элементы у и 6 — наименьшей верхней грани.
§ 1.5. Модель. Алгебра отношений
Аналогично бинарному отношению определим n-арное отношение.
Декартово произведение п равных между собой множеств М называется n-й степенью Мп множества М. Под п-арным отношением Т в множестве М понимается подмножество Т его п-й степени Т С Мп. Если элементы пг,,, пг,-2, ..., min принадлежат М и (пг,-,, пг,-2, ..., пг,-п) € Т, то говорят, что элементы находятся в отношении Т. Любое n-арное отношение может быть задано в виде списка, элементами которого являются последовательности
§1.5. Модель. Алгебра отношений
37
(кортежи), определяемые этим отношением. Рассмотрим свойство симметричности n-арных отношений, позволяющее эффективно использовать n-арные отношения при формализации многих практических задач. Симметричным называется n-арное отношение Т в множестве М такое, что если (тп,,, тп,-2, ..., m,n) € У, то и любая последовательность (тп;,, тп;3, тп;п), полученная из (тп,,, тп,-2, ..., тп,п) перестановкой элементов, также находится в отношении Т: (тп;,, тп;2, ..., тп;п) € Т.
По существу n-арное отношение, обладающее свойством симметричности, задает подмножества, которые состоят из п элементов, — подмножества мощности п. В дальнейшем n-арное отношение, обладающее свойством симметричности, будем называть S-ричным отношением (S-отношением или словесным отношением). Элементы множества М, в котором определено 5-отношение, будем называть буквами, а подмножества, определяемые 5-отношением, будем называть словами и обозначать д,-.
Задавать 5-отношение можно более удобными способами: матрицей инцидентности и модельным графом (мографом).
Матрицей инцидентности Q = [д,;] называется двумерная матрица, каждому столбцу которой взаимно однозначно соответствует буква, строке — слово, определяемое 5-отношением, и
_ /1, тз $
У'1	(0, mj $ щ.
Например, 3-отношение в множестве М = {а, и, о, р, с, ы}, определяющее слова pi = {с, о, р}, рз = {р, и, с], рз = {с, ы, р),	= {о, с, а}, с помощью
Матрицы инцидентности Q можно аадать следующим образом:
а и
11° °
Q = 0 1
О О
111 о
о р е ы 1110 0 110 0 111 10 10
Если отношение 5 определяет подмножество М', М' С М*, то число s будем называть степенью отношения S.
Задать 5-отношение произвольной степени с помощью графа, носитель которого совпадает с множеством букв, нельзя (см. теорему 1.4).
Граф называется полным, если все его вершины попарно смежны.
Теорема 1.4. Если хотя бы три различных слова, определяемые отношением S, соответствуют полному подграфу графа G, то граф G не задает отношение S.
Доказательство. При задании словесного отношения графом будем ассоциировать определяемое слово с полным подграфом графа G. Тогда теорема очевидна. Действительно, достаточно
38
Гл.1. Основы многосортных множеств
рассмотреть следующий пример. Пусть 3-отношение в множестве М = {в, т, о, р} определяет слова pi = {т, о, р}, рг = {?, °> в}, р3 = {в, т, о}, которым соответствует граф G, изображенный на рис. 1.16, а. Это полный граф на четырех вершинах. Он может за-
Рис. 1.16
давать слово {в, т, о, р} или слова {т, о, р}> {р, о, в}, {в, о, т}, или слова {т, о}, {р, о}, {т, р), {в, р}, {т, в}, {в, о}, т. е. имеет место неоднозначность.
Для однозначного задания словесных отношений необходимо каждой букве (вершине) сопоставить множество идентификаторов слов, в которые эта буква входит. Тогда всякому слову взаимно однозначно соответствует полный подграф, каждой вершине которого соответствует идентификатор этого слова. Такой полный подграф, соответствующий слову, в дальнейшем будем называть элементным. Процесс сопоставления каждой букве множества идентификаторов слов, в которые эта буква входит, будем называть моделизацией графа G. В результате моделизации графа G каждой вершине взаимно однозначно соответствует буква, взвешенная множеством идентификаторов слов, в которые она входит; при этом две вершины смежны (соединены линией без ориентации — ребром}, если им соответствует хотя бы один общий идентификатор. Полученную таким образом на графе функцию, областью определения которой являются вершины графа, а областью значений — множества идентификаторов слов, будем называть модельным графом (мографом) и обозначать GM = ((V, W), U). Здесь W — множество идентификаторов слов.
Мографы Gf1 и , задающие соответственно отношения Si = {{m, о, р}, {р, о, в}, {в, о, т}} в множестве Mi = {в, т, о, р} и S2 = {{с, о, р],
1
{р, и, с}, {с, ы, р}, {о, с, а}} в множестве М2 = {а, и, о, р, с, ы}, изображены з	з ' 4
на рис. 1.16, б, 1.17,а.
Для задания S-отношений используют также термин гиперграф. При геометрической интерпретации гиперграфа его буквы взаимно однозначно сопоставляются вершинам, слова — кругам
§ 1.5. Модель. Алгебра отношений 39
Эйлера, которые охватывают буквы, входящие в соответствующее слово.
Геометрическая интерпретация гиперграфа, определяющая совокупность {М, S3}, где
М = {а, и, о, р, с, ы}, S3 = {{с, о, р}, {р, и, с}, {с, ы, р}, {о, с, а}},
изображена иа рис. 1.17, б.
Однозначно задать S-отношение с помощью графа можно, если в качестве носителя графа взять не только множество букв, но
р(1,2, 3)о(1, 4)
Рис. 1.17
и множество идентификаторов слов. Такое задание S-отношения осуществляется двудольным графом.
Граф G = (V, U) называется двудольным {простым или грифом Кёнига), если его носитель разбит на два подмножества, V+ и V~, не имеющих общих вершин, и начало каждой дуги и € U принадлежит подмножеству V+, и только ему, а конец — подмножеству V", и только ему. При задании S-отношений элементам подмножества V+ в двудольном графе G = (У, U) взаимно однозначно сопоставляют буквы, элементам подмножества V~ — идентификаторы слов и (ра, up) € U, если и только если вершина иа соответствует букве, входящей в слово vp. Двудольный граф, задающий 3-отношение S3 = {{с, о, р}, {р, и, с), {с, ы, р}, {о, с, а}} в
12	3	4
множестве {а, и, о, р, с,}, изображен на рис. 1.17, в.
Одним из основных в дискретной математике является понятие модели. Моделью Ф называется совокупность множества М с заданными в нем отношениями
S = {Rn, Л12, ..., Rini, R21, R22, • • • > R2n3, • • •
. . ., Ят1> Rm2> • • •, Rmnm}, где множество М — носитель модели, а заданные отношения Я1а, Ria С М' образуют сигнатуру модели Ф = {М, S).
40
Гл. 1. Основы многосортных множеств
Степень носителя определяет арность отношения. Два отношения Ra и Rp, имеющие одну и ту же степень, называются совместимыми по объединению или просто совместимыми.
Очевидно, что n-местную операцию тпг, ..., пгп) = = тПп+1 можно рассматривать как (п-f- 1)-арное отношение Дп+1.
Совокупность множества М с заданными в нем операциями и отношениями, следуя А.И. Мальцеву, будем называть алгебраической системой.
Частным случаем алгебраической системы является алгебра отношений и ее расширение — реляционная алгебра.
Рассмотрим алгебру отношений, носитель которой — множество отношений, а сигнатура — операции объединения, пересечения, разности и расширенного декартова произведения отношений.
Объединением Ra (J Rp двух совместимых отношений Ra и Rp является множество всех кортежей, каждый из которых принадлежит хотя бы одному из этих отношений. Объединение отношений
Ra = {(а, Ь, с), (а, b, d), (6, с, е)}
R/з = {(а, Ъ, d), (6, d, е), (с, d, е)} есть
RaURp = {(а, Ь, с), (а, b, d), (6, с, е), (6, d, е), (с, d, е)}.
Рассмотренные отношения Ra и Rp являются совместимыми, так как их степени равны: s(Ra) = s(Rb) = 3, Ra, Rb С M3, М = = {о, Ь, с, d, е}.
Пересечением Ra П Rp двух совместимых отношений Ra и Rp является множество всех кортежей, принадлежащих как отношению Ra, так и отношению Rp. Пересечение отношений Ra и Rp для рассматриваемого примера есть
Ra П Rp = {(а, Ь, с), (а, b, d), (6, с, е)} П
П {(а, b, d), (6, d, е), (с, d, е)} = {(а, b, d)}.
Разностью Ra \ Rp двух совместных отношений Ra и Rp является множество всех кортежей, принадлежащих отношению Ra и не принадлежащих отношению Rp] для данного примера
Ra \ R/3 =
= {(а, Ь, с), (а, b, d), (Ь, с, е)} \ {(а, b, d), (6, d, е), (с, d, е)} =
= {(а, Ь, с), (6, с, е)}.
Расширенным декартовым произведением Ra х Rp двух отношений Ra и Rp является множество всех кортежей к таких, что
 § 1,5. Модель. Алгебра отношений 41
it — конкатенация кортежа a G Ra и кортежа b G Rp (конкатенация кортежей («ц, аг, ..., ап) и (61, 62, • • •, bm) — кортеж (ах, аг, ..., ап, bi, Ь2, ..., Ьт)). Например, для рассматривавшихся отношений Ra и Rp расширенное декартово произведение есть Ra X Rp = {(а, 6), (с, d), (а, е)} X {(a, b, с), (b, d, е)} =
= {(о, Ь, а, Ь, с), (а, b, b, d, е), (с, d, а, Ь, с), (с, d, b, d, е), (а, е, а, Ь, с), (а, е, b, d, е)}.
Понятия модели и алгебры отношений находят широкое применение при формализации реальных объектов. Рассмотрим, как используется алгебра отношений при создании информационного обеспечения, т. е. при разработке реляционной базы данных.
Основой построения реляционной базы данных является двумерная таблица, каждый столбец которой соответствует домеиу (или атрибуту, соответствующему части домена), а каждая строка — кортежу значений атрибутов, находящихся в отношении R. Рассмотрим 5-ариое отношение Rs (экзамены) (табл. 1.8).
Таблица 1.8
Rs	Pi	D?	Рз	D4	Ds
1	К 5-01	ТЕОРИЯ АВТОМАТОВ	ПРОФ. ИВАНОВ	03 ЯНВ.	АУД.210
2	К 5-02	МАТЕМАТИЧЕСКАЯ ЛИНГВИСТИКА	ПРОФ. ПЕТРОВ	03 ЯНВ.	АУД. 211
3	К 5-03	ФИЗИКА	ПРОФ. СИДОРОВ	03 ЯНВ.	АУД.211
4	К 5-04	АЛГОРИТМИЧЕСКИЕ ЯЗЫКИ	ПРОФ. ПЕТРОВ	05 ЯНВ.	АУД. 210
5	К 5-01	ФИЗИКА	ПРОФ. СИДОРОВ	09 ЯНВ.	АУД.210
6	К 5-02	ТЕОРИЯ АВТОМАТОВ	ПРОФ. ИВАНОВ	09 ЯНВ.	АУД. 211
7	К 5-03	АЛГОРИТМИЧЕСКИЕ ЯЗЫКИ	ПРОФ. ПЕТРОВ	10 ЯНВ.	АУД.211
8	К 5-04	МАТЕМАТИЧЕСКАЯ ЛИНГВИСТИКА	ПРОФ. ИВАНОВ	10 ЯНВ.	АУД.210
Табл. 1.8 определяет отношение реляционной модели данных. Отношение Rs является подмножеством декартова произведения D, х Dj х D3 х В, х Bs, в котором сомножители являются доменами. Элементами домена Di служат значения атрибутов. Домен Di (группа) содержит значения К 5-01, К 5-02, К 5-03, К 5-04:
Di = {К5 - 01, К, 5 - 02, К5 - 03, К5 - 04};
аналогично получаем домены Рз (дисциплина), D3 (экзаменатор), Ds (дата), Ds (аудитория):
D, = {ТЕОРИЯ АВТОМАТОВ, МАТЕМАТИЧЕСКАЯ ЛИНГВИСТИКА, ФИЗИКА, АЛГОРИТМИЧЕСКИЕ ЯЗЫКИ},
42
Гл. 1. Основы многосортных множеств
D3 = (ПРОФ. ИВАНОВ, ПРОФ. ПЕТРОВ, ПРОФ. СИДОРОВ},
D< ={03 ЯНВ., 05 ЯНВ., 09 ЯНВ., 10 ЯНВ.},
Ds = (АУД. 210, АУД. 211).
Порядок столбцов в таблице фиксирован, строки в общем случае могут располагаться произвольно. Цифры первого столбца 1, 2, ..., 8 идентифицируют элементы отношения R3.
Для преобразования отношений определим реляционную алгебру. Носитель реляционной алгебры представляет собой множество отношений, сигнатура, кроме введенных операций (объединение, пересечение, разность и расширенное декартово произведение отношений), включает специальные операции над отношениями: выбор, проекцию и соединение..
Операция выбора представляет собой процедуру построения “горизонтального” подмножества отношения, т. е. подмножества кортежей, обладающих заданным свойством.
Пример 1.3. С помощью операции выбора построить отношение Rs (расписание экзаменов проф. Иванова). Результатом операции выбора являются строки, в которых домен D3 представлен значением ПРОФ. ИВАНОВ; это строки 1, 6, 8 табл. 1.9).
Таблица 1.9
Rs	Di	d2	D3	D<	Ds
1	К 5-01	ТЕОРИЯ АВТОМАТОВ	ПРОФ. ИВАНОВ	03 ЯНВ.	АУД. 210
6	К 5-02	ТЕОРИЯ АВТОМАТОВ	ПРОФ. ИВАНОВ	09 ЯНВ.	АУД. 211
8	К 5-04	МАТЕМАТИЧЕСКАЯ ЛИНГВИСТИКА	ПРОФ. ИВАНОВ	10 ЯНВ.	АУД.210
Для определения проекций отношений множество в реляционной алгебре разбивается на два подмножества в случае бинарного отношения и на п подмножеств в случае n-арного отношения:
R2 С М2, М = АиВ, АГ\В = 0, RjCAxB;
Rn СМП, М= U А„ Aia П Aib = 0, t=l
^*2j • • • j	Rn C Ai X A2 X ... X An.
Проекцией Пр(ЯгМ) бинарного отношения R2l R2 С Ах В, на А называется множество элементов {а,/ (а,, Ь,) 6 R2}.
Проекцией Пр (Rn/ Atl, А1з, ..., А,т) n-арного отношения Rn С Ai X А2 х ... X Ап, п > т, на А31, А,3, ..., А,т называется множество кортежей (а,-,, а,-2, ..., а,т), где а^ Е А;х, а,2 Е Ai3, ... ..., а,т G А,т, каждый из которых является частью элемента n-арного отношения Rn.
Операция проекции определяет построение “вертикального” под
§ 1.5. Модель. Алгебра отношений
43
множества отношения, т. е. множества подмножеств кортежей, получаемого выбором одних и исключением других доменов.
Пример 1.4. Проекция Пр(Нз/ D2, D3) порождает множество пар, каждая из которых определяет дисциплину и экзаменатора (табл. 1.10).
Таблица 1.10
Й5	d2	Л3
	ТЕОРИЯ АВТОМАТОВ	ПРОФ. ИВАНОВ
	МАТЕМАТИЧЕСКАЯ ЛИНГВИСТИКА	ПРОФ. ПЕТРОВ
	ФИЗИКА	ПРОФ. СИДОРОВ
	АЛГОРИТМИЧЕСКИЕ ЯЗЫКИ	ПРОФ. ПЕТРОВ
	МАТЕМАТИЧЕСКАЯ ЛИНГВИСТИКА	ПРОФ. ИВАНОВ
Одинаковые строки в табл. 1.10 объединены в одну.
Операция соединения по двум таблицам, имеющим общий домен, позволяет построить одну таблицу, каждая строка которой образуется соединением двух строк исходных таблиц. Из заданных таблиц берут строки, содержащие одно и то же значение из общего домена; общему домену сопоставляется один столбец.
Пример 1.5. Найдем по двум заданным таблицам (табл. 1.11, 1.12) результат операции соединения по домену D\ (табл. 1.13).
Таблица 1.11
Яз	Pi	Л2	Лз	л<	л5
	К 5-01	ТЕОРИЯ АВТОМАТОВ	ПРОФ. ИВАНОВ	03 ЯНВ.	АУД. 210
	К 5-02	МАТЕМАТИЧЕСКАЯ ЛИНГВИСТИКА	ПРОФ. ПЕТРОВ	03 ЯНВ.	АУД.211
	К 5-03	ФИЗИКА	ПРОФ. СИДОРОВ	05 ЯНВ.	АУД.211
	К 5-04	АЛГОРИТМИЧЕСКИЕ ЯЗЫКИ	ПРОФ. ПЕТРОВ	05 ЯНВ.	АУД. 210
Таблица 1.12
Нз	Л1	Ла	Лз	л4	л5
	К 5-01	ФИЗИКА	ПРОФ. СИДОРОВ	09 ЯНВ.	АУД. 210
	К 5-04	МАТЕМАТИЧЕСКАЯ ЛИНГВИСТИКА	ПРОФ. ИВАНОВ	10 ЯНВ.	АУД. 210
	К 5-02	ТЕОРИЯ АВТОМАТОВ	ПРОФ. ИВАНОВ	09 ЯНВ.	АУД. 211
	К 5-03	АЛГОРИТМИЧЕСКИЕ ЯЗЫКИ	ПРОФ. ПЕТРОВ	10 ЯНВ.	АУД.211
44
Гл. 1. Основы многосортных множеств
Й5		D3	Di		Di
	К 5-01	ТЕОРИЯ АВТОМАТОВ	ПРОФ. ИВАНОВ	03 ЯНВ.	АУД. 210
	К 5-02	МАТЕМАТИЧЕСКАЯ ЛИНГВИСТИКА	ПРОФ. ПЕТРОВ	03 ЯНВ.	АУД. 211
	К 5-03	ФИЗИКА	ПРОФ. СИДОРОВ	05 ЯНВ.	АУД. 211
	К 5-04	АЛГОРИТМИЧЕСКИЕ ЯЗЫКИ	ПРОФ. ПЕТРОВ	05 ЯНВ.	АУД. 210
Аналогично можно определить операцию соединения не только по условию “равенства”, но и по другим условиям сравнения: >, >, А <> Определим, например, операцию соединения по условию “больше, чем” (>).
Соединением по условию “больше, чем” отношения Ra по атрибуту X и отношения Rb по атрибуту Y (атрибуты X и Y являются атрибутами одного и того же домена, общего для отношений Ra и Кь) X > Y называется множество всех кортежей тг, таких, что 1Г{ — конкатенация кортежа а,-, принадлежащего Ra, и кортежа bi, принадлежащего Rb, где X — часть a,-, Y — часть bi и X > Y.
Запрос в реляционной базе данных будет выполнен тем быстрее, чем меньше операций над отношениями он содержит. Таким образом, представляет практический интерес рассматриваемая ниже задача упрощения представления множества через введенные операции (§ 1.6).
§ 1.6. Аксиоматика теории множеств, минимизация представления множеств
Используя аксиоматический подход, формально построим теорию множеств на основании следующих аксиом.
Аксиома существования. Существует по крайней мере одно множество.
Аксиома объемности (зкстенциональности).Если множества Ма и Мь составлены из одних и тех же элементов, то они совпадают (равны): Ма = Мь.
Аксиома объединения. Для произвольных множеств Ма и Мь существует множество, элементами которого являются все элементы множества Ма и все элементы множества Мь и которое никаких других элементов не содержит.
Из аксиом объемности и объединения следует, что для произвольных множеств Ма и Мь множество, удовлетворяющее условиям аксиомы объединения, единственно. Действительно, если бы имелись два таких множества, МС1 и МС2, то они содержали бы
§ 1.6. Аксиоматика теории множеств
45
Таблица 1.13
я;	D'3		D's '
ФИЗИКА	ПРОФ. СИДОРОВ	09 ЯНВ.	АУД. 210
ТЕОРИЯ АВТОМАТОВ	ПРОФ. ИВАНОВ	09 ЯНВ.	АУД. 211
АЛГОРИТМИЧЕСКИЕ ЯЗЫКИ	ПРОФ. ПЕТРОВ	10 ЯНВ.	АУД. 211
МАТЕМАТИЧЕСКАЯ ЛИНГВИСТИКА	ПРОФ. ИВАНОВ	10 ЯНВ.	АУД. 210
одни и те же элементы (все элементы, принадлежащие множеству Ма, и все элементы множества Мь), и поэтому согласно аксиоме объемности МС1 = МСз = Мс. Назовем это единственное множество Мс объединением множеств Ма и Мь и будем писать Мс = = MaUMb.
Аксиома разности. Для произвольных множеств Ма и Мь существует множество, элементами которого являются те и только те элементы множества Ма, которые не являются элементами множества Мь.
Аналогично, из аксиом объемности и разности заключаем, что для произвольных множеств Ма и Мь существует в точности одно множество, содержащее элементы множества Ма, не принадлежащие множеству Мь- Назовем это множество Мс разностью множеств Ма и Мь'. Мс = Ма \ Мь.
Аксиома степени. Для каждого множества М существует семейство множеств В(М) (булеан), элементами которого являются все подмножества Mi, Mi С М, и только они.
Аксиома существования пустого множества. Существует такое множество 0, что ни один элемент ему не принадлежит.
Если операции и понятия теории множеств были введены интуитивно, то аксиоматический подход позволяет формально на основании введенных шести аксиом определить эти операции и понятия теории множеств.
С помощью операций объединения и разности, используя введенные аксиомы, определим еще три операции на множествах.
Пересечение множеств Ма и Мь определяется формулой
Ма П Мь — Ма \ (Ма \ Мь).
Можно показать, что элементами пересечения Ма П Мь являются те и только те элементы, которые принадлежат как множеству Ма, так и множеству Мь.
Дополнение М множества М определяется формулой
М = 1 \ М.
46
Гл. 1. Основы многосортных множеств
Симметрическая разность множеств Ма и Мь определяется формулой
Ма\9Мь = (м> \ Мь) и (М \ Ма).
На основании введенной аксиоматики можно доказать справедливость как приведенных выше законов, определяющих свойства сигнатуры алгебры множеств (законы идемпотентности, коммутативности, ассоциативности, дистрибутивности, действия с константами, двойного дополнения, законы де Моргана), так и следующих законов:
закон дистрибутивности пересечения относительно разности
Ма n (Мь \ Мс) = Ма П Mb \ Ма Г) мс-,
закон коммутативности симметрической разности
Ма \ *МЬ = МЬ\ *Ма]
закон ассоциативности симметрической разности
Ма \*(МЬ\ *МС) = (Ма \ ’М) \ *МС;
закон дистрибутивности пересечения относительно симметрической разности
Ма П (Мь \ *МС) = Ма П Мь \ *Ма П Мс;
законы склеивания
М0 П Мь U Ма П	= Ма, (M,UMb)n (МоиМ) = Мо;
законы поглощения
Ма U Ма П Мь = Ма, Ма Г) (Ма (J Мь) = Ма;
законы Порецкого
МаиМ~аГ\Мь = МаиМь-, МаП(Жи Мь) = мапмь.
Используя эти законы, рассмотрим задачу минимизации представления множества М с помощью операций U, Г),
Под сложностью представления множества М будем понимать число символов Mi, М, в задающем его выражении.
Пусть в пространстве 1 = {Mt, М2, Мз} задано множество вида
М(М1, М2, Мз) = МГпЛ^’пЛ^‘иМГпЛ^’пМ3иМГпМ2пЖи
и Ml П Л^П л^и Ml П М2 П Л^и Ml П М2 П Мз.
На основании законов идемпотентности, коммутативности и ассоциативности объединения получаем
M(Mi, М2, Мз) = (Mi П М2 П Мз U Mi П М2 П Мз) U (Mi П М2 О Мз и
U М? П М2 П Мз) U (М? nlWjnA^’uMinA^’n Мз) U (Mi П Мг П Мз U
U Mi П М2 П Мз) U (Mi И М2 П Мз U Mi П М2 П Л?з).
§ 1.6. Аксиоматика теории множеств 47
Согласно законам коммутативности объединения и пересечения и закону склеивания получаем
M(Mi, Мз, Мз) ~ Mt Л М2 U Мз U Мз Л М3 U Mt Л Мз.
Согласно законам коммутативности пересечения и поглощения имеем
М{М\, Мз, Мз) — Mt л Мз U Мз U Mt Л М3.
Сложность представления заданного множества уменьшилась с 18 до 5.
Последовательность применения законов будем называть стратегией преобразования. Сложность представления множества, получаемого в результате применения этих законов (каждый из которых определяет эквивалентное преобразование), зависит от используемой стратегии. Найдем стратегию, всегда порождающую минимальное выражение заданного множества.
Рассмотрим алгебру А = U, Г),	) и определим множе-
ства, которые могут быть порождены (образованы) из произвольных подмножеств Mi, М2, . ., Мп, называемых порождающими или образующими пространство 1 с помощью операций (J, Г),
Множество
в дальнейшем будем называть первичным термом. Множество вида
Пм°' = мрПМр П...ПМ5", а, = 0, 1, 1	А	А	••	'	•	'
Назовем конституентой.
Общее число различных конституент не превышает 2П. Каждой конституенте можно сопоставить двоичный набор длины п; число этих наборов равно 2П. Если некоторые конституенты равны 0, то общее количество конституент меньше 2П, при этом среди подмножеств найдутся хотя бы два таких, которые можно выразить одно через другое, т. е. зависимые. Например, если п = 2 и М2 = Mi, то существуют только две отличные от 0 конституенты:
0 = М{)ПМ? = М11ПМ21,
Ci = М° Г) MJ, С2 = М/ Г) М°.
Лемма 1.1. Пересечение двух различных конституент пусто. п	п ,
Действительно, если конституенты Са = Г) М/’ и Cj = Г) М^' |=1 *	i=i ’
различны, то Ok Ф по крайней мере для одного к, к < п. Но тогда М£* Г) М£* = 0 и, следовательно, Са П Сь = 0.
48 Гл. 1. Основы многосортных множеств
Лемма 1.2. Объединение всех конституент равно 1.
п
Представим 1 в виде 1 = Г) (Mf U Mj), и, раскрыв скобки, в i=i
правой части равенства получим объединение всех конституент.
Лемма 1.3. Множество Mi равно объединению конституент, каждая из которых содержит Ml.
Согласно лемме 1.2 1 = Ci U С2 U ... U Ci = U С;, где С,-, 1=1
i = 1, 2, ..., 2П, — конституенты. Определим пересечение левой и правой частей этого выражения с Mi. Имеем
Mi = (Mi n Cl) U (Mi П C2) и ... U (Mi П Cj) и...
Если Cj содержит в качестве аргумента пересечения М°, то Mi Г) Cj = 0. Если же Cj содержит Ml, то Cj C\Mi = Cj. Следовательно, Mi — объединение тех конституент, которые содержат Ml в качестве сомножителя; число этих конституент равно 2П-1.
Теорема 1.5. Каждое непустое множество, образованное из множеств М\, М2,  • •, Мп с помощью операций (J, П, , является объединением некоторого числа конституент.
Согласно лемме 1.3 теорема справедлива для множеств Mi, М2, ..., Мп. Следовательно, достаточно показать, что если произвольные множества Ма и Мь представимы в виде объединения некоторого числа конституент, то и множества Ма (J Мь, Ма Г) Мь и М, если они не пустые, также можно представить в виде объединения конституент.
Пусть множества Ма и Мь представимы в виде объединения конституент Ма = Са1 UCOJ (J.. .UCejI и Мь = Сь1 иСь, U.. .иСь,. Тогда множество Ма U Мь, очевидно, можно представить в виде объединения конституент.
По закону дистрибутивности Ма П Мь = (Cai Г) Cfc,) U ... ... U (Се,, Г1 Сьь); при этом если Саа = Сьр, то согласно лемме 1.1 СЯа П Cbfl = 0, в противном случае СЯа = Сь^. Следовательно, пересечение МаГ\Мь либо пусто, либо представимо в виде объединения конституент. Докажем, что множество М также представимо в виде объединения конституент, если М = Ci (J С2 U ... U Ck-
Согласно закону де Моргана
М = Cl U С2 U... U Cfc = С[с\С^С\...Г\Ск =
Mf“nMp2n...nAC" n Mf21 n n... n M?n n...
... n n м2’и n ... n M’*" = (M°" (J м™ и... и л^)п n(Mf21 им2’22и...им?)п...п(мргим^и...иЮ?).
§ 1.6. Аксиоматика теории множеств	49
Раскрывая скобки и используя соотношения Ма Г) Ма = 0, Ма U Ма = 1, а также добавляя в те пересечения, в которых отсутствует нижний индекс /?, сомножитель MpkjMp, получаем, что множество М также представимо в виде объединения конституент.
Теорема 1.6. Из п множеств в алгебре А = (-8(1), (J, Г), ) можно образовать не более чем 2* 2 множеств.
Каждое множество М согласно теореме 1.5 является объединением конституент, число которых не превышает 2П; следовательно, число различных объединений не превышает 22". При этом если множества Mi, М2,..., Мп независимые, т. е. все конституенты отличны от пустого множества, то число различных конституент равно 2П, и число множеств, образованных из этих конституент в виде их объединения, равно 22 (с учетом пустого множества).
Введение понятия конституенты позволяет задавать множество М при фиксированных независимых подмножествах Mi, М2, ... ..., Мп универсального множества 1 в виде объединения конституент:
м = ипм7’. j 1=1
Каждое фиксированное множество М,- С 1 разбивает пространство на две части: на собственно Mi и на М;. При независимых множествах М,- G {Mi/ i = 1, ..., п) пространство разбивается на 2 х 2 X ... X 2 = 2П областей. Каждая область является пере-
праэ
сечением п множеств М,- или М;, i = 1, ..., п. Сопоставим этой области двоичный вектор (ai, 02, ..., <7П), в котором а,- = 1, если в пересечение С = ПМ?‘ входит М,, и = О, если входит М,-, а t
также десятичный эквивалент
п
d(C) = ^ai.2’-1.
i=l
Любое множество М в пространстве 1 можно задать в виде объединения этих областей. Сопоставим множеству М двоичный вектор длины 2П, в котором i-му разряду соответствует область с десятичным эквивалентом, равным i. Вектор, определяющий множество, представим в виде десятичного эквивалента:
2n—1
d(M)= £с,-2\ с,-= 0,1.
i=0
Следовательно, множество М в пространстве может быть задано в виде соответствующего десятичного эквивалента.
50
Гл. 1. Основы многосортных множеств
Рассмотрим, например, в трехмерном пространстве 1 = {Mi, М2, М3} множество M(Mi, М3, М3) с десятичным эквивалентом d(M) = 217. Имеем
217 = 1 • 27 4-1 • 26 4- 0 • 2s 4-1 • 24 4- 1 • 23 4- 0 • 22 4- 0 • 21 4-1 • 2°.
Множеству М соответствует двоичный вектор
(1, 1, 0, 1, 1, 0, 0, 1),
определяющий включение областей в множество М (рис. 1.18, а).
Кроме диаграммы Эйлера, пространство может быть задано в виде гиперкуба или n-мерного куба (п — размерность пространства, равная числу фиксированных множеств).
Гиперкубом (п-мерным кубом) называется граф Н, каждая вершина которого взаимно однозначно соответствует области пространства, и две вершины соединены ребром, если они соответ-
Рис. 1.18
ствуют соседним областям (имеющим общую границу). Сопоставленные этим областям двоичные векторы отличаются в одном и
только одном разряде.
Гиперкуб для рассматриваемого примера изображен на рис. 1.18, б (вер-
шины, соответствующие коиституентам множества М, заштрихованы).
Часто множество М задают в виде двоичной таблицы, каждой строке которой взаимно однозначно соответствует консти-туеита. Множество строк таблицы линейно упорядочено по возрастанию десятичного эквивалента соответствующего двоичного набора. Столбцам соответствуют множества, образующие пространство, последний столбец сопоставляется множеству М и единица указывает иа вхождение конституенты в множество М. В данном случае имеем табл. 1.14.
Таблица 1.14
d(c)	Mi	м3	Мз	м
0	0	0	0	1
1	0	0	1	0
2	0	1	0	0
3	0	1	1	1
4	1	0	0	1
5	1	0	1	0
6	1	1	0	1
7	1	1	1	1
§1.6. Аксиоматика теории множеств 51
Аналитически множество М задается в виде
М = Afi П М2 О Мз U Mi О Мз Г) Мз U
и Ml n Mi П Mi и Ml n Mi П ~Мз и Ml n Mi П М3 или в виде мографа
GM = (V, S3), V = {Mi, Mi/i = 1,2,3}, S3 GV3,
S3 = {{Afi, Mi, Л/з}, {Mi, Mi, Мз},,
1	2
{Mi, Mj, Mi}, {Mi, М2, Mi}, {Mi, Mi, M3}}
3	4	5
(рис. 1.18, в).
В рассматриваемой алгебре А =	(J, Г),	) операции яв-
ляются зависимыми. Действительно, согласно закону де Моргана любое множество из 22 множеств может быть построено и с помощью алгебры А = (-8(1), (J, ). Равносильными в смысле порождения любого множества из 22^ множеств являются алгебры А = = (B(l), U, ), А = (В(1), Г), ), которые могут быть заменены соответственно алгебрами А = (B(l), (J, \, 1), А = (В(1), П, \, 1) согласно формуле М = 1 \ М, где универсум 1 рассматривается как нульместная операция.
Алгебра (B(l), U, \, 1) в силу равенств
ма и мь = Ма \ *МЬ \ *{Ма П Мь), Ма\Мь = Ма\*(МаПМь)
может быть заменена алгеброй вида (В(1), Г), \*, 1).
Рассмотрим задачу минимизации представления множеств в алгебре Кантора. Пересечение попарно различных множеств П М°‘
называется элементарным. Выражение, задающее множество М в виде объединения различных элементарных пересечений, называется нормальной формой Кантора (НФК) множества М. Объединение конституент множества М называется совершенной НФК множества М.
Минимальной НФК множества М называется НФК этого множества, имеющая минимальную сложность.
Рассмотрим метод Квайна, который будем использовать для получения минимальной НФК множества М. Этот метод заключается в последовательном выполнении таких этапов.
1. Выделение максимальных интервалов. Интервалом множества М называется множество конституент множества М, образующих гиперкуб (некоторой размерности).
Очевидно, что мощность интервала равна степени 2 (т. е. 2°, 21 и т. д.).
52
Гл. 1. Основы многосортных множеств
Запишем, например, множество интервалов для рассмотренного выше примера:
{ООО, 100, 110, 011, 111, -00, 1-0, 11-, -11).
Здесь и далее — означает, что множество, соответствующее этому разряду, в пересечении отсутствует, т. е. по этому множеству после объединения соответствующих конституент произошло склеивание. Например, интервал -00, соответствующий множеству конституент 000 и 100, получается в результате преобразова-ния Л^ПЛ^ПЛ^иМгП^ПМз = М2ПМ3.
Интервал 1а называется максимальным интервалом /макс множества М, если не найдется другого интервала этого множества, содержащего интервал /а, Ia 1р.
В данном случае имеется четыре максимальных интервала: -00, 1-0, 11-, -11; каждый из них образует гиперкуб размерности 1 (ребро).
Пересечение ГНИ?*, соответствующее максимальному интервалу множества М, называется простой импликантой этого множества. Объединение простых импликант множества М называется сокращенной НФК множества М.
Количество первичных термов, образующих простую импли-канту, называется рангом простой импликанты, а элементарное пересечение — рангом соответствующего интервала.
При выделении максимальных интервалов множество интервалов, имеющих один и тот же ранг, разбивают на пояса, причем |-й пояс содержит интервалы, которым соответствуют наборы с г единицами в каждом. Тогда выделение максимальных интервалов сводится к сравнению элементов только с о-седних поясов, номера которых отлича-1И построенные интервалы не являются мак
симальными, то процесс сравнения продолжают. Результаты сравнения для рассматриваемого случая приведены на рис. 1.19. Сокращенная НФК множества M(Mi, М2, М3) имеет вид
М(Mi, М2, М3) = М2 Г1 М3 (J М\ Г) М3 U Mi П М2 U М2 П М3.
Построением сокращенной НФК множества М заканчивается первый этап метода Квайна.
Тупиковой НФК множества М называется такая НФК этого множества, которая при вычеркивании хотя бы одного первичного терма не определяет М.
Минимальной НФК множества М называется НФК этого множества, содержащая минимальное количество первичных термов.
Рис. 1.19 ются на единицу.
§ 1,6. Аксиоматика теории множеств 53
Лемма 1.4. Минимальная НФК множества М является тупиковой.
Сложность минимальной НФК множества М нельзя уменьшить вычеркиванием первичного терма. Следовательно, эта форма является тупиковой.
Лемма 1.5. Тупиковая НФК множества М состоит из простых импликант этого множества.
Если хотя бы одно пересечение соответствует интервалу множества М, не являющемуся максимальным, то это пересечение можно заменить простой импликантой вычеркиванием соответствующих первичных термов, не выходя из класса эквивалентных НФК (задающих одно и то же множество) множества М, что противоречит определению тупиковой НФК.
Теорема 1.7. Тупиковые НФК множества М, в том числе и минимальная НФК, содержатся в сокращенной НФК этого множества.
Тупиковая НФК множества М, в том числе и минимальная НФК, состоит согласно лемме 1.5 из простых импликант. Сокращенная НФК множества М включает все простые импликанты. Следовательно, тупиковая (минимальная) НФК множества М содержится в сокращенной НФК этого множества.
Согласно теореме 1.7 построение тупиковой НФК множества М сводится к покрытию двумерной таблицы.
Покрытием столбцов строками в двумерной таблице называется такое множество строк, при котором для каждого столбца найдется хотя бы одна строка из этого множества, на пересечении с которой этот столбец имеет единицу, причем при вычеркивании хотя бы одного элемента из этого множества строк указанное свойство не выполняется.
2. Построение и покрытие таблицы Квайна. Таблица Квайна — двумерная таблица, каждой строке которой взаимно однозначно соответствует максимальный интервал, столбцу — конституента, а на пересечении i-й строки и у-го столбца находится единица, если у-я конституента входит в »-й максимальный интервал, в противном случае клетку (г, у) не заполняют или ставят в ней 0.
Для рассматриваемого примера таблица Квайна имеет вид табл. 1.15.
Таблица 1.15
Максимальный интервал	Конституента				
	ООО	100	110	011	111
-00	1	1			
1-0		1	1		
11-			1		1
-11				1	1
54
Гл. 1. Основы многосортных множеств
Максимальный интервал называется обязательным, если найдется конституента, принадлежащая ему и только ему. Столбец, соответствующий этой конституенте, содержит только одну единицу. Множество обязательных интервалов образует ядро покрытия.
В данном случае ядром покрытия является множество {-00, — 11}, которое покрывает первый, второй, четвертый и пятый столбцы. Для образования покрытия можно взять либо вторую, либо третью строку. В результате получаем два покрытия: {—00, —11, 1-0), {-00, -11, И-}; каждое из них является минимальным и имеет сложность 6. Для определенности выберем первое из покрытий, которое соответствует минимальной НФК, задающей множество M(Mi, М2, М3) = МгГ1МзиМ2Г)МзиМ1ПМз. В результате упрощения сложность ЦМ) уменьшилась от 15 до 6.
Минимальная НФК находится в результате перебора всех покрытий, осуществляемого с помощью преобразования мультипликативно-аддитивной формы в аддитивно-мультипликативную форму.
Для рассматриваемого примера обозначим четыре строки табл. 1.15 соответственно буквами а, Ъ, с, d. Запишем множество строк, каждый элемент которого покрывает у-й столбец:
j = 1 -4 Ai = {a},	j = 2 -4 А2 = {а, Ь},
УI = 3 -4 А3 = {5, с}, j = 4 -> А4 = {(/}, j = 5 -> А5 = {с, d).
Покрытием столбцов строками этой таблицы является множество строк, покрывающее все столбцы таблицы, и при удалении хотя бы одной из этих строк найдется непокрытый столбец. Следовательно, если каждое множество Aj представить в виде объединения его элементов и найти пересечение всех множеств Aj, П Aj, то каждое пересечение в полученной аддитивной форме соответствует покрытию, а число всех покрытий равно числу различных пересечений в полученной аддитивно-мультипликативной форме:
ClAj =an(aU6)D(6Uc)ndn(cUd) = j
= ar)(6Uc)nd=an6ndUaDcnd.
Полученные пересечения аП4П(/ивПсГ)</ порождают два покрытия: {-00, 1-0, -11} и {-00, 11-, -11}; каждое из них соответствует минимальной НФК заданного множества М. Дальнейшее уменьшение сложности выражения, определяющего заданное множество, возможно, если из класса НКФ перейти в класс скобочных форм Кантора (СФК). Выражение, определяющее множество М, называется скобочной формой Кантора, если кроме первичных термов и знаков операций объединения и пересечения в него входят круглые скобки.
§ 1.7. Алгоритм — двусортное множество. Системы счисления 55
В рассматриваемом примере сложность представления множества, равная 6, понижается до 5 в результате применения закона дистрибутивности пересечения относительно объединения:
М(М±, М2, М3) = Мз Г) (Mi (J М2) U Мз П М3.
Преобразование мультипликативно-аддитивной формы в аддитивно-мультипликативную называется методом Петрика, который может быть определен соответствующим алгоритмом.
§ 1.7. Алгоритм — двусортное множество.
Системы счисления
Важным классом многосортного множества является класс, элементами которого являются алгоритмы. Слово “алгоритм” (algorithm) является латинской транслитерацией арабского имени хорезмского математика IX века аль-Хорезми.
Дадим интуитивное определение алгоритма. Алгоритмом называется двусортное множество (Мр, Яз), где Мр — множество правил (процедур) решения задачи, обладающих следующими свойствами:
массовости — инвариантности относительно входной информации;
детерминированности — однозначности применения этих правил на каждом шагу;
результативности — получения после применения этих правил информации, являющейся результатом;
элементарности (прозрачности) — отсутствия необходимости дальнейшего уточнения правил.
Символ Яз — бинарное отношение в множестве Мр, Яз С М%, (pi, pj) G R2, если после процедуры р, выполняется процедура pj.
Алгоритм можно представить в виде графа, каждая вершина которого соответствует правилу, и бинарное отношение Яз определяет порядок выполнения этих правил. Если при этом вершина является началом или концом только одной дуги, то правило называется арифметическим. Если правило является концом только одной дуги, а началом — более чем одной дуги, то правило называется логическим. После выполнения логического правила происходит ветвление вычислительного процесса согласно полученному результату.
Первоначально построение алгоритма нельзя выполнить полностью формальным образом. Это — искусство. Рассмотрим, например, построение алгоритма перевода целых чисел, заданных в десятичной системе счисления, в систему счисления с основанием S. Как строить алгоритм, будет понятно, если догадаться, что сдвиг на один разряд вправо целого числа (рис. 1.20, а) эквивалентен делению этого числа на основание системы счисления и
56
Гл. 1. Основы многосортных множеств
что при этом содержимое нулевого разряда может быть выявлено как дробная часть в виде остатка при целочисленном делении на S (рис. 1.20,6). Очевидно, что при переводе дробного числа идея
Целое число Р
алгоритма основана на его сдвиге влево на один разряд (это эквивалентно умножению на S); при этом содержимое 1-го разряда при умножении будет представлять собой целую часть произведения (рис. 1.21, а). Отсюда имеем алгоритм перевода дробного числа с заданной точностью S~k (рис. 1.21,6).
Примечание. В средневековой Европе алгоритмом назывались десятичная система счисления и искусство счета в ней, так как благодаря латинскому переводу в XIII веке трактата альХорезми “Книга о сложении и вычитании на основе индийского исчисления” Европа познакомилась с позиционной системой.
Системой счисления, или нумерацией, называется совокупность приемов и правил для обозначения и наименования чисел. Система счисления задает правила кодированной записи количе
§1.7. Алгоритм — двусортное множество. Системы счисления 57
ственных эквивалентов, позволяющие для каждого числа однозначно получать его кодовую запись и по каждой кодовой записи — соответствующий ей количественный эквивалент. По соглашению
Дробное число
количественный эквивалент записывается в десятичной системе счисления. Множество элементарных знаков, используемых для кодирования, называют цифрами счисления.
Слово “цифра” — от арабского слова “сыфр”, которое в свою очередь является переводом древнеиндийского слова (алфавит “де-ванагари”) “сунья”, что означает пустое место (разряд), в которое помещается числовой знак при задании количественных отношений.
Системы счисления бывают непозиционные и позиционные. В непозиционных системах каждой цифре сопоставлен некоторый стандартный количественный эквивалент, а количественный эквивалент кода числа вычисляется как некоторая функция от количества эквивалентных цифр, входящих в запись этого кода. Примером такой системы является система счисления, в которой
58
Гл. 1. Основы многосортных: множеств
используется только одна цифра, например I. Этой цифре сопоставлен количественный эквивалент, равный единице. Тогда код ППП означает количественный эквивалент шести, функцией при вычислении количественного эквивалента кода здесь является операция сложения.
В позиционных системах каждой цифре некоторый количественный эквивалент сопоставляется не однозначно, а в зависимости от ее положения в коде числа. Будем рассматривать только линейно упорядоченные записи. Выберем в записи начало отсчета (нулевой разряд). Разряды влево от него будем нумеровать 1, 2, ..., а вправо от него -1, -2, ... Каждой цифре а,-, стоящей в разряде с номером j, сопоставляется количественный эквивалент ф(а^). Функция (р либо одинакова для всех разрядов, либо ее вид изменяется от разряда к разряду. В дальнейшем будут рассматриваться только позиционные системы с одинаковой функцией всех разрядов. Всякая позиционная система задается тремя компонентами: {А, <р, F). Здесь А — множество цифр системы; <р — функция, определяющая для цифр в каждом разряде их количественный эквивалент; F — функция, определяющая по количественным эквивалентам в записи числа количественный эквивалент самого числа.
В зависимости от вида функции F выделим системы счисления двух типов: аддитивные и мультипликативные. В системах первого типа F — функция сложения, а в системах второго типа — функция умножения.
Если для любых цифр А и любого j имеет место равенство ф(а,, ]) = $'• ф(ай 0), то говорят о системе счисления с основанием S.
Если ф(а,, j) = pj  <р(а,, 0) и pj не совпадают при различных j, то система весомозначного типа, a pj — веса разрядов.
Если в системе с основанием S множество цифр состоит из 0, 1,..., S—1, то система имеет естественное множество цифр (естественная система счисления); если S-m+k+1и множество цифр — {-т, -т +1, ..., -1, 0, 1, 2, ..., к}, то при т = к система имеет симметрическое множество цифр (симметрическая система счисления); при к > т или т > к система'имеет асимметрическое соответственно в положительную или отрицательную сторону множество цифр (асимметрическая система счисления).
Наиболее часто используют естественные системы счисления с натуральным основанием. Любое число х в системе с основанием S представимо в следующем виде:
оо
* = £м-3‘,
|=—оо
где [а,] — количественный эквивалент цифры а,- в нулевом разряде.
§ 1.7. Алгоритм — двусортное множество. Системы счисления 59
Пример 1.6. Представить количественный эквивалент [83.16]ю в восьме-*ичной системе з = 8 с алфавитом цифр {0, 1, 2, ..., 7} с точностью до 8-2. Используя вышеприведенные алгоритмы, получаем
[123]» -4 1 • 82 + 2  81 + 3 • 8° = [83] ю;
0.16X8=1.28
0.28X8 = 2.24
[0.12] = 1 • 8-1 + 2 • 8~2 » 0.16.
Часто для повышения информационной безопасности фирмы изменяют как алфавит цифр, так и основание арифметики.
Рассмотрим перевод числа 83.16 из десятичной арифметики в восьмеричную с алфавитом цифр {6, 5, 4, 3, 2, 1, 0, 1], где количественный эквивалент цифр таков:	_
[6] = -6, [5] = —5,. [4] = -4, [3] = -3,
[2] = —2, [Т] = -1, [0] = 0,	[1] = 1.
Для искомой записи представим количественный эквивалент цифр естественного алфавита {0, 1,2, ..., 7], используя количественные эквиваленты цифр веданного алфавита:
[0]е = [0]„ [1]. =[!]., [2].=[2]„
Для определения правой части последнего выражения заметим, что 2=8 — 6 = = 8 + (—6) -> [16],, следовательно, [2]е = [16],. Аналогично получаем [3]е = = [15]., [4]. = [ 14]„ [5]е = [13]., [6]. = [ 12]., [7]е = [1Т]..
Подставляя найденные соотношения в запись [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]» -> 1 • 83 - 6 • 82 - 5 • 81 - 4 • 8° - 6 • 8-1 - 6 • 8-2 « «84-0.84 = 83.16.
60 Гл. 1. Основы многосортных множеств
Определим запись количественного эквивалента 83.16 в системе счисления с основанием 0.125 и алфавитом цифр {6,5,4, ..., 0,1}.
Замечая, что 0.125 = 8-1, получаем, что количественные эквиваленты разрядов в системах счисления с основанием 8 и 8-1 симметричны относительно
Рис. 1.22
нулевого разряда (рис. 1.22). Отсюда получаем искомую аапись 83.16 в виде [бб4.5б1]о.12$.
Определим оптимальное в смысле сложности реализации основание S-позиционной арифметики. Под сложностью реализации С будем понимать произведение разрядов L на количество значений каждого разряда S.
Количество чисел N, кодируемое S-ичным L-разрядным вектором, равно
N = SL.	(1.8)
Найдем значение S, при котором сложность реализации С минимальна:
min L • S.
s
Логарифмируя (1.8), получаем InN = L • In S, L = InN/lnS. Отсюда сложность реализации имеет вид
C = S-\nN/\nS.
Найдем условие экстремума С:
dC _ lnW-lnS-S-(l/S)-lntf
dS~	ln2S
отсюда
In S - 1 = 0, S = e.
Определим, является ли S = e условием минимума или максимума:
d2C _ d2 / ln7V\ _
dS2 “ dS2 v5' In S ) ”
§1.8. Компьютерные арифметики
61
InW • (1/S) • In2 S - InW • InS • 2 • InS • (1/S) + 21nW • In S . ln4S
d2C _ In ЛГ(- In2 S • (1/S) + 2 In S) dS* s=e~	ln4S
2
1
0
Рис. 1.23
Получили условие минимума. Следовательно, оптимальным основанием позиционной арифметики является число 3, являющееся ближайшим большим от основания натурального логарифма е.
Каждой арифметике с основанием S можно сопоставить L-дольный граф, каждая доля которого содержит S вершин, определяющих количественные эквиваленты 0, 1, 2, ..., S — 1; число при этом представляется ломаной, соединяющей соответствующие цифры. На рис. 1.23 представлено число 1021 в арифметике с основанием S — 3.
§ 1.8. Компьютерные арифметики
В естественных системах счисления, получивших наибольшее распространение, можно записывать числа (при натуральном основании) только одного знака. Для изображения чисел противоположного знака в таких системах используют знак + или —. Более целесообразно кодировать знак числа с помощью цифр, используемых при записи числа. Для этого в записи числа выделяют один специальный разряд, называемый знаковым. Цифра, стоящая в нем, не кодирует количественного эквивалента и не участвует в вычислении эквивалента с помощью функции F.
Будем кодировать знак + нулем, знак - цифрой S—1 в нулевом разряде при задании чисел х, |z| < 1. Для этого определим прямой код числа х, |z| < 1 следующим образом:
_ Г0.Х!Х2...Хп,	х>0,
Х П t S - 1.®1®2- • • Хп, X < 0.
Учитывая, что |®| < 1, это соотношение можно переписать в виДе	,	п
( х,	х > 0,
ГЖ1 — )	“ ’
1 Jn IS - 1 + |х|, ®<0.
В настоящее время широко используют полулогарифмическую форму представления чисел, или представление с плавающей точкой.
Любое число х в системе счисления с натуральным основанием S можно представить (неоднозначно) как Sp^ • т(х), где
62	Гл.1. Основы многосортных множеств
|m(®)| < 1. Будем называть т(х) мантиссой числа х, р(х) — порядком числа х в системе с основанием S. Если при фиксированном S задать р(х) и т(х), то число х определяется однозначно. Пара р(ж) и тп(ж) хранится в памяти ЭВМ. Для однозначного представления чисел в полулогарифмической форме обычно требуется, чтобы мантисса удовлетворяла неравенству S-1 < т(х) < 1. Такая мантисса называется нормализованной.
В машинном представлении числа в самом левом разряде кодируется знак порядка, затем в ni разрядах записывается величина порядка, далее имеется разряд для записи знака мантиссы и п? разрядов для записи величины мантиссы.
Рассмотрим реализацию операций сложения, вычитания, умножения и деления в позиционных арифметиках с естественным множеством цифр. При любом основании S операции сложения и умножения определяются таблицами выполнения этих операций в одном разряде и правилами образования переносов в старшие разряды. При этом необходимо, чтобы в операции участвовали соответствующие разряды слагаемых. Поэтому при сложении необходимо еще выравнять порядки слагаемых (сдвинуть мантиссы так, чтобы суммировать разряды с одинаковыми номерами).
При сложении выравнивание порядков происходит в результате увеличения меньшего порядка до большего. Для того чтобы количественный эквивалент числа при этом не изменялся, необходимо каждое увеличение порядка на единицу компенсировать сдвигом мантиссы вправо на один разряд. Полученному результату приписывается выровненный порядок. При нормализации мантиссы результата необходимо сдвигать ее вправо (на один разряд) или влево до тех пор, пока не будут выполняться условия нормализации. Для сохранения количественного эквивалента числа при этом необходимо увеличить (при сдвиге мантиссы вправо) или уменьшить (при сдвиге мантиссы влево) порядок результата на число единиц, совпадающее с числом сдвигов.
Пример 1.7. Вычислим сумму двух количественных эквивалентов 24.17 и 32.98 в арифметике 5 = 5; алфавит цифр — {0, 1, 2, 3, 4}.
Для задания этих чисел в полулогарифмической форме в памяти компьютера определим их порядки и мантиссы в заданной арифметике с точностью представления мантисс до 5-4;
24.17 -> [44.04]$:
целая часть —	дробная часть —
_ 24 I 5	0.17 х 5 = ©.85
20 _4 I 5	0.85 х 5 = @.25
@ О О
Следовательно, р(44.04) = 2, т(44.04) = 0.4404,
[44.04]$ -> 52 х 0.4404.
§1.8. Компьютерные арифметики
63
38.92—> [112.44]$:
целая часть —
32 |5
30 _6 |5
® 5 _115 ф 0 О
дробная часть — 0.98 х 5 = @.90 0.90 х 5 = @.50
Ф
Следовательно, р(112.44) =3, т(112.44) =0.1124 (пятый разряд после точки не
пишем, так как заданная точность 5-4), [112.44]$ -> 53 х 0.1124.
Сложение цифр в пятиричной арифметике определяется табл. 1.16.
В клетке [«, j] табл. 1.16 левая цифра указывает значение переноса в старший разряд, правая — значение суммы в соответствующем разряде.
Выравниваем порядки до большего:
Таблица 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
[44.04]$ -> 5а х 0.4404 -> 53 х 0.0441
(единица в младшем разряде получилась после округления), [112.44]$ -> 53 х 0.1124.
Производим сложение мантисс согласно табл. 1.16:
, 0.0441
+ 0.1124
0.2120
Следовательно, [44.04 + 112.44]$ —> 53 х 0.2120. Количественный эквивалент найденной суммы равен
53 х 0.2120 -> 53 х (2 • 5-1 + 1 • 5-а + 2 • 5“3 + 0.5-4) =
= 2 • 5а + 1 • 51 + 2 • 5° = 57.0.
Порядок р суммы равен 3, мантисса суммы — 0.2120.
При вычитании двух чисел возникают трудности, связанные с Заемом единиц в старших разрядах. Эта операция плохо реализуется в современных ЭВМ для систем счисления с естественным множеством цифр и натуральным основанием. Для систем с отрицательным основанием или систем с натуральным основанием и симметрической (симметрической) совокупностью цифр эта операция осуществляется просто: вычитаемое инвертируется (т. е. вместо записи числа —а берется запись числа —а в этой системе), и полученные коды суммируются. Для систем с натуральным основанием и естественным множеством цифр операция алгебраического сложения осуществляется с помощью дополнительного или обратного кодов этих чисел.
64
Гл. 1. Основы многосортных множеств
Заменим операцию вычитания у — х операцией сложения у и S — х с последующим уменьшением результата на величину, равную S:
у - х = у + (S - х) - S.
Введем понятие дополнительного кода числа аг.
гт / х > О, Мд ~ \ S + х, х < 0.
Операцию вычитания можно заменить операцией сложения и на основании следующего соотношения:
y-x = y+(S~S-n-x)-S + S~n.
Отсюда получаем определение обратного и дополнительного кодов числа х:	,
Г_1 _ J Х1	х —
L«Jo- S s + x-S~n, х < 0,
[®]д = [х]о + S п, х < 0.
Дополнительный код отрицательного числа х О xix2...xn, |х| < 1, имеет следующий вид:
[х]д = (S - 1).(S - 1 - xO(S - 1 - х2).. .($ - хп).
Обратный код этого числа имеет вид
[х]о = (S - 1).(S - 1 - Xi).(S - 1 - х2).. .(S - 1 - хп).
Таким образом, имеем следующие правила образования обратного и дополнительного кодов для отрицательных чисел.
1. Для получения обратного кода отрицательного числа необходимо в каждом разряде S-ичной записи числа заменить цифру этого разряда на цифру, дополняющую ее до S - 1. В знаковом разряде следует записать цифру S — 1.
2. Для получения дополнительного кода отрицательного числа необходимо прибавить единицу к младшему разряду его обратного кода.
Отсюда имеем соответственно следующие правила алгебраического сложения.
1. Для алгебраического сложения чисел х и у произвольного знака в системе счисления с натуральным основанием и естественным множеством Цифр достаточно перевести запись этих чисел в дополнительный код, просуммировать полученные коды по правилам сложения чисел в системе с основанием S и отбросить единицу переноса из знакового разряда, если таковая возникает. Полученный результат представляет собой дополнительный код алгебраической суммы чисел х и у.
§1.8. Компьютерные арифметики
65
2. Для алгебраического сложения чисел х и у произвольного знака в системе счисления с натуральным основанием S и естественным множеством цифр достаточно перевести запись этих чисел в обратный код, просуммировать полученные коды по правилам сложения чисел в системе с основанием S и добавить единицу в младший разряд полученного выражения, если при суммировании появляется единица переноса знакового разряда. Полученный результат представляет собой обратный код истинной (алгебраической) суммы чисел х и у.
Пример 1.8. Вычислим алгебраическую сумму количественных эквивалентов 19.43 — 28.57 в троичной арифметике S = 3 и естественном алфавите цифр {0, 1, 2}, используя дополнительный код.
Определим запись числа 19.43 в этой арифметике с точностью до З-3:
целая часть —
дробная часть —
0.43 х 3 = ф.29
0.29 х 3 = ©.87
0.87 х 3 = 0.41
19.43 -> [201.102]3 -> З3 х 0.201102. Аналогично определяем запись числа 28.57:
дробная часть —
целая часть —
0.57 х 3 = ф.71
0.71 х3 = @.13
0.13 х 3 = ©.39
©_0_ 0 Ф
28.57 -> [1001.120]3 -> З4 х 0.1001120. Выравниваем порядки до большего:
19.43 -> З4 х 0.0201102,
28.57 -> З4 х 0.1001120.
Заменяем вычитание сложением в дополнительном коде:
д 0.0201102
2.1221102
[2.1221102]	—дополнительный код суммы,
[2.2122211]о — обратный код суммы,
—0.0100011]з — мантисса суммы.
В результате количественный эквивалент суммы равен —9.14.
Тот же результат получаем, используя обратный код:
।—।	0.0201102
Шо 2.1221102
[2.1221102]о —> [—0.0100011]э — мантисса суммы.
3 В. А. Горбатов
66
Гл. 1. Основы многосортных множеств
При умножении необходимо просуммировать порядки сомножителей, произвести умножение мантисс по правилам умножения чисел, нормализовать результат и, если произошел сдвиг мантиссы произведения, изменить соответственно порядок произведения. Знак произведения определяется отдельно естественным образом: если сомножители имеют одинаковые знаки, то произведение — положительное число, в противном случае — отрицательное.
Пример 1.9. Вычислим произведение количественных эквивалентов 12.13 х 17.21 в арифметике с основанием 4 и естественным алфавитом цифр {О, 1, 2, 3}.
Представим эти количественные эквиваленты в этой арифметике с точностью до 4-а:
целая часть —	дробная часть —
_ 12 I 4	0.13 х4 = ©.52 I
12 _3 I 4	0.52 х 4 = @.08 I
© О О
12.31 -+ [30.02]^ -+ 4а х 0.3002;
целая часть —	дробная часть —
_ 17 I 4	0.21 х 4 = ©.81 I
16 _4 | 4	0.84 х 4 = @.36 Ф
_ Ф 4 _1 14
© о о
\ Ф
17.21 -+ [101.03]4 -+ 43 х 0.1011.
Порядок произведення равен 5: 2 + 3 = 5.
Правила умножения цифр определены в табл. 1.17, где в клетке [i, у] левая цифра соответствует переносу, правая — значению произведения в этом разряде.
б	? Согласно табл. 1.17 произведем умножение
X	0	1	2	3	0.3002	
0	00	00	00	00		0.1011
1	00	01	02	03	+	3002 3002
2	00	02	10	12		3002
3	00	03	12	21		0.03101022
После нормализации получим, что произведение равно 4* х 0.3101; это определяет количественный эквивалент, равный
4* х (3 • 4-1 + 1 • 4-а +0 • 4-3 + 1 • 4-4) = 3 • 43 + 1 • 4а + 0 • 4-1 + 1 • 4° = 209.
При делении из порядка делимого вычитают порядок делителя. Деление мантисс заменяют вычитанием делителя из делимого до тех пор, пока в результате очередного вычитания не будет получена отрицательная разность. Затем прибавляют делитель к отрицательной разности (эта операция называется восстановлением
§ 1.8. Компьютерные арифметики
67
остатков) и в качестве цифры частного записывают число вычитаний делителя без учета последнего вычитания. После этого роль делимого начинает играть остаток, а роль делителя — прежний делитель, сдвинутый на один разряд вправо, и т. д. Мантиссу частного нормализуют и соответственно изменяют порядок частного. Знак частного определяют аналогично определению знака
произведения.
Пример 1.10. Вычислим частное, полученное в результате деления 8.17 на 3.33 в двоичной арифметике S = 2 с алфавитом цифр {0, 1}.
Определим запись чисел 8.17 и 3.33 в двоичной арифметике, вычисляя дробную часть с точностью до 2-4: целая часть —	дробная часть —
0.17 х 2 = ©.34
0.34 х 2 = ©.68
0.68 х 2 = ф.36
0.36 х 2 = ©.72 ''
8.17 -> [1000.0010]а -> 2* х 0.10000010;
целая часть —
дробная часть —
3 I 2	0.33 х 2 =	©.66
2___1 |2	0.66 х 2 =	ф.32
Ф JL 0	0.32 х 2 =	©.64
\®	0.64 х 2 =	ф.28 I
3.33 -► [11.0101]2 -> 22 х 0.11010100.
Порядок частного равен 2: 4 — 2 = 2.
Вычислим мантиссу частного, используя обратный код; при этом знак будем кодировать двумя цифрами для того, чтобы правильно определять нарушение нормализации мантиссы: + кодируем 00, — кодируем 11.
Первый цикл алгоритма:
00.10000010
00.11010100
00.10000010
11.00101011
11.10101101
Знак разности отрицательный, следовательно, целая часть частного при делении мантисс равна 0:
1°1 I I п
Произведем операцию восстановления:
।—।	11.10101101
00.10000001
100.10000001 I__________Т
Сумматор обратного кода является циклическим сумматором: перенос из знакового разряда суммируется с цифрой младшего разряда. Сумматор дополнительного кода является ациклическим: перенос из анакового разряда не суммируется с цифрой младшего разряда, перенос “пропадает”.
68
Гл. 1. Основы многосортных множеств
После восстановления получим уменьшаемое 00.10000010. Второй цикл алгоритма: 00.10000010	।—।	00.10000101
00.01101010	L±-lo	11.10010101
100.00010111 I_________т
00.00011000
Знак разности положительный, следовательно, следующая цифр а мантиссы частного — 1:
ИПТГ]
Третий цикл алгоритма:
00.00011000	।—।	00.00011000
00.00110101	Шо 11.11001010
11.11100010
Знак разности отрицательный; следующая цифра мантиссы частного — 0:
I о- h I о I I I Производим восстановление остатка и переходим к вычислению четвертой цифры частного.
Четвертый цикл алгоритма:
00.00011000	।—।	00.00011000
00.00011010	Шо 11.Ш00101
11.11111101
Знак разности отрицательный, следовательно, четвертая цифра мантиссы частного — 0:
I о- ]1|о|о| I
После восстановления остатка вычисляем пятую цифру мантиссы частного:
00.00011000	।—।	00.00011000
00.00001101	Шо	11.11110010
100.00001010 1_________t
00.00001011
Знак разности положительный, следовательно, пятая цифра — 1:
I р-11 I о 1.91.11
Для правильного округления аналогично вычисляем шестую цифру; этой цифрой является 1. Отсюда мантисса частного имеет вид
Искомое частное есть 22 х 0.1010; оио соответствует количественному эквиваленту 2.5:
2s х (1 • 2-1 + 0 • 2-а + 1 • 2-3 + 0 • 2"*) = 2 + 2-1 = 2.5.
Как уже отмечалось, система счисления является весомозначной, если для каждого разряда с номером j можно указать такое
§1.8. Компьютерные арифметики 69
число pj, что количественный эквивалент, который сопоставляется цифре а,-, записанной в этом разряде, равен р3  [а,], где [а,] — количественный эквивалент, сопоставляемый этой же цифре в нулевом разряде. Количественный эквивалент числа х определяется как	+оо
х = 52 Рз • М-
j=—оо
В вычислительной технике представляет интерес двоично-десятичные системы счисления, в которых каждая десятичная цифра кодируется четырьмя двоичными цифрами и, следовательно, каждый разряд десятичной записи замещается четырьмя разрядами. Если этим четырем разрядам соответствуют некоторые веса, то имеет место весомозначная система для этих четырех двоичных разрядов.
При использовании двоично-десятичных систем в ЭВМ желательно, чтобы кодирование (оно неоднозначно, так как для кодирования десяти цифр можно использовать любые из 16 тетрад — четверок из нулей и единиц) удовлетворяло некоторым ограничениям. Приведем пять основных требований, которые сформулированы Рутисхаузером.
Единственность. Необходимо однозначное соответствие цифр и тетрад. Если это требование не выполнено, то невозможно кодирование и декодирование чисел.
Упорядоченность. Большим десятичным цифрам должны Соответствовать большие (по количественному эквиваленту) тетрады. Выполнение этого требования необходимо при сравнении кодированных чисел.
Четность. Четным десятичным цифрам должны соответствовать четные тетрады (тетрады, у которых в крайнем правом разряде стоит нуль), а нечетным цифрам — нечетные тетрады.
Дополнительность. Если цифры десятичной системы таковы, что сумма их равна девяти, то им должны сопоставляться тетрады, которые взаимно инвертированны, т. е. получаются друг из друга заменой единиц на нули, а нулей на единицы. Выполнение Этого требования необходимо для того, чтобы ввести в двоичнодесятичной системе дополнительный или обратный код.
Весомозначность. Должны существовать четыре веса pi, р%, рз, р^ таких, что если десятичной цифре х сопоставлена тетрада <*1<*2<*з<*4> т° имеет место равенство
X — с*1 • Р1 + »2 • Р2 + «3 • Рз + «4 • Р4>	= 0, 1.
Кодирование, удовлетворяющее всем пяти требованиям, называется совершенным.
Условимся через Т(х) обозначать тетраду, сопоставимую десятичной цифре х. Рассмотрим правила сложения для чисел, запи
70
Гл. 1. Основы многосортных множеств
санных в двоично-десятичной системе. Пусть в десятичной системе взяты цифры х я у. Тогда либо х + у — некоторая новая цифра этой системы (если х + у < 10), либо результатом суммирования этих цифр является цифра, соответствующая х + у- 10, и возникает единица переноса в следующий разряд. Тогда правила сложения в двоично-десятичной системе имеют вид
1Т^х + у^ х + у <10, М ) + МУ) | Т(а; + у - Ю) + 16, х + у > 10.
Здесь прибавление 16 соответствует переносу единицы в следующий разряд (перенос в правый разряд тетрады, стоящей слева от данной). Как следует из этого соотношения, при суммировании чисел в такой системе необходимо вносить поправки.
Пусть, например, кодируется каждая десятичная цифра ее записью в двоичной системе с использованием четырех двоичных разрядов. В этом случае цифра 5 будет закодирована тетрадой 0101. Такой способ кодирования называется кодом прямого замещения (8421). В данном случае, учитывая, что для кода прямого замещения Т(х) = х, можно записать
Т(х)+Т(у) =
х + у,
х + у + 6,
X + у < 10, х -Ь у > 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;
х + у >10,
Т(т) + Т(у) = ® + 3 + j/ + 3 = a: + j/ + 6, Т(х + у) = х + у-10 + 16 + 3 = х + у + 9, следовательно, поправка равна +3, т. е.
Т(х + у) - (Т(х)+ Т(у))— 3.
Таким образом, получаем
Т( ) +	{ Т(х + у) - 3, х + у > 10.
Приведем пример суммирования чисел —471 и 607 с использованием дополнительного кода:
-471 — 1000 0101 1100 +607 — 1001 ООН 1010 + 10001 1001 ОНО 0001 1001 ОНО
кодирование
первое суммирование, отбрасывание переноса из левого разряда
ООП 1101 ООП
136 — 0100 ОНО 1001
поправка
получение результата после поправок
Кодирование с избытком 3 не обладает свойством весомозна-чимости. Единственным кодированием, которое обладает всеми пятью свойствами, является кодирование Айкена—Эмери. Это кодирование с весами (2, 4, 2, 1).
Вычислим эти коды при pi > 0.
Для кодирования 1 необходимо, чтобы один из весов был равен 1. Для определенности будем считать, что р4 = 1, тогда р4 + рг + +рз = 8. Возможные комбинации весов (pi, рг, рз) с точностью До их перестановки:
(1,1,6), (2,1,5), (2,2,4), (2,3,3), (1,3,4).
В системе с весами (6,1,1,1):
0 — 0000, 1 — 0001, 2 — 0011, 3 — 0111, 4 —
5 —	, 6 — 1000, 7— 1001, 8 — 1011, 9— 1111.
72
Гл. 1. Основы многосортных множеств
Для случая (1,1,6) нарушается первое требование Рутисхаузера: для цифр 4 и 5 отсутствуют соответствующие тетрады.
В системе с весами (5,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.
В системе с весами (3,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.
В системе с весами (4,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.
В системе с весами (2,4,2,1):
0 — 0000, 1 — 0001, 2 — 0010, 3 — 0011, 4 — 0100,
5 — 1011, 6 — 1100, 7 — 1101, 8 — 1110, 9 — 1111;
все пять требований выполнены, соответствующая арифметика является совершенной и называется в честь авторов — арифметикой Айкена—Эмери. Анализируя коды, замечаем, что
rM=G’+6,
Для определения правил суммирования тетрад необходимо рассмотреть следующие случаи:
1)	х < 5, у < 5, х + у < 5; Т(х) + Т(у) -х	+	у,	Т(х	+	у)	=
= х -|- у, А = Т(х + у) - (Т(®) + Т(у)), Д = 0;
2)	х < 5, у < 5, 5 < х + у < Ю; Т(х) +	Т(у)	=	х	+	у,
Т(х + у) = х + У + 6, Д = 6;
3)	х < 5, у > 5, 5 < х + у < Ю; Т(х) + Т(у) = х + (у + 6), Т(х + у) = х + У + 6, Д = 0;
4)	х < 5, у > 5, 10 < х + у < 15; Т(ж) + Т(у) = х + (у + 6), Т(х + у) + 6 (6 из-за переноса) = х + у + 6, Д = 0;
5)	х > 5, у > 5, 10 < х + у < 15; Т(х)+Т(у) = (я + 6) + (у + 6), Т(х + у) + 6 = (х + у) + 6, Д = -6;
6)	х > 5, у > 5, х + у > 15; Т(х) + Т(у) = (ж + 6) + (у + 6), T(z + у) + 6 = (ж + у + 6) + 6, Д = 0.
Таким образом, при суммировании х+у в коде Айкена—Эмери необходима поправка +6 в тетрадах, когда х < 5, у < 5, 5 < х+у < < 10, и поправка -6, когда х > 5, у > 5, 10 < х + у < 15.
§ 1.8. Компьютерные арифметики
73
Просуммируем в этом коде рассмотренную выше пару чисел 471 и 607, используя при этом дополнительный код. Имеем
-471	—	1000	0101	1100
+607	—	1001	ООП	1010
	10111	ООП	1100
	0111	ООП	1100
	1010	0000	0000
	г		
	случай 5)	случай 1)	случай 6)
+136	—	0001	ООП	1100
Производительность процессора существенно повышается, если обработать каждый разряд независимо от других. Эту возможность предоставляет код в остатках.
Системой счисления, позволяющей производить вычисления в каждом разряде независимо от результатов, полученных в других разрядах, является код в остатках. Множеством модулей кода в остатках называется множество S взаимно простых натуральных чисел: qi, q?, ..., qa.
Обозначим через res (x/gj остаток от целочисленного деления х на qi. Кодом в остатках числа х по множеству модулей qi, qi, ..., qa называется выражение вида
х х х
res — res —... res —.
gi ft 9s
Если res (x/qi) = а и res(®/g,) = 0, to x = nq, + а и у = = mqi + 0.
Проведем алгебраическое суммирование последних двух равенств. В результате получаем х + у — (n + тп) • q, + (а + 0). Теперь перемножим соответственно правые и левые части исходных равенств:
х • у = (т • п • q, + п • 0 + т • а) • q, + а • 0.
Если а + 0 и а • 0 меньше qi, то можно утверждать, что при Суммировании и умножении двух чисел их остатки от деления д,-также складываются или перемножаются. Если же а + 0 и а • 0 больше qi, то, разделив их на д, и определив целое частное, получим, что утверждение о суммировании и перемножении остатков совпадает с ранее высказанным, если считать, что после выполнения этих операций происходит деление на модуль данного разряда И выделение истинного остатка. Подобная операция может иметь место для каждого разряда независимо от других, поэтому код в остатках позволяет суммировать и перемножать поразрядно, что позволяет увеличить скорость выполнения операций ЭВМ.
Пусть, например, имеется система из трех модулей: 7, 8, 9. Тогда коды в остатках для чисел ® = 11иу = 6 имеют соответственно виды 432 и 666. Просуммируем и перемножим поразрядно
74
Гл. 1. Основы многосортных множеств
коды х и у; тогда получаем 10 9 8 и 24 18 12. После деления в каждом разряде результата на модуль этого разряда и выделения истинного остатка получим соответственно 318 и 323. Сумма и произведение х и у, равные 17 и 66, имеют коды в остатках 318 и 323.
Для получения взаимно однозначного представления чисел в коде в остатках следует учитывать, что если произведение всех модулей qi, используемых для кодирования, есть TV, то взаимно однозначно в коде в остатках с этими модулями можно кодировать лишь N различных чисел (от 0 до N - 1, от N до 2N - 1 и т. д.).
Рис. 1.24
Число N называется мощностью системы модулей. Недостатком этой арифметики является трудность реализации операции деления, которая обычно заменяется умножением на обратную величину.
Арифметика как многосортное множество (М, 4-, х, где М — носитель арифметики, представляющий собой множество чисел, а операции +, X, : — сигнатура арифметики, в информатике имеет фундаментальное значение. Арифметика является полем над числами.
Дискретную математику, являющуюся основой информационной математики, можно определить как науку о многосортных
§1,9. Нечеткие подмножества 75
множествах (совокупностях)
(м, {о,}, №•}, {о;1}),
где М — множество, в котором заданы операции {О,}; {-Яу} — отношения и {О^*} — кооперации, определяющие соответственно законы композиции, свойства и законы декомпозиции.
Вложение друг в друга основных понятий дискретной математики показано на рис. 1.24, где посетом названо частично упорядоченное множество (partially order set), комплектом — множество, в котором найдутся хотя бы два одинаковых элемента.
§ 1.9.	Нечеткие подмножества
Расширим понятие подмножества, введя свойство нечеткости (размытости).
Принадлежность элемента х подмножеству А:
х е А, АсМ, будем задавать с помощью характеристической функции
— уд в противном случае.
Представим теперь, что характеристическая функция может принимать любое значение в интервале [0, 1]. В соответствии с этим элемент х множества М может не принадлежать А (ца(х) — = 0), может быть элементом А в небольшой степени (дл близко к 0) или, наконец, может быть элементом А (дд = 1)- Таким образом, понятие принадлежности получает интересное обобщение при решении практических задач.
Математический объект, определяемый выражением
А= {(xJO.2), (х2|0), (х3|О.З), (х4|1), (х5|0.8)},
где Х{ — элемент универсального множества М, а число после вертикальной черты дает значение характеристической функции на этом элементе, будем называть нечетким подмножеством А множества М и обозначать А С М. При этом нечеткое подмножество А: содержит в небольшой степени Xj; не содержит х2; содержит хз в немного большей степени, чем х2; полностью содержит х4; в значительной мере содержит х$. Таким образом, мы можем создать математическую структуру, которая позволяет оперировать с относительно неполно определенными элементами и принадлежность которой к данному подмножеству упорядочена. К таким структурам можно, например, отнести: в заданном множестве людей — некоторое подмножество очень высоких людей; во множестве основных цветов — нечеткое подмножество темнозеленых цветов; во множестве решений — нечеткое подмножество
76
Гл.1. Основы многосортных множеств
хороших решений и т. д. Далее мы увидим, как обращаться с такими понятиями, которые особенно хорошо подходят к описанию неточности, присущей моделям искусственного интеллекта.
Дадим строгое определение нечеткого подмножества.
Пусть М — множество и х — элемент М. Тогда нечеткое подмножество А множества М определяется как множество упорядоченных пар {х, дд(х)} Ух £ М, где дд(х) — характеристическая функция принадлежности, принимающая свои значения на упорядоченном множестве Р, которая указывает степень или уровень принадлежности элемента х к подмножеству А. Множество Р будет называться множеством принадлежностей.
Если Р = {0, 1}, то нечеткое подмножество А будет рассматриваться как “не нечеткое”, или “обычное” подмножество. Таким образом, понятие нечеткого подмножества связано с понятием множества и позволяет изучать нестрого определенные понятия, используя математические структуры.
Рассмотрим несколько примеров:
1)	нечеткое подмножество чисел х, приблизительно равных данному действительному числу п, где п G R (R — множество действительных чисел);
2)	нечеткое подмножество целых чисел, близких к 0;
3)	пусть а — действительное число их — небольшое положительное приращение а; тогда числа а + х образуют нечеткое подмножество во множестве действительных чисел.
Пусть М — множество, Р — множество принадлежностей, А и В — два нечетких подмножества М. Будем говорить, что А содержится в В, если (Ух G Л/) (дд(х) < дв(х)), и обозначать А С В.
Строгое включение соответствует случаю, когда по крайней мере одно неравенство строгое, и обозначается А СС В.
Пусть М — множество, Р — множество принадлежностей, А и В — два нечетких подмножества. Скажем, что А н В равны тогда и только тогда, когда (Ух G Л/) (дд(х) = рв(х))> и будем обозначать А = В.
Если найдется по крайней мере один такой элемент х из М, что равенство Дд(х) = Цв(х) не удовлетворяется, то мы будем говорить, что А и В не равны, и обозначать A В.
Определим операции над нечеткими подмножествами, аналогичные операциям алгебры Кантора.
Дополнение. Пусть М — множество, Р = [0, 1] — множество принадлежностей, Ап В — два нечетких подмножества; скажем, что А и В дополняют друг друга: А = В или В = А, если (Vx G М) (рА(х) = 1 - Дв(г))-	_
Очевидно, что имеет место закон двойного дополнения А — А.
§1.9. Нечеткие подмножества
77
Для нечетких подмножеств можно построить визуальное представление, родственное представлению обычных подмножеств, используя диаграммы Эйлера. Визуальное представление операции дополнения показано на рис. 1.25; при этом использована прямо-
угольная система координат, на оси ординат которой откладываются значения Да(®)> а на оси абсцисс в произвольном порядке расположены элементы множества М.
Принадлежность каждого элемента определяется величиной его ординаты, заштрихованная часть наглядно изображает нечеткое подмножество А С М.
Пример 1.11. М = {xt/ • = 1, ..., 5}, Р = {0, 1}, А= {(xilO.l), (т2|0.6), (хз|0.4), (х4|0.0), (xs|1.0)}.
Тогда дополнение множества А имеет вид
А= {(Х1|О.9), (т2|0.4), (тз|0.6), (ачЦ.О), (хз|0.0)}.
Пересечение. Пусть М — множество и Р = [0, 1] — соответствующее ему множество принадлежностей, А и В — два нечетких подмножества М. Пересечение А П В определяют как наиболь-
0
м Рис. 1.26
шее нечеткое подмножество, содержащееся одновременно в А и В (рис. 1.26): (Vas G М) (/1апв(«) = ппп(дд(а;), дв(®))).
78
Гл. 1. Основы многосортных множеств
Пример 1.12. М = {х^/ • = 1,..., 5}, Р = {О, 1},
А= {(Х1|О.2), (ха|0.8), (хз|1.0), (х«|0.5), (xs|O.O)},
В = {(xi|0.6), (ха|0.4), (х3|0.2), (х<|0.7), (х$|0.9)},
АПВ= {(xi\0.2), (ха|0.4), (хз|0.2), (г<|0.5), (^5|0.0)}.
Объединение. Пусть М — множество и Р = [0, 1] — соответствующее ему множество принадлежностей, А и В — два нечетких
Рис. 1.27
подмножества М. Определим объединение АиВ как нечеткое подмножество, которое содержит как А, так и В (рис. 1.27):
(Vx G М) (рлив(х) = тах(дл(х), Дв(х))).
Результат операции объединения нечетких подмножеств А и В (см. пример 1.12) имеет вид AUB ={(а:1|0.6), (х2|0.8), (х3|1.0), (г4|0.7), (х5|0.9)}г
Разность. Операция разности А \ В, А, В С М определяется соотношением
(Ух е М){цА\в{х) = min (/«(*)> 1 - Дв(х))
т. е. А\В — АГ\В (рис. 1.28).
Пример 1.13. М = {xi/ з=1, ..., 5}, Р = {0, 1},
А = {(п|0.7), (га|0.1), (х311.0), (r<|0.0), (гз|0.7)},
В = {(и|0.2), (ха|0.8), (х3|1.0), (и|0.3), (xs|0.6)},
В = {(и|0.8), (za|0.2), (х3|0.0), (х4|0.7), (х5|0.4)}, А\В = {(xi|0.7), (ха|0.1), (х3|0.0), (х«|0.0), (xs|0.4)}.
§1,9. Нечеткие подмножества
79
Рис. 1.28
Введенные операции дополнения, пересечения и объединения удовлетворяют законам:
коммутатив ности
АШЗ = BU А, ассоциатив ности
A U (В U С) = (A U В) U С, идемпотентности
A U А = А, дистрибутивности
А И (В U С) = А П В U А П С, действия с константами
А(~\В = ВГ)А-,
АП(ВПС) = (АПВ)ПС;
АП А = А;
A U В П С = (A U В) П (A U С);
А П 0 = 0, A U 0 = А;
0 — пустое множество, 0 о (Vx,)(/x0(xj) = 0), АП1=вА, AU1 = 1,
1 — универсальное множество, 1 о (Ух,-)(Д1(®,-) = 1); двойного дополнения (инволюции)
А = А;
де Моргана
АпВ = AUB, AUB-AnB-, поглощения
AuAnB = A, An(AUB) = A.
80
Гл. 1. Основы многосортных множеств
Докажем, например, закон поглощения:
AU АП В тах(дд(х), гтп(дд(а:), дв(х))).
При ца(х) > цв(х) имеем тах(дЛ(а:), Дв(х)) = Ma(z)	А.
При дд(х) < рв(х) имеем тах(дд(х), /м(я)) = ца(х)	А.
Выше было показано, что булеан В(1) универсального множества 1 является дистрибутивной решеткой с дополнениями, т. е. булевой решеткой. Однако множество нечетких множеств является дистрибутивной решеткой без дополнений; соотношения
АПА = 0, АиА = 1	(1.9)
в этом случае не выполняются.
В силу несправедливости соотношений (1.9) в этой решетке не выполняются законы склеивания
АПВиАПВ/А, (AUB)n(AUB)/А
и законы Порецкого
АиАПВ = АиВ, АП(АиВ)=АПВ.
Действительно, согласно дистрибутивности пересечения относительно объединения получаем
АПВи А Г) В = An(BUB), ВиВ/1.
Следовательно,
АПВиАПВ / А.
Аналогично доказываются и другие соотношения.
Множество нечетких подмножеств представляет собой векторную решетку.
• •
Векторной решеткой называется алгебра (М, х, +), где носитель М — множество нечетких подмножеств, сигнатура — one-
рация алгебраического произведения А х В, А, В С М:
(Vz € М) (мл«в(ж) = Да(*) • Мв(я))
и алгебраической суммы А-|- В, А, В С М:
(Vz € М) (мл»в(зО = Ма(х) + Мв(я) - Мд(г) • Дв(*))-
Пример 1.14. М = {х</ i — 1, 2, 3, 4}, Р = [0, 1], А, В С М,
А = {(zijl.O), (z2|0.1), (z3]0.8), (z<]0.3)},
В = {(zi|0.4), (z2|0.6), (z3|0.0), (z4|0.5)},
A x В = {(zi|0.40), (z2|0.06), (z3|0.0), (z4|0.15)},
A + B = {(zijl.O), (z2|0.64), (z3|0.8), (z4|0.65)}.
$1.9. Нечеткие подмножества
81
Сигнатура векторной решетки удовлетворяет законам: коммутативности
Ах В = В х А, А + В = В + А; ассоциативности
А х (В х С) = (А х В) х С,
А + (В + С) = (А+В) + С;
действия с константами
Ах 0 = 0, А + 0 = А, А х 1 = А.
Расширим сигнатуру введенной алгебры унарной операцией дополнения, определенной в начале этого параграфа (дополнением, определяемым свойством нечеткости подмножества; не путать с дополнением, определенным в § 1.4). Тогда к перечисленным законам добавляются еще два:
закон инволюции _
А = А;
законы де Моргана
Ах В = А + В, А + В = АхВ.
Докажем законы де Моргана. Пусть дд(х) = а, рв(+) — Ъ; тогда
1 - ab = (1 - а) 4- (1 - b) - (1 - а) (1 - Ь) =
= 1 — а + 1 — b — 1 + а + Ь — а • 6 = 1 — а -Ь-
1 — (а + b — ab) = (1 — а) • (1 — b) = 1 — а — b + ab.
Законы дистрибутивности в векторной решетке не выполняются. Действительно, рассмотрим закон дистрибутивности
Ах(В + С) = АхВ + АхС.
Для левой части соотношения имеем
а  (Ь + с — be) = ab + ас — abc, а для правой —
ab + ас - (аЬ) • (ас) = ab -|- ас — а2Ьс, с = дс(х). Следовательно, закон дистрибутивности не выполняется, если а2 £. а.
%
Для операций алгебраического произведения х и алгебраиче-ской суммы + также не выполняются закон идемпотентности и соотношения, аналогичные (1.9):
АхА/0, А + А^1.
82
Гл. 1. Основы многосортных множеств
Связь между операциями х и + и операциями пересечения П и объединения U устанавливают законы:
Ах (ВПС) = (АхВ)П(АхС), А х (В U С) = (А х В) U (А х С), А+(ВПС) = (А + В)П(А + С), A+(BUC) = (A + B)U(A + C).
Докажем, например, последний закон. Пусть цА(х) = а, цв(х) = Ь, цс(х) = с;
тогда левая часть соотношения имеет вид
а + тах(Ь, с) - а- тах(Ь, с), правая — тах(а + Ь — ab, а + с — ас).
При Ь > с слева получаем а + b — ab, справа (учитывая, что а < 1) также а + b — ab. Аналогичный результат имеем и при Ь < с.
Рассмотрим зависимость мощности множества нечетких подмножеств от мощности универсального множества 1 и мощно-
Рис. 1.29
сти множества принадлежностей Р. Характеристическая функция /x(z) может принимать |Р| значений; тогда если число порож
§1.10. Метрические пространства 83
дающих множеств (размерность универсума) равно п, то мощность множества нечетких подмножеств |S(1)| имеет вид
|S(1)| = |Р|".
На рис. 1.29 представлена векторная рещетка, соответствующая универсальному множеству l(Mj, Мг, Мз) размерности 3 и множеству принадлежностей Р = {0; 0.5; 1}. Векторная решетка определена диаграммой Хассе, в которой каждой вершине vi соответствует вектор Xi’.
MMi (ж)	рм2(х)	ЦмЛх)
и (уа, ^ь) — дуга, если Ха < Хь‘, при этом
Ха < Хь О (Vzai, Xbi)(xai <х^).
Как было оговорено раньше, в диаграмме Хассе по сравнению с графом, определяющим отношение упорядоченности, не указываются петли и транзитивно замыкающие дуги.
§ 1.10. Метрические пространства
Некоторые задачи информационной математики сводятся к определению “близости” нечеткого подмножества к подмножеству, выполняющему роль эталона (образца). При решении этих задач, как правило, используется понятие метрического пространства.
Метрическим пространством называется многосортное множество (М, D), состоящее из элементов множества М (точек) и определенного в нем расстояния d(m,, mj) € D между любыми двумя точками mi, mj £ М, удовлетворяющего условиям:
неотрицательности
,, ч Г = 0, если mi = m,-, d(mi, mj) | > о, если mi / mj;
симметричности
d(mi, mj) = d(mj, m,);
транзитивности
d(mi, mj) 4- d(mj, m^) > d(mi, пц).
Введем широко используемые понятия “расстояния”.
Рассмотрим детерминированные (обычные) подмножества в пространстве 1. Расстоянием Хемминга dh(A, В) между подмно-п
жествами А, В С 1 называется число, равное £2 |^а(з:«)~Мв(2:«)|, «=1
где п — размерность пространства.
84
Гл. 1. Основы многосортных множеств
Пример 1.15. А, В С l(Mi, Мз, Мз, М4, Ms),
А	1	0	1	1	0
В	0	1	1	0	1
dh(A, В) = |1 - 0| + |0 - 1| + |1 - 1| + |1 - 0| + |0 - 1| = 4.
Расстояние Хемминга показывает количество разрядов, в которых соответствующие векторы отличаются.
Относительным расстоянием Хемминга dho(A, В) между подмножествами А, В С 1 называется число, равное п-1	В),
где п — размерность пространства 1.
Для примера 1.15 d^A, В) = 5-1 • 4 = 0.8. Очевидно, что 0 < dho(A, В) < 1.
Обобщим понятие “расстояние Хемминга” для нечетких подмножеств.
Обобщенное расстояние Хемминга (линейное расстояние) d„(A, В) между нечеткими подмножествами А, В С 1 определя-п
ется значением 1ма(ж«) _ Мв(я«)1, гДе п — размерность про-i=i
странства.
Пример 1.16. А, В С l(Mi, Мз, ..., Мв),
А	0.2	0.8	1.0	0.0	0.7	0.8
В	0.3	0.9	0.8	0.6	1.0	0.0
йл(А, В) = |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.
Относительное линейное расстояние dOJI(A, В) определяется как
don(А, В) = п-1 • d„(A, В).
Для примера 1.16 </ол(-4, В) = 6-1 • 2.1 = 0.35. Очевидно, что 0 < dOJI(А, В) < 1.
Евклидовым (квадратным) расстоянием de(A, В) между нечеткими подмножествами А, В С 1 называется число
Мв(^))2, «=1
где п — размерность пространства 1.
Очевидно, что 0 < dc(A, В) < у/п.
Относительное евклидово расстояние dco(A, В) определяется как
deo(A, В) = (у/п)-1  de(A, В).
§ 1.10. Метрические пространства
85
Очевидно, что 0 < deo(A, В) < 1.
Пример 1.17. Вычислим (А, В)и<1<0(А, В) для нечетких подмножеств, заданных в примере 1.16:
d«(A, В) = V0.P + 0.12 + 0.22 + 0.62 + 0.32 + 0.82 = л/1Л5 » 1.07,
d.0(A, В) =6-1 1,07 «0.18.
Легко показать что детерминированное подмножество А является ближайшим в смысле наименьшего значения евклидова расстояния от нечеткого подмножества А' при характеристической функции
„	- Л’ если> 0.5,
MAL t) |о, еслидд/(т,) < 0.5.
Пример 1.18. Пусть нечеткое подмножество А'имеет вид
| А' | 0,2 | 0.8
0.4 | 0.5 | 0,6 | 0.9 |
тогда ближайшим детерминированным подмножеством будет М I о [ 1 j о I о | 1 I 1 I
Рассмотрим еще два определения “расстояния” — линейный индекс нечеткости А (А'), вычисляемый через относительное линейное расстояние dOJ1(A’, А), и квадратичный индекс нечеткости х(А'), определяемый посредством относительного евклидова расстояния deo(Az, А):
х(А') = 2  (75) 1
А(4') = 2  (я)’1  Х3(|ял<(®.) - ДлИ1). «=1
 \	-Ма(х())2,
\ (=1
где п — размерность пространства.
Коэффициент 2 в выражениях проставлен для того, чтобы выполнялось
О < А(А') <1, 0 < х(А') < 1,
так как относительное линейное расстояние </Ол(А', А) и относительное евклидово расстояние deo(A', А) принимают значения на отрезке [0; 0.5].
, Пример 1.19. Вычислим линейный и квадратичный индексы нечеткости подмножества А':
| А' | ОД | 0,8 | 1.0 | 0.6 | 0.5~]
86
Гл. 1. Основы многосортных множеств
Нечеткое подмножество А1 определяет ближайшее детерминированное подмножество А-.
I >1 I О I 1 I 1 I 1 I 0~1
Отсюда получаем линейный и квадратичный индексы нечеткости:
А(А') = 2  (5)-1 - (|0.1 - 0.0| + |0.8 - 1.0| +
+ |1.0 - 1.0| + |0.6 - 1.0| + |0.5 - 0.0|) = 2 • 5-1 • 1.2 - 0.48,
Х(А') = 2 • (Уб)-1 • >/0Л6 « 0.63.
Применение операций в алгебре нечетких множеств изменяет индекс нечеткости случайным образом.
§ 1.11.	Задачи и упражнения
1.1.	Доказать, что
А С В Ли В = В «4 ЯП В = А о А\В = 0 eXu В = 1.
1.2-	Доказать, что
А П (В \ А) = 0, А \ (В U С) + (А \ В) \ С.
1.3.	Решить систему уравнений
А\Х=В, АиХ = С, где А, В, С — заданные множества и В С А С С.
1.4.	Доказать, что А = В О (А \ В) U (В \ А) = 0.
1.5.	Доказать, что если отношения Ri и Ri рефлексивны, то рефлексивны и отношения Ri и R2, Ri Г1 R2.
1.6.	Доказать, что если отношения Ri и Rj симметричны, то симметричны и отношения Я1 U , Ri П Rj.
1.7.	Доказать, что конечное множество мощности п содержит п!/(р!(п — р)!) различных подмножеств мощности р < п.
1.8.	Доказать, что U Mi — наименьшее множество, содержащее все множе-ства Mi.
1.9.	Доказать, что A Mi — наибольшее множество, содержащееся во всех множествах Mi.
1.10.	Доказать, что если Ма, Мь, Мс и Ма не пусты, то:
а) Ма С Мь и Мс С Ма Ма х Me С Мь х Ма', б) Ма = Мь и Мс — Ма <+ Ма х Мс = Мь х Ма.
п	п	п
1.11.	Доказать, что A Mai X A Мь, = A(Afaj X Мь,).
1 = 1	1=1	1=1
1.12.	Доказать, что
(Ма х Mb) U (Мс х Ма) С (Ма U Мс) х (Мь U Ма).
Установить, в каком случае в этой формуле имеется равенство.
1.13.	Доказать, что:
а)	(Ма U Мь) X Мс = (Ма X Afc) U (Мь х Мс)', б) Ма X (Мь U Мс) = (Ма X Мь) U (Ма X Мс)', в) (MaUMb)x(McUMa) — (Ма кМс)и(МьхМс)и(МаХМа)и(МьХ Ma);
§ 1,11. Задачи и упражнения
87
г)	U	х 0 Мы = П (Ма, х Мы);
д)	П Mai х П Мы = . П n(Mai X Мы)-
1.14.	Построить бинарное отношение:
а)	рефлексивное, симметричное, иетранзитивное;
б)	рефлексивное, транзитивное, несимметричное;
в)	иерефлехсивиое, антисимметричное, иетранзитивное.
1.15.	Какие из следующих отношений являются однозначными, какие обратно однозначными и какие взаимно однозначными:
(х, у) € R 44 у есть отец х,
(х, у) € R 44 у есть сын х,
(х, у) € R 44 х = у2,
(х, у) е R 44 X2 = у,
(х, у) € R 44 |х + 5| > |3 - у|?
1.16.	Найти число всевозможных антисимметричных бинарных отношений между элементами конечного множества, состоящего из п элементов.
1.17.	Пусть М — множество всех параллелограммов иа плоскости, Ai — множество квадратов, At — множество прямоугольников, Аз — множество ромбов на плоскости. Найти результаты следующих операций:
AjUAj, А<Г1А>, AiflA,, i, у = 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 построить граф, задающий отношение
Ха < Хь 44 (Vxej, Xbi)(xaj < Xbi)-Выяснить, задает ли этот граф алгебру, если да, то установить результат операций умножения и сложения.
1.26.	Обозначим через
(Ма х Mb, p) = RaX Rb, Ra = (Ма, < ), Rb = (Mb, < ), множество, для которого
(mej, тпы)р(тпац ты) 44 maj <	< ть(.
Показать, что:
88
Гл. 1. Основы многосортных множеств
a)	Ra х Rb — частично упорядоченное множество;
б)	Ra х Rb является цепью только в том случае, если Ra или Rb состоит из одного элемента.
1.27.	Доказать, что любая цепь является дистрибутивной решеткой.
1.28.	Интервал [а, Ь] в частично упорядоченном множестве состоит из всех элементов х, удовлетворяющих условию а < х < Ь. Доказать, что:
а)	сечение двух интервалов является интервалом (быть может, пустым);
б)	любой интервал в решетке является подрешеткой.
1.29.	Рассмотрим объединение множеств взаимно простых чисел М и множества всех произведений, сомножителями которых являются элементы множества М; определим сложение и умножение в этом объединении как вычисление наименьшего общего кратного и наибольшего общего делителя соответственно. Установить, является ли совокупность объединения рассмотренных множеств и операций сложения и умножения булевой алгеброй.
1.30.	Доказать, что в любом коммутативном кольце
(а + Ь)" = а" + £ ап~*Ь* + Ь".
1.31.	Доказать, что в любом коммутативном кольце
a a = a , (ab) == a b , (a ) = a
1.32.	Рассмотрев совокупность {M, 0, +, x), где 0+0 = 0и0х0 = 0, выяснить, является ли она: кольцом; телом; полем.
1.33.	Доказать, что минимальное число цепей в представлении конечного частично упорядоченного множества в виде суммы цепей равно максимальному числу попарно несравнимых элементов.
1.34.	Доказать, что в каждой решетке:
а)	(а < Ь)&(с < d) —>aUc<bUd;
б)	(а < Ь)&(с < Ь) -> a U с < Ь;
в)	(а < b\ —> (Vc)(a U с) < (b U с);
г)	(а < b)iz(c <Д)->аЛс<ЬлД;
д)	(а < Ь)к(а < с) —> а < Ь Л с;
е)	(а < b) —> (Vc)(a Л с) < (Ь Л с).
1.35.	Доказать, что в каждой решетке для любых элементов а, Ь, с:
а)	a U Ь Л с < (a U Ь) Л (a U с);
б)	а л (Ь и с) > а л Ь и а л с;
B)a<6-4aUbflc<(aUc)ni.
1.36.	Доказать, что решетка модулярна тогда и только тогда, когда для любых трех элементов а, Ь, с
а Л Ь U с Л (a U Ь) = (а Л Ь U с) Л (a U Ь).
1.37.	Доказать, что решетка дистрибутивна тогда и только тогда, когда для любых трех элементов а, Ь, с
а Л (Ь U с) U Ь Л с = (с U а Л Ь) Л (a U Ь).
1.38.	Найти множество “запрещенных фигур”, выводящее частично упорядоченное множество из класса решеток.
1.39.	Метрическое пространство является совокупностью множества М с заданным в нем расстоянием з(та, шь) между двумя любыми элементами та, ть € М, удовлетворяющим следующим условиям:
§1.11. Задачи и упражнения 89
з(та, тъ) > 0, если та ть, и з(та, ть) = О, если элементы совпадают; з(та, тъ) — з(ть, та);
з(та, ть) + з(ть, тс) < з(та, тс) (условие треугольника).
Задать метрику в гиперкубе и установить, что она собой представляет.
1.40.	Доказать, что в совершенной НФК множества М при замене каждой операции объединения иа симметрическую разность равенство ие нарушается.
1.41.	Установить, является ли форма
M(Mi, М2, Мз) = Mt Л М2 П Мз U Mt Л М1 Л Мз U Ж совершенной.
1.42.	Установить, является ли форма
M(Mt, М2, Мз) ~ Mt П М2 U Mt U Мз U М2 Л Мз U Mt Л Мз сокращенной.
1.43.	Минимизировать в классе нормальных форм Кантора множество М, заданное как объединение своих конституент:
M(Mt, М2, Мз, Mt) = U(0, 2, 7, 8, 11, 14, 15), где десятичные числа являются числовыми эквивалентами двоичных векторов, определяющих соответствующие хоиституенты этого множества.
1.44.	Определить сложность минимальной скобочной формы множества М, заданного своей нормальной формой:
М = Mt Л М2 Л Мз U Mt Л М2 Л Мз U Mt Л М3 Л М4 Л
Л М6 U М2 Л М4 Л Мз Л Me-
1.45.	Найти число тупиковых НФК множества
M(Mt, М2, Мз, Mt) = М[пМ2ПМзиМ[пМ2ПМ4иМгпМ^п
лЛАлм7иМ1ЛЛ^лм4.
1.46.	Определить ранг (число конституент) множества
M(Mt, М2, ..., Me) — (М4 Л Me U Mt Л Мз) Л (Mt Л Мз U Мз Л Me)-
1.47.	Найти минимальную НФК множества М, определенного в четырехмерном пространстве:
М = U(1 - 00, -110, 0101, -0-1, 0010, -01-, 0- 0-).
1.48.	Определить уменьшение мощности сигнатуры мографа GM(M), определяющего множество
M(Mt, Мз, Мз, Mt) = U(0, 4, 6, 7, 8, 9, 11, 13, 15), после минимизации в классе НФК.
1.49.	Определить мощность класса множеств, каждое из которых ие содер-п	п __
жит два пересечения A Mi и A Mi в n-мериом пространстве.
1.50.	Определить уменьшение мощности носителя мографа GM(M), определяющего множество
M(Mt, Мз, Мз, Mi) = U(0, 1, 2, 3, 5, 11, 15), после минимизации в классе НФК.
1.51.	Найти минимальную скобочную форму представления множества М(М4, Мз, Мз, 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,7. Множество цифр симметрическое, число разрядов после запятой брать для обеих систем равным 3.
1.54.	Записать числа 39.88 и —101 в системах счисления с основанием з = = 4, 8, 12. Множество цифр асимметрическое в положительную сторону.
1.55.	Записать числа 88, 41 в системе счисления с основанием 6 и цифрами — 1, 0, 1, 2, 3, 4. Число разрядов после запятой взять равным 4.
1.56.	Записать число —0.77 в системе счисления с основанием 10 и цифрами —3, —2, —1, 0, 1, 2, 3, 4, 5, 6. Число разрядов после запятой взять равным 4.
1.57.	В системе счисления с основанием 5 записано число 22001. Найти его десятичный эквивалент. Какому числу будет соответствовать этот же код, если система счисления десятичная?
1.58.	Установить, в какой системе счисления произведено следующее действие: (23 — 5) + (1 — 642) = 42423. Цифры, стоящие на месте прочерков, не известны.
1.59.	Записать числа 71, —16 и 203 в системе счисления с основанием 2-1. Чему равен десятичный эквивалент полученного кода, если рассматривать его как запись в двоичной системе? Множество цифр естественное.
1.60.	Доказать следующую теорему: в системе счисления с натуральным основанием естественное множество цифр позволяет однозначно закодировать любой количественный эквивалент.
1.61.	Обосновать правила перевода целых и дробных чисел из системы с натуральным основанием R в систему с натуральным основанием Q.
1.62.	Установить правила перевода чисел из десятичной системы счисления в систему счисления с основанием 2 и естественным множеством цифр.
1.63.	Установить правила перевода записей из системы счисления с основанием —3 и естественным алфавитом цифр в систему счисления с основанием 3 и той же совокупностью цифр.
1.64.	Определить, как меняется запись числа при переходе от системы с S = = 3 и симметрическим множеством цифр к системе S = — 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 в обратном коде в системе счисления с S = 11 и естественным множеством цифр.
1.72.	Записать в дополнительном ходе число —65 в системе счисления с S = = 4 и цифрами —3, —2, —1, 0.
§1.11, Задачи и упражнения
91
1.73.	Установить зависимость между дополнительным и обратным ходами числа х в системе с натуральным основанием S и естественным множеством цифр.
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 в системе счисления с S = 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 и —З5 • 0,102 в троичной системе счисления с цифрами 0, 1, 2. Результат перевести в обычную запись.
1.85.	Найти сумму чисел —7-1 х 0.11066 и —7° х 0.11055 в дополнительном ходе в системе счисления с S — 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 на 42  0.3301. Подсчитать при поиске мантиссы частного пять цифр. Результат перевести в двоичную запись с цифрами 0, 1.
1.90.	Найти частное от деления 21 -0.1101 на —2s -0.1001. Результат деления мантисс должен содержать пять разрядов н быть нормализованным.
1.91.	Определить правила сложения и умножения одного разряда для троичной системы с симметрическим множеством цифр. Используя эти правила,
92
Гл. 1. Основы многосортных множеств
найти сумму и произведение чисел 0.1101 и 0.1101. В этой записи цифра I соответствует количественному эпвиваленту, равному —1.
1.92.	Установить правила сложения и умножения в системе счисления с основанием 6 и асимметрическим множеством цифр, смещенным в отрицательную сторону. Найти сумму и произведение чисел —0.3012 и 0.1102. Черточка над цифрой означает, что она отрицательна.
1.93.	Определить правила сложения в двоичной системе счисления с цифрами I, 0, 1. Найти сумму чисел 0.11011 и 0.11101.
1.94.	Сколькими способами можно закодировать десять десятичных цифр двоичными тетрадами?
1.95.	Сколькими способами можно осуществить кодирование из предшествующей задачи, если потребовать еще взаимно однозначное соответствие цифр и тетрад?
1.96.	Найти сумму чисел 5764 и 2433 в коде прямого замещения и в коде с избытком 3.
1.97.	Найти сумму чисел —79 и —981 в коде с избытком 3.
1.98.	Установить правила сложения в коде с избытком 6. Сложить, используя эти правила, числа 293 и 479.
1.99.	Доказать утверждение: если все веса в двоично-десятичиом кодировании pt неотрицательны, то все они строго положительны.
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.	Установить правила сложения и умножения для кода Айкена—Эмери (код с весами (2, 4, 2, 1). Используя эти правила, найти сумму и произведение чисел —401 н 587.
1.106.	Установить правила сложения для кода (2, 5, 2, 1). Найти сумму чисел 90 и 73.
1.107.	Определить правила сложения для кода (3, 3, 2, 1) и найти сумму чисел 601 и —670.
1.108.	В системе модулей <?i = 2, gj = 3, дз = 5 некоторое число имеет код в остатках вида 010. Определить это число.
1.109.	В системе модулей qi = 7, qi = 8 заданы числа хну своими кодами в остатках 31 и 03 соответственно. Установить, что больше: х wai у.
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 — некоторые высказывания, то можно образовать высказывания “F или Q", “Р и Q", “не Р", введя операции дизъюнкции (V), конъюнкции (&) и отрицания ( ). Действия этих операций задаются таблицами истинности (табл. 2.1-2.3), каждой строке которых взаимно однозначно соответствуют набор значений составляющих высказываний и соответствующее значение составного высказывания.
Приведем основные законы, определяющие эти операции: закон идемпотентности дизъюнкции и конъюнкции
а V а = а, а&а = а;
закон коммутативности дизъюнкции и конъюнкции aVb = bV a, a&b = b&a;
закон ассоциативности дизъюнкции и конъюнкции а V (bV с) = (а V b) V с, а&(Ъ&с) = (а & Ь) & с;
(2-1)
(2-2)
(2.3)
§2.1. Логика высказываний 95
закон дистрибутивности конъюнкции относителъ	>но дизъ-
юпкции и дизъюнкции относительно конъюнкции a&:(bV с) = aSzbV aSzc1),	(2.4а)
a V bfoc= (a V b) & (a V c);	(2.46)
закон двойного отрицания	
a = a;	(2-5)
законы де Моргана	
aV b = afob, a&zb — a V b;	(2-6)
законы склеивания	
akbVakb = a, (eV b) & (a V b) = a-,	(2-7)
законы поглощения	
a V a fob = a, a iz (a V b) = a;	(2-8)
законы Порецкого	
a\/akb = aVb, a & (a V b) = a fob;	(2-9)
законы, определяющие действия с константами 0	« 1,
aV0 = a, а&0 = 0, aVl = l, а&1 = а, aV5=l, a&a = 0.	(2.10)
Всякое высказывание, построенное с помощью операций V, &, , имеет некоторое истинное значение, зависящее от значений составляющих высказываний. Любое высказывание f может быть задано в виде таблицы истинности. Если значение высказывания f зависит от п составляющих высказываний Zi, х%, ..., хп, то таблица истинности содержит 2” строк. Составляющее высказывание Х{ будем называть атомарным высказыванием или просто переменной z,-, рассматривая при этом сложное высказывание как функцию f от п переменных.
Рассмотрим, например, устройство, фиксирующее принятие некоторой резолюции “комитетом трех”. Каждый член комитета при одобрении резолюции нажимает свою кнопку; если большинство членов согласны, то резолюция принимается, что фиксируется регистрирующим прибором. Устройство реализует высказывание /(xi, хз, х3), таблица истинности которого имеет вид табл. 2.4.
Таблица 2.4
XI	х2	Хз	f(Xi,X2,X3)	*1	Х2	Хз	/(Z1,Z2,Z3)
0	0	0	0	1	0	0	0
0	0	1	0	1	0	1	1
0	1	0	0	1	1	0	1
0	1	1	1	1	1	1	1
’) Скобки в выражении а & b V а & с не ставим, так хак конъюнкция & хак мультипликативная операция более старшая по отношению к дизъюнкции (являющейся аддитивной операцией) и выполняется в первую очередь.
96
Гл. 2. Математическая логика
Исчисление высказываний можно построить, используя соответствующие таблицы истинности. При этом очевидно, что алгебра высказываний изоморфна алгебре Буля (М, V, &,	), элементы
носителя которой принимают значения 0 или 1, а сигнатура V, &, обладает свойствами операций дистрибутивных решеток с дополнениями. Алгебра Буля простейшая в классе булевых алгебр; она является двухэлементной булевой алгеброй. Алгебру высказываний и законы, определяющие ее сигнатуру, можно получить, формально рассмотрев предельный случай решеток — двухэлементную решетку, в которой a (J b = b при а < Ь. Эта решетка преобразуется в булеву алгебру, если положить а = b, Ъ = а. Одним из элементов двухэлементной булевой алгебры является 0, так как булева алгебра является решеткой с дополнениями, поэтому вторым элементом этой алгебры является 1.
Согласно теоремам 1.2 и 1.5 каждое высказывание и соответствующую ему булеву функцию '/(zi, z2, ..., хп) можно предста-п
вить в виде дизъюнкции конституент & х°', где 1=1
/ xii ai — 1, ‘	I®.’, (?i = 0-
Для рассматриваемого примера f(xi, z2, £з) может быть представлена в виде
f(xi, Z2, Z3) = Х1Х2Х3 V XiX2X3 V X!X2X3 V ZiZ2Z3.
В дальнейшем представление булевой функции /(zi, z2,..., zn) в виде дизъюнкции конституент будем называть совершенной дизъюнктивной нормальной формой функции /(zi, z2,..., z„).
Переменную или ее отрицание будем называть первичным термом.
Количество первичных термов, которые образуют форму, задающую булеву функцию /(zi, z2, ..., zrt), называется сложностью L(f) этой формы.
Сложность совершенной ДНФ функции /(zj, z2, Z3) голосования равна 12. Уменьшим сложность этой функции, используя основные тождества алгебры Буля. Согласно свойствам идемпотентности дизъюнкции имеем
/(Zi, Z2, Z3) = ZiZ2Z3VZ1Z2Z3VZ1Z2Z3VZ1Z2Z3VZ1Z2Z3VZ1Z2Z3. Используя свойства коммутативности, ассоциативности и дистрибутивности, получаем
/(zi, z2, z3) = (zi V xi)x2x3 V (z2 V z2)ziz3 V (z3 V z3)ziz2.
Окончательно имеем
/(Zl, Z2, Z3) = Z2Z3 V Z1Z3 V Z1Z2 = Z3(Z2 V Zi) V Z|X2-
§2.1. Логика высказываний
97
В результате получаем сложность L(f) функции /(ii, х2, хз), равную 5.
Функции х2, хп) и fp(xi, х2, хп) называются равными, если на каждом двоичном наборе (cri, а2, ..ап)
^2, • • •> &п) = //3^1, &2,  • •> &п)'
Количество бит (binary unit — двоичная единица), необходимое для задания булевой функции /(zi, х2, ..хп) в виде таблицы истинности, равно п • 2”. Это количество можно уменьшить в п раз, если использовать двумерную таблицу Вейча. Для этого представим исходное пространство Рп размерности п в виде декартова произведения пространств РП1, РПа размерности щ, п2 соответственно, где П1 + п2 = п.
В двумерной таблице, каждой строке которой взаимно однозначно соответствует точка пространства РП1, каждому столбцу — точка пространства РП2, на пересечении строки и столбца записывается значение булевой функции f(x±, х2, ..., хп) в соответствующей точке пространства Рп.
Пример 2.1. Построим таблицу Вейча для неполностью заданной булевой функции f(xi, х2, ..Хз), задавая двоичные наборы (<ri, <т2, ..., 0’s) десятич-5
ными эквивалентами £ <’’< ’ 2п-‘:
1 иа (0, 6], [5, 29], [2, 10],
0 иа [3, 11], [18, 31].
Булева функция /(xi, Х2, , х$) задана интервалами, слева в квадратной скобке указан минимальный, справа — максимальный элементы. Единичная область этой функции включает интервалы, содержащие соответствующие точки: [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 точках булева функция f(xi, x2, ..., xs) ие определена.
Задание булевой функции называется противоречивым, если пересечение единичной и нулевой области непусто.
Представим исходное множество Рз — {xi, x2, ..., xs} в виде декартова произведения Р2 = {xi, хг} и Рз = {хз, х«, х$}:
Рз = Рз х Рз;
нижний индекс у идентификатора пространства Р указывает размерность пространства.
При таком разбиении переменных Xi, х2, ...,хз таблица Вейча для заданной функции имеет вид табл. 2.5.
Таблица 2.5
471 #2	Z3X4X5							
	0	1	2	3	4	5	6	7
0	1		1	0	1	1	1	
1			1	0		1		
2			0	0		1	0	0
3			0	0		1	0	0
4 В. А. Горбатов
98
Гл. 2. Математическая логика
§ 2.2. Разложение Шеннона. Декомпозиция булевых функций
Рассмотрим разложение булевой функции f(xi, Х2, ..., хп) по к переменным (для определенности по Xi, х%, ..., xt) — разложение Шеннона.
Теорема 2.1. Любая функция f(xi, х%, ..., хп), не равная тождественно нулю, представима в виде разложения Шеннона
/(•Ell X2l • • ч xki	• • 4 xn) =
k
= V ,	a2, •••, Xfc+1, ..., Zn),
где ffi = 0, 1; i = 1, ..k, x? = ( J” £ Z J’
«Vfj '"'I V»
Используя метод полной индукции, покажем, что х?' = 1 <4 <-> Xi = ffi (табл. 2.6).
Подставим произвольно вместо первых к переменных их зна-
чения: Xi = ст;, х2 = ст;, ..., Xk = ст£. Тогда левая часть доказываемой формулы равна/(ст;, ст$, ...., ст£,х*+1, ..., хп). Правая часть представляет собой дизъюнкцию 2к конъюнкций вида	. .t£*/(cti,
С?2, • • •! &к, Хк+1, • • хп)> которые этой подстановкой разбиваются на два класса. К
Таблица 2.6
Xi	ffi	
0	0	6-1
0	1	0
1	0	1 = 0
1	1	1
первому классу относится конъюнкция, у
которой набор (cti, Ст2, ..., ст*,) совпадает с набором (ст;, ст;, ..., ст£):
(ст;Н(ст;)<<. .(ст;)^/(ст;, ст;,.., ст;, zfc+1,.., Хп) =
— 1 ‘ 1 ’ • • •  1 ' /(^11 &2>  • •> &ki xk-j-lt • • •> ^n) =
— /(°1, °2, . . ., Zfc-j-i, . . ., Хп).
Эта конъюнкция равна левой части формулы. Ко второму классу относится 2fc-1 конъюнкций, у каждой из которых хотя бы в одной переменной х,, г 6 {1, 2, ..., к}, а* / ст,-. Следовательно, каждая из них равна нулю. Тогда согласно закону, характеризующему действия с константами: а V 0 = а, получаем, что левая и правая части формул равны при любой подстановке переменных ®1> x2i ••ч хк-
Следствие. Предельное разложение Шеннона {к = п) булевой функции /(zi, Z2, ..., xn)i не равной 0, имеет вид
/(zi, х2, ..., хп) = V &L х^.	(2.11)
(/(<ri,a2,...,a„)=l)
§ 2.2. Разложение Шеннона. Декомпозиция булевых функций 99
Предельное разложение Шеннона булевой функции /(®i, хч,..., хп) является ее совершенной дизъюнктивной нормальной формой.
В алгебре Буля справедлив принцип двойственности, поскольку, как было показано в гл. 1, она является дистрибутивной решеткой с дополнением. Согласно этому принципу имеем следующие двойственные разложения Шеннона булевой функции f(xi,X2,... ..., Xk, Xk+i,..., хп} по к переменным:
У(®1, 12, . . ., Ifc, Ifc-j-l, •  •, Хп} — к _
= V	СТ2, ..., Zfc+1, ..., zn).
V(<ri,<72,...,
Согласно закону двойного отрицания /(ii, Х2, ..., хп} = f(xi, i2, • • •> хп) имеем
/(ll, Х2, . . ., Хк, Хк+1, . . ., In) =
— f	• • •> Хк, • • •, Хп} —
к _
= V	Xi' а2, •••> <7fc, Ifc+1, ..., Xn} =
(к _____ \
=	& ч V V/(cti, ст2, ..., CTfc, zfc+i, ..., z„)) . (2.12)
V(ai,<r2,...,a*) \»=1	/
Таким образом, любая булева функция f(xi, Х2, ..., in), не равная тождественно 1, представима в виде выражения (2.12).
При к = п двойственное предельное разложение имеет вид
Двойственное предельное разложение Шеннона булевой функции /(ii,i2, ..in) является ее совершенной конъюнктивной нормальной формой.
Пример 2.2. Построим совершенные ДНФ и КНФ булевой функции /(xi, хз, хз), заданной таблицей истинности (табл. 2.7).
Таблица 2.7
11	Хз	Хз	/(Х1,Х2,Хз)	11	ХЗ	Хз	/(Х1,Х2,Хз)
0	0	0	1	1	0	0	0
0	0	1	0	1	0	1	1
0	1	0	1	1	1	0	0
0	1	1	0	1	1	1	1
100
Гл. 2. Математическая логика
Совершенные ДНФ и КНФ этой функции имеют соответственно вид
f(ll, Х2, Хз) = Х1Х2Х3 V 11Х2Хз V Х1Х2Х3 V 11X2X3,
/(xi, Х2, Хз) = (xi V Х2 Vxs)(xi VX2 \/Хз)(Х1 V Х2 V X3)(xi Vl2 V Хз).
Далее будет рассмотрена теория ДНФ, из которой на основании принципа двойственности легко построить теорию КНФ.
Будем называть булевы функции /(xi, £2, • • •, Xfc, х*,+1, ..хп) в выражениях (2.10) и (2.12) остаточными мультипликативными и аддитивными функциями соответственно.
Укажем на важную связь между разложениями Шеннона и таблицами Вейча.
Представим исходное пространство Рп(Х) в виде декартова произведения пространств РДХа) и РДХь), Ха U Хь = -¥,-¥аГ) Г)Хь = 0, k + s = n:
Рп(Х) = РДХа) х Р,(ХЬ).
Каждой строке таблицы Вейча взаимно однозначно сопоставим точку пространства РДХа), столбцу — точку пространства Ра (Хь) и рассмотрим разложение Шеннона булевой функции f(xai, ха2,..., хак, х^, хь2, хь,) по первым к переменным. Тогда, очевидно, i-я строка таблицы Вейча, идентифицируемая конъюнкцией ха“1 &	&... & ха**, соответствует остаточной функции
f (о-а1 > Оаг > • • •>	> • • •> хЪг)'
Будем называть разложение Шеннона булевой функции f(X) строчным, если разложение осуществляется по переменным, соответствующим строкам таблицы Вейча.
Аналогично определяется столбцевое разложение Шеннона булевой функции /(х): у-й столбец таблицы Вейча, идентифицируемый конъюнкцией х^1 &: х^2	. .& х^‘, соответствует оста-
точной функции
f(%ai, ®а2 , • • •>	, ^Ь2 > ' ' •» ^Ъ,)-
Найденная связь позволяет сводить исследование булевых функций к анализу функций от меньшего числа переменных путем построения декомпозиции исходных булевых функций.
Декомпозицией булевой функции f(xi, Х2, ..., хп) называется посет, носителем которого являются терминальные {х,} и функциональные {/, Fi, <pj, ...} переменные, сигнатурой — отношение включения одной переменной в качестве аргумента другой.
Теорема 2.2. Булева функция f(xi, Х2, ..., хп) декомпозируема, если найдется разбиение ее переменных {ха1, ха2, ... ..., хОй}, {xbi, хь2, •  хь,} такое, что при объединении строк или столбцов в соответствующей таблице Вейча не образуется противоречивого задания, при котором
[log2 2VJ < к или [log2 М] < s,
§ 2.2. Разложение Шеннона. Декомпозиция булевых функций 101
где [ ] — целое ближайшее число', Na — число различных строк таблицы Вейча (число остаточных булевых функций строчного разложения), каждая пара которых ipil, уц2 не находится в отношении включения: <ptl £ Nb — число различных столбцов таблицы Вейча (число остаточных булевых функций {</>,} столбцевого разложения), попарно не находящихся в отношении включения: £ <р22.
Пример 2.3. Рассмотрим построение декомпозиции булевой функции /(п, Х2, ..., хз), заданной табл. 2.5. Остаточные функции строчного разложения у>о, y>i и у>2, <рз находятся в отношении включения: <ро Э <pi, <рз D <рз: объединяя соответствующие строки, получаем табл. 2.8.
Таблица 2.8
Х1Х2	Z3X4X5							
	0	1	2	3	4	5	6	7
0,1	1		1	0	1	1	1	
2,3			0	0		1	0	0
Отсюда получим Na = 2, к = 2, (log2 2] < 2. Следовательно, можно вместо двух терминальных переменных, xi и хз, ввести функциональную переменную tpi и, кодируя первую строку в табл. 2.8 нулем, вторую — единицей, получить зависимость
Vi(xi, хг)|1 = V(2, 3).
Аналогично, объединяя столбцы {0, 1, 2, 4, 6, 7}, {3} и {5}, получаем таблицу Вейча в виде табл. 2.9.
Таблица 2.9
	ГЗХ4Г5		
	0,1, 2,4,6, 7	3	5
0	1	0	1
1	0	0	1
Отсюда получим Nb = 3, S — 3, p6g2 3] < 3.
Три полученных различных столбца кодируем, вводя две функциональные переменные <рз, <рз: первый столбец закодируем в виде 00, второй — 01, третий — 10. Отсюда получаем зависимости
4>2(хз, it, is)|i = V(5), <рз(хз, Xi, х$)|1 = V(3).
В результате введения функциональных переменных <pi, <Р2, <рз получаем таблицу Вейча (табл. 2.10), определяющую заданную функцию f(xi, х2, ..., х&) через функциональные переменные <pi, <рз, <рз.
Таблица 2.10
Vi			
	0,1,2,4,6,7	3	5
0	1	0	1
1	0	0	1
Таблица Вейча (табл. 2.10) определяет внешнюю функцию г,,	х f 1 иа 0, 2, 6,
F(V1, V2,V3) = (0 на
102
Гл. 2. Математическая логика
построенной декомпозиции (рис. 2.1) заданной булевой функции
f(xi, х2, ..., х5) =F(v>i(xi, х2), (v>2(i3, Xi, хз), ч>з(х3, Х4, Хз)).
Рис. 2.1
Исследование функции от пяти переменных заменено на анализ одной функции от двух переменных и трех функций от трех переменных.
§ 2.3. Минимизация булевых функций в классе ДНФ
Часто, как было уже показано, двоичные наборы задают де-п
сятичными эквивалентами: (ctj, ст2> • • •> <*п) о $3<т,'2п-’; булеву i=i
функцию — перечислением десятичных эквивалентов, соответствующих конституентам (конъюнкциям предельного разложения Шеннона). Например, /(zj, х2, гз)|1 = V(0, 1, 2, 3, 7) (табл. 2.11).
Таблица 2.11
Десятичный эквивалент	XI	х2	хз	/(xi.xa.xs)
0	0	0	0	1
1	0	0	1	1
2	0	1	0	1
3	0	1	1	1
4	1	0	0	0
5	1	0	1	0
6	1	1	0	0
7	1	1	1	1
Зададим булеву функцию f(xi, х2, ..., хп) с помощью гиперкуба, каждой вершине которого взаимно однозначно соответствует двоичный набор (ffi, а2, ..., стп); вершины упорядочены по ярусам (в г-й ярус входят (”) вершин, которым соответствуют двоичные наборы, содержащие г единиц); вершины соединены ребром,
§2.3. Минимизация булевых функций в классе ДНФ 103
если соответствующие им двоичные наборы отличаются в одном и только одном разряде.
Вершины, в которых f(xi, 12, • • хп) = 1 и которые образуют гиперкуб, порождают единичный интервал этой функции. Единичный интервал 1а булевой функции f называется максимальным, если не найдется единичный интервал Д, строго включающий 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}.
Конъюнкция, соответствующая максимальному единичному интервалу функции /, называется простой импликантой этой функции:	{() j, 2 3} „	7) „ 121з
Будем задавать единичный интервал перечислением вершин, а также с помощью последовательности символов 0, 1, —, где прочерк означает отсутствие в конъюнкции соответствующей перемен-Н0Й:	{0, 1, 2, 3} о 0-, {3, 7} Н- -11.
Дизъюнкция всех простых импликант булевой функции называется сокращенной ДНФ этой функции.
Переход от совершенной ДНФ к сокращенной однозначен и осуществляется с помощью попарного сравнения конституент соседних ярусов (номера которых отличаются на единицу).
Пример 2.4. Найдем сокращенную ДНФ булевой функции f(xi, х?, хз, ц) (рис. 2.2): f(n, хз, х3, n)|i = V(0, 1, 2, 3, 6, 7, 8, 10, 12, 14, 15).
Сравнивая точку 0000 нулевого яруса с точками первого яруса 1000, 0010 и 0001, получаем три ребра, -ООО, 00—0 и ООО- соответственно, которые образуют
104
Гл. 2. Математическая логика
нулевой реберный ярус. Действуя аналогично, получаем: ребра первого яруса
{8, 12} -> 1-00, {2, 6} -> 0-10,
{8, 10} -> 10-0, {2, 3} -> 001-,
{2, 10} -> -010, {1, 3} ->00-1;
ребра второго яруса
{12, 14}—> 11—О, {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-;
второй —
{011-, 111-} = {-001, -111} -> -11- .
Все шестнадцать ребер включены в грани, следовательно, ни одна из них не образует максимальный интервал.
Сравнивая грани соседних ярусов, замечаем, что ни одна из пар сравниваемых граней ие образует куб. Следовательно, все шесть граней являются максимальными интервалами, и соответствующие им конъюнкции представляют собой простые импликанты. В результате сокращенная ДНФ рассматриваемой булевой функции имеет вид
/(xi, Х2, хз, it) = Г2Х4 V Г1Г2 V Г1Г4 V г 3X4 V Х1Г3 V Г2Х3,
и сложность ее 12.
Сложность уменьшится до 6 в результате определения минимального покрытия столбцов строками в импликантной таблице (табл. 2.12)
Таблица 2.12
Простые импликанты	Коиституенты										
	0	1	2	3	6	7	8	10	12	14	15
-0-0	1		1				1	1			
00		1	Ф	1	1							
1	0							Ф	Ф	Ф	Ф	
	10			1		1			1		1	
0-1-			1	1	1	1					
-11-					1	1				1	Ф
§ 2.3. Минимизация булевых функций в классе ДНФ 105
В столбцах, соответствующих конституеитам 1, 12 и 15, находится одна 1, следовательно, соответствующие строки {00-, 1-0, —11—} образуют ядро
покрытия. Это ядро является покрытием столбцов строками, следовательно, оно минимальное (рис. 2.2):
f(xi, Х2, Хз, Х<) — Х1Х2 v Х1Х4 V Г2Х3.
Большое значение имеют слабоопределенные булевы функции f(xi, х2, хп) которые обладают следующими свойствами:
1)	число переменных п велико;
2)	мощность объединения единичной Vi и нулевой Vo областей намного меньше, чем 2П, где единичную и нулевую области образуют вершины, в которых функция равна соответственно 1 и 0;
3)	единичная и нулевая области задаются соответствующими интервалами.
Множество вершин гиперкуба, на которых функция равна 0 и которые образуют гиперкуб, называется нулевым интервалом. Сокращенную ДНФ слабоопределенных функций строят с помощью таблицы различий.
Таблицей различий называется двумерная таблица размера n X |Vol> каждой строке которой взаимно однозначно соответствует разряд рассматриваемого единичного интервала, столбцу — нулевой интервал, а на пересечении г-й строки с у'-м столбцом находится результат операции:
0ф0 = 0, 1ф0=1, - ф 0 = О, 0ф1 = 1, 1 ф 1 = 0, -ф1 = 0, 0ф-=0, 1ф-=0, -ф —=0, причем в качестве первого аргумента берется значение г-го разряда единичного интервала, в качестве второго — значение г-го разряда нулевого интервала, соответствующего у-му столбцу.
Выделение максимальных интервалов сводится к покрытию столбцов строками таблицы различий. В самом деле, максимальные интервалы в слабоопределенных функциях состоят из вершин единичной и неопределенной областей. Единица в клетке (г, у) таблицы различий показывает, что если оставить г-й разряд в конъюнкции, то у-й нулевой интервал не входит в гиперкуб, соответствующий этой конъюнкции. Следовательно, покрытие столбцов строками порождает максимальный интервал полностью определенной булевой функции f(xi, х2, • • •> хп), единичная и нулевая области которой включают соответственно единичную и нулевую области заданной функции /(xi, х2, •••> хп)> Функция f(xi, х2,..., хп) называется мажорирующей функцию f(xi, х2,... • • •> ®n), f(xl, х2, • • •> хп) Э f(xl, х2, • • ; Zn).
Пример 2.5. Найдем минимальную ДНФ булевой функции
_ / 1 иа интервалах 0—0—0—0, 11—0—01, 0—001—, ЛП, хз, • •., х7) -	0 иа интервалах Ю-0-01, 00-10-, 1101-0-
106
Гл. 2. Математическая логика
или функции, заданной с помощью десятичных эквивалентов минимальных и максимальных элементов соответствующих интервалов, которые получаются в результате подстановки нулевого (00.. .0) и единичного (11.. .1) кода вместо прочерков:
Г1 на интервалах (0, 42], [97, 117], [2, 51], (®1, хз, ..., Х7) на интервалах [65, 85], [4, 29], [104, 109].
Выделим множество максимальных интервалов {Гмакс}, содержащих единичный интервал [0, 42] по таблице различий (табл. 2.13), у которой строки идентифицированы буквами а, Ь, с, d, е, д, h.
Таблица 2.13
Единичный интервал		Нулевые интервалы		
		[65,85]	[4,29]	[104,109]
а	0	1	0	1
ь	—	0	0	0
с	0	0	0	0
d	—	0	0	0
е	0	0	1	0
9	—	0	0	0
h	0	1	0	0
ДНФ функции /<*1. Х2.х„)
Рис. 2.3
Тупиковые ДНФ функции х2............х„)
Используя метод Петрика, найдем все покрытия этой таблицы (aVA)ea = ае. Имеем одно покрытие, соответствующее максимальному интервалу 0-0— D
D [0, 59], которому соответствует простая импликанта xixs.
Аналогично находим множества максимальных интервалов, содержащих остальные единичные интервалы:
{/м«с D [97, П7]} = {[32, 119]} <-> х2х4, Э [2, 51]} = {[0, 59], [2, 123]} <-> xtxs, xsx6.
В результате получена сокращенная ДНФ булевой функции/(xj, х2, ..., х2), являющейся уже полностью определенной. Единичная область Vi функции f содержит единичную область Vi функции /: Vi D Vi, нулевая область Vo функции f — нулевую область Vo функции /: Vo Э Vo;
У(Х1, Х2, . . ., Xt) = XiXs V Г2Г4 V xsxo.
Выделение максимальных интервалов, построение сокращенной ДНФ функции f — первый этап минимизации в классе ДНФ, при этом нулевой столбец в таблице различий указывает на противоречивость заданной функции. Вторым этапом является переход от сокращенной ДНФ~функции f к тупиковой ДНФ
этой функции (рис. 2.3). Функция f мажорирует заданную функцию /, f D f.
§2.3. Минимизация булевых функций в классе ДНФ 107
Тупиковой ДНФ булевой функции f(x\, Х2,..., хп) называется ДНФ, не определяющая функцию f с точностью до неопределенной области при вычеркивании хотя бы одного произвольного первичного терма х"'. Тупиковая ДНФ булевой функции получается в результате покрытия столбцов строками импликантной таблицы (двумерной таблицы, каждой строке которой взаимно однозначно соответствует максимальный интервал, столбцу — единичный интервал, а на пересечении г-й строки с у-м столбцом находится 1, если j-й единичный интервал входит в г-й максимальный интервал, в противном случае на пересечении находится 0).
Построим для рассматриваемого примера импликантную таблицу (табл. 2.14).
Таблица 2.14
Максимальные единичные интервалы функции /	Единичные интервалы функции f		
	[0,42]	[95,117]	[2,51]
[0, 59]	1	0	1
[32,119] .	0	1	0
[2,123]	0	0	1
Таблица имеет одно покрытие, его образуют первая и вторая строки. Это покрытие порождает тупиковую ДНФ функции
f(xi, Х2, . . п) == Х1Х5 V ГаЗЦ.
Теоретически число тупиковых ДНФ булевой функции /(xi, Х2,..., гп) при п —> оо растет как число всех различных булевых функций от п переменных 22". Практически же количество тупиковых ДНФ увеличивается значительно медленнее, чем 22", из-за большого количества недоопределенных вершин гиперкуба. Перебор всех тупиковых ДНФ булевой функции определяет выбор минимальной ДНФ этой функции.
В рассматриваемом примере тупиковая ДНФ одна; следовательно, она является минимальной ДНФ функции f(x\, х?, ...
f(a, b, с, d) — adV be,
где а = xi, b = Х2, с = х^, d = х$. При таком доопределении функция зависит от четырех переменных.
Булева функция, полученная из функции f(x\, Х2,..., хп) фиксированием г-й переменной, i G {1, 2, ..., п}, как уже было определено, называется остаточной. Если г, = 1, то остаточная функция называется единичной, если х, = 0 — нулевой.
Булева функция f(xi, г2> •••> гп) несущественно зависит от г-й переменной, если ее остаточные функции по этой переменной равны.
108
Гл. 2. Математическая логика
§ 2.4.	Полнота. Построение суперпозиций булевых функций
Любое сложное высказывание можно представить в виде выражения, в которое входят простые высказывания (переменные) х,, операции дизъюнкции, конъюнкции, отрицания и, быть может, скобки. Рассмотрим, каким свойствам должны удовлетворять операции, с помощью которых можно выражать любое сложное высказывание.
Будем моделировать конъюнкцию и дизъюнкцию соответственно последовательным и параллельным соединением ключевых элементов (для определенности — полупроводниковых), отрицание — включением нагрузки в коллекторную цепь транзистора. Тогда полученная в конце предыдущего параграфа булева функция реализуется в виде интегрального модуля со схемой, изображенной на рис. 2.4. Обозначим операцию, реализуемую этим элементом,
Рис. 2.4
как О(а, b, с, d) и рассмотрим алгебру высказываний вида (М, □), где М — логические высказывания и П(а, b, с, d) = ad V be.
Установим, можно ли любую булеву функцию /(®i,	• • •, ®п)
выразить в виде суперпозиции системы S — {□}, как это возможно для случая системы {V, &, }.
Суперпозицией системы
S = {</?i(«1, х2,.:., xkl), <p2(xi, х2,..., хк2),..., <pi(x!,x2,..., zfc()} называется любая функция /, полученная:
а)	из</>у(х1, х2, ..., хк]) переименованием переменных, G S;
б)	подстановкой вместо некоторых переменных функции
<pa(xi, х2, ..., хка) функций «р/ц, х2, ..., хк.), <ра, е S;
в)	с помощью многократного применения пп. а) и б).
Система S называется полной в Рк, если любая функция / G G Рк представима в виде суперпозиции этой системы; система S называется базисом, если полнота S теряется при удалении хотя бы одной функции, где Рк — fc-Значная логика.
§ 2.4. Полнота. Построение суперпозиций булевых функций 109
Выразим дизъюнкцию и отрицание через П(а, b, с, d); тогда согласно разложению Шеннона и закону де Моргана любую булеву функцию /(xi, х2, ..гп) можно выразить через S = {□}:
а = О(а, а, а, а);
а V /3 -= aoiV /3/3 = □(<*, /3, /3, а) =
= □(□(а, а, а, а), /?, □(/?, /3, /3, /3), D(a, а, а, а)).
В общем случае для установления полноты системы S булевых функций fi (S в Р2) используют критерий полноты Поста-Яблонского.
Определим предварительно пять классов булевых функций.
Классом Ко булевых функций fi(xi, х2, • • •> хп), сохраняющих константу 0, называется множество функций вида
Х2,  • ; хп)/ /,(0, 0, ..., 0) = 0}.
Классом К\ булевых функций fi(xi, х2, ..., хп), сохраняющих константу 1, называется множество функций вида
<Л(®1. х2, •  Хп)/ fi(l, 1, • • 1) = 1}.
На примере системы S — {□} рассмотрим тесты распознавания функций, обладающих этими свойствами:
□(а, Ь, с, d) = ad V be,
□(О, 0, 0, 0) = Об V Об - 1 V 0 = 1, О(а, Ь, с, d) £ Ко,
□(1, 1, 1, 1) = Il Vll = 0V0 = 0, а(а, Ь, с, d) £ Ki.
Классом Кл линейных булевых функций fi(xi, х2, ..., хп) называется множество функций вида
{ЛСч, х2, ..., хп)/ fi(xi, х2, ..., хп) = с0 ф 52 с,я,}, i
где ф — знак операции сложения по модулю 2: ОфО = 0, 0ф1 = 1, 1 Ф 0 = 1, 1 ф 1 = 0.
Установим, является ли булева функция О(а, Ь, с, d) линейной. Предположим, что она линейная и, следовательно, представима в виде
□(а, Ь, с, d) = со ф соа ф сьЬ ф с£с ф cad.
Определим коэффициент со: 0(0, 0, 0, 0) = 1, но по предположению 0(0, О, О, 0) = со. Следовательно, со = 1.
Аналогично определим коэффициенты са, сь, сс, cj, фиксируя соответственно наборы 1000, 0100, 0010, 0001. Имеем:
□(1, о, о, o)=T ovo-6 = ovo = o,
1 ф Са • 1 ф Сь • 0 ф Сс • 0 ф Cd • 0 = 1 ф са, 1 ф са = 0, со = 1;
□(О, 1, 0, 0)=00Vl-6=lVl = l,
1 ф 1  0 ф сь • 1 ф сс • 0 ф cj  0 = 1 ф сь, 1фсь = 1, сь = 0;
110
Гл. 2. Математическая логика
□(О, 0, 1, 0) = 0-0 V0 -1 = 1 V0 = 1,
1 ф 1 • 0 фО • 0 ф Сс  1 фс<*  0 = 1 ©Сс, 1фСс = 1, сс = 0;
0(0, о, о, i)=o-Tvo o = ovo = o,
1ф1-0ф0-0ф0-0фс(1-1 = 0, 1фСг = 0, cd = 1.
Подставляя значения коэффициентов в приведенное выше выражение, получаем
О(а, Ь, с, d) = 1 ф а ф d.
Это равенство в каждой из остальных 11 точек не сохраняется. Действительно, в точке (1, 1, 1, 1) имеем
0(1, 1, 1, 1) =TTvio = ovo = o, 1Ф1Ф1?=1, 0#1.
Следовательно, сделанное предположение является неверным.
Функция О(а, Ь, с, d) нелинейная: D(a, b, с, d) £ КЛ.
Классом самодвойственных булевых функций fi(xi, х2, •  • ..хп) называется множество булевых функций вида
х2, . хп)/ ffXi, х2> ..хп) = fifo, х2, ..хп)}.
Рассмотрим свойство самодвойственности булевой функции О(а, Ь, с, d). Построим таблицу значений 2 х 2” (п = 4), в которой в первой строке располагаются десятичные эквиваленты, соответствующие наборам X = (a, b, с, d), во второй — значения функции f(X) = О(а, Ъ, с, d), которые соответствуют этим наборам.
Таблица 2.15
X	0	1	2	3	4	5	6	7	8	9	10	11	12	13	14	15
т	1	0	1	0	1	1	1	0	0	0	1	0	1	1	0	0
Функция самодвойственная, если на любой паре противоположных наборов (наборов, сумма десятичных эквивалентов которых равна 2п — 1) функция принимает противоположные значения.
Функция □(<!, Ь, с, d) ие является самодвойственной: 0(7) = 0(8).
Классом Км монотонных булевых функций fifxx, х2, ..хп) называется множество булевых функций вида
{/.(®1, Х2,   хп)/ (стр ст2*, ..., а*} > (cti, а2, ..стп)
« > °i, i = 1, 2, n) ->
/(ст?, ct$, ..., ст*) > /(стг, ст2, ..., стп)}.
Для тестирования функции О(а, Ь, с, d) на монотонность построим гиперкуб и проанализируем распределение в нем значений этой функции (рис. 2.5).
Если найдется хотя бы одно ребро, концам которого сопоставлены двоичные наборы (<rj,<rj,...,<гХ) и (<Т1,<Г2,.. .,<гп) вида (erj.erj,.. .,<т„) > (ffi, <Т2,.. .,ап),
§2.4. Полнота. Построение суперпозиций булевых функций 111
для которых	< /(<п, сгз,.. .,<Гп), то такая булева функция явля-
ется немонотонной. Другими словами, в гиперкубе найдется хотя бы один О, Покрывающий 1.
110
101
ОШ
010
Г1Т1100 ГО
ПО
0001
ООО
100
10
Рис. 2.5
Рассматриваемая булева функция О(а, Ь, с, d) немонотонная (рис. 2.5): (1, 0, 0, 0) > (0, 0, 0, 0), /(1, 0, 0, 0) < /(О, 0, 0, 0).
0101 10)0011
Критерий полноты. Система S булевых функций fa является полной тогда и только тогда, когда выполняются пять условий: существует функция fa 6 S, не сохраняющая константу 0, fa /<о; функция fa G S, не сохраняющая константу 1, fa f Ki; нелинейная функция, несамодвойственная функция и немонотонная функция в системе S.
Используя критерий полноты и метод Петрика, построим возможные базисы в Р2 с нуль-, одно- и двуместными операциями.
Построим все булевы функции от двух переменных (табл. 2.16).
Таблица 2.16
Переменные		Булевы								>уикции							
XI	х2	/о	fl	Л	/з	Л	/»	ft	/т	/а	/»	/10	/п	/12	/13	/14	/15
0 0 1 1	0 1 0 1	0 0 0 0	0 0 0 1	0 0 1 0	0 0 1 1	0 1 0 0	0 1 0 1	0 1 1 0	0 1 1 1	1 0 0 0	1 0 0 1	1 0 1 0	1 0 1 1	1 1 0 0	1 1 0 1	1 1 1 0	1 1 1 1
Индекс г функциональной переменной fa, i = 0, 1, 2, ..., 15, равен десятичному эквивалентному набору значений этой функции, читаемому сверху вниз. Приведем эти булевы функции:
/о(®1, Х2) = 0 — константа 0;
A(xi, гг) = xiXi — конъюнкция;
112
Гл. 2. Математическая логика
/2(xi, х2) —	— xi V Х2 = Xi —> х2 = х\ -*► Х2 — левая
коимпликация (читается “не если х\, то х2”> префикс ко — от лат. conversus — обратный);
/з(®1, х2) = xix2 V ziz2 = ХУ,
fa(xi, х2) = Х1Х2 = xi V х2 = xi <— Х2 = xi Х2 — правая коимпликация]
fb(xl, х2) = Х1Х2 V Х1Х2 = х2‘,
. fe(xi, Х2) = Х1Х2 V xix2 = xi ф х2 — сложение по модулю 2 или функция неравнозначности, неэквивалентности-,
/7(2:1, Х2) = xi V х2 — дизъюнкция-,
fe(xi, х2) = xix2 = xi V х2 = xi о х2 — функция Вебба]
fa(xi, Х2) = iix2 V х4х2 = х\ ~ х2 — функция эквивалентности, равнозначности]
/ю(х1, х2) = х2 — отрицание]
fn(xi, х2) = Х1Ж2 VxiX2Vxi2:2 = х2 V хг = xi <— х2 — правая импликация (читается “если х2, то xi”);
/12(^1, х2) = xi — отрицание]
Лз(х1, х2) = Х1Ж2 V Х1Х2 V Х1Х2 = xi V х2 = xi —> г2 — левая импликация (читается “если х\, то х2”);
fu(xi, х2) = xix2 V ®ix2 V xix2 = xi V х2 = Х1|г:2 — функция Шеффера]
fis(xi, ^2) = 1 — константа 1.
Для порождения всех базисов в Р2 построим двумерную табл. 2.17, каждой строке которой взаимно однозначно сопоставим
Таблица 2.17
Идентификатор строки	Функции /.	Классы				
		к0	К!		кс	км
а	0		1		1	
ь	1			1	1	
с	2		1	1	1	1
d	6		1		1	1
е	7			1	1	
9	8	1	1	1	1	1
к	9	1			1	1
т	12	1	1			1
п	13	1		1	1	1
р	14	1	1	1	1	1
г	15	1			1	
одиннадцать функций (функции /3, /4, /5, /ю, /ц не рассматриваем), столбцу — класс Kq (функции, сохраняющие константу 0), Ki (функции, сохраняющие константу 1), Кя (линейные функции), Кс (самодвойственные функции), Км (монотонные функций)
§2.4. Полнота. Построение суперпозиций булевых функций 113 и в клетке (г, j) ставим 1, если г-я функция не принадлежит у-му классу, в противном случае клетку (г, у) оставляем пустой.
Методом Петрика преобразуя мультипликативно-аддитивную форму в аддитивно-мультипликативную, порождаем все покрытия столбцов строками этой таблицы:
(gV k V mV nV pV r)(aV eV dV gV mV p)(bv eV eV д V nV р) & &(aV bV eV dV eV gV kV nV pV r)(cV dV gV kv mV nV p) = = {gVakVkcVkdVmVanVcnVdnypVarV crV rd) fc
& (6 V eV eV gV nV p)(cV dV g V к V mV nV p) =
=	(g V ak V kc V kd V m V an V cn V dn V p V ar V cr V rd) &;
(eV g V nV pV bdv bkV bm V edV ekV em) =
=	gV pV abk V keV anV enV dnV ake V kbd V ked V
V тс V тп V bm V me V crV rbd V red =
= gV pV keV anV enV dnV тс V тп V bm V me V
V crV abk V ake V kbd V ked V rbd V red.
Каждое из полученных покрытий яг,- порождает базис В,-:
= {в}	= {о} — базис Вебба',
тг2 = {р} Н- В2 = {|} — базис Шеффера-, яг3 = {к, с} н- В3 = {+►, ЯГ4 = {a, n} н	= {—>, 0} — импликативный базис;
яг5 = {с, п} н- В5 = {->, -**};
яг6 = {d, п} Н- В6 = {->, ф};
тт7 = {т, с}	Bj = {-*>,	} —	коимпликативный базис;
яг8 = {т, п}	Вз = {—>,	} —	импликативный базис;
яг9 = {Ь, т} Вд = {&, } — конъюнктивный базис Буля; Дю = {т, eJoBio = {&,	} —	дизъюнктивный базис Буля;
ттц = {с, Г}	Вц = {-*+,	1} —	коимпликативный базис;
яг12 = {а, Ь, к} н- В12 = {~,	0};
яг13 = {а, к, е) о В13 = {~, V, 0);
ЯГ14 = {к, b, d} Вц = {ф, &, тг15 = {к, е, d} н- В15 = {ф, V, 7Г16 = {Г, b, d} н- В16 = {ф, &, 1} — базис Жегалкина; ^17 = {г, е, d} н- В17 = {ф, V, 1}.
Получено 17 базисов, в каждом из которых нельзя вычеркнуть ни одну функцию без потери полноты в Р2. Каждому сложному высказыванию в системе {V, &, } соответствует эквивалентное высказывание в любом из этих базисов. Например, высказыванию
114
Гл. 2. Математическая логика
“не а или b и с” в импликативном базисе {—>, } соответствует эквивалентное высказывание “если а, то не если Ь, то не с”:
а\/ bc= а —> bc = а —>bVc = а —> (Ъ —> с) .
Техническая реализация базисных функций может быть основана на использовании различных физических явлений, например, импликация и коимпликация может быть основана на использовании магнитных явлений, а функции Шеффера и Вебба — на использовании явлений в полупроводниках.
Базисные элементы графически изображают в виде прямоугольников, в которых инверсные входы и выход изображают в виде незаштрихованных кружков и в верхнем правом углу ставят 1, если внешняя связка — дизъюнкция, и &, если — конъюнкция, за исключением сложения по модулю 2 (тогда сверху ставят М2) и эквивалентности (обозначают =) (рис. 2.6, а). Более сложные элементы графически изображают в виде композиций перечисленных
а	б
Рис. 2.6
элементов на основе представления реализуемой этим элементом булевой функции в виде ДНФ или КНФ. Например, рассмотренный выше элемент П(а, b, с, d) графически можно представить в виде прямоугольника (рис. 2.6,6), соответствующего ДНФ функции D(a, b, с, d) = adV be.
Рассмотрим метод построения суперпозиций булевых функций в заданном базисе — метод непосредственного моделирования.
1.	Для заданной булевой функции находят ее оптимальную в смысле количества связок V, к, скобочную форму, т. е. форму,
§ 2.4.	Полнота. Построение суперпозиций булевых функций 115 представляющую собой композицию первичных термов х°', i = 1, 2, ..п, операций V, &, и скобок, вводимых в выражение булевой функции на основе использования закона дистрибутивности.	_
2.	Выражают классические связки V, &, в виде суперпозиции заданного базиса.
3.	Подставляют результаты п. 2 в выражение, полученное в п. 1± отмечая штриховой линией стыки блоков, моделирующих V, &, в заданном базисе.
4.	Анализируя стыки, устраняют избыточность логической схемы, используя закон двойного отрицания.
Пример 2.6. Синтезировать логическую схему, реализующую булеву функ-ЦИЮ fir г г г г \ 1 1 на -0 - Ю, 10 - 11, 0 - 101, f(xi, х2, хз, И, xs) - | 0 иа 1 _ 10_, 1 _ 001, 0 - 100
в базисе В = {—>, 0}.
1.	Покрывая таблицы различий (табл. 2.18), найдем сокращенную ДНФ полностью определенной булевой функции /, единичная Mi н нулевая Мо области
Таблица 2.18
Интервалы единичной области функции f		Интервалы нулевой области функции f		
		1-10-	1-001	0-100
—	—	0	0	0
Х2	0	0	0	0
—	—	0	0	0
Xi	1	1	1	1
Хз	0	0	1	0
XI	1	0	0	1
Х2	0	0	0	0
—	—	0	0	0
Xi	1	1	1	1
хз	1	0	0	1
XI	0	1	1	0
—	—	0	0	0
Хз	1	0	1	0
Xi	0	0	0	0
— Г5	1	0	0	1
которой включают соответственно единичную и нулевую области заданной функции f, f Э f. Функция f мажорирует функцию /. Сокращенная ДНФ функции / имеет следующий вид:
f(xi, х2, ..., хз) = ц Vrns.
Эта форма является и минимальной.
2.	Выражаем связки V, &, через связки импликативного базиса:
_ а = а -> О,
_________а У Ъ — аУ Ь = а -> Ь = (а -> 0) -> Ь, а-Ь = а\/Ь = а->Ь = а->(Ь->0) = (а -> (Ь -> 0)) -> 0.
116
Гл. 2. Математическая логика
3. Выполнение п. 3 представим в виде графа, вершины которого взвешены символами f, Xi, 0 (рис. 2.7, а). В данном базисе закон двойного отрица-
Рис. 2.7
ния можно изобразить так, как показано на рис. 2.7, б. Устраняя избыточность, получаем логическую схему S (рис. 2.7,в), которая определяет суперпозицию в импликативном базисе рассматриваемой функции /,
/(ri, г2, ..., rs) = (г5 -> п) -> г«.
Описанный метод синтеза можно с успехом применять при проектировании простых схем.
§ 2.5.	Дифференцирование булевых функций
Рассмотрим метод, позволяющий проектировать логические схемы и соответствующие им суперпозиции большей сложности — метод каскадов.
Метод каскадов, основанный на разложении Шеннона
/(^1,  • •>	 • •> ®п) =
k
= V & xi /(<71, °2> • • •>	• • •, ®n)>
У(<Г1,<Г2,...,<Г*) »«1
позволяет при наличии блоков исключения к переменных свести реализацию булевой функции от п переменных к реализации функции от п — к, к > 1, переменных. Размерность остаточных функций /(ai, <72, • • •> ак> хк+1 , • • •> хп) в свою очередь можно понизить, исключая t переменных до тех пор, пока остаточные функции не примут простой вид и их реализация в заданном базисе не будет очевидной. .
Сложность остаточных функций зависит от порядка исключения переменных в заданной булевой функции /(ху, хг, • • •, ®п)-Число всевозможных способов исключения переменных растет комбинаторно. Например, при использовании только блоков, исключающих одну и ту же переменную на каждом ярусе, это число
§2.5. Дифференцирование булевых функций 117
равно п!, но на каждом ярусе можно исключить не только одну и ту же переменную, но и различные переменные; далее, можно исключать на каждом шаге различное число переменных (одну, две, три и т. д.). Выбор оптимального исключения переменных перебором всех способов исключения — трудоемкий процесс.
Оптимальное исключение переменных ищут, используя эвристические критерии, один из которых основан на использовании понятия производной от булевой функции.
Производная первого порядка df/dii от булевой функции f по переменной х,- есть сумма по модулю 2 соответствующих остаточных функций:
— f(,xli х2, • • •> xi—1> li • • ч ^п) Ф
Ф f(xl> х2> • • ч xi—1) 0, . . ., ®п)1 (2.13)
где f(xi, Х2, ..., x,-i, 1, ..., хп) — единичная остаточная функция; f(xi, I?, ..., г,_1, 0, ..., хп) — нулевая остаточная функция; ф — сумма по модулю 2.
Единичная остаточная функция получается в результате приравнивания переменной г, единице, нулевая — приравниванием Xi нулю.
Пример 2.7. Вычислим производную d//dri от булевой функции
f(xlt Х2, хз)|1 = V(0, 4, 7),
где 0, 4, 7 — десятичные эквиваленты двоичных наборов, на которых функция f равна 1:
/(Xl, Х2, Хз) = Х2ХЗ V Г1Г2Гз-
Согласно определению
О е	___ _
g— = (l2X3 v Х2Х3) ф Х2ХЗ — (х2Хз V Х2Х3) kX2X3 V (х2Х3 V X2X3)&X2X3 =
= (х2хз V х2хз)(х2 V хз) V (х2 V хз)(х2 V хз) 4г х2хз = х2хз.
Производная первого порядка df/dx; от булевой функции f(xi, х2, хп) определяет условия, при которых эта функция изменяет значение при переключении переменной х, (при изменении значения х/ на противоположное).
В рассмотренном примере функция f(xi, х2, гз) изменяет свое значение а на а(<г —> а), а = 0, 1, при изменении значения переменной xi, <ti —> ai при условии, что конъюнкция х2хз принимает значение “истинно”, т. е. х2 — = 13 = 1.
Смешанной производной dkf/(dxildxi2...dxik) от булевой функции f по переменным х^,	, ..., xtJk называется выраже-
ние вида
dkf = д ( dk'kf \
dxit dxi2. ..dxtkl dxik dxik dxi2.. .dxik_k J '
118
Гл. 2. Математическая логика
Смешанную производную fc-ro порядка dkf/(dx{l дх,2.. .дх{к) вычисляют, применяя соотношение (2.13) к раз фиксацией переменных xtl, хг?, ..., х,к (порядок фиксации переменных не имеет значения); количество упорядочиваний равно fc!
Производная к-го порядка dkf/d(xi2, х,-2, ..х,й) от булевой функции f(x\, Х2, ..Хп) по переменным х,-2, ..определяет условия, при которых эта функция изменяет значение при одновременном изменении значений переменных , х,2, ...
Согласно Бохману производная к-го порядка дкf/д{х{1, Х{2, ..., х,й) от булевой функции f(x\, Х2, ..., хп) по переменным х(2, х,-2, ..., х<к равна сумме по модулю 2 всех производных первого порядка, вторых, третьих и т. д., k-х смешанных производных при фиксации переменных хп, х,2, ..., Х{к:
dkf	yr^df	82f
? =	52 п п Ф
, xi2,	xik)	dii . дх{ дх,
® S дх^х^дха®'"ф dx{ldxi2...dxik' (2,15)
i, j, s, ... = , »2, ..., ifc.
Пример 2.8. Определим условия переключения выходного канала f логической схемы, реализующей булеву функцию /(xi, х2, хз) = xix2 V Х1Х3, прн переключении каждого входного канала, первого и второго каналов одновременно и всех трех каналов xi, х2, хз одновременно. Имеем
f
--	 = Х2 V Хз, -Z- = П Ф = п(1 фхз) = Г1Хз, ох\-----------------дх2
df дхз
= XjX2 ф Xl = Х1(х2 ф 1) = Х1Х2.
Условие df /dxi = 1 является условием переключения выходного канала f при переключении входного канала xi: при подаче на второй канал 1 или на третий 0, при переключении первого канала xi с а на а (а -> а) выходной канал переключается с а на а (а -> а, а — 0, 1). Выходной канал / переключается (<г -> а) при переключении входного канала х2 (а —> а), если xi = хз — 1, и f переключается (<г —> о), когда переключается хз (а —> а) при xi = 1, х2 = О, а — 0, 1. Далее находим
д (df\ , _
3--а-- = п— I -- 1 = 1 © ^3 = ^3
0Хч 0X2	0X2 \ЭХ1 /
э2/	df	df ai4
-----Г = Ч— Ф a— Ф a a— = (X2 V Хз) ® rlr3 ф Хз =
d(Xi, x2)	dxi	dx2	dxidx2	’
— (x2 \/Гз)фХз(Х1 Ф1) = (r2VX3)®XlX3 — (r2VX3) fcxiX3V(r2 VX3)kxiX3 =
= (r2 V хз)(х1 V хз) V х2хз &Х1Хз = хз V xix2 Vxix2X3 = Хз V XiX2 V xix2.
§ 2.5. Дифференцирование булевых функций 119
Выходной канал f переключается при любом одновременном переключении входных каналов xi, х2, когда хз = 0, или независимо от состояния входного канала хз при переключении xi и х2 с 11 на 00 или с 00 на 11. Вычислим З3flд(ц, х2, хз):
_ д ( df\ =	-	Э2/ = д ( df\
dxi дхз дхз \3xi / 12	Х2' дх2дхз дхз \дх2)
а3/	= a f cPf \ = г
дх^дхздхз dxi \dx2dx3J ’
а3/	_ а/ а/ а/ а2/	а2/	а2/
3(xi, х2, хз) dxi дх2 дхз дх\дх2 дхудхз дх2 дхз
f
ф Ч--------- = (х2 V Х3) ф Х,Хз ф XjX2 ф Хз ф Х2 ф Xl ф 1 =
dxi ох 2 дхз
= (х2 Ухз) ф Хз(Х1 ф 1) ф x2(xi ф 1) ®Х1 = (х2 V хз) ф Х1Х3 ФХ1Х2 ф *1 =
= (Х2 V хз) фХ1Хз ф Т1(х2 ф 1) = (х2 V Хз) ф?1ГЗ ®Х1(Х2 Ф 1) =
= ((X2VX3) &X1X3VX2 V Хз &Х1Хз)фХ1Х2 = ((*2УХз)(Х1УХз)УХ2Хз & Х1Хз)ф
ф Х1Х2 = (хз V Х1Х2 V Х1Х2Х3) ф Х1Х2 = (?3 V Х1Х2 V Х1Х2) Ф Х1Х2 =
= (хз V 11X2 V Х1Х2) kxiX2 V (хз v Х1Х2 VX1X2) &Х1Х2 =
= (хз V Х1Х2 V Х1Хг)(Х1 V Х2) V Хз(х1 V Х2)(Х1 V Хз)Х1Х2 =
= Х1Х3 V Х1Х2 V Х2Х3 V Х1Х2 V Х1Х2Х3 =
= Х1Х2Х3 V Х1Х2Х3 V X1X2I3 V х1X2X3 V Х1Х2Х3 V Х1Х2Х3.
При переключении входного вектора 4 <-> 3, 6 Н 1 и 7 Н 0 выходной канал f переключается.
Критерий оптимального исключения переменных в методе каскадов заключается в исключении сначала переменных, при переключении которых булева функция переключается при максимальном числе условий. Это максимальное число определяется весом производной.
Весом производной от булевой функции называется число конституент этой производной.
При использовании блоков, исключающих к переменных, находят производные fc-ro порядка от реализуемой функции и ищут максимальное значение веса производной P^dkf/d(xilt х{2, ... ..., г,Л)), которое и определяет исключаемые переменные. Для полученных остаточных булевых функций снова находятся производные: определяются веса, а производная от рассматриваемой остаточной функции, имеющая максимальный вес, определяет соответствующие переменные, которые исключаются на этом
120
Гл. 2. Математическая логика
ярусе для этой остаточной функции, и т. д., пока остаточные функции не будут иметь простую реализацию.
Пример 2.9. Синтезируем логическую схему, реализующую булеву функцию
f(ll, Х2, . . ., Хз) = Х1Х2Х3 VX1X3X4 V Х1Х3Х5 V Х1Х2Х4 V Х2Х3Х3 V Х3Х4Х5,
используя блоки исключения одной переменной (рис. 2.8, а). Определим пере-меннуюх,-, по которой производная dy/dxi имеет максимальный вес, т. е. функ-
Рис. 2.8
ция f(xi, Хз,  ., хз) зависит от нее наиболее существенно. Имеем
—--- = (Х2Х3 V Х3Х5 V Х2Х4 V Х2Х3Х5 V 1314X5) ф (Х3Х4 V Х2Х3Х5 V Х3Х4Х5).
dxi
Для вычисления веса производной d//dxi, зависящей от четырех переменных хз, хз, Х4, хз, представим 4-мериое пространство с образующими {хз, хз, Х4, хз} в виде декартова произведения двух двумерных пространств {12, хз} х х{х4, хз} с образующими {хг, хз} и {х4, хз} соответственно. Тогда производную dy/dxi можно задать в виде двумерной таблицы: каждому значению <72, <7з переменных хг, хз взаимно однозначно соответствует строка таблицы, столбцу — значения <74, <7з переменных Х4, хз и на пересечении »-й строки и у-го столбца, взаимно однозначно соответствующем точке четырехмерного пространства с образующими {хг, хз, Х4, хз}, записываем значение d//dxi в этой точке. Вес производной d//dxi равен числу единиц в этой таблице (табл. 2.19).
Таблица 2.19
X2X3	Х4Х5			
	0	1	2	3
0 1 2 3	0 1 0 1	0 0 0 0	1 1 0 1	1 0 0 1
§2.5. Дифференцирование булевых функций
121
Итак, P(df/dxi) = 7. Аналогично вычислим вес производных df/dn, » = 2, 3, 4, 5 (табл. 2.20-2.23). Имеем:
—— = (11X3*4 v X1I3T5 v XiXf V 0x2	_	,	____
V Х3Х4Х3) Ф (*1*з V ХЦ3Х4 V V Х1Х3Х3 V I3I5 V Х3Х4Х3),
df
= (11X2 V ills V Х1Х2Х4 V Отз _ ч	_
V Л2Я5) ® (хщ V Х1Г2Х4 V Х4Х5).
df , -
—— = (iiijхз V х 1X3X4 V X1I2I4 V
Sis _	_	_
Vхг*з V Х3Х4)Ф(*1X213V V Х1Х3Х4 V хиз V 1112*4),
О/
= (11X2X3 v Х1Х3 V Х1Х3Х5 V
0x4	—	.	. _
V Х1Х2 V Х2*3*з) Ф (*1*2*3 V
V 11*3X5 VХ2*з*з V*3*s),
Максимальное значение max P(df /дц) получено при дифференцировании
функции f по переменной хз- Исключая эту переменную, получаем две остаточные функции: единичную /(ц, *2, хз = 1, Х4, хз) = /(1) и нулевую /(ц, *2, Хз = О, Х4, хз) = У(0); /(1) = ЦХ2 V nxs V Х1Х2Х4 V Х2Х5, 7(0) = Х1Х4 V VX1X2X4 V X4I5.
Аналогично определяем оптимальное исключение переменных на следующем ярусе логической схемы (табл. 2.24-2.27):
= (х2 V хз V Х2Х4 V vXi	_ _______
V X2Xs) Ф Я2Х5,
Таблица 2.24
Х2	X4XS			
	0	1	2	3
0 1	1 1	0 0	1 1	0 1
Р(Э/(1)/Э»1) = 5;
„	= (хцз V Х1Х4) Ф
ф (xi V Х1Х5 V хз),
Таблица 2.25
XI	X4XS			
	0	1	2	3
0 1	0 0	1 1	0 0	1 0
Р(Э/(1)/Э»2) = 3;
122
Гл. 2. Математическая логика
dfW dl4
= (Х1Т2 V ЦХ2Х4 У Х2)ф ох$
ф (xiX2 V II V Х1Х2Х4),
= (Х1Х2 V ХЦЗ V ЦХ2 V
V Х2Х5) ф (Х1Х2 V Х1Хь VX2X5),
Таблица 2.26
XI	Х2Х5			
	0	1	2	3
0 1	0 0	0 0	0 0	0 1
P(df(l)/dxi) = 1;
Таблица 2.27
XI	Х2Х4			
	0	1	2	3
0 1	1 0	1 0	0 1	0 0
Р(Э/(1)/0х5) = 3.
Исключая переменную xi, получаем остаточные функции вида
f(xi = 1, Х2, Хз = 1, Xi, хз) = У(1, 1) = Х2 Vis V Х2Х4 V X2X3 — Х2 V Х3 V Xi, f(xi = О, Х2, Хз = 1, х4, Хз) = 7(1, 0) = Х2Х5,
/(0) = Х1Х4 V Х1Х2Х4 V Х4Х3 = Х1Х4 V Х2Х4 V Х4Х3.
Определяем оптимальное исключение переменной для булевой функции f(0) =
— (X1X4 V Х4 V X4I5) Ф
0X2
© (Х1Х4 V Х4Х5),
Таблица 2.29
— f(xi, хз, 0, х4) (табл. 2.28-2.31):
= (*2X4X5 V х«х5) Ф oxi	_
ф (Х4 V Х2Х4 V Х4Х5), Таблица 2.28
Х2	Х4Х5			
	0	1	2	3
0 1	0 0	0 0	1 0	1 0
XI	Х4Х5			
	0	1	2	3
0 1	0 0	0 0	0 1	0 1
P(ay(o)/axi) = 2;
-д^°" = (xi Vj2)®*5,
ОХ4	'
Таблица 2.30
XI	Х2Х5			
	0	1	2	3
0 1	1 0	0 1	1 1	0 0
P(df(O)/dxi) = 4;
Р(Э/(0)/Эх2) = 2;
= (Х1Х4 V Х2Х4 V Х4) ф дхз
ф (Х1Х4 V Х2Х4),
Таблица 2.31
				
XI	Х2Х4			
	0	1	2	3
0 1	1 1	0 0	1 1	0 0
P(df (0)/дхз) = 4.
Исключая переменную х4, получаем остаточные функции вида У(*1, Х2, Хз ~ 0, Xi = 1, хз) = /(0, 1) = Х1 V х2, У(Х1, Х2, Хз = О, Х4 = 0, хз) = /(О, 0) = хз.
В результате получаем логическую схему, реализующую функцию f(xi, хз,,-- , хз) (рис. 2.8,6).
§2.6. Разложение функции в заданной точке пространства 123
Критерий оптимального исключения переменных имеет эвристический характер, что основано на предположении о том, что чем больше вес производной P(df /дх{), тем больше функция f зависит от переменной х,. Если имеются блоки исключения к переменных, то построение схемы проводят аналогично, вычисляя вес производных к-то порядка Р(дк//д(х,1, х,-2, ..., х,к)).
§ 2.6. Разложение булевой функции в заданной точке пространства
В дискретной математике отсутствует понятие предела, однако в выражениях (2.13)-(2.15) используется термин “производная”. Это связано с разложением булевой функции в ряд, аналогичный ряду Маклорена в точке 00.. .0 или ряду Тейлора в произвольной точке пространства. Рассмотрим данные разложения булевой функции f(xlt х2, ..., хп).
Две функции fa и fp называются взаимно ортогональными, если их конъюнкция равна 0: fa&fp — 0. Выражение (2.11)
эквивалентно равенству	п
/(xi, х2, ..., хп) = g & хр ,
(2.16)
где — сложение по mod 2, так как а7Д = афДфаДи кон-ституенты единицы функции /(xi, х2, ..., хп) попарно взаимно ортогональны.
Заменим в выражении (2.16) в каждой конституенте х, на (х,- ф ф 1). Применяя следующие тождества:
коммутативности
а ф /3 = /Эфа;
ассоциативности
а ф (Д ф 7) = (а ф Д) ф у;
дистрибутивности конъюнкции относительно сложения по модулю 2
(Д ф 7) = (а&Д) ф (а&7);	(2.17)
действия с константами
афа = 0, аф1 = а, аф0 = а, афа=1;
получаем представление функции /(xi, х2, ..., хп) в виде
п	п
f(x\, Х2, . . ., Хп) = /о ф	ф fj^Xj^Xj^ ф . . .
n «1=1	’J=1
• • • Ф $)^	/«’1 «2 •••*’*	®*2 ‘ Ф " • •
...®fl2...nX1X2...Xn,	(2.18)
124
Гл. 2. Математическая логика
ГДе Уо, j fiiii j •  •>	) •  > /12...п о, 1) il, t2j • • •> ik £ {0,
1, ..., n}, индексы (»1, i2, • • ifc) попарно не равны друг другу, что в дальнейшем обозначаем как ®(й, 12, •  ifc)-
Выражение (2.18) называется полиномом Жегалкина функции /(Ж1, х2, хп}.
Последовательно продифференцируем полином Жегалкина функции /(®i, х2, ..., хп) по переменным xj, х2, .., xt и определим значение этой производной в точке 00.. .0. Учитывая, что
0(/Ф?) = д/ д<р дх дх^ дх'
А / п \ п ( & Xj ) =	& Xj,
дх, \j=i j=i, j^i J
(2.19)
(2.20)
после дифференцирования по переменным xi, х2,   , хк получаем
dkf dxi дх2 .. .dxk
= fl2...k-
00...0
Действительно, после дифференцирования по переменным xj, х2, ..., х^ все члены разложения в выражении (2.18) до fi2„.k обращаются в 0, а в результате подстановки Xk+i = х^+2 = ... ... = хп = 0 остальные члены этого разложения, кроме fi2...k, также будут равны 0. Отсюда получаем теорему о разложении любой булевой функции /(xi, х2, ..., хп) в точке 00.. .0.
Теорема 2.3. Любая булева функция /(xi, х2, ..., хп) представ има своим значением в точке 00.. .0 и значениями всех производных
df d2f	dnf
дх^ ’ dx^ dxi2 ’ ' dxi dx2 ... dxn
в этой точке в виде
f(xi, а=2,
•> хп) — /(0, 0,
d2f dxidxj
& XiXj ф ... 00...0
&х,- ф
п
dkf
«Ь’2,—,«'*=1
5х,1 dxi2.. .dxik
00...0
&х,4 xi2 ...xik ф...ф -— -------—	&XiX2...x,
dxidx2...dxn ад 0
(2.21)
Й) *2) • • •, it) • • •, in G {1, 2, ..., n}, ®(ii, i2, ..., it, ..., in)-
§2.6. Разложение функции в заданной точке пространства 125
Пример 2.10. Найдем разложение булевой функции /(xi, хз, Хз, х<)| = V(0, 2, 4, 6, 13) в точке 0000.
Вычисляем производные первого порядка и смешанные производные от булевой функции f(xi, хз, хз, xt):
=	= 1)ф/(х,=0);
I = 1, f(Xl = 1) = Х2Х3Х4,	_
f{Xl = 0) — Х2Х3Х4 V Х2Х3Х4 V Х2Х3Х4 V Х2Х3Х4 — Xi, df _	_	—------ _	_	_	_
-— = X2X3X4 Ф Xi = X2X3X4 • Xi V X2X3X4 • Xi = Xi V X2X3; dxi
t = 2, f(x2 = 1) = X1X3X4 VX1X3X4 V X1X3X4 = Х1Г4 V X1X3X4, f(x2 =0) =11X3X4 VX1X3X4 =X1X4, df .______________ _ . _ _
X— = (X1X4 v X1X3X4) ФХ1Х4 = X1X3X4; 0X2
1 = 3, /(хз = 1) = X1X2X4 V X1X2X4 = X1X4,
У(хз = 0) = X1X2X4 v X1X2X4 V X1X2I4 = X1X4 V X1X2X4, О f
•X- — X1X4 ф (xiX4 V X1X2X4) = X1X2X4;
дхз
t = 4, f{ii = 1) = X1X2X3,
У(х4 = 0) = X1X2X3 V X1X2X3 V X1X2X3 V X1X2X3 = xi, df _	_	----=- _
—— s= X1X2X3 Ф x\ = X1X2Z3 • xi V X1X2X3 • xi — x\ V X2X3. 0x4
Вычислим вторые смешанные производные Э2 f /(du dxj):				
t = 1, ji = 2,	&f = dxi 0x2	d dl2	\ dxi >	1 = (X4 V хз) Ф Xi =
				— Xi V X3 • Xi V (x4 V X3) • Xi = X3X4 /
	d2f	d	( df >	
1 = 1, J = 3,	dxi дхз	dxi	^5x3 )	1 =X2X4;
	&f	d	( 9f )	
« = 1, j = 4,	dxi dii	dxi	^9x4 j	| = X2X3 ф 1 = хг V хз;
	&f	d	(df}	
« = 2, j = 3,	дхз дхз	дхз	^3X2 )	| = X1X4;
	&f	d ।	(df\	
				
	di2 dxt	dxi '	^3X2 )	
	d^f	a ।		
t = 3, j = 4,	дхз dxt	dxt ’	(.Эхз )	1 = X1X2.
126
Гл. 2. Математическая логика
Вычислим третьи смешанные производные Э3 f /(dxi Эх, дхь):
_	d3f	df ePf \ * ~ J —	gX1 gX2 дХз дХ1 \^дх2 di3 )	= X4\
 „ ,	&f	д f d2f \ , = l,j=2, k = 4,	„ -5 7 -	=	а я ~ 0X2 0X4	0X\ \0x20x4 J	= X3\
-	-ak-4	\ *	1’	’ dxidxsdx4 dxi \dxsdx4)	= X2-,
0X2 0X3 0X4	0X2 \ 0x3 0X4 J	= Xi.
Наконец, четвертая смешанная производная Э4//(Эц di2 дхз dx4) имеет вид
d*f = д /	а3/	\ = 1
dxi дхз дхздх4 dxi \dx2dx3dx4J
Производные
df df d2 f d?f d2 f d2f d2 f di2' дхз ’ dxi di2 ' dxi dxs di2 di3 ’ di2 dx4 ’ di3dx4’
d*f dif &f dx\ di2 di3' dxi di3 dx4 ’ dx2 dxs dx4
в точке 0000 равны нулю, остальные — единице.
Согласно выражению (2.21) имеем разложение рассматриваемой булевой функции в точке 0000 в виде
f(xi, Х2, Хз, Х4) = 1 Ф XI ф Х4 ф Х1Х4 ф ф Z1Z2Z3Z4.
Для получения разложения булевой функции в ряд, аналогичный ряду Тэйлора в точке сг^- • .стп, введем новые координаты х{ х2, ..., х'п, где = х,фст,-, i = 1, 2, ..п. Тогда точка стхст2.. .стп, в координатах xlt х2, • • •> хп будет соответствовать точке 00.. .0 в координатах х[, х2, х'п. Используя разложение (2.21) булевой функции в точке 00.. .0 в координатах х[, х2, ..., х'п и заменяя каждую переменную х< на х, ф ст,, i = 1, 2, ..., п, получаем теорему о разложении булевой функции f(xi, ж2, ..., хп) в точке СТ1СТ2. . ,стп.
Теорема 2.4. Любая булева функция /(®i, х2, ..., хп) определяется своим значением в точке Ст1ст2...стп и значениями всех своих производных
df, d2f	dnf
дх41 ’ дх41 dxi2 ’ 'dxi дх2 ... дхп
§2.7. Исчисление высказываний
127
в этой точке согласно выражению
п Of
f(X!, Х2, . . Хп) = 7(^1, СГ2, • • , СГп) Ф у-	&
,=1 °Х{ aia2...<rn
d2f
9xidxi а1<Г2....п
& (х,- ф a,)(xj ф crj) ф ...
dkf
dxtl dxi2 ...dxik
п
&: (хъ Ф а,;) ф ...
7=1
О‘1<72...<7п '
dxi дх2. ..дхп
ib(xi®cri)-, (2.22)
<Г1<72...<7„ ’ —
*2> • • •, ^fc, • • •> in £ {1> 2, . . ., п}, ®(Й, 12>
•> *fc> • • •> in)-
Найдем разложение рассматриваемой булевой функции /(xi, х2, хз, х4) в точке 1010. Производные
а/ а/ а/ а2/	52/	а2/	52/	а2/
дх2’ дх3' 5х4’ 5xi5х2’ 5xi5х3’ 5х25х3’ 5х25х4’ 5х35х4’
d3f_________d3f_________d3f
дх^ дх2 5x3 ’ 5xi 5x2 5x4 ’ 5xi 5x3 5x4 равны нулю в точке 1010, остальные — единице.
Согласно теореме 2.3 имеем разложение булевой функции в виде
/(11, Х2, Хз, Х4) = (Х1 ф 1) ф (Х1 ф 1) • х4 ф х2 • (х3 ф 1) • х4 ф
ф (Х1 ф 1) • х2(хз ф 1) • Х4 = Х1 ф Х1Х4 ф Х2ХзХ4 ф Х1Х2Х3Х4.
§ 2.7.	Исчисление высказываний
Исчисление высказываний как формальную теорию можно определить с помощью аксиоматического метода.
Аксиоматическая (формальная) теория Т считается определенной, если выполнены следующие условия:
1)	задано некоторое счетное множество, т. е. множество, элементы которого могут быть взаимно однозначно сопоставлены элементам натурального ряда 1, 2, ... символов — символов теории Т. Конечные последовательности символов теории называются выражениями теории Т;
128
Гл. 2. Математическая логика
2)	имеется подмножество выражений теории Т, называемых формулами теории Т (формулы теории Т часто называют правильно построенными формулами). Чтобы определить, является ли выражение формулой в теории, существует эффективная процедура;
3)	выделено некоторое множество формул, называемых аксиомами теории Т\
4)	имеется конечное множество 7?i, R2,..., Rn отношений между формулами, называемых правилами вывода. Для каждого Д, существует натуральное j такое, что для всякого множества, состоящего из j формул, и для всякой формулы F эффективно решается вопрос о том, находятся ли данные j формул в отношении 72, с формулой F, и если да, то F называется непосредственным следствием данных j формул по правилу R{.
Выводом в Т называется всякая последовательность Fi, F?, ..., Fm формул такая, что для любого i формула F, есть либо аксиома теории Т, либо непосредственное следствие каких-либо предыдущих формул.
Формула F теории Т называется теоремой теорий Т, если существует такой вывод в Г, в котором последней формулой является F; этот вывод называется выводом формулы F. В общем случае может не существовать эффективной процедуры, с помощью которой можно определить по данной формуле, существует ли ее вывод в теории Т.
Формула, для которой такая процедура существует, называется разрешимой в этой теории, в противном случае — неразрешимой. Иначе говоря, для неразрешимых формул нельзя построить алгоритм выяснения свойства формулы быть теоремой, для этого требуются все новые и новые озарения (изобретательства), не поддающиеся формализации.
Используя понятие аксиоматической теории Т, определим исчисление высказываний в дизъюнктивном базисе Буля.
1. Символами теории Т являются V, , (, ) и буквы т,- с целыми положительными числами в качестве индексов: mi, m2, ... Символы V, называются связками, а буквы т,- — пропозициональными буквами.
2. а) Все пропозициональные буквы являются формулами;
б)	если Ап В — формулы, то (AvB) и (А) — также формулы;
в)	выражение является формулой тогда и только тогда, когда это может быть установлено с помощью п. а) и б).
Таким образом, всякая формула исчисления высказываний есть некая пропозициональная формула, построенная из пропозициональных букв с помощью связок V и
§2.7. Исчисление высказывании
129
3.	Каковы бы ни были формулы А, В, С теории Т, следующие формулы есть аксиомы Т:
А V А -> А, А V В -> В V А, A-tAVB, (B-+C)->(AVB->AVC), .где запись и а -> /3 эквивалентна записи а V /3.
4.	Правила вывода исчисления высказываний следующие.
Правило подстановки: если а — выводимая формула и вместо любой переменной в этой формуле всюду произвести подстановку любой формулы, то новая формула также является выводимой.
Правило заключения: если а —> /3 и а — выводимые формулы, то /3 также выводимая формула;
Например, если высказывания А и А -> (q -> А) истинны, то высказывание q —> А также является истинным согласно правилу заключения.
Аналогично можно определить и другие булевы алгебры:
алгебру Вебба А = (М, о);
алгебру Шеффера А — (М, |);
импликативную алгебру А = (М, —0);
коимпликативную алгебру А~ (М, -*», 1);
алгебру Жегалкина А = (М, ф, 1).
Логический вывод широко используется в современных информационных технологиях при разработке экспертных систем. Рассмотрим механизм логического вывода иа примере прогнозирования месторождений полезных ископаемых.
Пусть геологическая партия после изучения одного из районов Тянь-Шаня получила апостериорную информацию вида:
fi — если обнаружен крутопадающий сфалерит, то имеем нерудное тело;
/2 — азимут падения доломита равен 180°;
Уз — интервал угла падения рудного тела, содержащего барит, равен 35-60’;
ft — пологое залегание кальцита имеет азимут падения 300’;
fs — галенит имеет азимут падения 160°;
/в — полезное ископаемое с крутопадающим залеганием и азимутом падения от 5’ до 270° является рудным телом;
fj — азимут падения, равный 271-360°, имеют рудные тела или крутопадающие полезные ископаемые;
/з — пологое залегание нерудного тела имеет азимут падения 320°.
Цель геологоразведки — прогнозирование месторождения рудного тела.
Априорная информация по этому району:
—	крутопадающим залеганием считается залегание с углом падения, превышающим 30°;
—	результат минерализации нерудного тела — доломит, барит, кальцит;
—	рудная минерализация представлена преимущественно галенитом и сфалеритом, причем последний нередко образует обособленные залежи.
Обозначим первичными термами: ц — рудное тело, xi — нерудное тело; Х2 — галенит, сфалерит; ®2 — доломит, барит, кальцит.
Угол падения: хз — пологое залегание (0-30°), хз — крутопадающее залегание (свыше 30°); азимут падения: х< — от 271° до 360°, х< — от 0° до 270°.
5 В. А. Горбатов
130
Гл. 2. Математическая логика
Секвенцией называется высказывание, записываемое в виде F —> Ф, где F — конъюнкция формул {/;}, Ф — дизъюнкция формул {</?>}, & /, -> V и читаемое неформально как “F влечет Ф” или формально — "F имплицирует Ф”.
Левая часть секвенции называется антецедентом (посылкой), правая — сркцедентож (консеквентом, заключением). Эти термины являются терминами схоластической логики.
Используя введенные обозначения т,, xt, : = 1, ..., 4, и секвенциальное исчисление, апостериорную информацию запишем в следующем виде:
/1 = 12^3	?1,	f2=X2~iX4,	/з=Х1Х2-¥Х3,	fi=X2X3~^X4,
fs=X2-*X4,	f&=X3X4-+Xl, fl = I'.V ХЗ -4 Xi, ft — X1X3 X4.
Система секвенций {/;} несовместна, если антецедент этой системы & f, тождественно равен нулю.	*
В пространстве P(xi, хз, хз, х4) характеристические векторы секвенций fi имеют вид:
fi(xi, Х2, хз, xt) — 1111111111110011, f2(X!, Х2, Хз, Х4) — 10101111 1010 1111, /з(Х1, Х2, Хз, х4) — 1111 1111 1100 1111, filxi, Х2, Хз, Х4) — 1101 1111 1101 1111, h(xi, Х2, Хз, Xi) — 11111010 11111010, felxi, Х2, Хз, Xi) — 01110111 1111 1111, f7(xi, Х2, хз, Х4) — 0111 01110101 0101, ft(xi, Х2, ХЗ, Xi) — 1101 1101 1111 1111, где каждый характеристический вектор представляет собой значения соответствующей функции fi(xi, хз, хз, х4) в точках 0, 1, 2, ..., 15.
Антецедент
&fi =0000000000000000
равен нулю, следоват.ельно, секвенциальная система {ft} противоречива. Для порождения всех непротиворечивых секвенциальных систем, используя свойство критичности покрытия двоичных таблиц, предложим следующий алгоритм.
1. Построим двумерную таблицу Q (табл. 2.32), каждая строка которой взаимно однозначно соответствует секвенции fi, столбец — точке пространства P(xi, хз, хз, х4) и i-я строка представляет собой/,(£1, х2, хз, х4) = fi(xi, хз, хз, х<) ф 1.
Таблица 2.32
У.	Г)															
	0	1	2	3	4	5	6	7	8	9	10	11	12	13	14	15
У1													1	1		
Уз		Ф		Ф						Ф		1				
Уз											1	1				
У»			1								1					
Уз						Ф		Ф						1		Ф
Уб	1				1											
Ут	1				1				Ф		1		1		Ф	
У«			1				Ф									
2. Покрываем столбцы строками. Строки /г, Уз, Ут, У» являются обязательными, они образуют покрытие ir = {fi/ t = 2, 5, 7, 8}.
§ 2.7. Исчисление высказываний
131
Покрытие ядериое, следовательно, оно одно. В общем случае алгоритмом Петрнка порождаем все покрытия таблицы Q.
3. Удаляем из каждого покрытия любой элемент. С учетом свойства критичности покрытия очевидно, что %//; является непротиворечивой системой. Проведя возможные удаления из покрытий, получаем все множество непротиворечивых секвенционных систем.
Для исследуемого случая имеем четыре непротиворечивые секвенциальные системы: 1) эг//2; 2) тг/Д; 3) тг//т; 4) я/Д.
Вычисляем непротиворечивые антецеденты.
1)	& fi — 0101000001010000,
<=5,7,8
= X1X2X3X4 V Z1Z2Z3Z4 V Х1Х2Х3Х4 V 11X2X3X4 =
= X1X2X4 V X1X2Z4 = Х2Х4.
На основании истинности этого
Рис. 2.9
аитецедеита заключаем, что результат минерализации нерудного тела — доломит, барит, кальцит — проявляется в зоне с азимутом падения от 271° до 360°.
2)	& /, — 0000010101010101, ' <=2,7,8	'
12,7,8
V(5, 7, 13, 15) =
Х1Х2Х3Я4 V Х1Х2Х3Х4 V
V Х1Х2Х3Х4 V Х1Х2Х3Х4 =
= Х1Х2Х4 V Х1Х2Х4 = Х2Х4.
Заключение: в зоне с азимутом падения 271-360° имеются результаты минерализации рудного тела.
3)	& fi — 100010001010 1010, ' <=2,5,8 '
•=2,5,8
fi = V(0, 4, 8, 10, 12, 14) =
Х1Х2Х3Х4 V Х1Х2Х3Х4 V
V Х1Х2Х3Х4 V Х1Х2Х3Х4 — Х1Х2Х3Х4 V Х1Х2Х3Х4 — Х1Х4 V Х3Х4.
Заключение 1: в зоне с азимутом падения 0-270° имеется рудное тело.
Заключение 2: в зоне с азимутом падения 0-270° имеются крутопадающие залегания.
4) & ft —0010001000000000,
' <=2,5,7 '
<=2,5,7
= V(2, 6) — X1X2X3X4 V X1X2X3X4 = X1X3X4.
Заключение: пологие залегания нерудного тела имеются в зоне с азимутом падения 0-270°.
Граф логического вывода имеет вид, представленный на рис. 2.9.
132
Гл. 2. Математическая логика
Каждое заключение <р, представляет собой конъюнкцию сукцедента. Из совместного анализа пяти заключений имеем общий логический вывод: в зоне с азимутом падения 0-270° имеется крутопадающее залегание рудного тела.
§ 2.8. Конечнозначные логики
Обобщением двузначных логик являются конечнозначные логики.
Функция /(xi, х2>  • хп), отображающая n-мерный Л-знач-ный кортеж (aj, а2, ..., ап), а, € {0, 1, ..., к - 1}, i = 1, 2, ..., п, во множество {0, 1, ..к - 1}, называется функцией к-значной логики. Будем задавать функцию Л-значной логики /(ху, т2, ... ..хп) с помощью таблицы истинности (одномерной таблицы), число строк которой равно кп, или двумерной таблицы, число клеток которой равно кп.
Рассмотрим трехзначную функцию — функцию Вебба, заданную табл. 2.33, 2.34.
Функция Вебба
у = ха о хь = шах (хо, хъ) + l(mod к)
является полной в конечнозначной логике. Таким образом, конечнозначная алгебра Вебба
Ав = (М,о,), М = {1, 2, .., к- 1}, определяет соответствующую логику.
Другими часто встречающимися fc-значными логиками являются логики, определяемые:
алгеброй Поста
An = (M,V,~), М = {0, 1,2, .., к-1},
где ха V хь = шах(ха, хь) — дизъюнкция, х = х + l(modfc) — цикл;
алгеброй Россера—Тъюкетта
Apt = {М, У, &, ji, О, М = {0, 1, 2, ..., к - 1},
§2.8. Конечнозначные логики
133
где ха & хь = min (хо, хь) — конъюнкция,

х = i, x/i,
— характеристические функции i = 0, 1, ..к - 1.
Сигнатура любой алгебры должна быть полной, независимой и непротиворечивой. Сигнатура является полной, если любая другая формула может быть представлена в виде пропозициональной формы с помощью ее элементов.
Сигнатура называется независимой, если в ней не найдется элемента, выводимого с помощью правил вывода из других элементов сигнатуры.
Сигнатура непротиворечива, если не найдется формулы F, которая справедлива вместе с формулой F.
Конечнозначные логики являются обобщением двузначных логик. Например, логика Поста (М, V, обобщает логику Буля (М, V,
При минимизации логических функций конечнозначных логик можно использовать результаты двузначной логики — теорию ДНФ булевых функций. Для эд:ого введем булеву переменную х'а, равную 1 при ха = i и 0 в противном случае, ха г. Будем называть х'а i-й фазой переменной ха, ха = {0, 1, ..., к — 1}:
(2-23)
Отрицание i-й фазы равно дизъюнкции остальных фаз этой переменной:
Очевидно, что
х°а V 4 V ... V хк-г = 1.
Действительно,
х° V (х2 V х2а V ... V i*’1) = V х°а = 1.
Используя введенное высказывание х'а, рассмотрим минимизацию трехзначной функции Вебба, заданной табл. 2.33, 2.34:
У = ха о хь, у0 = х°х% V x^xj V х2ах% V x2axl V х2ах%.
Согласно законам коммутативности, идемпотентности, ассоциативности и дистрибутивности имеем
У° = (а£ V xj V х2а)х2ь V х2(х% V xl V х2ь) = 1  х2ь V х2  1 = x2V х2ь.
134
Гл. 2. Математическая логика
Этот же результат можно получить, сравнивая тройки конъюнкций для определения истинности выражения (2.23) после
применения закона дистрибутивности (рис. 2.10). Каждая конъюнкция соответствует максимальному интервалу — ребру. Ответ на вопрос о том, можно ли минимизировать полученную сложность функции, получаем, строя и покрывая таблицу Квайна (табл. 2.35).
Рис. 2.10
Таблица 2.35
Максимальные интервалы	Интервалы				
	02	12	20	21	22
2--2	1	1	1	1	1 1
Имеем одно покрытие тг = {2-, —2}, которому соответствует минимальная ДНФ нулевой фазы трехзначной функции Вебба
У° = х2а V xf.
Аналогично получаем минимальные формы для 1-й и 2-й фаз функции у = ха о хь
у'=х°х°ь, у2 = x°axlv x^xfV х1^.
Таким образом, минимизация функции fc-значной логики сводится к минимизации системы, состоящей из k булевых функций, каждая из которых определяет соответствующую фазу этой функции.
При минимизации логических функций {/,} уменьшается коэффициент связности соответствующего мографа GM({fi}). Коэффициентом связности графа S(G) называется отношение мощности сигнатуры к мощности носителя этого графа. Коэффициент связности мографа определяется как коэффициент связности графа, полученного в результате снятия его моделизации.
Неминимизированная функция Вебба определяется моделью вида
Ф1 = (М, S3), М = {х2, хга, х2а, x$, xj, у0, у1, у2},
S3 = {{s°, х%, у1}, {xg, xj, у2), {zg, xf, у0},
1	2	3
{<хДу^}, {х^у2}, {^£_у> 4	5	6
г_2 п.0 ..°1 /п.2 -I ..01 /_2 _2 .,011 yEgi Xj,, у J, уСд, Х^, у ], (Хд, Ху у J у.
7
8
9
§2.8. Конечнозначные логики
135
Мограф G^, определяемый этой моделью, изображен на рис. 2.11, а. Его коэффициент связности S(G^) равен 2|:
с 2 + 6 + 64-4 + 54-5 + 6 + 4 + 4	1
1 ' ”	2-9	-23‘
Эта функция после минимизации соответствует модели Фа вида Ф2 = (М, S2, S3), М - {х?, xl, х2а, х$, xl, xj, у°, у1, у2}, S2{{x^y^}, {х^у^}}, 1	2
S3 = {{Хд, х°, у1}, {5°, xj, у2}, {х*, xl, у2}, {х*, xf, у2}}. 3	4	5	6
Мограф G21, определяемый моделью Ф2, изображен на рис. 2.11, б.
Рис. 2.11
После минимизации коэффициент связности уменьшится почти в два раза:
сшМх 2+4+4+4+3+3+2+1+1	1
5(Gi) =---------
2-9
Примечание. На рис. 2.11 вершины, соответствующие фазам функции, заштрихованы; вершины, соответствующие фазам аргументов, не заштрихованы. Коэффициент связности графа находится как сумма количеств ребер, инцидентных вершинам графа, деленная иа удвоенное число его вершин.
Рассмотрим алгоритм минимизации трехзначной функции, который естественно применим и для общего случая значения числа k (к — значность логики).
Пусть задана функция /(ху, х2, хз) вида
/(xi, х2, х3) =
'О на 6,7,9,15,16,18,24, < 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 функция не определена: /(xi, х2, х3) = = а = 0, 1, 2.
1. Мажорируем заданную функцию /(xi, х2, Хз) с помощью вводимой таблицы отличий.
Таблицей отличий называется двумерная таблица, каждой строке которой взаимно однозначно соответствует первичный терм рассматриваемой точки К'-значного пространства, в которой определена функция, принимающая значения а = 0, 1, 2, ..., К - 1, а каждому столбцу соответствует точка, в которой исследуемая функ-
Рис. 2.12
ция принимает значение, отличное от а, и на пересечении г-й строки с у-м столбцом ставится 1, если рассматриваемая точка отличается от у-й точки г-м первичным термом.
Каждое покрытие столбцов строками порождает максимальный интервал, включающий точки а-й фазы рассматриваемой функции и точки, в которых эта функция не определена. Этот максимальный интервал соответствует простой импликанте (Р7), мажорирующей функции f (f D /). В точках, где определена функция /, мажорирующая функция f принимает те же значения, что и /.
Очевидно, что таблица отличий является обобщением таблицы различий (1-й таблицы Квайна).
Построим таблицы отличий (табл. 2.36) для семи точек 0-й фазы заданной функции. Их покрытия порождают сокращенную ДНФ функции /°(Х1, х2, х3).
§ 2.8. Конечнозначные логики
137
Таблица 2.36
Г		АГ							PI функции Г
	011	022	111	102	202	222	
0			1	1	1	1	—0 о д?з
2	1		1	1	1		
0	1	Ф	1	1	1	1	
0			1	1	1	1	12— <4 x\xl
2	Ф		1	1	1		
1		Ф		1	1	1	
1	1	1			1	1	0 <4 х°
О	1	1	1			1	
0	1	1	1	Ф	1	1	
1	1	1			1	1	12— «4 x}xj 	0 <4 Х°
2	1		1	1	1		
О	1	1	1	1	1	1	
1	1	1			1	1	12— <4 х[х'2 —21— <4 Х3Х2
2	1		Ф	1	1		
1		1		1	1	1	
2	1	1	1	1				0 <4 х°
0	1	1	1			1	
0	1	1	1	1	Ф	1	
2	1	1	1	1			--0 <4 X?
2	1		1	1	1		
0	1	1	1	1	1	Ф	
Сокращенная ДНФ функции f°(xi, х2, х3), f° D /°, мажорирующей 0-ю фазу функции /(ху, х2, х3), имеет вид f°(®b ®2, хз) = х° V xl • V х} • х%.
Аналогично находим сокращенные ДНФ функций /x(xi, х2, х3) и 72(xi, х2, х3) (табл. 2.37, 2.38).
Таблица 2.37
г	/° Г										PI функции У'
	020	021	100	102	120	121	200	202	220	222	
0			1	1	1	1	1	1	1	1	— 1— <4 Xj
1	1	Ф	1	1	1	1	1	1	1	1	
1	1		1	1	1		1	1	1	1	
0			1	1	1	1	1	1	1	Ф	0-2 <4 x?xl
2			1	1			1	1			
2	Ф	1	1		1	1	1		1		
1	1	1					1	1	1	1	-1— <4 Х2
1	1	1	1	1	1	Ф	1	1	1	1	
1	1		1	1	1		1	1	1	1	
138
Гл. 2. Математическая логика
Сокращенная ДНФ функции У1(ху, Х2, х3), мажорирующей 1-ю фазу заданной функции У1(ху, хг, х3) (У1 D У1), имеет вид
У^(а=1, х2, х3) = х% Vx?-x|.
Таблица 2.38
Г		АГ											PI функции У2
	Oil	020	021	022	100	111	120	121	200	220	
1	1	1	1	1					1	1	1—2 О Illi —02 о x°xl
0	1	1	1	1		1	1	1		1	
2	1	1	1		ф	1	1	1	1	1	
2	1	1	1	1	1	1	1	1			2—2 <-+ х]хз -02 О х°хз
0	1	1	1	1		1	1	1		1	
2	1	1	1		1	1	1	1	Ф	1	
2	1	1	1	Ф	1	1	1	1			2—2 о Х1Х3
2	1				1	1			1		
2	1	1	1		1	1	1	1	1	Ф	
Сокращенная ДНФ функции f2(xi, х2, х3) (У2 D у2) имеет вид У?(а=1, х2, х3) = xj • х2 V х% • х| V х| • xj.
2. Покрывая импликантную таблицу для мажорирующей функции фазы заданной функции, получаем тупиковые ДНФ для каждой фазы (табл. 2.39-2.41 соответственно для фаз f°, f1, У2).
Таблица 2.39
(PI),							
	020	021	100	120	121	200	220
—0	Ф		ф	1		Ф	Ф
-21		Ф			1		
12-				1			
Тупиковая ДНФ 0-й фазы функции f имеет вид У? = х° V х^-х|.
Таблица 2.40
(PI)i	А		
	011	022	111
-1-	Ф		Ф
0-2		Ф	
Таблица 2.41
(PI)i	к,		
	102	202	222
1-2	1		
-02	1	1	
2-2		1	Ф
Тупиковая ДНФ 1-й фазы функции f имеет вид Ут = xjvx?-x|.
§2.8. Конечнозначные логики
139
Тупиковые ДНФ 2-й фазы заданной функции f имеют вид 7т1 =	• Х3 V Х1 • Х3 =	 Х3> 7т2 = Х2 • Х3 V Х1  Х3>
в табл. 2.39-2.41 Kj и (PI)i — j-я конституента соответствующей фазы и г-я простая импликанта мажорирующей ее функции соответственно.
В точках неопределенной области фазы мажорирующей функции f (f D f) могут пересекаться, так как они соответствуют нереализуемым ситуациям. В нашем примере 0-я и 1-я фазы (/° и У1) пересекаются в точках 010, 110, 210; 1-я и 2-я фазы — в точках 112 и 212.
Минимизированная функция f(xi, х2, х3) определяется одной из двух систем:
V х*х|,	= V х°х2, fa = х'х2 V х2х2
или
/т2 = Х3 V Х2Х3’	/т2 = х2 Х1Х3’	/т2 = Х2Х3 Х1Х3'
Рассмотрим уменьшение коэффициента связности Ксв могра-фов, определяющих совершенную, сокращенную и тупиковые ДНФ заданной функции /(xi, х2, х3).
/°(б
х} (9,15,16,13,11)
Рис. 2.13
Мограф G^B(f), определяющий совершенную ДНФ функции /(xi, х2, хз), представлен на рис. 2.13. Роль идентификаторов на рисунке выполняют эквиваленты соответствующих троичных наборов.
Коэффициент связности KCB{G^B) равен 3,25:
г,	7+9+6+6+4+Э+7+6+6+5+6+7
дсв(ьсов) =----------------------------= 3,25.
140
Гл. 2. Математическая логика
Сокращенная ДНФ функции /(ii, хз) определяется систе-
Л° = х% V х% • х$ V х| • х%, Л1 = V х? • х%, fl = xj  xl V х% • xl V х{ • х%.
Произведем логическое умножение каждого выражения на ее левую часть и логически сложим эти три выражения; в результате получим мажорирующую функцию
7(®ь х2, х3) =
ah	cd
v v /Mglv 7М*зv zM*3.
e	k	m	p
определяющую мограф (рис. 2.14).
Коэффициент связности мографа G™, определяющего сокращенную ДНФ функции /(xi, а?2, х3), равен 1,25:
KCB(GM) = 2 + 2 + 2 + 2 + 1 + 3 + 2 + 5 + 1 + 4 + 3 + 3 = 125
2*12
Аналогично вычисляем коэффициенты связности мографов, определяющих тупиковые ДНФ функции f(xi, х2, х3). Мажори-
рующая функция /(xi, х2, хз), определяемая первой тупиковой ДНФ, имеет вид
/т1(а:1> ®2> ®з) — /т1^3 V/т1^2а;3 frlx2 а	Ъ	с
dem
§2.8. Конечнозначные логики
141
Коэффициент связности	мографа G^ (рис. 2.15),
определяющего функцию /Ti(xi, тз)> равен 1,18:
„ /f<M\	2 + 24-2 + 14-2 + 1 + 5 + 2 + 3 + 3 + 3
ЛСв(Сгт1) —
= 1,18.
2-11
Рис. 2.15
Мажорирующая функция ®2, хз)> определяемая второй тупиковой ДНФ, имеет вид
/т2(а:1> ®2, хз) = /г^З V /т2х2х3 V/т2х2 V а	Ъ	с
~0~2 ., 72 „1^.2	72 „22
V Jt2x1x3 /т2х1хзУ Jt2x1x3 >
dem
142
Гл. 2. Математическая логика
и соответствующий ей мограф G™2 (рис. 2.16) имеет коэффициент связности, равный 1,18:
К (GM2) = 2~*~2~*~2~*~1 + 2 + 2~*~5~*~1~*~3~*~3~*~3 =118
Полученные тупиковые ДНФ функции f (®i, х2, хз) имеют равные сложности.
§ 2.9.	Исчисление предикатов
Исчисления высказываний недостаточно для задания более сложных логических рассуждений. По существу А>значная логика позволяет определить наличие того или иного свойства на конечном множестве элементов; в случае бесконечных множеств для установления определенного свойства у рассматриваемого абстрактного понятия необходимо введение функций, аргументы которых пробегают бесконечное число значений во множестве М. Функция Р, принимающая одно из значений, 0 или 1, аргументы которой пробегают значение из произвольного множества М, называется предикатом Р в предметной области М. Число аргументов предиката P(xi, х2, ..., хп) называется его порядком.
Предикат P(xlt х2, ..., хп) определяет n-арное отношение R в М: если P(xJ, х2, ..., х*) = 1, то (xj, х2, ..., х*) находятся в отношении Я, определяемом этим предикатом, и если P(xJ, х2, ... ..., х*) = 0, то эти элементы не находятся в отношении R, т. е. (xj, х$, ..., х*) R.
Для упрощения структуры сложных логических рассуждений введем специальные обозначения для некоторых часто встречающихся выражений. Условимся обозначать выражение “для всякого элемента х € М свойство Я выполнено” как (Vx € M)(R(x) = = 1), а выражение “существует по крайней мере один элемент х ё М, обладающий свойством R" — как (Зх € Af)(P(x) = 1). В выражениях (Vx С М)(7?(х) = 1) и (Зх € М)(Р(х) = 1) обозначения Vx и Зх будем соответственно называть квантором всеобщности и квантором существования.
Определим индуктивно формулу исчисления предикатов аналогично определению формулы исчисления высказываний. Будем использовать запятые, скобки, символы исчисления высказываний, предметные переменные xj., х2, ... (переменные, принимающие значения из предметной области), предметные константы ai, а2, ..., предикатные буквы Plf P2l ... и функциональные буквы Л, fi, • • •
Определим понятие терма и элементарной формулы.
Определение терма:
1)	всякая предметная переменная или предметная константа — терм;
§2.9. Исчисление предикатов
143
2)	если f — функциональная буква и r)i, т/2, ..т]п — термы, то /(т?1, т?2, • •Пп) — терм;
3)	любое выражение, полученное многократным повторением правил 1), 2), является термом.
Если Р — предикатная буква, a t)i, т)2, ..., т)п — термы, то Р(т71, *72, • • •> Vn) — элементарная формула.
Определение формулы:
1)	всякая элементарная формула является формулой;
2)	если А и В — формулы иг — предметная переменная, то каждое из выражений А о В (o'— связка исчисления высказываний) и (Vx € М)(А(х)) является формулой;
3)	любое выражение, полученное многократным использованием правил 1), 2), является формулой.
В выражении (Vx ё М)(А(х)) формула А(х) называется областью действия квантора Vx.
Предметная переменная, входящая в формулу, называется свободной, если она не следует непосредственно за квантором и не входит в область действия квантора по этой переменной; все другие переменные, входящие в формулу, называются связанными. В пределе всякая формула без свободных переменных (замкнутая формула) является высказыванием, которое истинно или ложно, а всякая формула со свободными переменными задает некоторое отношение в предметной области, которую иногда называют областью интерпретации. Это отношение может быть истинно или ложно в зависимости от значений свободных переменных.
В определении формулы в числе основных символов запись Зх можно заменить на Vx(A(x)).
Квантор всеобщности можно рассматривать как обобщение конъюнкции. Если предметная область конечна и состоит из элементов mlt m2, ..., тп, то формула (Vx)(F(x)) равносильна конъюнкции F(mi) & F(m2) & • • .&F(mn), а квантор существования можно рассматривать как обобщение дизъюнкции, при этом записи (3x)(F(x)) и F(mi) V F(m2) V ... V F(mn) равносильны.
Для бесконечных предметных областей кванторы играют роль бесконечных дизъюнкций и конъюнкций.
Каждая формула Р(РХ, Р2, • • •> Рт> ®2> • . •> хп) в исчислении предикатов задает оператор, перерабатывающий систему предикатов Pi, Pi, ..., Рт в предикат Ра от аргументов xj, х2, ... •.., хп, где все эти переменные в формуле являются свободными. Две формулы, Fa(Pi, Рг, ..., Рт, ®1, х2, . .., хп) и Рб(Р1, Р2, ... ..., Pm,xi, х2, ..., хп), которые задают один и тот же оператор, перерабатывающий систему предикатов Pi, Р2, ..., Рт в предикат Pa(xi, х2, ..., хп), будем называть эквивалентными и обозначать Fa = Fb.
144
Гл. 2. Математическая логика
Переход от формулы F к ее эквивалентной форме будем называть, как и в исчислении высказываний, тождественным преобразованием.
Основываясь на введенных понятиях, можно доказать следующие четыре тождества:
тождества двойственности
(Зг) (Р(»)) = (Vx)(P(J)), (Vx) (Р(х)) = (Зх)(?И);
тождества для тг-операций (т. е. для конъюнкции и квантора всеобщности)
№)(Fa(x) Л Fb(x)) = (Vx)(Fe(x) Л (Vx)Fb(x)), (V«)(Vj/)(F(®, у)) = (Vy)(Vx)(F(x, у));
тождества для а-операций (т. е. для дизъюнкции и квантора существования)
(3x)(Fa(x) vFb(x)) = (3x)(Fa(x) V (3x)F6(x)), (3x)(3y)(F(x, у)) = (3y)(3x)(F(x, у));
тождество вынесения константы
(Sx)(Fa о Fb(x)) = Fa о (Sx)(Fb(x)),
где (Sx) = (Зх), (Vx); о = Л, V; Fa — подформула, не содержащая связанную предметную переменную х, которая в дальнейшем будет называться константой относительно квантора (Sx).
При вынесении константы из области определения квантора существования подкванторное выражение предварительно приводят к виду дизъюнкции конъюнкцией; при вынесении константы из области определения квантора всеобщности выражение приводят к виду конъюнкции.
Рассмотрим, например, вынесение константы G(y):
(Vx)((F(x)	G(y)) V (H(x)oG(y))) =
= (Vx) (F(x) A G(^) V H(x)vG(y)) = (Vx) (F(x) Л ед V v (ед л ед)) = (Vx) (ед л ед v f(x)) =
= (Vx)(G(H A (H(x) -> F(x))) = (ед) A (Vx)(H(x) -> F(x)).
В рассматриваемом исчислении кванторы применены только по предметным переменным. Формулы будут более выразительными, если наряду с кванторами по предметным переменным использовать и кванторы по предикатным переменным.
Исчисление, в котором применяются только кванторы по предметным переменным, называется узким исчислением предикатов; последнее можно преобразовать в расширенное исчисление предикатов, добавив кванторы по предикатным переменным.
$2.10. Теория трасс
145
Определение формулы в расширенном исчислении предикатов аналогично ее определению в узком исчислении; разница состоит в том, что в п. 2) определения формулы переменная х может быть как предметной, так и предикатной. Тождества двойственности я--, сг-операций и вынесение константы в расширенном исчислении предикатов тоже справедливы.
Рассмотрим вопрос выводимости в исчислении предикатов. Расширим систему аксиом некоторого исчисления высказываний, включенного в узкое исчисление предикатов, следующими аксиомами:
(Vz)(G(s)->G(y)); Н(у) (Зх)Н(х).
Смысл этих аксиом следующий: если предикат G(:r) истинен для любого х, то он истинен и для любого у, и если предикат Н (у) истинен для какого-нибудь у, то существует такой х, что Н(х) истинен.
В узком исчислении предикатов два правила вывода (подстановки и заключения) исчисления высказываний дополняют еще тремя правилами.
Правило для V: если <£>i —> <р2 выводима и в <pi нет х в качестве свободной переменной, а в переменная х содержится в виде свободной переменной, то формула ipi —> V(x)<^2 также выводима.
Правило для 3: если > i/>2 выводима и х содержится в качестве свободной переменной в pi и не содержится в качестве свободной переменной </>2, то формула 3(x)<^i -4 t/>2 также выводима.
Правило переименования связанных переменных: если — выводимая формула и в ipi имеется квантор всеобщности или квантор существования, то одна связанная переменная в <pi может быть заменена другой связанной переменной одновременно во всех областях действия квантора и в самом кванторе; полученная формула также выводима.
§ 2.10. Теория трасс
Выше было рассмотрено применение математической логики в экспертных системах при геологоразведке полезных ископаемых. Рассмотрим ее использование при оценке переходных процессов в электронных системах, реализующих субмикронную технологию, т. е. в системах, рабочая частота которых — сотни мегагерц И выше. В этом случае ложная информация порождается неодновременными переключениями входных каналов из-за задержек сигналов в каналах связи.
Рассмотрим интегральную схему (ИС) (рис. 2.17, а), реализующую булеву функцию (рис. 2.17,5)
/(®1, *2, *3, xc4)|i = V(0, 1, 2, 5, 12, 15),
146
Гл. 2. Математическая логика
и интервал J = [0, 15], который соответствует переключениям входных каналов Х(Ь) -4 X(ti) для 0 -4 15 (рис. 2.18).
Последовательность переключений входных каналов («2> хз> х4, а?1) обеспечивает смену входных векторов 0-44-46-47-4 15;
б
Рис, 2.17
значения выходного канала /(х) при этом следующие: /(0) = = /(15) = 1, /(4) = /(6) = /(7) = 0. Следовательно, в интервале [ti, £2] имеем ложный 0.
Определим, в общем случае все условия возникновения ложной информации в ИС, используя теорию трасс [16] и логику предикатов.
Трассой Т(Ха, Хь) булевой функции f(X) называется цепь интервала J(Xa, Хь). Если и(-Ха) — минимальный элемент, соответствующий вектору Ха интервала J, v(Xj) — максимальный
§2.10. Теория трасс
147
элемент, соответствующий вектору Хь интервала J: (Vv(X,) G J)((v(Xe) < v(X,-))&(v(X,) < v(Xb))),
f(Xa) = f(Xb), f(Xi) = f(Xa), i/a,b.
В рассмотренном примере цепь (0, 4, 6, 7, 15) является трассой Г1(0,15).
Выбор цепи переключения носит статистический характер. Очевидно, что количество трасс Т,(Ха> Хь) удовлетворяет неравенству
|{Т,(Хв,Хь)}| <Н(Ха,Хь)\,
где Н(Ха, Хь) — расстояние по Хеммингу между точками Ха, Хь
Интервал [0, 15] рассматриваемой функции содержит шесть трасс:
Ti(0, 15) О и(0) < и(4) < < и(6) < и(7) < и(15),
Т2(0, 15) О v(0) < и(4) < < и(6) < и(14) < и(15),
Т3(0, 15) О и(0) < и(8) < < и(9) < и(11) < и(15),
Т4(0, 15) О и(0) < и(8) < < и(9) < и(13) < и(15),
Т5(0, 15) О и(0) < и(8) < < и(10) < и(И) < и(15),
Т6(0, 15) н- v(0) < v(8) < < v(10) < и(14) < и(15), из 24 цепей, соединяющих точки 0 и 15.
Рис. 2.18
Максимальная длина трассы в пространстве размерности п равна диаметру соответствующего гиперкуба, т. е. числу п.
Минимальная длина трассы в пространстве той же размерности равна 2.
В рассматриваемом случае трассами длины 2 являются:
Т(0, 5) о v(0) < и(4) < v(5);
148
Гл. 2. Математическая логика
Т(°, 12) %	< и(12);
Т(4 13) Z U(4) < U(5) < U(13)’ ’ 1	v(4) < v(12) < v(13);
Т(8, 13) о v(8) < v(12) < и(13);
Т(8, 14) О и(8) < и(12) < v(14);
Т(5, 15)
T(12, 15)
z v(5) < v(7) < v(15), v(5) < v(13) < v(15);
v(12) < u(13) < v(15), v(12) < v(14) < v(15).
Распределение трасс в булевом пространстве определяет качество переходного процесса: чем больше трасс, тем больше возможность порождения ложной информации (количественная оценка будет рассмотрена в гл. 5); чем больше расстояние по Хеммингу между концами трассы, тем больше длительность сигнала ложной информации.
Введем функцию Я(а:01, ха2, ..., xOfc) риска сбоя (т. е. ложной информации):
1, если возможна ложная информация хотя бы на одной
из К1 цепей са(хЬ1, Х(,2,..., хьк), О в противном случае,
где xai, ха2, ..., ха>с — переменные интервала [Ха, Хд], изменяющие свое значение на противоположное:
Ха^Х/3=Ху, xai^X^, г = 1,2, ..., к.
Условие порождения трассы определяет формула
R(xai, ха2, ..., хак) — <
R(xai, ха2, .
dkf
®(.xai > ха2, • • •> хак)
I Зса j > * • •>	) €
xi2> •
.ч	г	ч ( в d2f
......  =Р““(«ь	-2. ••••	&ай^)
а3/
>	ХЪ2 > хЬз)
>	хЪз > • • •> xbk-i)
(2.24)
§2.10. Теория трасс
149
где:
dkf/d{xai, хаз, хак) — производная от булевой функции f по переменным хв1, хаз, ..xOfc, единичное значение которой указывает на изменение значения функции f при одновременном изменении значений переменных ха1, хаз, ..хак;
perm (ai, a2, ..., ajt) — результат перестановки (permutation) индексов ai, а2, ..., а^;
переменные хь1, хь2,..., хьк попарно не равны друг другу (®(xbi, хъ2, ..хьк)) и являются элементами множества переменных
Вычислим функцию риска сбоя при переключении каналов xi, х2 для ИС (см. рис. 2.17, а):
d2f df d2f df
d(xi, x2) dxi ® dxidx2 ® dx2 ’
f(xi, x2, x3, x4) = xxx2x4 V X1X3X4 V xix2x3x4 V xix2x3x4;
^- = /(xi = l)®/(xi = 0),
f(xi = 1) = Z2S3Z4 v Z2Z3Z4, /(«i = 0) = x2x4 V x3x4. После тождественных преобразований получаем
Q £	О f
-— = х2х4 V х2х4 V х3, — = f(x2 = 1) ф f(x2 = 0),
0X1	0X2
f(x2 = 1) = I1X3X4 V xix3x4 V xix3x4,
f(x2 = 0) = xjx4 V xix3x4.
Имеем df _ _ _ _
x— = XiX4 V X3X4 V X1X3X4,
0X2
d2f df f df\	4
Л--7— = д— Д— I = \X3X4 V X3X4) ф x4 = x3.
0X1 0X2	0X1 \^2/
Отсюда
d2f d(xi, x2)
= (x2x4 V X2®4 v X3) ф X3 ф (X1Z4 V X3X4 V X1X3X4).
в
результате тождественных преобразований получаем
d2f d(x4, x2)
d2f d(xi, x2)
= V(1,2, 3, 5, 9, 13, 14, 15), 1
= V(0, 4, 6, 7, 8, 10, 11, 12).
1
150
Гл. 2. Математическая логика
Согласно формуле (2.24)
d2f в df __________________ _ _ _
7Г.—-—Г & -Z— = £13:233*4 V Х1Х2Х3Х4 V tx^WiV a(xi, з2) di!
V £1Х2*з*4 V 3:1X2*334 V Х1Х2Х3Х4, (2.25)
дЧ „ df
S-.------ & -Т- = Х1Х2Х3Х4 V Х1Х2Х3Х4 V X1X2X3X4V
d(xi, х2) dx2
V Х1Х2З3З4 V 3:1X23334 V Х1Х2Х3Х4. (2.26)
При переключении входных каналов xi, х2 в ИС (см. рис. 2.17) согласно (2.25) и (2.26) имеем 6 трасс (рис. 2.19):
Рнс. 2.19
если раньше переключается канал xi, то трассы
и(0) < и(8) < и(12), и(4) < и(12) < и(8), и(7) < и(15) < и(11);
если раньше переключается канал х2, то трассы
и(0) < и(4) < и(12), и(4) < и(0) < и(8), и(6) < и(2) < и(10).
Теория трасс позволяет вычислить распределение трасс в булевом пространстве, определяющее объективные причины порождения ложной информации в ИС.
§2.11. Задачи и упражнения
2.1.	Доказать, что число всех булевых функций от п аргументов равно 22 .
2.2.	Записать в совершенных ДНФ и КНФ булеву функцию у = f(xi, хз, хз), принимающую значение 1 на наборах с номерами 3, 4, 7.
2.3.	Записать в ДНФ и КНФ булеву функцию у = f(xi, хз, хз, х<), принимающую значение 0 иа наборах с номерами 2, 6, 7, 8, 11, 12.
2.4.	Проверить справедливость равенства х = х ф 1.
2.5.	Проверить справедливость следующих равенств:
X1X2=X1VX2, Xl -4 Хз = Xl V Х2,	Х1|Х2 = Х1&Х2-
§2.11. Задачи и упражнения
151
2.6.	Показать, что число булевых функций, существенно зависящих от п аргументов, определяется рекуррентным соотношением
X. - 2»* - £ (7) • X.,
i = 0
где А, — число булевых функций, зависящих от t аргументов.
2.7.	Булева функция f, зависящая от трех аргументов, называется мажоритарной, если имеет место равенство / = xixj V Х1Х3 V Х2Х3. Будем обозначать эту операцию знаком # и записывать xi#X2#x3.
Доказать, что имеют место следующие со отношения:
1) xi#xi#X2 =	2) xi#xi#X2 = хг; 3) Х1#ха#хз = Х1#х2#хз.
2.8.	Найти минимальную ДНФ функции у = f(xlt хг, хз, х<), принимающей значение 1 на наборах 0, 1, 2, 5, 6, 7, 8, 12, 13.
2.9.	Найти минимальную ДНФ функции у = /(xi, хг, хз, Х4, хз), принимающей значение 1 иа наборах с номерами от 0 до 7, от 11 до 21 и от 26 до 31.
2.10.	Функция у = /(xi, хг, хз) равна 1 на наборах 1, 3, 4 и не определена на наборе с номером 5. Найти ее минимальную ДНФ.
2.11.	Разработать тест распознавания противоречивого задания неопределенной булевой функции /(xi, хг, •.., хп) (функция задана противоречиво, если (ЗХ)(/(Х) = 0, 1)).
2.12.	Найти минимальную ДНФ булевой функции
,,	.	( 1 на 01-О-, 001-0, —010—,
/(xi, хг, .... х5) - |0 иа по-1,000-1,1001-.
2.13.	Определить скобочную форму булевой функции
,,	ч Г 1 на -0-100, 100 -01, -01--------1,
/(xi, хг, ..., х6) - на 110—0—, 011------0,00-1-1.
2.14.	Найти мощность единичной области неопределенной булевой функции f(xi, хг, ..., хз) после ее доопределения:
,,	ч Г1 на 001-1, 01-01, -4011—,
J(xi, хг, .... х5) - |0 иа 0001-, 100-1, 11-011.
2.15.	Проверить линейность булевой функции
/(xi, хг, хз)|1 = V(0, 1, 5, 6).
2.16.	Установить, является ли самодвойственной функция эквивалентности.
2.17.	Проверить монотонность конъюнкции от п аргументов.
2.18.	Привести пример монотонной функции, которая одновременно была бы линейной.
2.19.	Привести пример самодвойственной функции, которая одновременно была бы линейной.
2.20.	Привести пример линейной и монотонной функций.
2.21.	Убедиться, что функции Шеффера и Вебба не являются нн линейными, Ни монотонными, ни самодвойственными.
2.22.	Установить, образует ли булева функция/(xi, хг, хз, x«)|i = V(0,3,7, И, 13) базис в Рг-
2.23.	Верно ли утверждение: если булева функция существенно зависит более чем от одного аргумента и она монотонна, то оиа несамодвойственна?
2.24.	Верно ли утверждение: если булева функция существенно зависит более чем от одного аргумента и оиа линейна, то она немонотонна?
2.25.	Найти все булевы функции, удовлетворяющие системе уравнений
V>(x) -»= у>(х), 9s(a?)v>(3c) = 0.
2.26.	Доказать следующую теорему: при суперпозиции линейных функций (подстановке функций в функцию вместо ее аргументов) получаются линейные Функции.
152
Гл. 2. Математическая логика
2.27.	Доказать теорему: при суперпозиции самодвойственных функций вновь получаются самодвойственные функции.
2.28.	Доказать теорему: при суперпозиции монотонных функций вновь получаются монотонные функции.
2.29.	Функция называется сохраняющей константу г (г — 0, 1), если на наборе аргументов вида (г, г, ..., г) она принимает значение г. Доказать, что суперпозиция функций, сохраняющих константу г, вновь является функцией, сохраняющей эту константу.
2.30.	Если функции <pi и самодвойственны, то самодвойственны ли функции У>1 V У>2, У>1¥>2?	_
2.31.	Если функции ч линейны, то линейны ли <pi V<p2, и V’i -> Vt?
2.32.	Булева функция называется симметричной, если она не изменяется при любом переименовании аргументов. Фундаментальной симметричной булевой функцией индекса т называется такая симметричная булева функция, у которой все коиъюнкпии, входящие в совершенную ДНФ этой функции, имеют ровно т букв без отрицания.
Доказать следующую теорему: любая симметричная булева функция есть дизъюикпия фундаментальных булевых функций, индексы которых однозначно определяются представляемой симметричной функцией.
2.33.	Определить число самодвойственных функций, зависящих от п аргументов.
2.34.	Доказать полноту системы булевой функции, состоящей из дизъюнкции, константы 0 и эквивалентности. Образует ли эта система базис?
2.35.	Образует ли базис система булевых функций, состоящая из импликации и константы О?
2.36.	Установить, является ли полной система, состоящая из дизъюнкции, импликации и конъюнкции.
2.37.	Образуют ли полную систему функция X1I2 VХ1Х3 V12X3 и отрицание?
2.38.	Доказать, что если некоторая булева функция не сохраняет константы и несамодвойствениа, то она немонотонна и нелинейна.
2.39.	Сравнить связности мографов, определяющих конъюнкцию и дизъюнкцию в 3-значной логике до и после минимизации.
2.40.	Выяснить, возможна ли реализация любой булевой функции на элементах УСЭППА (универсальной системы промышленной пневмо-автоматики), являющихся пневмореле, описываемым функцией а(Ь V с) V bed.
2.41.	Синтезировать логическую схему, реализующую булеву функцию /(Х1, х2, хз, Х4, х5, Хе)|1 = V(0, 1, 2, 5, 7, 11, 13, 15, 19, 20, 32, 57, 61, 62) в базисе Вебба.
2.42.	Синтезировать логическую схему, реализующую булеву функцию
/(xi, Х2, ..., XS)|1 = V(0, 3, 5, 8, 10, 12, 14, 15, 17, 25, 27, 31)
в базисе {—>, 0}.
2.43.	Определить сложность одноразрядного сумматора в базисе Шеффера.
2.44.	Показать, что
df(xi, Х2, Xj, ..., хп) _ df(xi, Х2,  ., Xi,  .., хп) дц	дц
2.45.	Установить, справедливо ли равенство
d/(xi, Х2,   -, Хп) _ d/(xi, Хд,  . ., Хп) дх,	dxi
2.46.	Синтезировать логическую схему, реализующую булеву функцию
/(xi, х2, хз, х4, х5)| 1 = V(0, 3, 5, 8, 10, 12, 14, 15, 17, 25, 27, 31) в базисе Вебба.
2.47.	Определить сложность одноразрядного сумматора в базисе {-*, 1).
§2.11. Задачи и упражнения
153
2.48.	Синтезировать логическую схему, реализующую булеву функцию /(»!, х2, хз, Х4, XS, Хв)|1 = V(0, 1, 2, 5, 7, 11, 13, 15, 19, 20, 32, 57, 61, 62) в базисе {->, }.
2.49.	Синтезировать логическую схему, реализующую булеву функцию f(xt, х2, ХЗ, х4, Xs)h = V(0, 1, 2, 5, 6, 7, 11, 12, 15, 16, 18, 25, 30) в базисе {ai V а2 V аз}.
2.50.	Синтезировать логическую схему, реализующую булеву функцию /(xi, х2, ..., Хт)|1 = V(o, 2, 4, 5, 6, 7, 11, 12, ..., 81, 101)
В базисе {—>, 0}.
2.51.	Определить порядок исключения переменных при реализации булевой .функции
/(Х1, х2, Хз, х«)| 1 = V(0, 1, 2, 4, 7, 8, 11, 15), если имеется каталог реализации всех функций от двух переменных.
2.52.	Установить, что больше: вес производной df fdx2 или вес производной Bf /дхз от булевой функции
/(Х1, Х2, хз, Х«)|I = v(l, 3, 7, 8, 12, 14, 15).
2.53.	Предложить алгоритм подсчета веса производной от булевой функции С использованием двоичных матриц.
2.54.	Установить, что выгоднее с точки зрения уменьшения аппаратурных затрат в базисе импликации и константы 0: исключение по одной переменной Или исключение по двум переменным.
2.55.	Найти все остаточные функции при оптимальном порядке исключения переменных булевой функции
f(xi, х2, Хз, х«)|1 = V(o, 4, 6, 8, 10, 13, 14, 15).
2.56.	Сколько входов имеет блок исключения к переменных?
2.57.	Найти реализацию блока исключения одной переменной в базисе Вебба.
2.58.	Какова сложность блока исключения одной переменной в базисе Шеффера?
2.59.	Найти вес производной df jdx2 от булевой функции f(xi, х2, хз)|1 = • V(0, 1, 5, 6, 7).
2.60.	Показать, что
df(n, х2, ..., xt, х„) _ df(xi, х2, ..., ц, хп) &Xi	du
2.61.	Найти производную первого порядка для функции цепи переноса в Колном одноразрядном сумматоре.
2.62.	Определить производную второго порядка от функции суммы в полном одноразрядном сумматоре, определяющую условия переключения функции суммы при переключении каналов, соответствующих слагаемым.
2.63.	Доказать, что любая булева функция однозначно определяется значением функции и всех производных в точке 00.. .0.
2.64.	Спроектировать счетчик нечетности в коимпликативном базисе.
2.65.	Спроектировать одноразрядный сумматор в импликативном базисе.
2.66.	Синтезировать схему, реализующую функцию, принимающую значение 1 на тех наборах своих пяти аргументов, в которых есть не менее четырех единиц. При синтезе использовать элементы эквивалентности, дизъюнкции и ИрИЦання.
2.67.	Синтезировать дешифратор иа три входа и восемь выходов, используя внементы V, &,
2.68.	Реализовать функцию импликации иа элементах, реализующих отри-Яание и функцию у = xjx2 Vxix3 V х2хз.
2.69.	Реализовать импликацию иа элементах, реализующих функцию Вебба.
154
Гл. 2. Математическая логика
2.70.	Реализовать сумму по модулю 2 на элементах Шеффера.
2.71.	Реализовать одноразрядную суммирующую схему на элементах V, ~.
2.72.	Реализовать одноразрядную суммирующую схему с учетом совместной минимизации функции суммы и переноса на элементах V, &,
2.73.	Доказать, что полный дешифратор на п входов может быть построен из двух полных дешифраторов на т и п — т входов и 2" элементов типа И.
2.74.	Реализовать иа мажоритарных элементах и элементах НЕ функцию
У = Х1Х2 V Х1Х2Х3.
2.75.	Реализовать функцию у = xi -4 (12 -4 хз) иа элементах у = xi# #х2#х3 и НЕ.
2.76.	Реализовать на мажоритарных элементах и элементах НЕ схему проверки кода на четность, т. е. схему, на выходе которой при четном числе единиц на входе схемы возникает единичный сигнал. Число входов равно 3.
2.77.	Доказать, что
d(f(X)&y>(X)) _ f(x.dy>(X) df(X) df(X) д<р(Х)
2.78.	Доказать, что
dxi	du	dxi дц du
2.79.	Разложить булеву функцию
f(xi, X2, Хз, X<) = X1X2X4 V 12X3X4 VX1X2X3
в ряд, аналогичный ряду Тейлора, в точках 2, 11. Сравнить количество первичных термов в полученных разложениях.
2.80.	Записать основные законы алгебры Буля при арифметической интерпретации следующих логических операций:
хку = х-у, хУу = х + у-х-у, х = 1 — х, где •, +,---арифметические операции умножение, сложение и вычитание со-
ответственно.
2.81.	1) Список термов исчисления: {Z, +, =}.
Правила образования формул следующие: I — формула; если <р — формула, то <р! — также формула; если <р и ф — формулы, то^ + ^и^5 = ^ — также формулы.
Заданы единственная аксиома I + I = II и два правила вывода: если + 4-Z = у>2 — выводимая формула, то <ptl+l = ip?! — также выводимая формула; если у>1+у>2 = у>з — выводимая формула, то <pi +y>2Z = <рз! — также выводимая формула.
Доказать, что:
а)	формула II4- III = IIIII выводима в данном исчислении;
б)	формула 1 + 1 = 1 невыводима в данном исчислении.
S Множество термов состоит из бесконечного числа букв и знаков V и 4. равила образования формул следующие: любая буква есть формула; если а и Д — формулы, то а У Д и а -4 Д — также формулы.
Система аксиом такова: А У А -Ь А-, А А У В; АУ В -4 В У А; (А
-4 В) -4 ((С -4 А) -4 (С -4 В)).
Правила вывода таковы.
Правило подстановки: если а — выводимая формула и вместо любой переменной в этой формуле всюду произвести подстановку любой формулы, то новая формула также выводимая.
Правило заключения: если а -4 (3 и а — выводимые формулы, то Д также выводимая формула.
§2.11. Задачи и упражнения
155
В данном исчислении (исчислении Гильберта) доказать, что:
1)	выводима формула А -4 А;
2)	если А -4 (В -4 С), Ап В выводимы, то выводима и формула С.
2.82.	Используя результаты предыдущей задачи, доказать, что в исчислении Гильберта имеет место следующее утверждение: если а -4 (0 -4 7) выводимо, (3 -4 (а -4 7) — также выводимая формула.
2.83.	Введено следующее исчисление (исчисление Лукасевича): множество Термов состоит из бесконечного числа букв и знаков —, -4.
Правила образования формул: все буквы есть суть формулы; если у> — формула, то — также формула; если <р и 0 — формулы: то -4 0 — также формула.	_
Система аксиом следующая: (А -> В) -» ((В 4 С) 4 (А 4 С)); (А -4 *4 А) —► А; А —► (А —► В).
Справедливы правило подстановки и правило заключения.
Доказать, что в исчислении Лукасевича выводима формула А -4 А.
2.84.	Исчисление задано следующим образом (исчисление Новикова): множество термов состоит из бесконечного числа букв и знаков V, А, -4,
Правила образования формул:
а)	все буквы суть формулы;
б)	если а — формула, то а — также формула;
в)	если а и /3 — формулы, то а V(3, otNf3, а -4 /3 — также формулы. Система аксиом состоит из следующих одиннадцати аксиом:
1) А —> (В -4 А); 2) (А -4 (В -4 G)) -4 ((А -4 В) -4 (А -4 С?));
3)ААВ-4А; 4)АаВ->В; 5) (А -4 В) -4 ((А -4 С) -> А -4 (В А С));
6) А 4 А V В; 7) В —> А V В; 8) (А -4 С) -4 ((В -4 С) -4 (А V В) -4 G);
9) (А -4 В) -4 (А -4 В); 10) А -4 А; 11) А -4 А.
В качестве правила вывода используются правило подстановки и правило «включения.
Доказать, что система аксиом является непротиворечивой.
2.85. Доказать, что аксиома 9) в исчислении Новикова является независимой КО отношению ко всем остальным этого исчисления.
2.86. Пусть предикаты N(x), С'(х), Р(х), П(х), Ч(х), Д(х, у) имеют со-{ОТветственно смысл: х — натуральное число, х — целое число, х — простое Число, х — положительное число, х — четное число, х делит у. Сформулировать Смысл следующих формул узкого исчисления предикатов (и указать, какие из Яих являются тождественно истинными):
1) (Vx)fy(x) -4 С(х));
2)(Vx)(C(x)->(x)V(x));
3)	(Vx)(3y)(C(x) A С(у) -4 Д(х, j/));
4)	(Зх)(Р(х) А (х));
5)	(Vx)(C(x) А П(х) -4 N(x)).
2.87.	Описать множество истинности следующих двуместных предикатов, определенных на множестве действительных чисел:
х2 - у2 = 0; (х > 0) А (у < 0); (х > О) -4 (у < О).
2.88.	На множестве М определены одноместные предикаты F(x) и G(x). Каким условиям удовлетворяют области их истинности, если истинны:
1)	(Vx)(F(x) -4 G(x)) A (3x)(F(x) A G(x));
2)	(3x)(F(x) A G(x)) A (3x)(F(x) -4 G(x))?
2.89.	Доказать эквивалентность следующих формул:
a)	3(x)F(x) и V(x)F(x);
156
Гл. 2. Математическая логика
6)	V(x)(F(x) -4 А) и 3(x)(F(r) -» А);
в)	V(x)(A -> F(x)) и А —> V(x)F(x).
2.90.	Доказать эквивалентность формул:
а)	3(х) (А Л F(x)) и А Л 3(x)F(r);
б)	3(x)(F(x) V G(x)) и 3(z)(F(r) -> А);
в)	AV V(x)F(x) и V(i)(A V F(x)).
2.91.	Установить, как можно построить теорию нормальных форм в исчислении предикатов.
§ 2.12. Комментарии
Математическая логика — это анализ методом рассуждений, при этом в первую очередь исследуются формы рассуждений, а не их содержание. Формализация рассуждений восходит к Аристотелю. Современный вид аристотелева (формальная) логика приобрела в середине XIX века в работах профессора Казанского университета Платона Порецкого (1844 г.), Джорджа Буля и Августа де Моргана (1847 г.). Математическую логику иногда называют логистикой (школа Рассела). В становление логики внесли большой вклад и другие ученые того времени: Эрнст Шрёдер, Джузеппе Пеано, Джон Венн, Александр Макфарлейн.
Интенсивно математическая логика развивалась в 50-годы нашего столетня в связи с бурным развитием цифровой техники. В 1910 г. русский физик П. Эренфест указал иа возможность применения логики высказываний для описания переключательных цепей в телефонной связи. В 1938-1940 гг. почти одновременно появились работы советского ученого В.И. Шестакова, американского ученого Шеннона и японских ученых Накашимы и Ханзавы о применении математической логики в цифровой технике. В 1951 г. в СССР была принята в эксплуатацию первая в Европе вычислительная машина — МЭСМ (малая электронная счетная машина), разработанная под руководством С.А. Лебедева. Первая монография, посвященная использованию математической логики при проектировании цифровой аппаратуры, была опубликована в СССР советским ученым М.А. Гавриловым в 1950 г.
Для углубления знаний по математической логике рекомендуем [8, 11, 24, 30).
Природа говорит языком математики: буквы этого языка — круги, треугольники и иные математические фигуры.
Г. Галилей
Глава 3
ТЕОРИЯ ГРАФОВ И МОГРАФОВ
§ 3.1. Взвешенный граф и его матричное задание
Выше понятие графа было определено как совокупность множества вершин V и дуг U2 С V2. Дуга и, соединенная с вершиной V, называется инцидентной вершине v, а вершина v — коин-цидентной дуге и. В дуге (v,, vj) вершины и,- и vj называются граничными, причем и, — начало, Vj — конец дуги.. Для учета Изолированных вершин, т. е. вершин, не коинцидентных ни одной дуге, расширим понятие графа G до совокупности вида
G = (V,Ut, U2), игсУ, U2cV2,
Где унарное отношение Ui определяет изолированные вершины, U2 — дуги.
При удалении дуг из графа G = {V, Ui, U2) получаем частичный граф G' С G, G' = (V, Ui, U!/}, Щ С U2, графа G; при удалении вершин и инцидентных им дуг получаем подграф G" = {V", U/, U'/), V" С V,U'/ С их,Щ С U2, графа G; при дальнейшем удалении дуг из подграфа G" графа G получаем частичный подграф G = {V, Ui, U2) графа G.
Две дуги, иа и up, называются смежными, если они инцидентны одной и той же вершине.
Две вершины, иа и vj, называются смежными, если они соединены дугой.
Множество вершин, смежных с вершиной va, называются ее окрестностью и обозначается O(va) или Г(иа). Используя понятие окрестности, граф определяют как совокупность множества вершин и множества их окрестностей: G = {V, Г).
Определим понятие взвешенного графа. Сопоставим каждой вершине ui G V (V = {и,/ j = 1,2,..., п}) графа G = (V, Ui, U2) вес wt из множества весов W = {w,/ i = 1,2,...}. В результате Получим множество взвешенных вершин {(и,-, wt)/ i = 1,2,..., n}; При этом не обязательно, чтобы все веса были различными.
Сопоставим каждому элементу множества U2 = {и,/ г = 1, ... • •., т} вес pi из множества весов Р = {pi/ i = 1, 2, ...}. В результате получим множество взвешенных дуг {(u,-, р/)/ г = 1, 2, ...
158
Гл. 3. Теория графов и мографов
..тп}; при этом не обязательно, чтобы все веса были различными.
Множества взвешенных вершин и дуг определяют в совокупности взвешенный графG = ((V, TV), (U, Р)), V = V U Ui, который, строго говоря, является уже не графом, а функцией, определенной на вершинах и дугах графа.
Для задания графов существует несколько классов матриц, основные из которых — класс матриц инциденций и класс матриц смежности. Рассмотрим эти классы матриц.
Класс матриц инциденций. Если граф G содержит п вершин и тп дуг, то матрица инциденций A(G) = [atJmxn определяется как
если вершина Vj — начало дуги и,, если вершина Vj — конец дуги и,-, если вершина Vj не коинцидентна дуге и,-.
Иногда граф содержит петли, т. е. дуги вида (о,-, ц). В этом случае некоторые элементы матрицы А одновременно равны и 1, и —1, что приводит к неоднозначности элементов матрицы А.
Для задания графа с петлями “расщепим” матрицу А на две матрицы, А+ и А~ (А+ — начальная, А~ — конечная матрица инциденций):
•<4+ = [aij]mxn>
+ _ Г1, если верщина Vj является началом дуги и,-, где а- — | q в ПроТивном случае;
•А — [atj]’nxn>
_ _ (1, если вершина Vj является концом дуги и,, где а- — | q в противном случае.
Если граф без петель, то А = А+ — А". Матрицы А+ и А~ описывают граф без учета весов вершин и дуг. Зададим веса вершин графа G в виде столбцовой матрицы
W(G) =
«1
W2
а веса дуг — в виде диагональной матрицы порядка тп
Р1	0	0	...	О
О	р2	0	... О
О 0	0 ... рт
Матрицы А+, А , W, Р полностью описывают взвешенный граф.
§3-1. Взвешенный граф и его матричное задание
159
Рассмотрим логическую схему, реализующую сложение по модулю 2
/(®1, х2) = xi ® х2
в базисе Шеффера
/3) = аУ 0
(рис. 3.1, а), и соответствующий ей взвешенный граф G = ((V, IV), U), вершины которого vi, v2, и,, i = 3, 4, 5, 6, и vy взвешены переменными Xi, х2, функциональной переменной <рш элемента
Рис. 3.1
Шеффера и функциональной переменной f соответственно. Начало дуги соответствует переменной xi, х2 или выходу элемента Шеффера, конец дуги — входу элемента Шеффера или функциональной переменной /. Тогда граф G = ((У, W), U) (рис. 3.1,6), определяющий эту логическую схему, задается матрицами рассмотренного класса как
	1	0	0	-1	0	0	0		
	1	0	-1	0	0	0	0		Xl
	0	1	-1	0	0	0	0		x2
	0	1	0	0	-1	0	0		
A(G) =	0	0	1	-1	0	0	0	, W(G) =	Vui
	0	0	1	0	-1	0	0		
	0	0	0	1	0	-1	0		У’ш
	0	0	0	0	1	-1	0		f
	0	0	0	0	0	1	-1		
Класс матриц смежности. Матрица смежности S = [$,у]пхп невзвешенного графа определяется следующим образом:
1, если (и,-, Vj) G U,
О, если (и,, vj) U.
sij —
160
Гл. 3. Теория графов и мографов
Для взвешенного графа
Pij, если дуга (и,, Vj) G U имеет Becpij, О, если (и;, Vj) $ U.
Матрицы 5, W, Р полностью описывают взвешенный граф. Например, граф G (рис. 3.1, б) задается матрицами этого класса как
	0 0 1 1 0 0 0		
	0 0 10 10 0		Х2
	0 0 0 1 1 0 0		¥>ш
5(G) =	0 0 0 0 0 1 0	, W) =	Рш
	0 0 0 0 0 1 0		<Рш
	0 0 0 0 0 0 1		
	о о о о о о		f
При задании графа G (рис. 3.1,6) отсутствует матрица P(G), так как дуги этого графа не взвешены.
Два графа, G — (V, U) и G' = {V, U'}, называются изоморфными, если существует такое взаимно однозначное соответствие между вершинами множеств V = {у;} и V = {и,-}, что вершины иа, U(, соединены дугой (иа, и&) в одном из графов в том и только том случае, когда соответствующие им вершины и', v'b соединены дугой (и', и() в другом графе.
Матрицы рассмотренных классов задают графы с точностью до изоморфизма.
Обозначим через (А+)т транспонированную матрицу инциден-ций А+. Матрица смежности, начальная А+ и конечная А~ матрицы инциденций и диагональная матрица весов дуг связаны следующим равенством:
5= (А+)Т-Р-(А").	(3.1)
Степенью s(v) вершины v называется число дуг (ребер), инцидентных этой вершине.
Используя понятие мографа, можно задавать более эффективно в смысле затраченного объема информации большие графы G,, матрицы смежности которых слабо заполнены единицами. Графы этого класса имеют большое практическое значение.
Будем задавать связанный неориентированный граф G = (V, U} без петель моделью Ф = (М, 5lt 5г, ..5„), в которой М = V; слово, определяемое 5,-, представляет собой окрестность О(иа) еди-ничного радиуса вершины иа G V, содержащую i — 1 вершину va. Для иллюстрации этого задания рассмотрим тот же граф G (рис. 3.1,6), не учитывая ориентацию его ребер. Матрица инцидентности ф(Ф) в этом случае представляет собой матрицу смеж-
§3.1. Взвешенный граф и его матричное задание
161
йости 5(Ф) графа G, в которой диагональные элементы равны 1:
QW =
1 о
1 1 о о о
V2 V3 V4 V5 V6 V? 0 110 0 0 110 10 0 11110 0
0 110 10 110 110
0 0 1111 0 0 0 0 1 1
VI «2 из
V4 Vi ve
V7
Минимизацию затрачиваемого количества информации при задании графа сведем к покрытию столбцов строками матрицы $(Ф). Для уменьшения трудоемкости поиска минимального покрытия вычеркнем поглощаемые строки и столбцы. Строка а поглощает строку /3, если множество столбцов Ма, покрываемых строкой а, содержит множество столбцов Мр, покрываемых строкой /3, Ма Э Мр. Столбец а поглощает столбец Ь, если множество строк Мь, покрывающих столбец Ь, содержит множество строк Ма, покрывающих столбец а, Ма С Мь-
Найдем покрытие столбцов строками матрицы ф(Ф), затем
удалим недиагональные единичные элементы, вошедшие в покрытие, и снова произведем покрытие столбцов и т. д. до тех пор, пока все недиагональные элементы не будут равны нулю. В результате получим минимизированное задание графа G в виде соответствующего мографа, в котором сигнатура представляет собой сечения элементов полученных покрытий.
В рассматриваемом случае минимальное покрытие имеет вид {из, ve}- Этому покрытию соответствуют две окрестности единичного радиуса: O(v3) = {vi, v2, v4, v5} и O(y6) = {v-i, v5, и?}. После удаления соответствующих единиц из матрицы ф(Ф) получаем
Матрицу
Р'(Ф) =
Vl V2
1 о о , 1
1 о
0 1
V4
1 о
1 о
Vi о
1 о 1
V3
V6 ,
VI
V2
которая имеет покрытие {uj, v2} или {U4, U5}. Для определенности выберем первое покрытие. Окончательно рассматриваемый Граф G задается моделью Ф, матрица инцидентности которой име-
ет вид
из ив VI V2
Для задания этой матрицы необходимо 20 бит вместо 49 бит при задании этого графа матрицей смежности. Мограф GM (ф(Ф))
® В. А. Горбатов
162
Гл. 3. Теория графов и мографов
изображен на рис. 3.2. Уплотнение задания ориентированных графов с петлями аналогично первому способу. Отдельно задаются на-_ u u (v j	чала дуг графа в виде мографа (GM)+
23	и концы дуг в виде мографа (GM)~.
х-ч______( v u у Для представления графов в виде
ui иб	ч "з> в’ 1 композиции более простых графов
введем следующие три операции: '4?’k(w3’w6’w2) объединение, сумму и произведение.
Объединением графов Ga = (Va, Рис‘ 3,2	Ua) и Gb = (Уъ, Ub) называется граф
G = (у, U), носитель и сигнатура которого являются соответственно теоретико-множественным объединением носителей Va, Vb и сигнатур Ua, Ub графов Ga, Gb (рис. 3.3, a).
Рнс. 3.3
Суммой графов Ga = (Va, Ua) и Gb = Уъ, Ub) называется граф G = (V, U), представляющий собой объединение графов Ga, Gb и двудольного полного графа ^|ve|,|v4|, построенного на носителях К\УоПУь и УДКПУь. Другими словами, при построении суммы
§ 3.2. Связность и сильная связность графа
163
графов Ga и Gb определяется их объединение и каждая вершина v» € Va, не вошедшая в пересечение VaA Vj,, соединяется со всеми вершинами Vb \ Va П Vb, и наоборот. Будем говорить, что вершина и конусирует граф G, если она смежна со всеми вершинами графа G. Вершины, не вошедшие в пересечение слагаемых v, $ Va Г) Vb при суммировании графов Ga и Сь, конусируют соответственно Vb \ Va П Vb и Va \ Va П Vb (рис. 3.3, б].
Декартовым произведением графов Ga = (Va, Га) и Gb = = (Vb, Гь) называется граф
G = (V, Г), V = Va X Vb = {(voi, Vbi)/ vai e Va, Vbi e П}, . r(uai, vb,) = Гиа. x ГVbt
(рис. 3.3, в).
§ 3.2. Связность и сильная связность графа
Распределение цепей, циклов в неориентированном графе и путей и контуров в ориентированном графе определяет многие свойства графа, в том числе его связность и сильную связность.
Цепью называется последовательность ребер (pi, Р2> • • Рп) вида pi = (vi, v,+i), г = 1,2,..., п. Вершины цепи могут иметь степень, равную 1. Вершина их со степенью, равной 1, называется концевой.
Число ребер цепи, соединяющей вершины и, и Vj, называется ее длиной l(vi, иу).
Циклом называется цепь, концевые вершины которой совпадают. Все вершины цикла имеют степень s(u,) > 2.
Цепь называется: составной, если в ней повторяется хотя бы одно ребро; сложной, если повторяется хотя бы одна вершина; простой, если не повторяется ни одна вершина.
Граф G = (V, U) называется связным, если любая пара его вершин соединена цепью.
Максимальный по включению вершин связный подграф графа называется его компонентой связности. Граф называется несвязным, если число его компонент больше одной. Например, граф, состоящий из двух несмежных вершин, является несвязным и имеет две компоненты связности.
Рассмотрим алгоритм определения связности графа и числа его компонент.
Теорема 3.1. Элемент матрицы Sn, где S = [s,j] — матрица смежности, Sij есть множество последовательных идентификаторов ребер, образующих цепь между и, и Vj, представляет собой множество цепей длины п, соединяющих вершины Vi,Vj.
При возведении в n-ю степень матрицы смежности S = [s,j] умножение рассматриваем как конкатенацию (приписывание спра
164
Гл. 3. Теория графов и мографов
ва к идентификатору, соответствующему г-й строке, идентификатора, соответствующего у-му столбцу), а суммирование — как объединение полученных в результате умножения слов.
Пример 3.1. Рассмотрим распределение цепей в неориентированном графе
Петерсена (рис. 3.4), матрица смежности которого имеет следующий вид:
	1		2	3	4	5	6	\ 7	8	9	10		
			а			е	к						1
		а		ь				m					2
			ь		С				п				3
				с		d				Р			4
s =		е			d						г		5
		к							3	X			6
			т							t	У		7
				п			3				и		8
					р		X	t					9
						г		У	и				10
Матрица смежности S определяет распределение ребер (цепей единичной длины). Для определения цепей длины 2 возведемматрицу смежности в квадрат:
123456789	10
аа, ее, кк		ab	ed			am	ks	kx	er
	аа, ЪЬ, тт		be	ае	ak		bn	mt	my
аЪ		ЪЬ, nd		cd	ns	bm		cp	nu
de	Ъс		cc, dd, PP		px	Pt	cn		dr
	ае	cd		ее, drf, rr	ek	ry	ru	dp	
	ак	ns	px	ek	kk, 33. XX	xt			SU
ат		btn	Pt	ry	xt	mm, tt, УУ	У»		
кз	Ъп		cn	ru			nn. S3, uu	3X	
кх	mt	ср						tt	ty
ег	ту	пи	dr		SU			ty	rr, w
§3.2. Связность и сильная связность графа
165
Суммируя матрицы S + S2, получаем, что в результирующей матрице отсутствуют нулевые элементы, что означает существование цепи длины 1 или длины 2 между любой парой вершин графа Петерсена. Следовательно, граф Петерсена связный и представляет собой компоненту связности.
Понятие цепи является Основным при изучении метрических свойств графа.
Минимальная длина цепи, соединяющей вершины Vi и Vj,называется расстоянием r(vi, Vj) между вершинами v,, Vj: r(vj, vj) = min/fc(v,-, Vj).
к
Максимальное расстояние между вершинами графа G называется диаметром графа d(G):
d(G) = maxmin/fc(v,-, Vj). v k
Введенная на множестве всех вершин (v,-, Vj) графа G функция t(yi, Vj) определяет его метрику. Действительно, эта функция г (и;, Vj) удовлетворяет следующим трем аксиомам:
(Vv,-, vj)(r(v,-, Vj) = О) О Vi - vj;
(Vv,-, Vj)(r(vi, Vj) = r(vj, v,-));
(Vv,-, Vj, vfc)(r(v,-, Vj) + r(vj, vfc) > r(v,-, vfc));
фследнюю аксиому обычно называют неравенством треугольника.
fi Матрица А называется к-клеточной, если в результате перестановки строк и столбцов она приводится к виду
Ai	0	0	...	О
О	А2	0	...	О
О	О	А3	...	О
О	О	0	...	А*
gie матрица A,-, i = 1, ..., к, не содержит ни одного нулевого элемента (кроме, быть может, диагональных).
Теорема 3.2. Граф G состоит из к компонент связности тогда и только тогда, когда его матрица достижимости
d(G)
£>(G)=£[S(G)]’,	(3.2)
t=l
«Эе S(G) — матрица смежности, d(G) — диаметр графа G, является к-клеточной.
166
Гл. 3. Теория графов и мографов
Цикл называется эйлеровым, если каждое ребро графа участвует в его образовании один раз; граф, содержащий такой цикл, называется эйлеровым.
Теорема 3.3. Граф G = {V, U) является эйлеровым тогда и только тогда, когда он связен и степень s(ya) каждой вершины va G V — четное число.
Простой цикл называется гамильтоновым, если он проходит через каждую вершину графа; граф, содержащий такой цикл, называется гамильтоновым. Теорема 3.3 определяет простой критерий выявления свойства эйлеровости для каждого графа. Для определения свойства гамильтоновости графа имеется следующее достаточное условие.
Теорема 3.4 (Дирак). Если граф G = (V, U), IV| > 3, является связным и степень каждой вершины Vi ё V есть
»(».)> ||V| ,
(3.3)
где [ ] — ближайшее целое число, то граф является гамильтоновым.
Граф, состоящий из одной вершины, называется тривиальным. Удаление вершины из нетривиального графа G приводит к подграфу G \ и, содержащему все вершины графа G, кроме и, и все ребра графа G, не инцидентные и. Аналогично, удаление ребра х приводит к подграфу, содержащему все вершины (к остовному подграфу) и ребра, за исключением ребра х, т. е. G\x. Минимальную степень вершин графа обозначают 6(G) = mins(v,), и,- € G. Если все вершины графа имеют одинаковую степень п, то такой граф называют регулярным графом степени п.
Связностью графа х(<7) называется наименьшее число вершин, удаление которых делает граф несвязным, или тривиальным. Из этого определения следует, что для любого графа x(G) > > 0. Полный граф Кп становится тривиальным, если удалить п - 1 вершин, и поэтому x(A'n) = п - 1.
Если x(G) = п, то граф G называют п-связным.
Реберной связностью A(G) графа G называется наименьшее количество ребер, удаление которых приводит к несвязному, или тривиальному графу. Для несвязного, или тривиального графа A(G) = 0.
Для любого графа G связность, реберная связность и минимальная степень связаны следующим неравенством:
X(G) < A(G) < 5(G).
(3-4)
Среди всех графов с п вершинами и т ребрами наибольшая связность равна 0, если т < п—1, и равна [2т/п], если т > п — 1, где скобки [ ] означают, что берется целая часть выражения.
§ 3.2. Связность и симная связность графа 167
Простые цепи называются реберно непересекающимися, если никакие две из них не имеют общего ребра. Если же у таких цепей нет и общих вершин, то они называются вершинно непересекающимися.
Пусть G — связный граф, а и, v — две различные его вершины. Множество ребер Е графа G называется и, v-разделяющим множеством в G, если любая простая цепь из и в и содержит ребро из Е. Множество вершин V графа, не содержащее и, и, называется и, и-отделяющим множеством в G, если любая простая цепь из и в и проходит через вершину V.
Если некоторое и, v-разделяющее множество Е содержит к ребер, то число реберно непересекающихся простых цепей из и в v не может превысить к, поскольку иначе число ребер из Е должно принадлежать более чем одной простой цепи. Если и, и-разделяющее множество имеет наименьшую мощность, то число реберно непересекающихся простых цепей между и и и равно к.
Теорема 3.5. Максимальное число реберно непересекающихся простых цепей, соединяющих две различные вершины и, v связного графа G, равно минимальному числу ребер в и, v-раз-деляющем множестве.
Теорема 3.6. Максимальное число вершинно непересекающихся простых цепей, соединяющих две различные несмежные вершины и, v графа G, равно минимальному числу вершин в и, v-отделяющем множестве.
Теорема 3.7. Граф п-связен тогда и только тогда, когда любая пара его вершин соединена по крайней мере п вершинно непересекающимися цепями.
Теорема 3.8. Граф п-реберно связен тогда и только тогда, когда любая пара его вершин соединена по крайней мере п реберно непересекающимися цепями.
Теорема 3.9 (Менгер). Для любых двух множеств вершин Va, Vp {Va, Vp / 0, VaClVp = 0) наибольшее число непересекающихся цепей, соединяющих Va и Vp, равно наименьшему числу вершин, отделяющих Va и Vp.
Теоремы 3.5-3.9 определяют зависимость связности графа от числа непересекающихся цепей. Эту зависимость впервые исследовал Менгер.
Разделяющим множеством связного графа G называется такое множество его ребер, удаление которых из G делает его несвязным. Например, множество {р?, pg, P5, рз} на рис. 3.5, а является разделяющим, и его удаление приводит к образованию двух компонент связности.
Разрезом называется такое разделяющее множество, которое ие имеет собственного разделяющего подмножества. Множество {Р7, Рэ> Р5> Рз} не является разрезом, поскольку оно содержит раз-
168
Гл.З. Теория графов и мографов
Являющее подмножество {рт, р$, ps}. Это подмножество не имеет собственных разделяющих подмножеств и поэтому является разрезом. Разрез, состоящий из одного ребра, называется мостом (см. рис. 3.5,6). Иногда разрез называют коциклом.
Рассмотрим ориентированный граф и его свойство быть сильно связным.
Путем называется последовательность дуг (<?i, 62, .., <fn) вида <5, = (и,-, u,+i), i = 1,2,..., п.
Вершины пути имеют степень, равную 1 или 2. Вершина V; со степенью, равной 1, называется концевой; при этом вершина
Рис. 3.5
«1, коинцидентная дуге называется начальной, вершина vn+i, коинцидентная дуге бп, — конечной.
Число дуг, образующих путь, называется длиной пути.
Контуром называется путь, концевые вершины которого совпадают. Все вершины контура имеют степень s(v,) > 2.
Путь называется состав ным, если в нем повторяется хотя бы одна дуга. Граф называется сложным, если в нем повторяется хотя бы одна вершина, и простым — в противном случае.
Граф G = (V, 17) называется сильно связным, если любая пара вершин соединена путем.
Максимальный по включению вершин сильно связный подграф графа называется его компонентой сильной связности.
Граф называется несильно связным, если число его компонент
сильной связности больше 1.
Рассмотрим алгоритм определения сильной связности графа и числа его компонент сильной связности. Этот алгоритм так же, как и алгоритм определения связности графа и числа компонент связности, рассмотренный для случая неориентированного графа, основан на использовании теорем 3.1 и 3.2.
d
Рис. 3.6
Пример 3.2. Определим сильную связность ориентированного графа Петерсена (рис. 3.6), матрица смежности которого имеет следующий вид:
§ 3.2. Связность и сильная связность графа
169
Максимальная степень, в которую необходимо возвести матрицу смежности графа S(G) для определения компонент сильной связности, на основании теоремы 3.2 равна диаметру d(G) этого графа:
= max min Ik (v;, vy),
где l(vi, Uj) — длина пути от вершины и, до вершины vj.
В рассматриваемом случае диаметр d(G) графа G равен 5. Матрицу дости-4
жимости D(G) вычисляем как [5(G)]
15=1
5
D(G) = '£fSi = S + S2 + 53 + S* + 5s =
issl
123456789	10
abede	a	ab	abc	abed					
bede	bedea	b	be	bed					
cde	cdea	cdeab	c	cd					
de	dea	deab	deabe	d					
e	ea	eab	eabc	eabed					
d«,i	de,2	de,3	de,4	de,5	xtyus	xt	xtyu	X	xty
dr.i	dr,2	dr,3	dr,4	dr,e	yus	yn	yusxt	yusx	У
ds,i	de,2	dg,3	de,4	dg,5	3	sxt	sxtyu	3X	sxty
ds,i	ds,2	ds,3	ds,4	ds,&	tyus	t	tyu	tyusx	ty
dio,i	dlfl,2	dio,3	dl0,4	dio.s	из	usxt	и	USX	usxty
de,i = fc, xpde, xtyre, «6,4 = xp, kabc, xtmbc, ctr,2 = m, угеа, уизка, d7,s = yr, mbcd, yuncd, dti3 = n, skab, sxtmb, ds,i = pde, tyre, tyusk, d»,4 = p, tmbc, tyunc, dio,2 = rea, uska, usxtm, dio,5 = r, uncd, usxpd.
de,2 = ka, xtm, xpdea, de,5 = xpd, xtyr, к abed, dtfi = mb, yun, yreab, df,i = sk, nede, sxpde, de,4 = nc, sxp, skabc, ds,2 = tm, pdea, tyrea, d$,5 =pd, tyr, tmbed, djo.3 = un, read, uskab,
de,3 = kab, xtmb, xtyun, dr,! = yre, yusk, mbede, di,4 = mbe, yunc, yusxp, ds,2 = ska, sxtm, nedea, rfg,s = ned, sxpd, sxtyr, ds,3 = tmb, tyun, pdeab, dio.i = re, usk, unede, dio,4 = unc, изхр, reabc,
170
Гл.З. Теория графов и мографов
Компоненте сильной связности в матрице достижимости соответствует подматрица максимального размера, каждый элемент которой не равен О. Элементы, показывающие связь между этими подматрицами, могут быть не равны 0.
В данном примере имеем две компоненты сильной связности с носителями соответственно {1, 2, 3, 4, 5} и {6, 7, 8, 9, 10}.
Сетью называется ориентированный граф G = (V, U), в котором выделены два множества полюсных вершин, V+ и V~, таких, что из каждой вершины vf G V+ дуги только исходят, в каждую вершину и,~ 6 V~ дуги только входят и каждая вершина v, € G V \ (V+ U V") коинцидентна как входящим, так и исходящим дугам. Сопоставим каждой дуге положительное число, определяющее ее “пропускную способность”. Тогда можно сформулировать еще один вариант теоремы Менгера для такого взвешенного по дугам ориентированного графа.
Теорема 3.10. Максимальный поток через сеть равен минимальной пропускной способности ее разреза.
Алгоритм определения максимального потока рассмотрен в §3.5.
§ 3.3. Цнкломатнка и коцикломатика
Для исследования циклов в графе используют цикломатиче-скую матрицу C(G) = каждому циклу графа взаимно однозначно сопоставляется вектор-строка матрицы C'(G); каждый элемент этой строки определяется как
_ fl, если у-е ребро входит в г-й цикл, c,’i “[О в противном случае.
Множество C(G) всех векторов, каждый из которых соответствует одному циклу графа G, образует векторное пространство, называемое пространством циклов графа G. При этом выполняются следующие условия:
1)	для любых двух циклов Ri, Rj G C(G), Ri П Rj / 0, существует некоторый третий цикл (Ri ф Rj) G C(G), где ф означает поразрядное сложение по модулю 2;
2)	сложение по модулю 2 обладает свойством коммутативности, т. е. для любых двух Ri, Rj G C(G)
Ri Ф Rj = Rj Ф Rit
3)	сложение по модулю 2 ассоциативно, т. e. для любых Ri, Rj, Rk G C(G)
(Ri ф Rj) Ф Rk ~ Ri Ф (Rj Ф Rk)-
Базисом векторного пространства называется всякая система линейно независимых векторов, порождающая данное пространство. Множество векторов тогда и только тогда является базисом векторного пространства, когда всякий элемент этого
§3.3. Цикломатика и коцикломатика
171
пространства единственным образом представим в виде линейной комбинации векторов множества. Если пространство имеет базис из п векторов, то оно называется п-мерным пространством.
Базис циклов графа G — это базис пространства циклов графа G, состоящий из простых циклов.
Вектор R зависит от простых циклов R±, Ri, • •Rn, если он представим в виде линейной комбинации векторов п
R = R, •
i=l
Любой вектор цикла графа G может быть представлен в виде линейной комбинации векторов базиса циклов. Рассмотрим, например, граф, изображенный на рис. 3.7, а. Цикломатическая матрица C(G) этого графа имеет вид
	а	ь	с	d	е	f	m	9	h	
	0	1	1	0	0	0	0	1	1	Ri
	1	0	0	0	0	1	1	1	0	Ri
C(G) =	1 0	0 1	0 1	1 1	1 1	1 0	0 1	1 1	1 0	R3 Ri
	1	1	1	0	0	1	1	0	1	Rb
	0	0	0	1	1	0	1	0	1	Re
	1	1	1	1	1	1	0	0	0	Ri
В качестве базисной системы циклов можно взять циклы Ri, Ri, R3. Можно проверить, что все остальные циклы выражаются как их линейная комбинация по модулю 2: /?1фТ?2Ф-йз = R4, Т?1фТ?2 = Rs, Ri®Rs = Rr, Ri®Rs = Re-
Деревом называется связный граф, не содержащий ни одного цикла. Остовный подграф гра-фа — это подграф, содержащий все вершины графа. Остовом	Sp g у	у	L
называется остовный подграф,	4	О<Л
являющийся деревом. Хордой	О
остова D в связном графе G на-	X.
зывается всякое ребро графа, не	Qj	О
принадлежащее D. Любой под-	а	б
граф, который состоит из хорды	рис. 3 7
и остова, имеет точно один цикл.
Дипломатическое число v(G) графа G равно числу хорд любого остова в G.
Если связный граф G имеет п вершин и т ребер, то v(G) = т - п + 1.	(3.5)
Если граф G содержит к компонент связности, то его цикломатическое число есть
i/(G) = т — п + к.
(3.6)
172
Гл.З. Теория графов и мографов
Дипломатическое число несвязного графа может быть определено как сумма дипломатических чисел его компонент связности:
к
-(G) = !>(<?.)	(3.7)
i=l
Цикломатическое число определяет меру связности графа. Отметим, что свойства циклов графа и его разрезов похожи. Лесом называется граф, не содержащий циклов. Иными словами, если граф состоит из нескольких компонент связности, каждая из которых является деревом, то данный граф является лесом. Если лес G имеет п вершин и к компонент связности, то он содержит п — к ребер.
Остовным лесом называется граф, каждая компонента которого является остовным деревом.
Коциклический ранг x(G) (ранг разреза) — это число ребер в его остовном лесе:
X(G) = п - к.
Количество базисных циклов в графе G определяется цикло-матическим числом (циклическим рангом) графа v(G).
Теорема 3.11 (Эйлер). Число базисных циклов графа постоянно и равно его цикломатическому числу.
Базисной системой циклов для данного остовного леса D графа G называется множество всех циклов графа G, каждый из которых содержит только одну хорду D. Эта система образует базис пространства циклов. В рассматриваемом примере циклы Ri, R?, R3 являются базисом
C6(G) =
cmrfabefgh
1	0	0	0	1	0	0	1	1
0	1	0	1	0	0	1	1	0
0	0	1	1	0	1	1	1	1
Хорды	Остов D
Полученная матрица является базисной цикломатической матрицей относительно остова D.
Выполняя 2V — v - 1 раз операцию сложения по модулю 2 над базисными циклами, получаем все множество циклов этого пространства.
Часто матрицу инциденций А и цикломатическую матрицу С называют первой матрицей инциденций и второй матрицей инциденций соответственно.
Теорема 3.12. Вторая и первая матрица инциденций линейного графа G связаны операцией матричного умножения:
C(G) х А (G) = 0 (mod 2).
§ 3.3. Цикломатика и коцикломатика
173
Доказательство теоремы основано на том факте, что если вершина Vj входит в t-й цикл Ci, то точно два ребра, Uki и и^, инцидентные этой вершине, включены в г-й цикл.
Запишем базисную систему разрезов для графа G и остовного дерева D, изображенного на рис. 3.7, б:
{а, т, d}, {Ь, с}, {е, d}, {д, т, с, d}, {d,h, с}, {/, т, d}.
Эта система получена следующим образом. Удаляется ребро остова D. Множество вершин при этом распадается на два непересекающихся подмножества, Vi и У2- Множество всех ребер в G, каждое из которых соединяет вершину из Vi с вершиной из V2, является разрезом графа G. Множество всех разрезов для каждого ребра остова D является базисной системой разрезов для данного остова D.
Базисная система разрезов образует базис в пространстве разрезов, или пространстве коциклов. Эта система может быть записана в виде соответствующей базисной матрицы разрезов, или базисной коцикломатической матрицы:
K6(G) =
abeghfmcd
1	0	0	0	0	0	1	0	1
0	1	0	0	0	0	0	1	0
0	0	1	0	0	0	0	0	1
0	0	0	1	0	0	1	1	1
0	0	0	0	1	0	0	1	1
0	0	0	0	0	1	1	0	1
Остов D	Хорды
Выполняя 2х — х ~ 1 Раз операцию сложения по модулю 2 над коциклами, порождаем все множество коциклов (разрезов) графа.
Задавая в графе свойства циклов, можно определить класс графов. Рассмотрим, например, двудольные графы. Двудольным графом (7(Vi, У2) называется граф, множество вершин которого разбивается на два непересекающихся подмножества, Vi и У2, так, что каждое ребро в G соединяет две вершины из разных подмножеств. Для того чтобы убедиться в том, что граф является двудольным, достаточно проверить его циклы.
Теорема 3.13. Граф является двудольным тогда и только тогда, когда все его циклы имеют четную длину (четны).
Доказательство. Пусть G — двудольный граф. Тогда множество его вершин распадается на подмножества V) и V?. Рассмотрим любую вершину из Vi. Для того чтобы получить цикл, проходящий через эту вершину, надо пройти по одному из ребер из Vi в V2 и по другому из V2 в Vi по к раз. Таким образом, любой цикл в G имеет 2к ребер, т. е. является четным.
174
Гл. 3. Теория графов и мографов
Пусть теперь все простые циклы четные; докажем обратное утверждение, что G — двудольный граф. Предположим, что G — связный граф. Для любой вершины и,- G G обозначим через Vi множество вершин, состоящее из v, и всех вершин, находящихся на расстоянии четной длины от и,-; через V? обозначим множество остальных вершин, находящихся на расстоянии нечетной длины от Vi. Пусть теперь имеются две вершины, Vj, Vk € V2, которые соединены ребром. Поскольку между и,- и vj, а также между и, и Vk — четное число ребер, то цикл, проходящий через ребро (и,, и*,) и вершину и,, нечетный, но это противоречит условию, согласно которому все циклы четные. Следовательно, вершины V2 не соединены между собой. Аналогичное доказательство можно провести, если G имеет несколько компонент связности.
В двудольном графе не обязательно каждая вершина из Vi соединена с каждой вершиной из V2, но если это так, то граф называется полным двудольным графом и обозначается КтуП, где т — число вершин Vi, а п — число вершин V2. Граф Кт,п имеет т + п вершин и тп ребер. Полный двудольный граф К\,п называется звездным графом (звездой) и является деревом. Заметим, что любое дерево является двудольным графом. Часто двудольный граф называют графом Кёнига.
§ 3.4. Дифференцирование графов и мографов
Понятие производной в математическом анализе характеризует степень изменения функции при малом изменении ее аргумента; в основу понятия производной положено понятие предела. В дискретной математике отсутствует понятие предела, поэтому невозможно механически перенести понятие производной из непрерывной математики в дискретную. Для решения оптимизационных задач дискретной математики введем понятие производной, основанное на использовании понятия частоты букв в словах некоторой модели Ф.
Перед формальным определением производной рассмотрим следующий пример. Пусть задан граф G (рис. 3.8, а), и нас интересует частота участия ребер в образовании остовов графа G. Граф G содержит 8 остовов (рис. 3.8, о), и искомую частоту можно характеризовать, например, числом вхождений каждого из ребер в эти остовы. Например, ребро а участвует 5 раз в образовании остовов, ребро с — 4 раза и т. д. Частота ребер будет характеризоваться более полно, если наряду с указанными выше числами вычислять числа, каждое из которых равно количеству остовов, в которых содержатся два зафиксированных ребра. Например, ребра а и b содержатся в двух остовах. Еще более точно искомая частота пары ребер pi и Pj определяется отношением числа остовов, которые содержат ребро р, или pj, но не содержат их одновре
§ 3.4. Дифференцирование графов и мографов
175
менно, к числу остовов, содержащих как ребро р£, так и ребро рр (fi ~ 2fij + где /«> /л fij — количества остовов графа, в
которые вошли ребра р,-, pj, р, и pj соответственно.
Это отношение показывает степень неравномерности участия пар ребер в образовании остовов графа.
Условимся в дальнейшем исследуемый процесс называть событием S, происходящим при выполнении определенных условий. В рассматриваемом примере событием S является образование множеством ребер остова графа G, а условием — вхождение ребер графа в данное множество. Собы-
тие S может быть задано соответствующим предикатом P[S).
В рассматриваемом примере предметной областью является множество ребер {a, b, с, d, е}. Мощность сигнатуры остова равна 3 (|V| — 1 = 4 — 1 = 3); следовательно, местность предиката P(S) также равна 3: Рз($)- Таблица, определяющая этот предикат Рз(3), имеет 10 строк (по числу сочетаний из 5 по 3) и 6 столбцов (мощность предметной области):
abode	Рз(5)
0 0 111 0 10	11 0 110 1 0 1110 10 0	11 10 10 1 10 110 110 0 1 110 10 1110 0	0 1 1 1 1 1 1 1 1 0
Каждое событие определяет некоторую двумерную двоичную матрицу Q =	каждому столбцу которой взаимно одно-
значно соответствует условие, входящее в событие, строке — совокупность условий, при которых событие имеет место (при которых
176
Гл.З. Теория графов и мографов
P3(S) = 1), и
fl-
если j-e условие входит в г-ю совокупность условий, при которых событие истинно, в противном случае.
Другими словами, каждое событие определяет модель, матрицей инцидентности которой является матрица Q, т. е. условия, входящие в событие, являются буквами модели, совокупности условий, при которых событие истинно, — словами модели.
Интенсивность участия условий (букв) в событиях (словах) будем характеризовать с помощью частот их вхождения. Для этого введем частотную матрицу отношений F = [/tj]nxn> характеризующую модель Ф, матрица инцидентности которой есть ф(Ф) = = [?ij)mXn.
Частотной матрицей отношений F = [/tj]nxn называется матрица, каждой строке (столбцу) которой взаимно однозначно соответствует буква, и элемент Д, равен числу слов, в которые входят буквы г и у, если i j, в противном случае (г = у) — числу слов, в которые входит буква г. При этом если г = у, то /, — собственная частота буквы, если же i j, то — взаимная частота букв г и j.
Из определения частотной матрицы отношений F = [/ty]nxn следует, что она сама симметрична относительно главной диагонали, т. е. fij = fji, и что собственная частота любой буквы не меньше взаимной частоты этой буквы с любой другой буквой: fi > fij-
Можно показать, что частотная матрица отношений F, характеризующая модель, матрица инцидентности которой Q удовле
творяет соотношению
Qr х Q = F,
(3-8)
где Qr — транспонированная матрица Q (т — знак транспонирования матрицы).
Определим степень участия компонент графа G в наперед заданном событии S в графе G, другими словами, степень неоднородности компонент графа относительно заданного события. Будем характеризовать эту неоднородность производной dG/dS графа G по событию S.
Производной dG/dS графа G по событию S называется неориентированный взвешенный граф (V, (U, Р)), носитель которого совпадает с носителем модели, определяемой этим событием, и пара вершин (и,', иу) взвешена отношением частоты (/,• - /,у) + 4- (ft — fij) их несовместного участия к частоте fij совместного участия в событии S:
8G dS
fi-Vij + fj fij
(3.9)
§ 3.4. Дифференцирование графов и мографов
177
причем:
(uj, vj) $ U, если (dG/dS)(yi, Vj) = оо;
(vj, vj) G U, если (dG/dS)(yi, Vj) — конечная величина, отличная от нуля;
Vj = Vj, если (dG/dS)(vi,Vj) = 0.
Значение выражения (3.9) называется значением производной на ребре (v,-, Vj).
Проиллюстрируем понятие производной от графа по событию
на двух примерах.
Пример 3.3. Пусть заданы граф G (см. рис. 3.8,а), и событие S — обра-аование ребрами остова графа G. Найдем производную от графа G по событию S, которая будет характеризовать интенсивность участия ребер в образовании остовов графа G.
Заданное событие определяет модель, матрица инцидентности которой имеет
следующий вид:
а 1 1 1
1 1 О О о
Ь с 1 1 1 О О 1 О 1 о о 1 1 1 1 1 о
Q =
d е 1 О
О 1 1 О
О 1 1 1
1 О О 1
1 1
В этой матрице каждому столбцу взаимно однозначно соответствует ребро Аграфа G (условие, входящее в событие), строке — совокупность ребер, образующих остов графа (совокупность условий, при которых заданное событие имеет ,’Место) (см. рис. 3.8,6). Частотная матрица отношений F, соответствующая матрице Q, есть
а Ь с d е
5 2
2 5
2 2
3 3
3 3
F = QT х Q =
2 3 3 а
2 3 3 Ь
4 2 2 с
2 5 2 d
2 2 5 е
Элементы этой матрицы определяют dG/dS, представляющую собой граф, носитель которого — {а, Ь, с, d, е), и две вершины этого графа смежны, если зна-Чение производной на дуге, образуемой этими вершинами, отлично от нуля и бесконечности. Вычисляя значения производной dG/dS на ребрах графа:
9G. fa -2fab + fb 5-2-24-5 _(а, Ь) =----------  =---------= з,
dG.	.	fa-2fac + fc	5-2-24-4	„	,
as(о-с) =----------- =-----2----=2-5-
dGtJ	a	Jd-2fde4-A	5-2-24-5	_
_(d, е) =----------  =----------= з,
Получаем граф dG/dS (см. рис. 3.8,в).
Пример 3.4. Рассмотрим граф G (рис. 3.9,а), иа котором задано событие "S — образование ребрами базисного цикла относительно остова G' (рис. 3.9,6) Графа G. Вычислим производную от графа G по событию S.
178
Гл. 3. Теория графов и мографов
Цикломатическое число v(G) графа G равно 3:
v(G) = т — п + к = 7 — 5 + 1=3.
Следовательно, граф содержит 3 базисных цикла. Событие S определяет модель вида
а	b	с	d	е	д	h
п_ 111	1	1	1	1	О	О
4 ~ 0	0	1	1	1	1	0 '
||0	0	1	1	О	0	1
Этой модели соответствует частотная матрица отношений
F = Q’ х Q =
а Ь 1 1
1 1 1 1
1 1 1 1 О О О О
с
1
1
3 3
2
1
1
а Ь с d • е Я h
Вычисляя значение производной, получаем граф dG/dS (рис. 3.9, о). Аиали-
Рис. 3.9
зируя граф dG/dS, замечаем, например, что ребра с и d (или ребра а и Ь) одинаково интенсивно участвуют в заданном событии.
Таким образом, для определения производной от графа G по событию S необходимо:
а)	построить модель, определяемую заданным событием;
б)	найти частотную матрицу отношений, соответствующую этой модели;
в)	вычисляя по частотной матрице отношений значения производной на ребрах графа dG/dS, построить искомый граф dG/dS, характеризующий интенсивность участия элементов графа G в заданном событии S.
Производной dkG/dSk к-го порядка по событию S называется производная от производной (к — 1)-го порядка по тому же событию S:
dkG _ д (d^GX dSk ~ dS XdS11-1) '
Смешанной производной по событиям Sa и Sj называется производная по событию Sa от производной по событию Sb'.
d2G _ д fdGX dSadSb ~ dSa \dSb) *
§ 3.4. Дифференцирование графов и мографов
179
Аналогично определяются смешанные производные от графа G по событиям Si, Si, ..., Sn.
Введенное понятие производной от графа G по событию S дает возможность находить производную и от модели Ф(ф) (от мографа G^M\Q)). В случае определения производной от модели, если событие S не оговорено, в качестве S будем считать “образование буквами слова”.
Значение производной от модели (от мографа	на паре
(г, j) есть
ас1"' ,.,_Л-2/о + Л
где частоты и /j определяются по частотной матрице отношений F = [/,_,] (F = QT х Q). На мографе G^ частоты и fj равны соответственно числу весов вершины и,-, числу общих весов вершин v,1, Vj и числу весов вершины Vj.
Пример 3.5. Вычислим ((V1' ”2)> (U2> из)), гдемограф G^ задан на рис. 3.10, а, событие Si есть событие в обычном понимании (т. е. “образование .буквами слова”), событие Si есть “образование цикла нечетной длины в графе '^G^/dSi = (V, UY-
Матрица инцидентности Qi, задающая мографб^ (рис. 3.10, а), имеет вид с 1 О 1
а
Ql= J о
Ь 1 1 О
d 0
1
1
б
а
Рис. 3.10
Соответствующая ей частотная матрица отношений F = QT х Q такова:
с 1 1
2 1
Fi =
ь 1 2
1 1
d Oil
1 .
1
2II
а 1 1 1 О
Значения производной dG^ /dSt
=	_^_(b,c) = 2,
dG(M> ..	„ dG^ _
ЯС (Ь. d) = 2- де- (°' d) = °°>
(701	<701
Граф dG^M^/dSi изображен на рис. 3.10,6.
Событие Si в графе dG^M^ /dS, задает матрицу Qi вида
(oi.Vj) (v2,V3)	(vi,O3)	(V3>V4)
<?2=||	1	1	1	0
0	0	1	1
соответственно равны
<0 = 1.
-^-(c,d) = 2.
(ч>ч)
180
Гл.З. Теория графов и мографов
Согласно алгоритму нахождения производной от графа находим
(vi, V2 )	(«2,«з)		(«3>«<)	(vi,v<)
1	1	1	0	0
„ 1	1	1	0	0
r2= x	1	2	1	1
0	0	1	1	1
0	0	1	1	1
&G1-м> .. й 1-2 1 + 1
dS^S^"1’	(**. М) =---j----=
Мы рассмотрели равномерность участия пар элементов в событии S. Аналогично можно рассмотреть равномерность участия троек, четверок и т. д., n-к элементов в событии S. Для вывода формулы производной на 3, 4, ..п элементах обобщим понятие частотной матрицы отношений. Введем понятие частотной гиперматрицы отношений.
Рассмотрим модель Ф = (М, Si, Sz, •••, Sk)- Возьмем N-мерную матрицу F = [Л113..лх], й, ij,w = 1,|Af|. Позиции по каждому измерению //-мерной матрицы перенумеруем числами натурального ряда 1,2,..., |Af|. Каждой букве т € М поставим во взаимно однозначное соответствие номер из этого натурального ряда и расположим буквы пц G М по соответствующим позициям каждого измерения //-мерной матрицы. Каждый элемент /,112...lv этой матрицы равен числу слов, в которые входят буквы, соответствующие номерам ilt 12, ..., ijf. Одинаковые индексы в написании не дублируем. Построенную таким образом матрицу будем называть N-мерной частотной матрицей отношений или (если нас не интересует размерность этой матрицы) частотной гиперматрицей отношений.
Если среди индексов ilt ..., ijv у элемента Д,2...,х есть хотя бы два индекса различного написания, то этот элемент называется взаимной частотой соответствующих букв, в противном случае — собственной частотой этих букв. Частота	имею-
щая к различных индексов, называется частотой к-го порядка.
При вычислении производной для пары элементов использовались частоты первого и второго порядка.
Производная dG/dS графа G по событию S на тройках элементов:
8G.
ds{ma'
ть, тс) =
-2-J2 л + з-52 -Ы, (З-Ю)
i,j=ma,mb,mc i,j,k=ma,mb,mc /
i / j, j ф k.
§3.4. Дифференцирование графов и мографов
181
Производная dG/dS графа G по событию S на четверках элементов:
0G,	.	1
(Гоа, mb,mc, md) = ----------
Оо	Утапцгпстп^
-2-ЕЛ< + 3-ЕЛй - 4-Е	(З-Ч)
ij	ij,k	/
i, j, к, I — nza, ть, тсу md, i i к} i I, j к, j	I, к 1.
Производная dG/dS графа G по событию S на п элементах:
5G .	.	1	(чг—ч	V—ч
яё(7П1, т2, ..тп) - -----------> Д - 2 • > fili2 +
\ ,t ,i |2
+ (-l)’+1-a- £	...
•••+ (-l)n+1-n-E	(3.12)
>»n	/
*1 , *2, • • •>	• • •, in — ^1,	• • •> ™n, Й 5^ *2, • • -i in— 1	*it
Формулы (3.10)-(3.12) выведены из определения производной dG/dS графа G по событию S при рассмотрении соответственно троек, четверок и n-к элементов.
Каждую модель можно задать с помощью частотной гиперматрицы отношений. Например, модель
Ф = (М, З’з),
м = {о, Ь, с, d, е}, S3 = {{a, b, d], {Ь, с, d], {с, d, е}}, матрица инцидентности которой а b 1 1 О 1 о о
с d е 0 10 110’ 1 1 1
может быть определена двумерной частотной матрицей отношений
F(9) =
1 1
0 1 0
ь
1
2
1 2
0
с d
0 1
1 2
2 2
2 3
1 1
0 0
1 1
1
а Ъ с d е
182 Гл. 3. Теория графов и мографов
В рассматриваемом примере ^(Ф) и Р(Ф) взаимно однозначно определяют друг друга. Другими словами, модель может быть задана не только с помощью перечисления ее слов, но и с помощью задания пересечений этих слов (с помощью задания частот букв в словах).
При большом числе нулей частотную гиперматрицу отношений удобно представлять в виде строчной записи. Например, рассматриваемую модель Ф можно записать как
Р(Ф) = о2 о 262 о 2с2 о 3d2 о е2 о ab о ad о Ьс о 2bd о 2cd о се о de.
Здесь коэффициент при а2 равен fa, при а/3 — fap\ а,/3 = а, Ь, с, d, е; символ о является конструктивным разделителем двух частот.
Строчную запись частотной гиперматрицы отношений, задающую модель, в дальнейшем будем называть разложением модели по частотам или частотным разложением модели.
Введенное понятие 2У-мерной частотной матрицы отношений
F = [/лi*2...ijv]>	• • ч In = 1> 2, ..., |М|,
связано с понятием N-ичной формы /(mi, т2, ..., 7При|).
Действительно, поставим в соответствие каждому слову щ модели Ф = (М, Si, Si, ..., Sk} линейную форму Ц:
|М|
к = ^2^3'm3'
J=1
гпео=Р’ еслипЪ^, т_гда где д,	в противном случае.
Р Р /|М|	_ N\
X TTlj 1ттг2 2• • ,ТП|М| ’ f Ni Nz W|M| =	т2, • • •>
ii m, m2 ...m|M|
где символ 52 означает взятие суммы всевозможных слагаемых вида
—	mN'M' • f
Ni, N2, ..., 2V|M| — произвольные неотрицательные целые числа, сумма которых равна N; индексы у коэффициента / N N n.m, m1l’n2 -mlM| подчиняются соотношению m^* = тп,-, если Nj / 0, в противном случае индекс опускается, сам же этот коэффициент является со-
§3.5. Устойчивость, покрытия, паросочетания
183
ответствующей частотой. Например,	то
1 2 3”’ |М| имную частоту fmim2 букв mi, mi.
означает вза-
§ 3.5. Устойчивость, покрытия, паросочетания
В любом графе можно выделить совокупность некоторых множеств, объединяемых по какому-то признаку, например, подмножеств вершин таких, что никакие две вершины одного и того же подмножества не смежны. Аналогично, граф можно разбить на подмножества ребер таким образом, чтобы ребра одного подмножества были попарно не смежны. В общем случае число элементов в различных подмножествах различно и существует подмножество, где число элементов принимает максимальное значение. Поэтому можно ввести два инварианта графа для попарно несмежных вершин и попарно несмежных ребер.
Множество вершин называется внутренне устойчивым, если эти вершины попарно не смежны.
Внутренне устойчивое множество вершин называется пустым подграфом, если при добавлении хотя бы одной вершины, не принадлежащей этому множеству, образуется хотя бы одно ребро (дуга).
Максимальная мощность пустого подграфа графа G называется числом внутренней устойчивости или вершинным числом независимости графа Eq(G)-
Максимальное число попарно несмежных ребер графа G называется реберным числом независимости графа £i(G).
Если ребро инцидентно вершине, то говорят, что они покрывают друг друга. Множество вершин, покрывающих все ребра графа, называется вершинным покрытием графа G. Минимальная мощность вершинного покрытия называется числом вершинного покрытия графа 7To(G). Аналогично, множество ребер, покрывающих все вершины графа G, называется реберным покрытием графа. Минимальная мощность реберного покрытия графа G называется числом реберного покрытия 7Tj(G).
; Условимся считать, что любая вершина графа покрывает сама себя и две смежные вершины покрывают друг друга. Тогда минимальная мощность множества вершин, покрывающих все вершины графа G, называется вершинным числом внешней устойчивости графа 0o(G).
Аналогично, будем считать, что каждое ребро графа покрывает себя и два смежных ребра покрывают друг друга; тогда минимальная мощность множества ребер, покрывающих все ребра графа G, называется реберным числом внешней устойчивости /31(G).
Вычисление рассмотренных инвариантов графа требуется при решении многих практических задач. Пусть, например, вершины графа представляют собой технологические модули гибкого авто
184
Гл.З. Теория графов и мографов
ei(G) = 5, |{а, d, n, х, у}| = 5, «•1(G) = 5, |{Л, т, п, р, г}| = 5, /31(G) = 4, |{а, с, х, и}| = 4.
матизированного процесса, за которыми должно осуществляться непрерывное наблюдение, а две вершины графа соединены ребром, если соответствующие им модули можно наблюдать, находясь около одного из них. Требуется так расставить телекамеры, чтобы оператор, находящийся у монитора на диспетчерском пульте, мог наблюдать за всеми модулями, но при этом число телекамер было бы минимальным. Для решения этой задачи надо определить вершинное число внешней устойчивости данного графа.
Пример 3.6. Введенные инварианты для графа Петерсена G (см. рис. 3.4) имеют следующие значения:
e0(G) = 4, |{1, 3, 9, 10} | =4,
w0(G) = 6, |{1, 3, 5, 7, 8, 9}| = 6,
/30(G) = 3, |{1, 4, 10}| = 3,
Теорема 3.14. Для любого нетривиального связного графа G=(V,U)
eo(G) + tto(G) = ei(G) + ^(G) = |V|.	(3.13)
Множество ребер графа, в котором никакая пара ребер не смежна, называется паросочетанием графа. Множество ребер паросо-четания, в котором число ребер равно fi, называется наибольшим паросочетанием графа.
Для двудольных графов справедлива следующая теорема о паросочетании.
Теорема 3.15 (Кёниг). Для двудольного графа G число ребер в наибольшем паросочетании равно числу вершинного покрытия, т. е. £i = ло.
Совершенным паросочетанием из V}, в Vi в двудольном графе G(Vi, Vi) называется взаимно однозначное соответствие между вершинами из V} и подмножеством вершин из при котором каждая вершина из Vi соединена ребром с некоторой вершиной из Vi.
Понятие паросочетания в двудольном графе позволяет сформулировать следующую теорему.
Теорема 3.16 (Холл). Пусть G = G(Vj, Vi) — двудольный граф и для любого подмножества А С Vj пусть также 9?(Л) — множество тех вершин из Vi, которые смежны по крайней мере с одной вершиной из А. Тогда совершенное паро-сочетание из Vi в Vi существует тогда и только тогда, когда число элементов |А| < |9?(А)| для каждого подмножества А € Vi-
Рассмотрим выделение пустых подграфов {£>} в графе G.
Окрестностью G(vq) вершины и0 графа G = (V, Г) называется подграф (Vo, (7о)> носитель которого совпадает с окрестностью единичного радиуса этой вершины, Vo = Ги0, а сигнатуру Uo образуют все ребра графа G, соединяющие вершины Vq.
§3.5. Устойчивость, покрытия, паросочетания 185
Неокрестностью G(vo) вершины и0 графа G = {V, Г) называется подграф (Vo, Uq), носитель которого есть
Vo - {vi/ Vi Ги0},
а сигнатура Uq состоит из всех ребер графа G, соединяющих вершины Vq.
Теорема 3.17. Пустой подграф G = (V, Г), не содержащий вершину vq € V, содержит хотя бы одну вершину из ее окрестности.
Сведем выделение пустых подграфов в заданном графе G к построению дерева, в котором каждый путь между висячей вершиной (вершиной v со степенью, равной 1) и концом дуги, исходящей из корня, состоит из вершин, которые образуют пустой подграф, где под корнем понимается вершина, не являющаяся концом ни одной из дуг.
Согласно теореме 3.17 это дерево строим следующим образом:
1)	сопоставим корню дерева заданный граф;
2)	фиксируем произвольную вершину «о заданного графа G = = (V, Г) и вершины ее окрестности Vo; взаимно однозначно сопоставим концу каждой дуги, исходящей из корня дерева, вершину из множества {«о> К>};
3)	каждый конец va построенных дуг взвесим неокрестностью G(ya) вершины иа;
4)	считаем конец va построенного яруса корнем нового дерева.
Будем повторять пп. 2)-4) до тех пор, пока каждый конец построенных дуг не будет взвешен символом 0 (этот символ означает отсутствие соответствующей неокрестности). Согласно теореме 3.17 путь между концом дуги, исходящей из корня построенного дерева, и висячей вершиной, взвешенной символом 0, состоит из вершин пустого графа.
В случае произвольного фиксирования вершины при построении яруса дерева нельзя установить взаимно однозначное соответствие между висячими вершинами и пустыми подграфами, так как последние могут повторяться, т. е. один и тот же пустой подграф может взвешивать несколько висячих вершин. Чтобы избежать повторения пустых подграфов, введем закон поглощения поддеревьев.
Закон поглощения. Если в k-м ярусе дерева вершины V,- и Vj не смежны и поддерево с корнем V,- построено и если в поддереве с корнем Vj появляется дуга с вершиной и,-, то соответствующая ветвь не строится.
Закон справедлив, так как поддерево с корнем Vj не содержит вершины va из окрестности вершины V{, va G С(и^), и (согласно теореме 3.17) содержится в пустом подграфе уже построенного поддерева с корнем и,-.
186
Гл. 3. Теория графов и мографов
Пример 3.7. Найти распределение пустых подграфов в графе G, изображенном в верхней части рис. 3.11.
Сопоставим корню строящегося дерева заданный граф G. Зафиксируем вершину vj. Ее окрестность состоит из четырех вершин: Vi, V3, v«, vg; поэтому из первого корня выводим пять дуг. Концам дуг приписываем одну из вершин и
Рис. 3.11
взвешиваем дуги неокрестностыо этих вершин (см. рис. 3.11). Неокрестность G(vj) содержит только вершину v5, поэтому в третьем ярусе получаем висячую вершину и$. Вершина t>i имеет неокрестность с носителем {из, us}. Зафиксируем вершину Ее неокрестность есть = 0, поэтому в третьем ярусе получаем висячую вершину v«. Образуем еще две дуги из второго корня Vi: с вершиной Оз и неокрестностыо, состоящей из , и с вершиной vs и иеокрестно-стью V3. Согласно закону поглощения одно из поддеревьев поглощается. Крест иа рисунке означает, что ветвь дальше не строится и не учитывается при подсчете пустых подграфов. В четвертом ярусе получаем висячую вершину и$. Для вершины второго яруса имеем неокрестность из вершины из, и процесс заканчивается на третьем ярусе висячей вершиной из.
Вершина второго яруса со своей неокрестностыо усекается согласно закону поглощения. Для вершины из с неокрестностыо V3 = {vi, t>s, vg) строим третий ярус. Получаем три корня: vg, Vi (05), vg (vi). Все они усекаются согласно закону поглощения и не учитываются при подсчете пустых подграфов.
Таким образом, имеем пустые подграфы
Ei = {2, 5}, Е2 = {1, 4}, • Ез = {1, 3, 5), Е< = {3, 6).
Установим свойства графа, определяющие ветвистость синтезируемого дерева. В рассмотренном примере при построении следующего яруса в каждом корне фиксировалась вершина с максимальной степенью. Для устранения повторения пустых подграфов в дереве пять раз был применен закон поглощения. Зафиксируем на первом шаге построения дерева вершину не с максимальной степенью, а с минимальной — вершину Vi, s(t?i) < «(^2)- Построив дерево после фиксации вершины щ (рис. 3.12, а), видим, что оно проще предыдущего; при его построении закон поглощения использовался только один раз. Если же при построении
§3.5. Устойчивость, покрытия, паросочетания
187
следующего яруса в каждом корне фиксировать вершину с минимальной степенью (рис. 3.12,о), то даже без применения закона
а	б
Рис. 3.12
поглощения в рассматриваемом примере число висячих вершин совпадет с числом пустых подграфов.
Приведем алгоритм порождения всех пустых подграфов, в котором для уменьшения трудоемкости каждый раз будем фиксировать вершину с минимальной степенью.
1.	Сопоставляем корню синтезируемого дерева заданный граф G.
2.	Фиксируем в графе вершину «о с минимальной степенью, сопоставив ее концу исходящей из корня дуги. Строим |Ги0| исходящих из корня дуг, и конец каждой из них взаимно однозначно сопоставляем вершине окрестности G(v0).
3.	Каждый конец построенных дуг взвешиваем неокрест-ностью G(va) вершины va графа, сопоставленного рассматриваемому корню.
4.	Считаем конец va построенного яруса корнем нового дерева.
5.	Устанавливаем, взвешена ли вершина va символом 0. Если Нет, то переходим к п. 2, если да, то — к п. 6.
6.	Пути между концами дуг, исходящих из корня синтезированного дерева, и висячими вершинами однозначно определяют пустые подграфы заданного графа.
На основании этого алгоритма можно определить число внутренней устойчивости графа G = {V, Г) как максимальную Мощность пустого подграфа £q(G) = max|2?i| и число вершинного
I
Покрытия itq(G) как разность |V| -eQ(G) (согласно теореме 3.14).
Для рассмотренного примера £o(G) = 3, Емлкс = {1, 3, 5}; М<?) = 3, |{2, 4, 6}| = 3.
188
Гл. 3. Теория графов и мографов
Часто в графе требуется определить не максимальное число вершин, между которыми отсутствуют связи, а наоборот, максимальное число попарно смежных вершин.
Плотностью p(G) графа G = (V, Г) называется максимальная мощность носителя полного подграфа РМакс С G
p(G) = maxp(Ft).
Приведенный выше алгоритм порождения пустых подграфов и закон поглощения после соответствующих изменений можно с успехом использовать и при определении плотности p(G) графа G.
Приведем алгоритм порождения полных подграфов.
1.	Сопоставляем корню синтезируемого дерева заданный граф.
2.	Фиксируем в графе вершину «о с максимальной степенью, сопоставив ее концу исходящей из корня дуги. Строим |Ги0| исходящих из корня дуг (|Гио| — мощность носителя неокрестности вершины Vo). Конец каждой из этих дуг взаимно однозначно сопоставляем вершине неокрестности G(v0).
3.	Каждый конец va построенных дуг взвешиваем окрестностью G(va) вершины va графа, сопоставленного рассматриваемому корню.
4.	Считаем конец va построенного яруса корнем нового дерева.
5.	Устанавливаем, взвешена ли вершина va символом 0. Если нет, то переходим к п. 2, если да, то — к п. 6.
6.	Пути между концами дуг, исходящих из корня синтезированного дерева, и висячими вершинами однозначно определяют полные подграфы заданного графа.
Закон поглощения. Если в k-м ярусе дерева вершины Vi и Vj смежны, поддерево с корнем и,- построено и если в поддереве с корнем Vj появляется дуга с вершиной v,, то соответствующая ветвь не строится.
Пример 3.8. Найдем распределение полных подграфов в графе G, изображенном в верхней половине рис. 3.13. При фиксировании в и. 2 вершины с максимальной степенью иа каждом синтезируемом ярусе (рис. 3.13, а) повторения полных подграфов в дереве ие было. Фиксирование в п. 2 вершины не с максимальной степенью в данном случае приводит к повторению полных подграфов. Фиксирование вершины с минимальной степенью va, s(v3) = 1, при построении второго яруса приводит к повторению полного подграфа Fa = {1, 2, 6} (рис. 3.13,6); при построении же каждого яруса количество повторений еше больше возрастает: F\ = {2, 3, 4}, Ft = {4, 5, 6}, Ft = {4, 5, 6} (рис. 3.13,в). Плотность рассматриваемого графа G равна 3.
Пример 3.9. Найти максимальный поток через сеть G (рис. 3.14,а), если пропускная способность дуг соответственно равна а = (vi, vj) — 5, Ь = (vi, v<) — — 2, с = (vi, v3) — 4, d = (v3, v«) - 3, e = (v3, v5) — 2, к = (vs, v«) — 4, m = (v«, ve) — 3, n = (vj, ve) — 7, p = (vj, vj) — 2.
§3.5. Устойчивость, покрытия, паросочетания
189
Рис. 3.13
190
Гл.З. Теория графов и мографов
Для определения максимального потока через заданную сеть строим граф достижимости Gg = (Vg, Ug), каждая вершина которого взаимно однозначно соответствует дуге заданного графа G и две вершины соединены ребром тогда и только тогда, когда соответствующие им дуги входят в путь в исходном графе G (рис. 3.15, а). Тогда пустой подграф графа достижимости взаимно однозначно определяет разрез исходной сети. Минимальная сумма пропускных способнос-
Рис. 3.15
тей дуг, вошедших в разрез, согласно теореме 3.10 равна искомому максимальному потоку. Используя алгоритм порождения всех пустых подграфов, выделим их в графе достижимости (рис. 3.15, б) и вычислим пропускиую способность разреза.
Имеем
= (п, р, Ь, е, </} — 74-24-24*24-3 =х 16, Ej — (п, р, 5, с}—74-24-24*4 = 15, Е3 = {п, р, т, е} —74-24-34-2 = 14, Е< = {п, к, Ь, d} - 74*44-24-3 = 16, Ез = {п, к, т} - 7 4* 4 4- 3 = 14, Ев = {а, Ь, d, е} - 5 4* 2 4* 3 4* 2 = 12, Е? = {а, Ь, с} — 54*24*4 = 11, Ев = {а, т, е} — 54-34-2 = 10.
Разрез {а, т, е} с минимальной пропускной способностью, равной 10, определяет максимальный поток ФНакс — 10 через сеть G.
Модифицированной матрицей смежности S называется дизъюнкция матриц смежности S и единичной диагональной матрицы {1, 1, ..., 1}.
§ 3.5. Устойчивость, покрытия, паросочетания
191
Определение числа внешней устойчивости сводится к построению модифицированной матрицы смежности и выделению покрытия с минимальным числом элементов.
Пример 3.10. Определим вершинное число внешней устойчивости 0o(G)
графа G (рис. 3.16), матрица S(G) которого имеет следующий вид:
1 о
1 о о
1
ъ
о
1 1
1 о
1
с 1 1
1 1 1 о
d е f 0 0 1а 10 1b 110с 10 13 0 1 1 е 111/
Покрываем строки столбцами или столбцы стро-
ками матрицы смежности, что равнозначно в силу ее симметричности относительно главной диагонали. Используя алгоритм Петрика,
получаем
S =
(а + с 4- /)(Ь 4- с + d 4- /)(а 4- Ь 4- с 4- d 4- e)(b 4- с 4- d 4- /)(с 4- е 4- /) х x(a4-b4-d4-e4-/) = (c4-/4- ае)(а 4- b + d 4- в 4- cf)(b + с 4- d 4- f) = = (с 4- / 4- ae)(b 4- d 4- ас 4- cf 4- ае 4- се 4- е/) =
'= Ьс 4- cd + ас 4- cf 4- се 4- bf 4- df 4- af 4- ef 4- abe 4- ade. Каждый мультипликативный член полученного выражения определяет внешне устойчивое множество вершин; минимальная мощность такого множества равна вершинному числу внешней устойчивости f3o(G) = 2.
В случае ориентированного графа кроме вершинного числа внешней устойчивости 0o(G) графа G различают положительное 0q (G) и отрицательное (G) вершинные числа внешней устойчивости.
Положительным вершинным числом внешней устойчивости /30+(С) графа G = = {V, Г) называется минимальная мощность Множества вершин V+ = {«+} такого, что
{и,+}и{ГЧ+} = У,	(3.14)
И при удалении хотя бы одной вершины из V+ соотношение (3.14) Ж выполняется. Это число определяет минимальное количество вершин, из которых наблюдаются (достижимы за один шаг) все Вершины графа.
Отрицательным вершинным числом внешней устойчивости $0 (G) графа G = {V, Г) называется минимальная мощность множества вершин V~ = {v,~} такого, что
{и-} U {Г-Ч,"} = V,	(3.15)
И при удалении хотя бы одной вершины из V~ соотношение (3.15) 0 выполняется. Это число равно минимальному количеству вершин, которые наблюдаются всеми вершинами графа.
192
Гл. 3. Теория графов и мографов
Очевидно, что число 0q(G) вычисляется как минимальная мощность покрытия столбцов строками, число /3q (G) — как минимальная мощность покрытия строк столбцами в модифицированной матрице смежности 5(G) графа G.
Пример 3.11. Вычислим числа /^(G) и До (G) графа G (рис. 3.17), мо-
дифицированная матрица смежности которого имеет
вид
а 1 о о о о
1
ъ о 1 о
с 1 1 1 о о о
d О О 1 1 О о
а Ь с . d е !
Согласно определению внешне устойчивого множества, в котором вершины, принадлежащие этому множеству, “наблюдаемы самими собой”, диагональные элементы St; матрицы смежности S(G) имеют значение 1, хотя в графе G и отсутствуют петли. Покрывая столбцы строками в
модифицированной матрице смежности с помощью алгоритма Петрика
S =
е о о
О о
о 1 о
о 1 о
(а + /)(Ь + d)(a + Ь + с)(с + d)(c 4- е)(Ь 4- d 4- е + /) =
= (а + /)(с + ed)(b+ ad + de) = = (а 4- f)(cb 4- de + ebd 4- aed) =
= abc 4- ado 4- ade 4- bef + cdf 4- bedf, получаем (G) = 3. Каждый мультипликативный член в этих выражениях определяет соответствующее внешне устойчивое множество.
Реберное число независимости £i(G), число реберного покрытия tti(G) и реберное число внешней устойчивости 01(G) графа G = (V, Г) определяются аналогично, только вместо модифицированной матрицы смежности вершин исходной информацией является модифицированная матрица смежности ребер SP(G) графа G:
SP(G) = SP(G)V{1,
где SP(G) — матрица смежности ребер, {1, 1, ..., 1} — диагональная единичная матрица.
Пример 3.12. Найдем ei(G), 5Ti(G) и /3i(G) графа G = (V, Г), изображенного в верхней половине рис. 3.18.
Для определения реберного числа независимости ei(G) графа G воспользуемся алгоритмом порождения пустых подграфов. Сопоставим корню дерева заданный граф и определим ребро, смежное с минимальным количеством ребер. Это ребро к, оно смежно с тремя ребрами: f, ри т. Сопоставим ребрам к, f,pnm концы исходящих из корня дерева дуг и взвесим каждую вершину построенного яруса частичным подграфом, каждое ребро которого ие смежно с ребром, сопоставленным этой вершине (рис. 3.18). Другими словами, зафиксировав ребро заданного графа, сопоставим ему и его окрестности вершины яруса дерева, каждую из которых взвешиваем неокрестностью соответствующего
§ 3.5. Устойчивость, покрытия, паросочетания
193
ребра. Повторяя такое разложение графа до получения иеокрестностей, равных
Рис. 3.18
0, порождаем все реберно независимые множества (рис. 3.19):
Ei = {Ь, к, п), Ез = {с, к, п), Ез = {а, е, к}, Ei = {Ь, /, р}, Ев = {с, /, р}, Еи = {е, /, т}, Е1з ~ {а, с, р}, Eis = {Ь, т, п).
Ез = {d, к, п}, Et = {а, с, к}, Ез = {d, е, к}, Ез = {d, f, р}, Ei0 = {d, е, /}, Ен = {Ь, /, m}, Ец = {а, е, т).
Покрывая строки столбцами модифицированной матрицы смежности ребер
? В. А. Горбатов
Рис. 3.19
194
Гл. 3. Теория графов и мографов
заданного графа G	а 1 1	ь 1 1	с 0 1	d 1 1	е 0 1	к 0 0	f 1 0	т 0 0	п 1 0	р 0 0	а b
	0	1	1	1	1	0	0	1	0	0	с
	1	1	1	1	0	0	0	1	0	0	d
s„ =	0	1	1	0	1	0	0	0	1	1	е
	0	0	0	0	0	1	1	1	0	1	к
	1	0	0	0	0	1	1	0	1	0	f
	0	0	1	1	0	1	0	1	0	1	т
	1	0	0	0	1	0	1	0	1	0	п
	0	0	0	0	1	1	0	1	0	1	Р
получаем, что реберное число внешней устойчивости 01(G) графа G равно 3: |{Ь, т, п}| = 3.
§ 3.6. Вложение графов
Рассмотрим топологические свойства графов. Топология исследует свойства графов, инвариантные относительно гомеоморфных преобразований. Эти свойства определяются топологическими инвариантами.
Два графа гомеоморфны, если они изоморфны с точностью до вершин степени 2. Другими словами, два графа гомеоморфны, если они преобразуются до графов, изоморфных друг другу, заменой некоторых ребер цепями соответствующей длины.
Род поверхности — это наибольшее число простых замкнутых кривых на поверхности, которые не разъединяют эту поверхность. Сфера и плоскость являются поверхностями нулевого рода, поскольку их разъединяет любая замкнутая кривая. Тор — поверхность первого рода. Любая поверхность р-го рода эквивалентна сфере с р ручками.
Род графа 7(G) — это минимальный род среди всех поверхностей, на которых граф G можно изобразить так, чтобы его ребра пересекались только в вершинах. Граф называется планарным, если изображается на плоскости так, что его ребра пересекаются только в вершинах. Проблема характеризации планарных графов долгое время оставалась нерешенной. В 1927 г. Л.С. Понтрягин доказал (но не опубликовал) критерий планарности, который независимо от него был открыт и опубликован польским математиком Куратовским в 1930 г.
Теорема 3.18 (Л.С. Понтрягин). Граф планарен тогда и только тогда, когда он не содержит подграфа, гомеоморфного F5 или Raj (рис. 3.20).
Основываясь на критерии Понтрягина, можно получить еще один критерий планарности, если ввести понятие элементарного стягивания, которое состоит в следующем. При стягивании любого ребра графа оно выбрасывается, а обе его вершины а и b (рис. 3.21), коинцидентные ему, отождествляются; полученная при
§ 3.6. Вложение графов
195
этом вершина коинцидентна тем же ребрам, что и а, b (кроме ребра, которое выброшено).
Теорема 3.19. Граф планарен тогда и только тогда, когда он не содержит подграфов, стягиваемых к F$ или к Кз^.
В 1932 г. американец Уитни ввел еще один критерий планарности, использовав понятие абстрактной двойственности графа. Граф G* называется абстрактно двойственным к G, если между ребрами графов G и G* существует взаимно однозначное соответ
охз
*2Л—й
„о—£>—<L
*1 О х$
Рис. 3.21
ствие; подмножеству ребер из G, образующих цикл в G, соответствует подмножество ребер из G*, образующих разрез в G*.
Если G содержит висячую вершину и, s(v) = 1, то в G* получается петля. На рис. 3.22 изображены графы G и G*, причем граф G изображен штриховыми линиями.
Теорема 3.20 (Уитни). Граф является планарным тогда и только тогда, когда существует абстрактно двойственный к нему граф.
196
Гл. 3. Теория графов и мографов
Рассмотрим задачу, возникшую при проектировании печатной схемы. При изготовлении электронных приборов соединительные провода наносят печатным способом на плоскую поверхность изоляционного материала. Печатные проводники не изолированы, поэтому они не должны пересекаться. Однако расположение приборов на плате может быть таким, что невозможно избежать пересечения, поэтому, чтобы правильно спроектировать печатную схему, надо знать, является ли граф, в котором роль вершин играют приборы, а ребрами служат соединения между ними, планарным. Если граф непланарный, то печать должна проводиться на нескольких плоскостях и необходимо знать либо число скрещиваний графа (наименьшее возможное число пересечений при изображении его на плоскости), либо его толщину. Толщиной графа G называется наименьшее число планарных графов, объединение которых дает G. Толщина планарного графа равна 1. Нижняя оценка толщины t(G) графа G = (V, U}, определяется неравен-
ством
t(G) > 1 +
п
ЕХ - 2
>=1____
6(п - 2)
(3.16)
где ] [ — целая часть, |V\ = п, я,- — степень г-й вершины.
Рассмотрим граф, изображенный на рис. 3.23, а. Определим, можно ли осуществить однослойную печать, й если нет, то вы
а	б
Рис. 3.23
ясним, сколько потребуется слоев и какие ребра следует удалить, чтобы граф стал плоским.
Согласно критерию Понтрягина этот граф является непланарным, поскольку содержит подграфы, гомеоморфные F$ (рис. 3.24, о) и K3i3 (рис. 3.24,6). Толщина графа G ие меньше 2:
1 79 _ 9 ’
Чтобы определить, какие ребра необходимо удалить для преобразования графа в планарный, выделим все запрещенные фи
§3-6. Вложение графов
197
гуры и построим двумерную таблицу, каждая строка которой взаимно однозначно соответствует запрещенной фигуре Qi, а столбец — ребру pj. Тогда покрытие строк столбцами этой таблицы определит, какие ребра необходимо удалить, чтобы граф стал пла-
Рис. 3.24
Иарным. Минимальное покрытие будет соответствовать минимальному решению, так как удаление любого ребра выводит запрещенную фигуру из класса подграфов, гомеоморфных F$ или Кз^.
Таблица для рассматриваемого графа имеет следующий вид:
Таблица 3.1
Qi	Pi													
	{1.2}	{2,6}	{2.3}	{!,«}	{в,7}	{1.?}	{2,4}	{2,7}	{з.в}	{3,7}	{3.4}	{«,«}	{4.5}	{5.7}
Qi		1	1		1		1	1	1	1	1	1	1	1
Q?	1		1	1		1	1		1	1		1	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) определяет расстояние между двумя вершинами а, Ь € Нп, равное числу ребер в Кратчайшей простой цепи, соединяющей а и Ь. При этом выполняются следующие условия:
1)	d(a, а') = 0 тогда и только тогда, когда вершины а, и о' Совпадают;
198
Гл. 3. Теория графов и мографов
2)	d(a, b) = d(b, о);
3)	d(a, b) + d(b, с) > d(a, с) для любых а, Ь, с € Нп.
Следовательно, множество вершин n-куба вместе с введенной таким образом метрикой, является метрическим пространством, которое назовем булевым пространством. Если метрика введена в данное множество, то она введена и в любое его подмножество как ограничение функции d. Поэтому всякий подграф n-куба также есть метрическое пространство.
Рассмотрим задачу вложения графа G в булево пространство Нп. Граф G = (V, U) называется вложимым в булево пространство Нп = (У#, Uh) или кубируемым, если существует соответствие <р между вершинами графа G и гиперкуба Нп такое, что если («а, V/з) е и, то (у>(иа), ф(ур)) G Uh- Кубируемый граф не следует путать с кубическим графом — графом, каждая вершина которого имеет степень, равную 3.
Так как n-куб является двудольным графом, то в соответствии с теоремой Кёнига все его простые циклы четны, и поэтому любой граф, который содержит подграф, являющийся нечетным циклом, _	некубируем. Так как n-куб изомор-
_ фен дистрибутивной решетке, то граф Кёнига 1<2,з (рис. 3.25) также явля-С) О (Э /лх\	ется некУбируемым графом. Любой
\JLz Z/\/\\	же частичный граф цикла нечетной
О О О О длины и граф Кз.з вложимы в булево р 3 2	пространство. Следовательно, циклы
ис’ ’	нечетной длины и граф Кёнига /<2,з
являются запрещенными фигурами вложения графа в булево пространство. Под запрещенной фигурой в данном случае понимаем критически невложимый граф, т. е. некубируемый граф, у которого все частичные графы кубируемые. Рассмотрим процедуры порождения запрещенных фигур на основе известных.
Теорема 3.21 (Грехем). Замена ребра р в грани запрещенной фигуры Q на граф Кёнига 1<2,з без этого ребра р, т. е. на ^2,з\Р> порождает новую запрещенную формулу I\(Q) (рис. 3.26).
Порождение запрещенных фигур вложения графов в булево пространство с помощью процедуры Грехема (теорема 3.21) показано на рис. 3.27.
Характеризация кубируемых графов достаточно сложна из-за трудностей, возникающих при анализе этих комбинаторных структур.
Для того чтобы определить причины, мешающие графу быть кубируемым, надо выявить его структурные свойства, сформулировав, например, условия, описывающие взаимосвязь между его параметрами, которые несут информацию об этих причинах.
Рассмотрим некоторые свойства n-куба, влияющие на структуру запрещенных фигур. Максимальная длина цепи, соединяю-
§3.6. Вложение графов
199
шей две вершины va, vp n-куба, равна 2П — 1. Этой цепью является остов графа Нп. Расстояние d(x, у) между двумя вершинами х, у G Нп равно г, i = 1, 2, ..п. Две вершины х и у n-куба, уда-
Рис. 3.27
ленные друг от друга на расстояние, равное диаметру, соединены между собой п! цепями.
Теорема 3.22. Если зафиксировать любую вершину п-куба X G Нп, то множество всех остальных вершин разбивается на п подмножеств Vi G Нп таких, что каждая вершина i-zo Подмножества щ G V имеет расстояние до фиксированной вершины, равное d(x, Vj) = t, а число таких вершин в i-м подмножестве равно (") для всех i.
Поставим в соответствие каждой вершине n-куба двоичный вектор длины п. Так как n-куб является регулярным графом, каждая вершина которого имеет степень, равную п, то, не теряя общности, в качестве фиксируемой вершины возьмем вершину 00.. .0.
200
Гл.З. Теория графов и мографов
Разбив множество вершин n-куба на подмножества вершин, которым соответствуют векторы с равным числом единиц, заметим, что каждая вершина г-го подмножества, которой соответствует вектор с i единицами, удалена от рассматриваемой вершины на расстояние, равное г. Количество таких вершин равно (").
Теорема 3.23. В п-кубе количество простых цепей длины к, к<п, между вершинами va, vp, расстояние между которыми d(va, vp) — к и которые не имеют других общих вершин, кроме va, vp, равно к.
Все kl цепей длины к между вершинами va и vp, d(ya, vp) — k, образуют А:-куб. В этом кубе минимальная мощность множества отделяющих вершин равна к — количеству вершин, смежных с
ООО	оооо
Рис. 3.28
va и vp. Отсюда согласно теореме 3.9 количество простых вершин непересекающихся цепей между вершинами va и vp равно к.
Полученный результат является важным при изучении запрещенных (критических) графов. Заметим, что число наикратчайших простых (геодезических) цепей между двумя вершинами, а и /3, гиперкуба равно расстоянию между этими вершинами. Число же непересекающихся простых цепей' между вершинами n-куба, для которых расстояние по Хеммингу между ними меньше их длины, находится в зависимости от размерности п-куба.
§ 3.6. Вложение графов
201
На рис. 3.28, а приведены три наикратчайшие цепи, соединяющие вершины ООО и 111 в трехмерном кубе. На рис. 3.28, иллюстрируется рост количества цепей длины 3 в кубах размерности 4, 5, 6 соответственно.
Теорема 3.24. Граф G = (V,U), включающий в себя к •вершинно не пересекающихся простых цепей длины к между вершинами а, /3 € V, da(oi, /3) = к, вложим в п-куб Нп, причем расстояние по Хеммингу между вершинами а и /3 остается неизменным (m. е. djj(a, /3) = йз(а, /3) = к), тогда и только
Рис. 3.29
тогда, когда две любые смежные вершины графа G a, b € V входят в цикл {а, Ь} € {{а, Ь}, {b, с}, {с, d}, {d, а}} длины 4 (рис. 3.29) такой, что если
бн(а, a) = maxdn(a, г) = t, i — а, Ь, с, d, то
dufa Ь) = df{(a, d) = t- 1, djf(a, с) = t - 2.
Теорема 3.25. В критическом графе Q = (V, U) найдутся две вершины а, /3, расстояние между которыми равно диаметру d(a, /3) = d(Q), а число к простых путей на единицу больше: к = d(Q) 4-1.
Сформулируем несколько теорем, позволяющих порождать запрещенные графы вложения в п-куб.
Теорема 3.26. Если G — критический граф, то граф Т% (G) также критический тогда и только тогда, когда степень вер-щины а больше степени вершины b, т. е. s(a) > s(b) (рис. 3.30), .41 преобразование не приводит к образованию критического подграфа (т. е. G не содержит четыре вершинно непересекаю-щиеся простые цепи длины 3 между вершинами а, Ь, а подграф графа 12(G) не представляет собой две вершинно непересе-кающиеся цепи длины 3).
202
Гл. 3. Теория графов и мографов
Теорема 3.27. Замена любого ребра (a, b)E.G критического графа G на к вершинно непересекающихся простых цепей длины 3 тогда и только тогда приводит к образованию критического графа Тз(С), когда к удовлетворяет одному из следующих условий:
1)	к = 1, если удаляемое ребро является общим ребром двух циклов длины 4;
2)	к = 2, если з(а) = 3, а(Ь) = 2 и вершины а, Ь принадлежат циклу длины 4;
3)	к = т 4- 2 — а(а), если s(a) > s(b) и т = d(G'), где d(G') — диаметр графа G', полученного из графа G заменой удаленного ребра цепью длины 3;
4)	к = 4, если удаляемое ребро инцидентно вершинам степени 2: s(a) = s(b) = 2.
G	T2(G)
Рис. 3.30
Теорема 3.28. Граф T^G) (T[(G)) (рис. 3.31) критический тогда и только тогда, когда является критическим граф G.
Теорема 3.29. Граф T$(G) критический тогда и только тогда, когда граф G критический (рис. 3.32).
Теорема 3.30. Если G — критический граф, то граф Te(G) критический тогда и только тогда, когда подграф Н содержит точку сочленения, и число добавляемых цепей определя
ется из условия
к = d(G') + 1 - s(a),
где a, b G Н при s(a) > s(b), и граф G' получается из графа G заменой цепи длины 2 между вершинами а, Ь на цепь длины 4 (рис. 3.33, а).
Пример преобразования, задаваемого данной теоремой, для подграфа Н приведен на рис. 3.33, б, где s(a) = s(b) = 2, диаметр есть d(G') = 4и& = 44-1 — 2 = 3.
Множество запрещенных графов вложения в n-куб является счетным. На рис. 3.34 приведены критические графы с мощностью носителя от 8 до 17, часто встречающиеся на практике.
§3.6. Вложение графов
203
Среди них имеются как графы, полученные с помощью приведенных преобразований Т,, г = 1, 2, ..6, так и графы, не имеющие предшественников.
При порождении запрещенных фигур необходимо проверить полученные графы на изоморфизм. Рассмотрим алгоритм установ-
ления изоморфизма между графами Ga, Gb, основанный на частотном разложении моделей ^a(.Ga), Фь(&ь), построенных по этим графам.
204
Гл. 3. Теория графов и мографов
1.	С помощью алгоритма, приведенного выше, выделяем полные подграфы в графах Ga, Gb- Выделенные подграфы образуют слова в соответствующих моделях Фа(Са), Фб(б'б).
2.	Находим частотные разложения моделей Фа(&а), ^b(Gb). Определяем равенство коэффициентов в разложениях. Если частотные разложения равны, то графы Ga и Gj изоморфны.
Рис. 3.33
Из равенства разложений тривиально определяем изоморфизм. Если частотные разложения не равны, то графы Ga и Gb не изоморфны.
Проиллюстрируем алгоритм иа примере установления изоморфизма между графами Ga и Gb (рис. 3.35).
Пункт 1 алгоритма выполняется тривиально, так как графы двудольные (полными подграфами являются ребра). Отсюда следует, что модели Фа и Фь соответственно совпадают с графами Ga и Gb-
Фа = (Va, S2), Va = {«, /3, . . ., $}.
82 = {{а, 0}, {а, *}, {«, С}- {0, е}. {т> р}, {т, О»
{р> е}, {е, <5}, {е, i/}, {у, rj}, {г?, €}};
Фь = {14, Si}, Vb = {a, b, ..., m},
Si = {{a, b}, {a, c}, {a, d}, {a, e}, {b, /}, {c, g],
{<*, ff}, {e, fc}, {/, m}, {g, m}, {fc, m}}-
§3.6. Вложение графов
205
п-12

Рис. 3.34
206
Гл. 3. Теория графов и мографов
Частотные разложения моделей Фа и Ф* имеют следующий вид:
Г(Фа) = За2 о 2/32 о 212 о 2р2 о 4е2 о 2d2 о 2v о 2г?2 о 3$2 о о afi о aS о а( о fie ° ур о у( о ре о eS о «/ о рг? о г?£,
К(Фь) = 4а2 о 2b2 о 2с2 о 2d2 о 2е2 о 2/2 о Зд2 о 2к2 о Зт2 о аЬ о ас о о ad о ае о bf о сд о dg о ек о fm о дт о кт.
Частотные разложения равны: /’(Фа) = F(Фь). Графы Ga и Gb изоморфны. Для определения изоморфизма устанавливаем взаимно однозначное соответствие
Рис; 3.35
между буквами с одинаковыми спектрами частот: е а, р <-> fe(e), fi c(d), v <-> е(Ъ), S d(c), 7 <-> f(k), а ++ д, г? <-> к(Ь), $ О т.
При определении изоморфизма ориентированных графов в предложенный алгоритм добавляют третий пункт.
3.	Если графы Ga и Gb изоморфны без учета ориентации, рассматривая соответственные пары вершин, определяем сохранение изоморфизма графов с учетом ориентации.
Другой алгоритм определения изоморфизма графов заключается в последовательном разбиении классов вершин графа, каждый из которых состоит из вершин, имеющих равные степени, на основе подсчета количества ребер, связывающих рассматриваемую вершину с вершинами этих классов.
Рассмотрим два графа, Ga и Gb (рис. 3.36, а, б). Носитель графа Ga по значению степеней вершин разбивается на четыре класса: = {1, 2, 6}, Kj = {4}, Кз = {3}, Ki = {5}. Носитель графа Gb также разбивается на четыре класса: К[ = {Ь, с, /}, Кз = {е}, Кз = {a}, Ki = {<f}. Количество классов и их мощности совпадают; следовательно, графы Ga и Gb могут быть изоморфны, при этом изоморфизм г? отображает, очевидно, вершины 3, 4, 5 в а, е, d соответственно: а = г?(3), е = r?(4), d =
Определим количество связей вершин 1, 2, 6 в графе Ga и вершин b, с, f в графе Gb с вершинами выделенных классов. Для этого построим двумерную таблицу (табл. 3.2), каждой строке которой взаимно однозначно соответствует
$3.6. Вложение графов
207
выделенный класс, столбцу — вершина, а на пересечении (i, у) указывается количество связей у-й вершины с вершинами i-го класса.
Таблица 3.2
Ki				vj			к-
	1	2	6	ь	с	f	
К1	2	1	1	1	2	1	
К2	0	0	0	0	0	0	Ki
Кз	0	1	1	1	0	1	К'з
к4	1	1	1	1	1	1	Ki
Анализируя таблицу, замечаем, что класс Ki разбивается иа два класса: Ki = {2, 6} и K's = {1}; класс К{ также разбиваетсяна два класса: = {Ь, /} я Ki — {с}- Если эти графы изоморфны, то с = г?(1). Для установления соот-
Рис. 3.36
ветствуюших вершин графов Ga, Gb строим таблицу (табл. 3.3) для полученного разбиения вершин.
Таблица 3.3
Ki				4			кг
	2	6	Ь	f	
Кг	0	0	0	0	К?
Кг	0	0	0	0	KS
Кз	1	1	1	1	Ki'
к4	1	1	1	1	К4
Кз	1	1	1	1	Ki'
Одинаковые столбцы указывают на то, что вершина 2 (вершина 6) может быть сопоставлена как вершине Ъ, так и /. Получено два соответствия, г? и г/, так как окрестности вершин 2 и 6 совпадают. Выбрав одно из них и проверив его иа изоморфизм, делаем вывод, что рассматриваемые графы изоморфны (рис. 3.36,в).
208
Гл.З. Теория графов и мографов
§ 3.7. Раскраска вершин и ребер графа. Характеризация реберности
Раскраской вершин графа G = (V, U) в к цветов (или к-рас-краской) называется разбиение носителя V графа G, при котором каждое подмножество (к
ик = У, п,пкь = 0, ia,ib = 1,2,...,к «=1
не содержит ни одной пары смежных вершин. Каждому подмножеству сопоставляется цвет, в который окрашивают все элементы этого подмножества. Вершины, окрашенные в один цвет, будем называть соцветными.
Хроматическим числом h(G) графа G называется минимальное число п, для которого граф имеет n-раскраску. Граф, хроматическое число которого равно п, называется п-хроматическим-, если же h(G) < п, то граф G называется п-раскрашиваемым.
Очевидно, что 1-хроматическим граф может быть тогда и только тогда, когда он является пустым графом.
Для 2-хроматических графов справедлива следующая теорема.
Теорема 3.31 (Кёниг). Граф является 2-хроматическим тогда и только тогда, когда он не содержит циклов нечетной длины.
Отметим, что аналогичная теорема задает и условие двудольно-сти. Поэтому все 2-хроматические (двуцветные) графы являются двудольными. Любое дерево, поскольку оно является двудольным графом, двуцветно. Оценим хроматическое число графа через его параметры.
Теорема 3.32. Если максимальная степень вершин графа G равна s(G), то хроматическое число этого графа не превышает величины s(G) +1:
/i(G) < s(G) + 1.	(3.17)
Для большинства графов эту оценку можно улучшить.
Теорема 3.33 (Брукс). Граф G со степенью s(G) является s-раскрашиваемым, за исключением двух случаев:
1) при s(G) > 2 граф G содержит компоненту, являющуюся полным графом плотности, равной s(G) 4-1;
2) при s(G) = 2 граф G содержит компоненту, являющуюся циклом нечетной длины.
Оценки, полученные с помощью этих теорем, дают, однако, хорошее приближение лишь тогда, когда степени всех вершин графа имеют близкие значения. В противном случае оценка может быть значительно завышена. Например, граф Кёнига К1>п (звездный граф) согласно теореме Брукса является п-раскрашиваемым, в действительности же он двудольный, и поэтому для его раскраски достаточно двух красок.
§3.7. Раскраска вершин и ребер графа 209
Теорема 3.34 (Берж, Оре, Харрари). Для любого графа G =
<ВД < 1Я-^о4-1,	(3.18)
0о
где 0о — вершинное число независимости графа.
Теорема 3.35 (Гаддум, Нордхауз). Сумма и произведение хроматических чисел графа G = (У, U) и его дополнения G = = (V, U) удовлетворяют неравенствам
]2>/Й[<Л(<7) + ад<|У| + 1,
_	(|у| 4-1)2	(3.19)
\V\ < h(G)  h(G) <	+ и ,
где ] [ — целая часть.
Теорема 3.36. Хроматическое число h(G) графа G удовлетворяет следующим соотношениям:
h(G) < H(Ga) • h(Gb), G — Ga\J Сь; (3.20)
h(G) = h(Ga) 4- A(G6), G = Ga + Gb, GanGb = 0; (3.21)
A(G) < min (/i(Go), h(Gb)), G = Ga x Gb. (3.22)
Аналогично раскраске вершин графа определим раскраску его ребер.
Раскраской ребер графа G = (V, U) называется разбиение сигнатуры U графа U = \JUi, Uiar\Uip = 0, at /3, при котором каждое подмножество Ui не содержит ни одной пары смежных ребер. Каждому подмножеству сопоставляется краска, при этом ребра, принадлежащие одному и тому же подмножеству, называются соцветными. Граф G называется реберно k-раскрашиваемым, если его ребра можно раскрасить к красками так, чтобы никакие смежные ребра не были окрашены одним цветом.
Хроматическим классом (хроматическим индексом) графа называется число к такое, что граф является реберно Л-раскраши-ваемым, но его ребра не могут быть раскрашены в к — 1 цветов. Хроматический класс графа G обозначается H(G). Например, хроматические классы для двудольных графов H(Ki^) и Н(К2,з) равны соответственно 4 и 3.
Хроматический класс H(G) графа G совпадает с хроматическим числом графа G' = (X', Г'), определяемого следующим образом: вершины X1 взаимно однозначно соответствуют ребрам графа G и х'а € Гх£, когда соответствующие ребра графа G смежны. Следовательно, задача определения хроматического класса сводится к Задаче определения хроматического числа.
210
Гл. 3. Теория графов и мографов
В связи со сведением раскраски ребер графа к раскраске его вершин рассмотрим важное свойство графов — свойство реберно-сти.
Граф G = (V, U} обладает свойством реберности тогда и только тогда, когда существует взаимно однозначное соответствие, при котором каждая вершина v, € V графа G сопоставлена ребру Uj € U графа G = (V, U), при этом матрица смежности вершин графа G подобна матрице смежности ребер графа G. Дйе матрицы подобны, если они совпадают с точностью до перестановки строк (столбцов). В общем случае граф G может быть мультиграфом, т. е. графом с параллельными ребрами.
Теорема 3.37. Граф G обладает свойством реберности тогда и только тогда, когда он разложим по аддитивной операции “объединение” G = UF,- на полные подграфы {F^}, в ко-i
торые каждая вершина входит не более двух раз.
Пример 3.13 (рис. 3.37). Рассмотрим свойство реберности графа
G = (V, U), V = {а, Ь, с, d, е},
U = {{а, 6}, {а, с), {a, d], {а, с}, {Ь, с), {b, d}, {с, d}, {с, е}, {d, е}}.
Граф G разложим на два полных подграфа, G = Fa U Fp (рис. 3.37, а):
Fa = {Va, Ua), Va = {а, Ь, с, d},
Ua = {{а, b), {а, с), {а, d), {Ь, с), {Ь, d), {с, d}},
Fp = (Vp, Up), Vp = {а, 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 полных подграфа:
G = U Р,
ml
Fl = (V1, «71); Fl = {V2, U2), F3 = (V3, U3), Ft = (Vt, Ut),
Vi = {a, b, e], Vi = {a, c, d}, V3 = {b, c, fc], Vt = {d, e, fc},
I7i = Ui =
U3 = Ut =
{a, b}, {a, e}, {b, e}}; {a, c), {a, d), {c, d}}; {b, c}, {b, k], {c, fc}}; {d, e], {d, fc}, {e, fc}}.
Каждая вершина v, G V входит в полные подграфы Fi, i = 1, ..., 4, по два раза (рис. 3.38, а). Условия теоремы 3.37 выполнены, реберио производный граф G изображен на рис. 3.38, б.
При построении реберно производного графа G = {V, U) каждой вершине и; € V со степенью s(v,) > 1 сопоставляют выделенный в графе G полный граф F, С G. Ребра, инцидентные вершине у,- € V, взаимно однозначно соответствуют вершинам графа G, образующим этот полный подграф F,-. Вершина и,- € V со степенью s(v,) = 1 коинцидентна ребру pj, которому соответствует вершина vj Е 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. Теория графов и мографов
графа. Отсюда нетрудно доказать теорему 3.39, введя понятие паросочетательного разреза.
Разрез называется паросочетательным, если его ребра образуют пустой реберный граф.
Теорема 3.39. ГрафС вложим в гиперкуб тогда и только тогда, когда множество пустых реберных подграфов включает все паросочетательные разрезы этого графа.
Из этой теоремы получаем алгоритм вложения графа G в гиперкуб.
1.	Строя соответствующее дерево, выделяем реберно независимые подмножества (пустые реберные подграфы). Ребрам каждого из этих подграфов можно сопоставить одну и ту же краску.
2.	Из полученного в n. 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}, Е3 = {1, 6, 8}, Ез = {4, 7, 9}, Et = {3, 7, 10}.
3.	Раскрашиваем ребра заданного графа G с помощью покрытия столбцов строками двоичной таблицы, в которой строке взаимно однозначно соответствует пустой реберный граф, полученный в п. 2, столбцу — ребро, а на пересечении i-й строки с j-м столбцом стоит 1, если i-й пустой реберный подграф содержит у-е ребро, и 0 — в противном случае (табл. 3.4). Имеем четыре раскраски Ri(G) графа G:
Ri(G) = {{2, 5, 8}, {1, 6}, {4, 7, 9}, {3, 10}},
R3(G) = {{2, 5, 8}, {1, 6}, {4, 9}, {3, 7, 10}},
Яз(С) = {{2, 5}, {1, 6, 8}, {4, 7, 9}, {3, 10}}, R4(G) = {{2, 5}, {1, 6, 8}, {4, 9}, {3, 7, 10}}.
§3.7. Раскраска вершин и ребер графа
213
Та б лип а 3.4
Е,	Pi									
	1	2	3	4	5	6	7	8	9	10
{2,5,8}		1			1			1		
{1,6,8}	1					1		1		
{4,7,9}				1			1		1	
{3, 7,10}			1				1			1
4.	Провернем, образует ли каждое множество соцветных ребер разрез графа. В каждой раскраске имеются соцветные вершины, не являющиеся разрезом за-
Рис. 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 и обладающий свойством вложимости в булево пространство. Используя первую раскраску, Я1(<7), раскрашиваем ребра {2, 5, 8}, {1, 6, 11}, {4, 7, 9}, {3, 10, 12} графа G (рис. 3.42,а).
Рис. 3.42
5.	Сопоставим множества соцветных ребер разрядам двоичного вектора: а = {2, 5, 8}, хз ~ {1, 6, 11}, хз ~ {4, 7, 9}, ц = {3, 10, 12}. Кодированием вершин графа G производим фактическое вложение графа G в булево пространство (рис. 3.42, б).
Теорема 3.40. Если G — двудольный граф и его степень равна s(G), то
H(G) = s(<7).	(3.23)
Теорема 3.41. Хроматический класс любого полного графа на п вершинах Н(Кп) равен п, если п нечетное (n / 1), и равен п — 1, если п четное.
Приведем точный алгоритм минимальной раскраски вершин (ребер) графа G, т. е. алгоритм определения хроматического числа h(G) (хроматического класса ff(G)).
1.	Выделяем множество вершинно пустых (реберно пустых) подграфов графа G.
2.	Строим двумерную таблицу, каждой строке которой сопоставляем взаимно однозначно пустой подграф, столбцу — вершину (ребро): в клетке (г, у) записываем 1, если j-я вершина (у-ребро)
§3.7. Раскраска вершин и ребер графа
215
содержится в t-м пустом подграфе; в противном случае клетку оставляем пустой.
3.	Определяем покрытие столбцов строками. Каждое покрытие порождает раскраску. Покрытие минимальной мощности определяет хроматическое число (хроматический класс) графа G.
В случае большого графа G = (V, U), когда мощность его носителя равна нескольким сотням и тысячам вершин, рассмотрим следующий алгоритм [39], использующий частотные свойства графа.
1.	Производя |€7[ сравнений, определяем пару смежных вершин va и vp графа G = (V, U), для которого функционал
V{{V°’	= |Го.Ц.|Г^|	(3 24)
принимает максимальное значение. Равенство этого функционала нулю означает, что ребро {иа, vp} не входит в треугольник, и чем больше значение (3.24), тем в подграф большей плотности это ребро может входить.
2.	Найденную пару вершин раскрашиваем, и им взаимно однозначно сопоставляем столбцы в двумерной таблице, строкам которой взаимно однозначно сопоставляем вершины, смежные хотя бы с одной раскрашенной вершиной; в клетке (t, j) ставим 1, если t-я и j-я вершины смежны, и 0 в противном случае.
3.	Выбираем строку с максимальным числом единиц.
4.	Если для выделенной в п. 3 i-строки найдется j-й столбец, на пересечении с которым находится 0, то соответствующую i-ю вершину раскрасим в j-ю краску и произведем склеивание соцветных по j-й краске вершин. В противном случае t-ю вершину раскрасим в новую краску, увеличивая количество столбцов в таблице на 1.
5.	Если осталась хотя бы одна неокрашенная вершина, то переходим к п. 3, в противном случае — к п. 6.
6.	Конец.
Число красок при раскраске вершин графа G = (V, U) равно количеству столбцов в итоговой таблице.
Пример 3.16. Раскрасим вершины графа G = (V, U) (рис. 3.43,а), используя рассмотренный алгоритм.
Рис. 3.43
216
Гл. 3. Теория графов и мографов
1,_2. Максимальное значение функционала v({v<>, vp}) согласно (3.24) равно 0,25 при рассмотрении вершин 1 и 4:
maxy>({va, v^}) = 0,25, va = 1, vp = 4.
a, 0
Получаем табл. 3.5.
3.	Выбираем первую строку.
4.	Раскрашиваем вершину 2 в новую краску, в результате получаем новую табл. 3.6.
5.	Неокрашенные вершины имеются; следовательно, переходим к п. 3.
3. Выбираем первую строку.
4. Вершина 3, соответствующая первой строке, соцветна вершине 1; раскрашиваем вершину 3 и склеиваем ее с вершиной 1. Получаем табл. 3.7.
Таблица 3.5				Таблица 3-6								Таблица 3.7				
Vi £ Tv,	«Ъ			v. £ Гц,		«Ъ						V, е Г и,		VJ		
	1	4				1		4		2				{Гз}	4	2
2	1	1		3		0		1		1		5		1	1	0
3	0	1		5		1		1		0		6		0	1	0
5	1	1		6		0		1		0		7		1	0	0
6	0	1		8		0		0		1		8		0	0	1
Выполняя этот алгоритм последовательно, получаем табл. 3.8-3.10. Таблица 3.8	Таблица 3.9																
v; £ Tv,									vi е Tv,							
	{1,3}		4		{2,5}								{1,3,6}	4	05}	
6	0		1		1				7				1	0	0	
7	1		0		0				8				0	0	1	
8	0		0		1				Таблица 3.10							
																
Окончательно получена раскраска исходного графа G — (V, U) в три краски (рис. 3.43,6): а = {1, 3, 6, 8},									V, € Гц,				vj			
													{1,3,6}	{4,7}	{2,5}	
									8				0	1	1	
0 =	с = <2, Oj. ПЛОТНОСТЬ графа G равна 3. Следовательно, полученная раскраска является минимальной.																
§ 3.8. Квазиполные модели, их структура и свойства
Будем рассматривать модели Ф со свойством симметричности
Ф = (М,51)52, .... Sn), SiCM*, г = 1, 2, ..., n, т. e. каждое ребро модели представляет собой подмножество множества М. В дальнейшем ребро будем называть словом, элемент носителя М — буквой.
Подмоделью Ф' модели Ф называется модель Ф', полученная из модели Ф вычеркиванием хотя бы одной буквы из слова, Ф' С С Ф.
Раскраской Я(Ф) модели Ф называется такое разбиение ее носителя, что ни одна из пар букв, входящих в слово, не принадлежит подмножеству этого разбиения.
§ 3.8. Квазиполные модели, их структура и свойства
217
Обозначим множество красок минимальной мощности при раскраске модели Ф через К(Ф):
К(Ф) = {Wf/ i = 1, 2,	h},
а раскраску — через -йтт(Ф).
Квазиполной моделью ^(q) называется модель, в которой при Ятт(Ф^) необходимо q красок, |К(Ф^)| = q, а при Ф' СС Ф^, достаточно q' красок, q' < q. Число д(Ф^) при этом называется квазиплотностью квазиполной модели Ф^.
Квазиплотностью д(Ф) модели Ф называется число д(Ф) = шахд,(Ф?),
1
где Ф^ С Ф для любого i.
Плотностью р(Ф) модели Ф = {М, Si, S?, Sm) называется число
р(Ф) = maxs,’, i
где я,- — степень словесного отношения S,- (г = 1, 2, ..., тп).
Порядком Л(Ф) модели называется число
Л(Ф) = д(Ф)-р(Ф).
Очевидно, что &(Ф) > 0.
Модель Ф квазиплотности q обозначим Ф(д). Модель Ф плотности р и порядка к обозначим Ф(р, к). Краску Na, сопоставленную буквам тпа, ти,  • •, пг,п, обозначим Na(mn, тц, ..., тп,п).
Частным случаем квазиполных моделей является квазиполный граф.
Квазиполным графом Q(q) называется граф Q, для минимальной раскраски которого необходимо q красок, а при раскраске любого собственного частичного графа Q, Q' С С Q, достаточно q' красок, q' < q. Число красок q при этом называется квазиплот-ностъю квазиполного графа Q.
Квазиплотность q(G) графа G определяется выражением
q(G) = maxg,(Q,j, Qi С G.	(3.25)
t
Порядок k(Q) квазиполного графа Q(g) есть
k(Q) = q(Q)-p(Q).	(3.26)
Порядок k(G) графа G есть
fc(G) = g(G)-p(G).	(3.27)
Условимся квазиполный граф Q плотности р и порядка к обозначать Q(p, к), а граф с такими же характеристиками — G(p, к).
218
Гл. 3. Теория графов и мографов
Квазиполные графы Q(2, 0), Q(2, 1), Q(2, 2) и Q(2, 3) изображены на рис. 3.44.
в	г
Рис. 3.44
Теорема 3.42 (основное свойство квазиполных моделей). Для любой буквы т квазиполной модели Ф^(g) = (М, Si, S2, ..., Sm) существует минимальная раскраска .йт1п(Ф^)> при которой не найдется буквы та Е М, не равной т (т та) и имеющей ту же краску, что и т.
Доказательство. Пусть для произвольной буквы т € М (Ф^(д) = (М, Si, S2,  ., Sm)) не существует такой минимальной раскраски Лт;п(Ф^(д)), т. е. при каждой минимальной раскраске Ятт(Ф^) найдется хотя бы одна буква та € М, т/та, имеющая ту же краску, что и т. Но тогда после удаления тпа из Ф^ получаем выражение |А'(Ф<2)| = q, что противоречит определению квазиполной модели Ф^(д).
Следствие. При вычеркивании любой буквы из любого элемента квазиполной модели Ф^(д) ее квазиплотность уменьшается ровно на 1.
Примечание. В дальнейшем для сокращения записи формулировок лемм и определений будем записывать их на языке логики предикатов. Например, теорема 3.42 на языке логики предикатов запишется в виде
(Vm)(m € М(Ф«(д) = (М, Si, S2, ..., Sm)))
(ЗЛт;п(Ф<г))((Зтпа)(та е М)), (m/ma)kN(m, та)). (3.28)
§3.8. Квазиполные модели, их структура и свойства 219
Для изучения структуры и свойств квазиполных моделей введем алгебру Ак вида Ак = (М, П, U, \), носителем М которой является множество слов, сигнатурой — операции алгебры Кантора: А — пересечение, U — объединение, \ — разность. Каждое слово р при теоретико-графовом представлении модели Ф соответствует полному подграфу плотности, равной |/*|.
Элементом носителя этой алгебры является модель Ф = (М, Si, S2, ..Sn), определяющая множество подмножеств множества М, которая является дистрибутивной решеткой; для нее справедливы свойства идемпотентности
Ра U ра — ра, A = ра и поглощения
Мя fl (Мя U Mb) = Мя> Мя U (Мя /ij) — да.
Элементами модели Фа, Фа = Фь о Фс, где о обозначает одну из операций U, А, \, являются полные подграфы, принадлежащие графу Са(Фа), Са(Фа) = Сь(Фб) оСс(Фс).
Проиллюстрируем введенные операции над моделями:
Фь = {{а, z}, {1, р}, {р, о}, {тп, о}, {пг, а}},
Фс = {{г, о, р}, {т, о, г}},
Фа = Фь А Фс = {{z, р}, {р, о}, {т, о}},
Фа = ФЬ U Фс = {{z, о, р}, {пг, о, z}, {пг, a, z}}, Фа = Фь \ Фс = {{a, z}, {пг, а}}.
Из определения раскраски модели Ф очевидно, что число красок определяется только топологией соответствующего ей мографа ОЛ^(Ф), а порядок модели — как топологией, так и распределением идентификаторов слов, взвешивающих вершины мографа СМ(Ф), а точнее — максимальной степенью словесного отношения. Исходя из этого, при определении числа красок (в пределе — хроматического числа модели Ф) будем рассматривать мограф С^(Ф) без учета моделизации, т. е. без учета идентификаторов слов, взвешивающих соответствующие вершины мографа
Вершина и,-, и,- $ GM(^), называется замещающей вершину Vi, Vi € СМ(Ф^), если их сечения равны друг другу:
г(О = гм.
Подграф G'{,	= (V/, Uf), G' 0 GM(4fl), называется заме-
щающим подграф Gi, Gi — (V, Ui), Gi С СМ(Ф^), если существует изоморфизм г] между их носителями V A V/, при котором
Г(ц,)=ГЮ, Vi С Vi, v'iEVf, Щ = Т}^.
220 Гл.З. Теория графов и мографов
Факт замещения будем записывать в виде
G\ = S(G,).
Замещающим слоем"Е.(ЧА) квазиполной модели Ф^ = (М, Si, S21 S3, ..Sn) называется объединение U 5(Ф,-) замещающих под-i
графов 2(Ф,-), при котором носители подграфов	GM(Ф^ =
= (Mi, Ui), образуют разбиение носителя М модели Ф^:
у Mi = М, (У,о#,ьй, й) (Mia П М,ь = 0).
При предельном рассмотрении квазиполная модель Ф*? и ее замещающий слой Е(Ф^) могут совпадать: Ф^ = Е(Ф^).
Теорема 3.43.
(У/?т!п(Ф«(?)и5(Ф‘3(д))(=(Ф«(д)) = (М, Si, S2, ..., Sm)))),
(VNi 6 К(Ф9(д))), (JmeM)(N(m) = Ni).
(3.29)
Доказательство получаем, основываясь на определениях операций над моделями квазиполной модели.
Содержательно замещающий слой 5(Ф^(д)) своими буквами “замещает” все буквы модели Ф^(д), имеющие различные краски при любой минимальной раскраске “замещает” в том смысле, что каждая краска при любой Ят;п (Ф^(д) иЕ(Ф^(д))) соответствует как букве та € Ф^(д); так и букве тр € Е(Ф^(д)), т. е. при любой минимальной раскраске Ф^(д) U 5(Ф^(д)) имеется q различных пар букв (та, тр) таких, что
та € VQ(q), тр € 3(VQ(q)},
N(ma) = N(mp) = Ni(ma, тр), i - 1, 2, ..., q.
В дальнейшем буквы, окрашенные одной и той же краской, при минимальной раскраске будем называть соцветными.
Замыкающим замещающий слой Е(Ф^(д)) слоем П(Е(Ф^ (q))) называется совокупность вершин Vq, обладающая следующими свойствами:
уг(и,) = г(=(фв(,))), », е !)(=(*«(«))), (Vi)(s(v,) > ,), s(v,) — степень вершины и,-;	— носитель замещаю-
щего слоя;
при минимальной раскраске вершин Vq необходимо q + 1 красок, а при удалении хотя бы одного ребра {va, t^}, va 6 € V(Е(Ф^(q))), vp € Vq, достаточно q красок.
§ 3.8. Квазиполные модели, их структура и свойства________221
Для иллюстрации (3.30) построим замещающий 5(Ф^(3)) и замыкающий слои Я(Е(Ф<3(3))) для квазиполного графа Ф<3(3):
Ф9(3) = ({<*, Ь, с, d, е}; {{а, 6}, {ft, с}, {с, d}, {d, е}, {а, е}}), =(Фд(3)) = ({а', ft', с', d', е', а, ft, с, d, е}; {{а', е}, {а', ft}, {а, ft'}, {ft', с}, {ft, с'}, {с', d}, {с, d1}, {d', е}, {а', е}, {d, е'}}>, П(5(Ф<’(3))) = ({/, а', ft', с', d', е'};
{{«', /}, {Ь1, /}, {с', /}, {< /}, {е', /}}).
Построенный замыкающий слой имеет минимальную мощность (добавилась одна буква — вершина) /; будем говорить, что вершина f конусирует вершины замещающего слоя. Максимальная мощность этого слоя будет равна числу сочетаний из множества букв в замещающем слое {a', ft', d', </, е'} по q элементов, q = 3. В нашем случае имеем (|) = 10, в замыкающем слое добавятся {/,/ г = 1, 2, ..., 10}, и он будет иметь следующий вид:
О(5(Ф«(3))) = <{Л, Д, .. , До, a', ft', с', d', е'};
{{Л, а'}, {Л, Ь'}, {А, с'},	{Д,	а'}, {Д, ft'}, {Д, d'},
{А, а'}, {A, ft'}, {/з, с'},	{А,	а'},	{А,	с'}, {A, d'},
{А, а'}, {А, с'}, {А, е'},	{А,	«'},	{A,	d'}, {А, е'},
{A, ft'}, {А, с'}, {A, d'},	{A,	ft'},	{А,	с'}, {А, е'},
{А, ft'},.{/9, d'}, {Д, е'}, {До, с'}, {Ao, d1}, {Ао, е'}}).
Граф с минимальной мощностью замыкающего слоя представлен на рис. 3.44, в, с максимальной мощностью — на рис. 3.45.
Рис. 3.45
222
Гл. 3. Теория графов и мографов
Теорема 3.44.
Ф = Ф«(д + 1) о Ф = фЗ(д)и2(фЯ(д)) иВДФ^д))). (3.31)
Доказательство. Необходимость.
Дано: Ф = Ф^(д + 1)-
Требуется доказать, что Ф = Ф^(д)и5(Ф^(д))иЯ(Е(Ф^(д))). Для доказательства (3.31) необходимо показать, что:
а)	Ф = Ф<3(д + 1) DD Ф^(д);
б)	Ф = Ф^(д +1) DD E^(g));
в)Ф = Ф«(д + 1)ЭЭЯ(5(Ф«(д)));
г) Ф<5(д+1)\ (Ф<5(д)и=(Ф<5(д))иП(5(Ф(5(д))) = 0.
Докажем а)-г) по очереди.
а) Предварительно заметим очевидное утверждение, что при вычеркивании одной буквы из модели Ф число красок |7<(Ф) | максимально может уменьшиться только на 1.
Вычеркиваем произвольную букву та в одном из элементов (слов) ца из Ф^(д + 1); тогда согласно определению квазиполной модели и вышеприведенному утверждению имеем
д((Ф» = Фд(д +1)) \ *F(*F = Ма \ та)) = д.
Вычеркиваем в оставшейся модели Фа(д) еще одну произвольную букву ть из любого элемента fib; тогда
д((Фь = Фа \ ФГ(ФГ = мь)) и (мь \ ть))
равняется д — 1 либо д.
Если д(Фь) = д — 1, то букву ть снова приписываем к элементу fib и ее отмечаем.
Если д(Фь) = д, то букву не приписываем к fib-
Продолжаем этот процесс, т. е. вычеркиваем в оставшейся модели произвольную неотмеченную букву из любого элемента. Если при этом квазиплотность равна д, то букву не приписываем, и так далее до тех пор, пока все оставшиеся буквы не будут отмечены.
Полученная модель и есть Ф^ (д); действительно, ее квазиплотность равна д, а при вычеркивании любой буквы равна д - 1, так как все буквы отмечены.
б), в) Согласно определению квазиполной модели |А'(Ф^(д + + 1))| = д + 1, и чтобы это равенство было выполнено, очевидно, необходимо, чтобы при любой Ятт(Ф^(9 +1)) существовала буква тш, которая была бы смежна с g буквами (входила с ними в слово), среди которых нет хотя бы двух соцветных букв та и ть (та ть); в противном случае
д(Ф<3(д + 1)) / д+1.
§3.8. Квазиполные модели, их структура и свойства 223
Если эти q букв при любой минимальной раскраске принадлежат одной и той же модели типа Ф^(д), то буквы типа тпш, образующие множество во-первых, таковы, что
(Vmw е Мш)(тш $	= (М, Slt S2, ..., Sm»),
так как противное утверждение противоречило бы определению квазиполной модели; во-вторых, Ф^(д) можно рассматривать в качестве Н(Ф^(д)) по определению замещающей модели и вышеприведенному утверждению (в начале б), в)) Фи1(Фи) = (М*,,
..., SWm)) образует замыкающий слой Я(5(Ф^(д))) согласно (3.30).
Если q букв рассмотренного типа принадлежат различным моделям типа Ф^(д), которые, кстати, могут быть выделены с использованием процедуры, приведенной в а), то согласно (3.28) и определению Ф*Э(д + 1) среди квазиполных моделей квазиплотности q существует модель Фц(д) = (Мо, So,, Sf^, ..., Som) такая, что
(Зга. е Aft) ((Ф& = (К SJ,, S’ai.sy,)) fc (ФЬ с ф?(,))),
((ЗФ'(Ф* = =(Ф-0) / фу, ((Ф- = ФУ -> (m., т„) i S„))), так как в противном случае согласно (3.28)
(37?mjn (Фо	6 MQ)k(ma тл/у) & TV(та, тр)))
и A^m^,) = N(ma) = та) и д(ф^(д + 1)) = д, что противоречит заданию.
Следовательно, согласно определениям замещающего и замыкающего слоев имеем Е(Ф^(д), П(5(Ф^(д))), и при любом Яшт(Ф<?(д) U Е(Ф^(д)) U Я(Е(Ф^(д))) необходимо q + 1 красок.
г) Ф^(д + 1) \ Ф^(д) U Е(Ф^(д)) U П(Н(Ф^(д))) = 0 справедливо, так как в противном случае после вычеркивания хотя бы одной произвольной буквы, входящей в любой элемент разности, минимальное число красок равнялось бы д+1 согласно доказательству б), в), но это противоречит определению квазиполной модели квазиплотности g + 1, которая задана.
Достаточность.
Дано: Ф = Ф<?(д) U 5(Ф«(д)) U Я(5(Ф<’(д))).
Требуется доказать, что Ф = Ф^(д+ 1).
Согласно определениям замещающего и замыкающего слоев и определению квазиполной модели имеем |К(Ф)| = g + 1, т. е.
Ф = Ф(д +1), Ф = Фд(д) и Н(Ф<г(д)) и Я(Н(Ф<’(д))).
Покажем, что теперь Ф(д + 1) = Ф^(д + 1).
224
Гл. 3. Теория графов и мографов
Это справедливо, так как нельзя вычеркнуть ни одной буквы та из какого-нибудь элемента
Ма = ф£ СФ«(д),	Я(2(Ф«(д))),
так, чтобы квазиплотность осталась равной g + 1.
Действительно, если мы вычеркиваем та 6 р.а (jia € Ф^(д)), то согласно (3.28) для 7?ть((Ф<?(д)\Ф^)и(/ха\т)) достаточно д-1 красок, и при Ятт(0(5(Ф^(д)))) потребуется дополнительный д-й порядковый номер и д(Ф) = д, что несправедливо, так как д(Ф) = = д + 1.
Аналогично показывается справедливость этого утверждения при та 6 PaU = »г, «£ С В(*«(»)), Я(=(Ф«(«)))).
Для иллюстрации (3.31) рассмотрим увеличение квазиплотности на 1, взяв в качестве основания квазиполный граф Q(3) (рис. 3.46, а). Замещающий слой E(Q(3)) и замыкающий слой
Рис. 3.46
fi(E(Q(3))) представлены на рис. 3.46, б,в соответственно, результат Q(3) U S(Q(3)) U f2(E(Q(3))) = Q(4) — на рис. 3.46, г.
Рассмотрим некоторые свойства, характеризующие структуру квазиполных моделей.
§ 3.8. Квазиполные модели, их структура и свойства 225
Согласно (3.31) для квазиполных моделей справедливо свойство включаемости
г = 2,3, ...,р, j = 0,l,..,fc. (3.32)
Проиллюстрируем это свойство рассмотрением квазиполной модели <2(3, 2) (см. рис. 3.46,г). Для этой модели имеем
<2(3, 2) DD <2(3, 1) DD <2(3, 0),
<2(3, 2) DD <2(2, 2) DD <2(2, 1) DD <2(2, 0),
<2(3, 1) DD {{а, Ь}, {Ь, /}, {а, /}, {Ь, с}, {с, /}, {с, d}, {d, f}, {d, e}, {e, /}, {a, e}},
<2(3, 0) DD {{a, b}, {b, /}, {a, /}},
<2(2, 2) = {{a, b}, {b, c}, {c, d}, {d, e}, {a, e}, {a', b}, {a', e}, {a, b'}, {b', c), {b, c'}, {c', d}, {c, d'}, {d', e), {d, e'},
{a, e'}, {a1, /}, {b', /}, {< /}, {d', /}, {e', /}},
<2(2, 1) = {{a, b), {b, c}, {c, d}, {d, e}, {a, e}},
<2(2, 0) = {a, b}.
При одной и той же структуре замещающего и закрывающего
b	Ь
4<f(3), 1М„1 =5	4^(3), Щ1=3 W®(3+1), IA/J =6 w£(3+l), 1Л/61 =4
Е(фв) =ч»е (A/q| =!
Рис. 3.47
слоев согласно (3.28) и (3.31) для квазиполных моделей имеет место свойство монотонности
> |м£(ф«(«) = (Ml, Si,, Si,.....«
w |М.(«?(» +1) = (M,, Sa„ S.,S.,»| > >	+ 1) = {Mb, Sb„Sb,,..., %))|. (3.33)
Проиллюстрируем выражение (3.33) на рис. 3.47.
8 В. А. Горбатов
226
Гл.З. Теория графов и мографов
При рассмотрении замещающего и замыкающего слоев как результата применения операции соответственно замещения Е и замыкания Q над квазиполной моделью Ф^(д) нетрудно показать свойства идемпотентности операции замещения
Х(=(=.. .(2(Ф«(5))...))) = Х(=(Ф«(,)))	(3.34)
и отсутствие такого у операции замыкания Q.
Согласно (3.31) и (3.34) имеем
Ф«(д) U Е(Ф<5(9)) U E^(q))) U ... U Е(Е^(Е(Ф^(д))).. ,)и п раз
иЯ(Е(Е^(Е(Ф<’(д)))...) = Ф9(д+1). (3.35) п раз
Проиллюстрируем формулу (3.35) с помощью рис. 3.48. Для q = 4
Ф«(4) = Фк(3)иЕ(Фг(3)) иЕ(Е(Фк(3))) U
и=(=(=(ФК(3)))) и П(=(=(=(ФГ(3))))).
Очевидно, что всякая квазиполная модель первого порядка содержит не менее трех слов и всякий квазиполный граф (кеа-
Рис. 3.49
Рис. 3.48
зиполная модель плотности 2) первого порядка плотности р содержит не менее р + 3 вершин (рис. 3.49):
G<3(4,1) = (V,0, |V| = 7, |V| = p + 3.
Теорема 3.45.
Ф = Ф<5(р, А)оФ = Ф<3(р, 1)U
U {Е(Ф<3(р, i)) U П(Е(Ф<3(р, »)))/ i = 1, 2, ..к - 1}.
§ 3.9. Характеризация частичного упорядочения мографа 227
§ 3.9. Характеризация частичного упорядочения мографа
Рассмотрим семантику (смысл) преобразования мографа GM в диаграмму Хассе (структурный граф) Н при логической интерпретации.
Прежде чем установить причины, приводящие к тому, что одному первичному терму сопоставляют две (и более) вершины в структурном графе (расщепляют первичные термы), рассмотрим преобразование мографа в структурный граф при задании тупиковой ДНФ булевой функции
f(xi, х2, ..., х5) = _ _
= 211X3X5 V Х1Х4 V Х2Х3 V Х1Х3Х5 V Х3Х4Х5 V Х2Х4Х5,
1	2	3	4	5	6
которая определяется моделью
Фа = (М, S2, S3), м = {xi, Х1, х2, Хз, Хз, х4, х4, х5, х5}, S2 = {{х15 х4}, {х2, Хз}},
S3 = {{zi, Хз, Х5}, {Х1, Х3, Х5}, {хз, Х4, Х5}, {х2, Х4, Х5}}.
Мограф (7м(Фа) изображен на рис. 3.50, а.
Рассмотрим подмограф (GM)' (рис. 3.50, б), задающий третью, пятую и шестую простые импликанты. Сопоставим третьей им-пликанте Х2Х3 цепь v(x2) < и(хз). Пятой простой импликанте
£3X4X5 сопоставим цепь и(х3) < 0(14) < о(х5), шестой импликанте Х2Х4Х5 — цепь v(x2) < v(x4) < v(xs). При таком задании отношения упорядоченности получаем, что v(x2) < и(хз) < 0(2:4), т. е. о(х2) сравнима с о(х4), о(хг) < 0(14), что противоречит заданию.	-
228
Гл. 3. Теория графов и мографов
Чтобы ответить на вопрос, является ли такое задание отношения < просто неудачным, не зная семантики преобразования, необходимо построить полностью синтаксическое дерево этого преобразования, висячим вершинам которого соответствуют диаграммы и рассмотреть при этом не только эти три простые импли-канты, но весь заданный мограф (7м (Фа). Число висячих вершин этого дерева равно 2! -2! -3! -3! -3! -3! = 5184. Фактическим построением такого количества диаграмм можно убедиться, что не существует способа задания отношения < в рассматриваемом мографе См(Фа), при котором имеет место взаимно однозначное соответствие между первичными термами zp и вершинами диаграмм Н такое, что каждая цепь v(zO1) < v(zO2) < ... < v(zOfc) взаимно однозначно соответствует простой импликанте zO1zO2. • -хак-
Трудоемкость выявления таких противоречий, а следовательно, и построения абсолютно минимальной схемы, значительно меньше, если известна семантика преобразования, определяемая распределением запрещенных фигур, т. е. решена проблема характеризации преобразования GM(f)
Введем понятие гомоморфных моделей.
Разложением слова р = {т^/ j = 1, 2, ..., з} на глубину к, О < к < з-2, называется замена этого слова на слов, каждое из которых образуется взятием з - к букв из слова р, причем лексикографически одинаковые буквы, входящие в полученные слова, считаются различными и переименовываются. Например, после разложения слова р = {у, х, а} на глубину, равную 1, получаем три слова: {у1, z}, {z', a}, {o', у}.
Разложением на глубину к подмодели Ф', состоящей из одного слова р в модели Ф, называется замена ее подмоделью, образованной разложением слова р на глубину к и повторением каждого слова ра (ра € Ф \ Ф') вида р П ра / 0 столько раз, сколько раз были повторены буквы (до их переименования при разложении слова р), принадлежащие рГ\ ра, причем при построении ра эти буквы записываются каждый раз в переименованном виде. Например, рассмотрим модель
Фа = (М, S2, S3), М = {у, z, а, с, о, р}, $2 = {{У, с}, {о, z}, {а, р}}, S3 = {{у, х, а}}.
Разложим ^подмодель Ф^ = {{у, z, а}}, состоящую из слова р = {у, z, а}, на глубину, равную 1. В результате разложения этой подмодели слово р заменяется словами {у', z}, {z', a}, {а', у}; слова {у, с}, {о, z}, {а, р} — словами {у, с}, {у', с}, {о, х}, {о, х'}, {а, ?}| {а\ р}- Окончательно в результате разложения подмодели
§3.9. Характеризация частичного упорядочения мографа 229
Фд на глубину, равную 1, получаем модель
Ф/з = (М, S2), М = {у, х, а, у', х', а', с, о, р},
Si = {{у', х}, {х1, а}, {а1, у}, {у, с], {у', с}, {о, г},
{о, х'}, {а, р}, {а', р}}.
Две модели изоморфны, если их матрицы инцидентности подобны с точностью до переименования букв.
Модели называются гомоморфными, если одна из них преобразуется с точностью до изоморфизма в другую разложением некоторых подмоделей. В рассмотренном примере модели Фа и Ф^ (рис. 3.51) являются гомоморфными.
При разложении подмоделей на нулевую глубину получаем изоморфные модели. Для получения неизоморфных моделей необ-
ходимо разлагать на положительную глубину; для этого нужно,
чтобы мощность разлагаемого слова р, а следовательно, и степень сигнатуры подмодели Ф' = {д}, была больше 2, т. е. чтобы модель Ф' не являлась графом.
Для графов, как известно, существует свое понятие гомомор-* физма. Два графа называются гомеоморфными, если один из них преобразуется с точностью до изомор
физма в другой путем замены некоторых ребер цепями (разложением ребра в цепь) произвольной длины. Например, графы Ga и Gp (рис. 3.52) Являются гомеоморфными.
В случае графов гомоморфизм Имеет линейную структуру. Для мо-
делей, не являющихся графами, го-
моморфизм имеет более сложную	Рис. 3.52
Структуру — сочетательную.
Гомоморфизм (линейный) графов изменяет только мощность их носителей. Гомоморфизм (сочетательный) моделей, не являю-
щихся графами, изменяет не только носители, но и их сигнатуры.
230
Гл.З. Теория графов и мографов
Модель называется частично упорядочиваемой, если найдется взаимно однозначное соответствие т? между ее буквами и вершинами диаграммы Хассе, при котором каждое слово модели взаимно однозначно соответствует цепи, составленной из вершин, соответствующих буквам этого слова.
Теорема 3.46. Модель Ф частично упорядочиваема тогда и только тогда, когда она не содержит подмодели, гомоморфной квазиполной подмодели положительного порядка:
V	k>0.
На основании этой теоремы и свойства включаемости квазиполных моделей (3.32) имеем теорему 3.47.
Теорема 3.47. Запрещенными фигурами Qa, Qb преобразования мографа GM в диаграмму Н являются подмографы типов А и Б (рис. 3.53).
Подмограф типа А представляет собой цикл нечетной длины с циклической перестановкой идентификаторов слов. Подмограф типа Б является треугольником с висячими вершинами, каждая из которых имеет общий идентификатор со смежной висячей верши-
Рис. 3.53
ной, и все вершины треугольника имеют общий идентификатор; при этом висячие вершины могут совпадать как попарно, так и все вместе с соответствующим объединением их идентификаторов. Наличие одной из таких фигур в мографе делает принципиально невозможным задание отношения < при преобразовании GM —> Н без расщепления первичных термов в мографе GM, причем такое расщепление без знания семантики преобразования GM —> Н происходит “вслепую”. При этом кроме ликвидации запрещенных фигур расщепляются лишние первичные термы, что уменьшает оптимальность получаемого решения.
Выделение запрещенных фигур типов А и Б сводится к задаче нахождения циклов нечетной длины в мографе с последующей проверкой распределения идентификаторов слов (весов) на
§3.9. Характеризация частичного упорядочения мографа 231
них. При выделении циклов нечетной длины в мографе вершины с одним весом не рассматривают как вершины, которые могут соответствовать только висячим вершинам фигур типа Б.
В приведенном выше примере для выделения циклов нечетной длины достаточно рассмотреть подграф изображенный на рис. 3.54, а. Анализируя этот мограф, устанавливаем, что запре-
щенными фигурами типа А являются следующие подмографы: Qi = {^(З, 6), 2:5(6, 5), 2:3(5, 3)},
Q2 = {^(З, 6), 2:4(6, 2), 2^(2, 1), х5(1, 4), 2:3(4, 3)},
<Эз = {2:5(6, 5), 2:3(5, 4), 2:5(4, 1), 2:1(1, 2), 2:4(2, 6)}.
Запрещенной фигурой типа Б является подмограф {{2:2,2:4,2:5}, {2:1, 2:4}, {2:2, 2:3}, {2:5, 2:4}}.
232 Гл. 3. Теория графов и мографов
Фигуру типа Б в дальнейшем будем задавать соответствующим треугольником. В данном случае четвертая запрещенная фигура имеет следующий вид: Q4 Z) {14(2, 6), 2:5(5, 6), 2:2(3, 6)}.
Основное свойство запрещенных фигур типов А и Б заключается в том, что при расщеплении любой вершины фигуры типа А и любой вершины треугольника фигуры типа Б эти подмографы перестают быть запрещенными фигурами. Таким образом, подобные расщепления — это способы преобразования запрещенных фигур типа А и Б в разрешенные. Процедура семантического эквива-лентирования мографа в частично упорядочиваемый стандартная. В семантической таблице строкам соответствуют запрещенные фигуры типа А или Б, столбцам — расщепляемые вершины мографа. Семантическая таблица для рассматриваемого примера приведена в табл. 3.11.
Таблица 3.11
Qi	xi(l,2)	х2(3,6)	Хз(4,5)	хз(3,4)	х3(3,5)	х«(2,6)	xs(5,6)	Xs(l, 4)
Qi	0	1	0	0	1	0	1	0
Q2	1	1	0	1	0	1	0	1
Q3	1	0	1	0	0	1	1	1
Q<	0	1	0	0	0	1	1	0
Для уменьшения трудоемкости определения покрытия семантической таблицы будем удалять поглощающиеся строки и столбцы. В данном случае правила поглощения следующие.
Столбец а поглощается столбцом (3, если не найдется третьего столбца, взвешенного той же буквой, что и столбец а, и векторное произведение столбцов а и Д равно столбцу а.
Строка а поглощается строкой (3, если векторное произведение этих строк равно строке (3.
В рассматриваемом случае первый и восьмой столбцы поглощаются шестым. Вычеркивая поглощающиеся столбцы, имеем шесть покрытий семантической таблицы:
{2:2(3, 6), 2:4(2, 6)}, {2:2(3, 6), 2:5(5, 6)}, {2:2(3, 6), 2:3(4, 5)}, {2:4(2, 6), 2:5(5, 6)}, {2:3(3, 4), 2:5(5, 6)}, {2:3(3, 5), 2:4(2, 6)}.
Каждое из этих покрытий порождает два расщепления. Следовательно, мощность расширения носителя модели Фа равна 2, и абсолютно минимальная реализация рассматриваемой тупиковой ДНФ содержит 11 ключей:
L = |Ма| + |ДМа| = 11.
Для определенности рассмотрим последнее покрытие, и будем отличать букву 2:3 в третьем слове от хз в пятом слове, добавляя штрих в верхнем индексе: 2:3. В дальнейшем это переименование будем называть штриховкой буквы в соответствующем слове.
§3.9. Характеризация частичного упорядочения мографа 233
Аналогично произведем штриховку буквы 2:4 во втором слове. В результате получаем модель Фа:
Фа = (Afa, S2, S3),
ма = {хг, ХЬ х2, х3, х'3, Хз, х4, х'4, х4, х5, х5},
S2 = {{Xi, х'4}, {х2, x(J},
S3 = {{xi, Хз, х5}, {хь Хз, х5}, {х3, х4, х5}, {х2, х4, х5}}. Она эквивалентна заданной и интерпретируется в терминах частично упорядоченного множества (рис. 3.54,6):
xi О и(хх), х2 о и(х2), х3 о v(x3), xi о v(xi),
х'3 О v(xg), х3 о и(хз), х4 О и(х4), х'4 о и(х^),
х4 о и(х4), х5 о и(х5), х5 о и(х5); жри этом
Х4, Х3х5 о v(xi) < и(х3) < и(х5),
Х1Х4 о v(xx) < v(x4), х2х3 о и(х2) < v(x3),
Х1Х3Х5 о и(х3) < и(хх) < и(х5), Х3Х4Х5 о и(х3) < и(х4) < и(х5), Х2Х4Х5 о и(х2) < v(x4) < v(x5).
Если в покрытие первой таблицы вошли хотя бы две буквы, лексикографически одинаковые, то слова, в которых происходит Их штриховка, определяются покрытием столбцов (букв) строками (идентификаторами слов), в которые буквы входят.
Таким образом, знание семантики преобразования GM —> Н позволило заменить перебор 5184 фактически строящихся диаграмм Hi анализом шести покрытий семантической таблицы. В общем случае трудоемкость при знании семантики уменьшается в комбинаторное число раз по сравнению с количеством всех эквивалентных решений.
Рассмотрим примеры, иллюстрирующие теорему 3.47.
Пример 3.17. Мограф
GM = {V, S2, S3), V = {a, b, с, d, е),
S2 = {{a^e}, {Мр, ЬМ}}> s3 = {{^_М}},
12	3	4
содержит запрещенные фигуры Qi = {Ь(2, 4), с(4, 3), d(3, 2)}, Q2 = {a(4, 1), 2(4, 2), с(4,> 3)} (рис. 3.55,a), которые порождают семантическую таблицу (Табл. 3.12).
Таблица 3.12
Запрещенные фигуры	а(1,4)	Ь(2,4)	с(3,4)	<1(2,3)
	0	1	1	1
<?2	1	1	1	0
234
Гл. 3. Теория графов и мографов
Табл. 3.12имеет три покрытия: iri = {i(2, 4)}, г2 = {с(3, 4)}, кз= [а(1, 4), d(2, 3)}; с помощью них исходный мограф можно привести к интерпретируемому виду тремя способами, показанными иа рис. 3.55,6.
Рис. 3.55
Пример 3.18. Мограф
GM = (V, S2, S3}, V = {а, Ь, с, d},
Si = {{a^d}, {b^d}, {с> $з = {{а, Ъ, с}}, 12	3	4
содержит три запрещенные фигуры типа А и одну типа Б:
Qi = {a(l, 4), Ь(2, 4), d(l, 2)}, Q2 = {b(2, 4), с(3, 4), d(2, 3)}, Q3 = {a(l, 4), c(3, 4), d(l, 3)},	= {a(l, 4), b(2, 4), c(3, 4)};
они порождают семантическую таблицу (табл. 3.13).
Таблица 3.13
Запрещенные фигуры	«(1,4)	Ь(2,4)	с(3,4)	d(l,3)	d(l,2)	d(2,3)
Qi	1	1	0	0	1	0
<?2	0	1	1	0	0	1
Q3	1	0	1	1	0	0
<?4	1	1	1	0	0	0
Табл. 3.13 имеет шесть покрытий: яч = {a(l, 4), Ь(2, 4)}, я2 = {a(l, 4), с(3, 4)}, я3 = {Ь(2, 4), с(3, 4)}, я< = {а(1, 4), d(2, 3)}, я5 = {Ь(2, 4), d(l, 3)}, хе = {с(3, 4), d(l, 2)}; каждое из них порождает диаграмму Хассе сложности 6. Для определенности выберем первое покрытие, произведя штриховку буквы
§ 3.9. Характеризация частичного упорядочения мографа 235
а в первом слове, буквы Ь — во втором. В результате получаем мограф
GM = {V, S2, S3), V = {a,a',b,b',c,d},
S2 = {{o', d}, {У, d}, {c, d}}, S3 = {{a, b, c}}, эквивалентируюший заданный и интерпретируемый в категориях частично упорядоченного множества (V, <):
{a', d] <4 v(a') < v(d), {Ь', d} <4 v(6') < v(d), {c, d} <4 v(c) < t>(d), {a, b, c} <4 v(c) < v(a) < v(b).
Рассмотрим устойчивость запрещенных фигур в зависимости от граничных условий, т. е. от условий пересечения запрещенной фигуры с остальной частью мографа.
Условие неустойчивости запрещенной фигуры типа А. Композиция запрещенной фигуры типа А. и слова, носители которых совпадают, не нарушает условий интерпретируемости мографа в категориях частично упорядоченного множества.
Рассмотрим мограф
GM = (V, S3), V = {2:1, х2, х2, х3, х4, 2:5},
S3 = {{Д1, Х2, х4), {х2, х3, х4}, {жу, Хз, х5), {х2, Хз, ж5}},
12	3	4
содержащий запрещенную фигуру типа А
Qa = {х1(1,3),®з(3, 2), 2:4(2, 1)}.
При преобразовании этого мографа в структурный граф необходимо расщепить одну из букв х^, х3, х4. Для определенности расщепляем 2:4 во втором слове; в результате получаем мограф
GM = (V, S3), V = {xi, х2, х2, х3, х4, х'4, ж5},
S3 = {{Д1, х2, х4), {х2, х3, ж^}, {жу, хз, х5), {х2, х3, ж5}}, 12	3	4
интерпретируемый в категориях частично упорядоченного множества (рис. 3.56, а).
Введем понятие пары внешне неустойчивых вершин. Парой внешне неустойчивых вершин относительно подмографа {GM}' мографа GM называется пара вершин v*, vi, взвешенных первичными термами х,-, х,, 1>*(ж,), vi(x,), таких, что объединение вершин, смежных с и^(ж,) согласно идентификатору а, и вершин, смежных с vi(xi) согласно идентификатору 0, включает носитель подмографа (GM)'.
В рассматриваемом примере имеется пара внешне неустойчивых вершин v(x2), v(x2) относительно носителя выделенной запрещенной фигуры Q. Роль а играет идентификатор 1, роль 0 — либо 2, либо 4.
236
Гл. 3. Теория графов и мографов
Согласно соотношению Порецкого
Ах V Вх = Ах V Вх V АВ
в мограф, не нарушая эквивалентности задания им булевой функции, можно добавить слово АВ.
В случае наличия в мографе пары внешне неустойчивых вершин слово АВ имеет вид
(а\х^)и (/3\х{).
В данном случае это 2:1X32:4, так как мограф является дистрибутивной решеткой.
Добавление слова {хх, хз, х4} вызывет неустойчивость запрещенной фигуры {xi(1, 3), хз(2, 3), Х4(1, 2)}; в результате мограф GM = {V, S3), V = {хь х2, х2, х3, х4, х5},
S3 = {{zi, Х2, х4}, {х2, Хз, х4}, {хх, Хз, х5},
12	3
•{х2, Хз, Х5), {xi, Х3, Х4}),
4	5
является интерпретируемым в категориях частично упорядоченного множества (рис. 3.56, б).
При добавлении слов в случае пары внешне неустойчивых вершин относительно запрещенной фигуры следует рассмотреть и добавление связей, которые могут привести к появлению допол-
Рис. 3.56
нительных запрещенных фигур. Добавление связей (ребер) в мографе имеет место в случае, когда добавляемое слово строго включает носитель запрещенной фигуры.
Условия неустойчивости запрещенной фигуры типа Б. 1. Запрещенная фигура типаВ неустойчива, если идентификатор слова, взвешивающий висячую вершину, по которому она смежна с вершиной треугольника фигуры, взвешивает еще одну вершину треугольника.
§ 3.9. Характеризация частичного упорядочения мографа 237
Рассмотрим мограф
GM = (V, S2, S3), V = {жь ж6, ж2, х3, ж4, х5},
S2 = {{хьДб}, {^Д4,} }, S3 = •{{Д1, хз, х5), {ж2, ж3, ж5) }, 12	3	4
удовлетворяющий этому условию. Он не содержит устойчивых запрещенных фигур: взаимно однозначное соответствие между первичными термами (буквами мографа) и вершинами структурного графа, при котором каждое слово взаимно однозначно соответствует пути, имеет вид
{жх, ж6} о и(жх) < и(ж6), {ж3, ж4} о и(ж4) < и(ж3), Жз, Z5} *-> V(X1) < v(x5) < v(x3), {ж2, Жз, Ж5} о и(ж2) < v(x$) < и(Жз).
2. Запрещенная фигура типа Б неустойчива, если условие 1 выполняется для двух висячих вершин, и устойчива, если оно выполняется для всех трех вершин.
Рассмотрим мограф
G^ = (V,S3), V = {a,b,c,d,e,f},
S3 = {{tbcjj}, {аД4, {b^c^f}, {сцДс}}, 12	3	4
содержащий неустойчивую запрещенную фигуру типа А Qa = {а(1, 2), 6(2, 3), с(1, 3)} и устойчивую запрещенную фигуру типа Б, основанием которой является треугольник с вершинами а, Ь, с и висячими вершинами d, е, f. Эта фигура будет неустойчивой при добавлении одного из слов {Ь, е, /}, {с, d, /}, {a, d, е}.
Частным случаем частичного упорядочения мографа является транзитивная ориентация графа. Здесь мограф рассматривают без моделизации, т. е. словами полученной модели являются максимально полные подграфы графа, над которым проводится транзитивная ориентация.
Для этого случая имеем три запрещенные фигуры. Первыми двумя фигурами являются фигуры типа QA и Qb, рассматриваемые без моделизации, третьей фигурой — граф без моделизации, являющийся композицией неустойчивой запрещенной фигуры типа А и устойчивой фигуры типа Б.
Рассмотрим применение теоремы при транзитивной ориентации графов на примере представителя одного из транзитивно иеориентируемых семейств графов — графа, дополняющего цикл, длина которого превышает 5, до полного. Граф G = (У, U) называется транзитивно ориентированным, если из (v«, Vj) g U и (vy, Vk) 6 U следует (v,-, v*) g U. Рассмотрим цикл, длина которого равна 6. Этот цикл до полного дополняет граф G, изображенный на рис. 3.57, а.
238
Гл. 3. Теория графов и мографов
Применяя алгоритм выделения полных подграфов к рассматриваемому графу (рис. 3.57,6), получаем множество полных подграфов {{Ь, d, /}, {а, с, е}, {а, d}, {6, е), {с, /}}, которое образует сигнатуру мографа (рнс. 3.57, в):
GM = (V, S2,S3), V = {а, b, с, d, е, f}, S3 = {{Ь, d, f}, {а, с, е}}, S2 = {{a^d}, Q^eJ, 1 12	34
5
Мограф GM = (V, S2, S3) содержит две устойчивые запрещенные фигуры типа Б: Qbi = {Ь, d, /}, {Ь, е), {a, d}, {с, /}}, QB2 = {{а, с, е},{а, d},{c, /}, {Ь, е}}. Расщепляя одну из вершни треугольника каждой запрещенной фигуры, получаем транзитивно ориентированный граф. Возможны девять способов расщепления. В каждом из них следует расщеплять две вершины, так как эти треугольники ие пересекаются. Для определенности выберем вершины с
и f (рис. 3.57,г). В результате получаем траизитивио ориентированный граф (рис. 3.57, <?), который после удаления транзитивно замыкающих дуг преобразуется в структурный граф (рис. 3.57, е).
§ 3.10. Логарифмические оценки хроматического числа
239
§ 3.10. Логарифмические оценки хроматического числа. Решение проблемы четырех красок
Как уже отмечалось, частным случаем квазиполной модели является квазиполный граф, который не следует путать с критическим графом, введенным Г.А. Дираком [39].
Критический граф изменяет хроматическое число при удалении хотя бы одной вершины. На рис. 3.58 приведен критический граф, но не квазиполный. Дей-ствительно, сужение сигнатуры графа удалением одного или всех ребер мно-жества {{а, /}, {6, /}, {с, /}, {d, /}, {е,/}} не меняет хроматическое чис- МГл!
ло, оно остается постоянным, равным 4; \	\//
при удалении же любой вершины хро- \ \	/
матическое число уменьшается на 1.	\ УЧ/ /
Теорема 3.48 (основное свойство квазиполных графов). Для любой вер-шины Vi квазиполного графа Q найдется такая раскраска его вершин,	Рис- 3 58
при которой не существует вершины va (а г), соцветнойси{.
Доказательство проводим от противного. Пусть такая раскраска не существует, т. е. при каждой раскраске вершин графа Q найдется вершина va (а г), соцветная с и,-. Но тогда после удаления вершины Vj и ребер, инцидентных вершине Vj, получаем, что число красок не изменяется; это противоречит определению квазиполного графа.
Следствие. При удалении любого ребра из квазиполного графа его квазиплотность уменьшается на 1.
Теорема 3.48 лежит в основе доказательства структуры квазиполного графа Q(q) квазиплотности q; квазиполный граф Q(q) состоит из основания — квазиполного графа Q(q - 1), замещающего и замыкающего слоев. Вершины замещающего слоя согласно основному свойству квазиполных графов взаимно однозначно соответствуют вершинам основания; при этом соответствующие вершины смежны с одними и теми же вершинами, принадлежащими основанию Q(q — 1). Вершины замещающего слоя являются как бы “двойниками” вершин основания. Замыкающий слой представляет собой вершины, конусирующие вершины замещающего слоя, и число их колеблется от	до 1, конусирующих весь
замещающий слой.
Рассмотрим образование квазиполного графа Q(2, к), обладающего экстремальными свойствами, т. е. мощности его носителя и сигнатуры являются минимальными по сравнению с другими квазиполными графами плотности 2 и порядка к. Согласно теоре
240
Гл. 3. Теория графов и мографов
ме 3.48, чем меньше мощность носителя или сигнатуры основания Q(2, к — 1), тем меньше соответствующие мощности квазиполного графа Q(2, к). Основанием графа Q(2, 1) является граф Q(2, 0) (рис. 3.44, а), представляющий собой ребро {а, Ь}; замещающий слой — две вершины а1 и Ь', которые соответственно смежны с b и а. Замыкающий слой представляет собой вершину, конуси-рующую вершины а1 и Ь'. В результате получен цикл длины 5 (рис. 3.44, о).
Аналогично, продолжая процесс построения графов и взяв в качестве основания Q(2, 1) (рис. 3.44,6), получаем граф Q(2, 2) (рис. 3.44, в); взяв граф Q(2, 2) в качестве основания, получаем квазиполный граф Q(2, 3) (рис. 3.44, г). Продолжая этот процесс, можно построить квазиполный граф Q (2, к) с минимальными мощностями носителя и сигнатуры для любого к.
Определим зависимость минимальной мощности носителя графа Q(2, fc) от его порядка к. Имеем
к	|VM„(Q(2,fc))|
0	2
1	2-2 + 1
2	2 • (2 - 2 +1) + 1
3	2 • (2 • (2 • 2 + 1) + 1) + 1
к	2- (2-(...2-(2-2 + 1) + 1...) + !) + ! (*-1)скобк1
Следовательно,
|VMHH(Q(2, fc))| = 2 • (2 • (.. .2 • (2 • 2 + 1) + 1. • ) + 1) + 1 = k+i
= 2*+1 4- 2*-1 4- 2к~2 4- 2*-3 4-... 4- 21 4- 2° = ^2’ - 2fc = «=о
nfc+l , 9_9О
= ±----f__L - 2* = 4 • 2* - 2* - 1 = 3 • 2* - 1.
2—1
Таким образом, окончательно имеем
|Vmhh(Q(2, fc))l = 3 • 2к - 1.	(3.36)
Найдем зависимость минимальной мощности сигнатуры графа Q(2, fc) от его порядка. Согласно структуре квазиполных графов и их основному свойству сумма мощностей сигнатуры основания Q(2, к — 1) и сигнатуры замещающего слоя равна утроенной мощности сигнатуры основания Q(2, к — 1) при построении графа Q(2, к) с минимальной мощностью сигнатуры, а мощность сигнатуры замыкающего слоя согласно (3.36) равна мощности носителя основания 3 • 2*-1 — 1.
§ 3,10. Логарифмические оценки хроматического числа 241
Отсюда минимальная мощность сигнатуры |1/mHH(Q(2, fc))| графа Q(2, к) равна:
1 при к = 0,
3 • 1 + 3 • 2° - 1 при к = 1,
3  (3 • 1 4- 3 • 2° - 1) + 3 • 21 - 1 при к = 2,
3 • (3 • (3 • 1 + 3 • 2° - 1) + 3 • 21 - 1) + 3 • 22 - 1 при к = 3,
3 ' (3-(3-(3-..3-(3 • 1 + 3 • 2° - 1) + 3 • 21 - 1) + к— 1 скобка
+ 3-22 —1) 4-...4-3-2*'2- 1)4-3 -2*-1 —1 при к = к.
Последовательно упрощая выражение для |l7M„H(Q(2, fc))], получаем
|^mhH(Q(2, fc))| = 3* 4- 3* • 2° - З*-1 4- З*"1 • 21 - З*-2 4- З*-2 • 22 -
к	к-1
_ з^-з + . . + 3i . 2*-1 - 3° = 3* 4-	3’’ • 2*"’ “	3’ =
1=1	1=0
= 3* 4-3 • (3* - 2*) - 0,5 • (3* - 1),
2|С7Мин(<?(2, fc))| = 7 • 3* - 6  2* 4-1.	(3.37)
Квазиполный граф Q(p, к), обладающий рассматриваемыми экстремальными свойствами, получается суммированием квазиполного графа Q(2, к) и полного графа плотности р — 2:
Q(2, k) + Q(p — 2, 0) = Q(p, к).	(3.38)
Обобщением (3.38) является следующая теорема.
Теорема 3.49. Сумма квазиполных графов является квазиполным графом'.	.	.
^Qi{Pi, ki) = Q £ kA .	(3.39)
Согласно (3.38) минимальная мощность носителя квазиполного графа Q(p, к) есть
|Vmin(Q(p, fc))| = 3 • (2* - 1) +р.	(3.40)
Минимальная мощность сигнатуры Q(p, к) представляет собой сумму минимальной мощности сигнатуры графа Q(2, к) и минимальной мощности сигнатуры полного графа плотности р — 2, каждая вершина которого конусирует граф Q(2, к). Согласно (3.36) и (3.37) имеем
|Umin(Q(p, fc))| = 0,5 • (7 • 3* - б  2к + 1) +
-1-0,5 -(р-2) - (р-3) + (р-2) - (3 - 2* - 1).
242
Гл. 3. Теория графов и мографов
Окончательно получаем
2|Crmin(Q(p, fc))| = 7 • 3fc + 6 • 2fc • (р — 3) + (р — З)2 — р + 2.
(3-41)
Согласно (3.40) любой квазиполный граф первого порядка, имеющий плотность р, содержит не менее р + 3 вершин. Граф Q(p, 1), имеющий ровно р + 3 вершин, является суммой цикла длины 5 и полного графа с плотностью р — 2:
Q{p, 1) = Q(2, l)+Q(p-2, 0).
Соотношения (3.40) и (3.41) справедливы для любых квазиполных графов, имеющих плотность 2 или 3, и для неразложимых z-ч	по аддитивной операции “сумма”
квазиполных графов. Структура этих Sy! yv\ графов была рассмотрена выше. Для
—rOkS. разложимых квазиполных графов, у /МХ которых по теореме 3.49 плотность не меньше 4 и хотя бы у двух слагаемых Хгчнг / \	эти Ф°РМУЛЫ неверны. На-
yYfSZ.	пример, квазиполный граф Q(4, 2),
\ //Х%\\ / являющийся суммой двух графов Qa(2,1) и Qb(2,1) (рис. 3.59), Q(4,2) =
~==О	= Qa(2, 1) + Qb(2, 1), имеет мощность
Рис. 3.59	носителя, равную 10, и мощность сиг-
натуры, равную 35, в то время как минимальные мощности носителя и сигнатуры неразложимого квазиполного графа Q(4, 2) равны соответственно 13 и 43 (согласно (3.40) и (3.41)).
Теорема 3.50. Хроматическое число h(G) графа G равно его квазиплотности q(G):
h(G) = q(G).	(3.42)
Согласно определению квазиполного графа
Л(С) > 9(С).
Докажем, что в данном соотношении всегда имеет место равенство.
Выделим все невключаемые квазиполные графы, т. е. графы, для каждого Qi из которых не найдется квазиполного графа Qa такого, что Qi С С Qa- Согласно (3.25) среди выделенных подграфов имеется хотя бы один, для раскраски которого необходимо q красок. Покажем, что для минимальной раскраски остальной части G \ Q достаточно тех же q красок. Действительно, если для минимальной раскраски подграфа G \ Q потребуется хотя бы еще одна новая краска, (д + 1)-я, то это означает, что в подграфе G\Q существуют замещающий и замыкающий слои, что приводит к
§3.10. Логарифмические оценки хроматического числа
243
образованию квазиполного графа квазиплотности 9 + 1- Последнее противоречит соотношению (3.25).
Используя формулы (3.40)-(3.42) для графов G{ с плотностью p(G{} < 4 и для графов, которые не содержат квазиполные подграфы, разложимые по операции “сумма”, можно предложить логарифмические оценки хроматического числа. Имеем
h(G) = q(G) = max (p(Qi) 4- fc(Q;)) < maxp(Q;) 4- maxfc(Qi),
(3.43a)
fc(G) < p(Q.) 4- maxfc(Q,), Qi CG, G = {V, U).	(3.436)
Согласно (3.40)
max k (Qi) < log2	4-1) .
t	\ о	/
Отсюда
Л(С) < p(G) 4- log2 (|У| P(G) + 1) у	У
(3-44)
В выражении (3.41) 6 • 2*  (p - 3) 4- (p - З)2 - p 4- 2 > 0 при любом fc; поэтому
maxfc(Q,) < log3® , p(G) > 4;
’ J • L следовательно,
4G)<p(G)4- log3® , p(G) > 4.
При p(G) = 3 имеем
h(G) <3 4-Ilog,,®®
7
При p(G) = 2 выражение (3.33) принимает вид
(3.45a)
(3.456)
21UminQ(2, fc)| = 7 • 3* - 6 • 2* 4-1 > 7 • 3* - 6 • 3* 4-1 = 3* 4-1;
поэтому
maxfc(Qj) < ]log3 (2|t7| - 1)[. t
Отсюда при p(G) = 2 получаем
h(G)<2 + ]log3(2|q-l)[.	(3.45b)
Согласно структуре квазиполного графа Q(p, к) степень s(vi) каждой вершины и,- этого графа удовлетворяет неравенству
s(v.) > 9(G) - 1 =p + k- 1.	(3.46)
244
Гл. 3. Теория графов и мографов
Тогда по формуле (3.40) мощность сигнатуры |G(Q(p, fc))| ложимого квазиполного графа удовлетворяет неравенству \U(Q(p, fc))| > 0,5  (3  (2* - 1) + р) • (р + к - 1).
Эта оценка достигается для полных графов, когда к = 0. Согласно (3.40), (3.43а) и (3.47)
нераз-
(3-47)
(3.48)
G С G,
|V(G)|
где подграф G удовлетворяет всем неравенствам системы |V(G)|>3-(2*-l) + p(G),
2[[/(G)l > 7 • 3* = б • 2* • (p(G) - 3) + (p(G) - З)2 - p(G) + 2, s(v,) > P(G) + к - 1, Vi € G,
(3.49) т. е. по своим ресурсам, как вершинному, так и реберному, и по локальной топологии (степеням вершин) подграф G может включать квазиполный граф Q(p, к), где
log2
'средн (G)[.
к =
(3.50)
Очевидно, что
. |V(G)| Jv(ff)
1
vieV(G)
Отсюда имеем верхнюю оценку хроматического числа h(G) графа G:
Л(С?)<Кредн(<5)[ + 1,	(3.51)
где граф G С G удовлетворяет системе неравенств (3.49). Оценка (3.51) является более эффективной, чем ранее приведенные оценки Брукса h(G) < sMaKC(G) + 1 и (для определенного класса графов) h(G) < sMaKC(G).
Как композицию оценок (3.44), (3.45) и (3.51) получаем оценки хроматического числа h(G) графа G = (V, U):
при p(G) > 4
;(G)+i,ogl(fc(«)
I	\	о
Р(О)+1юез«1Г
5средн(С-) + 1 j; (3.52a)
7
§ 3.10. Логарифмические оценки хроматического числа
245
при p(G) = 3
p(G)+]10g3nmi±if
7
при p(G) = 2
h(G) < min
imj-2
3
2+ log3 (2 • |t7(G)| — 1)
®средн(^) 4" 1 ) • (3.52в)
Для вычисления оценки хроматического числа h(G) графа G на основании формулы (3.51) находим плотность p(G) графа G и, уменьшая р от p(G) до 2 с шагом 1, по формуле (3.50) находим к для каждого из этих значений. Максимальная сумма р и соответствующего значения к, для которых выполняются неравенства системы (3.49), согласно (3.43а) определяет верхнюю оценку хроматического числа hfG). Если оцениваемый граф является квазиполным или вычисленная верхняя оценка совпадает с нижней, то она равна хроматическому числу.
Нижняя оценка хроматического числа
A(G) > p(G)	(3.53)
минорируется, как показано Майерсом и Лином, оценкой Геллера
h(G) >
|У(О)Р [V(G)[!-2[C'(G)|
(3.54)
где [ ] — ближайшее целое число, или
		V(G)|
	|V(G)	— 5средн(^)
(3.55)
Оценки хроматического числа (3.44), (3.45), (3.51), (3,52) ми-норируют известные верхние оценки h(G).
Пример 3.19. Рассмотрим граф G — (V, I/) (рис. 3.60,а).
По оценкам Брукса и Геллера его хроматическое число h(G) заключено в отрезке [2, 7]:
г 1ml2 = ю2 1 =
L|v(G)|2-2|g(G)|J Lio2- 2 - 20J
4m»«(G) = 7, 2 < h(G) <7.
246
Гд.З. Теория графов и мографов
Оценим хроматическое число h(G), используя полученные верхние оценки. Плотность графа G равна 4: p(G) = 4. Согласно (3.50)
fc(G)=]log2 (12—1 + Л[=1. J \	/ L
Если включение Q(4, 1) в заданный граф G возможно, то степень каждой вершины должна быть не меньше 4. Вершины с, d, f имеют степень, меньшую 4, и, следовательно, ие входят в граф Q(4, 1). При удалении этих вершин в полученном графе (рис. 3.60, tf) к сохраняет свое значение:
l°g2 (Цр + 1
но при этом вершины Ь, р, е не могут входить в этот граф, так как их степень (рис. 3.60, б) меньше 4. Удаляем вершины Ь, р, е из графа G' (рис. 3.60, tf); получаем граф, изображенный иа рнс. 3.60, в, который ни по вершинному ресурсу,
к =
в	г
Рис. 3.60
ни по реберному, нн по локальной топологии не может содержать граф Q(4, 1).
Следовательно, кнакс = 0 при р — 4.
Уменьшим плотность на 1 и определим максимальное значение к:
1/10 — 1	\ Г
i°g2	=1-
\ о /I
Следовательно, заданный граф не может содержать квазиполный граф Q(3, 2). Еше раз уменьшаем плотность на единицу и определяем максимальное значение к при р = 2. Имеем
]/10 — 2	\
i°g2 V+1 =ь
У О	/ .
§3.10. Логарифмические оценки хроматического числа 247
Таким образом, заданный граф ие содержит даже квазиполного графа Q(2, 2). Отсюда верхняя оценка хроматического числа h(G) графа G равна 4. Она совпала с нижней оценкой p(G) < h(G). Следовательно, хроматическое число заданного графа также равно 4: ki = {Ь, d, р, g), fcj = {а, с, е}, кз = {т, /}, kt = {£} (рис. 3.60,г).
Таким образом, использование характеризации раскраски вершин графа позволило в данном случае определить его хроматическое число, ие находя минимальное покрытие пустых подграфов вершинами графа.
Для графа G, содержащего разложимый квазиполный граф, хроматическое число h(G) согласно теореме 3.47 равно сумме хроматических чисел квазиполных графов, которые являются слагаемыми графа Q(g) С G максимальной квазиплотности. Поэтому
h(G) = max д,-(Q,) = max^ 4ij (Qi.,),
j
Qij C Qi, Qi = ^Qiji
3
h(G) =	(Pij (Qij) + kij(Qij)) —	(3.56)
3
< maxPij (Qij) + max	kij (Qij)>
3	3
h(G) < p(G) + ma.x^2kij(Qij), з
где max	определяется на основании (3.40), (3.41), (3.46).
’ з
Пример 3.20. Определим хроматическое число h(G) графа G = (V, U) со следующими параметрами: |У| = 90, |{7| = 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. Определим максимальный порядок fcmix неразложимого квазиполного подграфа Q(6, fcmlx) плотности 6; при этом число вершин берем 74, так как вершины со степенью, меньшей 5, в этот подграф не входят. Согласно (3.40)
Установим, может ли заданный граф G содержать квазиполный граф Q(6, 4), по реберным ресурсам и локальной топологии (по значениям степеней вершин). Имеем
|£7| > 0, 5 • (7 • 3* + 6 • 24  (6 — 3) + (6 — З)2 — 6 + 2) =
= 0, 5 • (567 + 288 + 5) = 430,
|VB„(Q(6, 4))| = 3 • (24 - 1) + 6 = 51, (Vv;(vi € Q(6, 4)))(a(vi) > 6 + 4 - 1 = 9).
248 Гл. 3. Теория графов и мографов
]/ 74 - 2	\
1062 (<Лз— + 1/)
]/27 — 4	\
l°g2 I —5— + 1) к О	/
Число вершин со степенью а(о,) > 9, равно 28; 28 < 51. Следовательно, неразложимый квазиполный подграф Q(6, 4) не содержится в графе G. Уменьшая порядок на 1, получаем
|Vmi„(Q(6, 3))| = 3 • (23 - 1) + 6 = 27, (Vo,(г, € 0(6, 3)))(э(о.) > 8).
Таким образом, получен положительный ответ. Следовательно, определена верхняя оценка: h(G) < 9.
Случай 2. Квазиполный граф Q(<7m»Kc) максимальной квазиплотности можно разложить иа два слагаемых:
0(2, ка) + 0(4, кь)-
при этом h(G) < 6 + max(fca + кь). Определим max(fca + кь). Для этого опреде-а,Ь	а,Ь
ляем
= 4, |К..(0(2, 4))| = 3 • (24 - 1) + 2 = 47.
Второе слагаемое содержит 27 вершин: 74 — 47 = 27. Тогда
= 3, |УМ..(О(4, 3))|=3-(23 - 1) + 4 = 25,
(Vv,(vi € 0=(2, 4)))(s(v.) > ра + ка - 1 + |Ц,..(0ь(4, 3))| =
= 2 + 4 - 1 + 25 = 30),
(Vvi(vi € Оь(4, 3)))(з(о,) > рь + кь - 1 + |К.„(0(2, 4))| =
= 4 + 3- 1 + 47 = 53).
Вершин с такими степенями в графе G нет. Продолжая аналогичные вычисления, находим, что max(fca + кь) = 2 + 2 = 4 не выполняется, т. е. в графе G а,Ь
не может содержаться квазиполный граф 0(10), разложимый в виде суммы Оь(2, 2) + Оь(4, 2).
Действительно,
|VM..(0a(2, 2))| = 3 • (22 - 1) + 2 = 11,
|К..(0ь(4, 2))| = 3  (22 - 1) + 4 = 13, (Vo. € 0»(2, 2))(ж(«<) > 2 + 2 - 1 + 13 = 16), (Vv, € 0ь(4, 2))(з(о<) >4 + 2-1 + 11 = 16),
|0и„(0а(2, 2))| + |С4,..(Оь(4, 2))| + |И.,.(0а(2, 2))| • |И,..(0ь(4; 2))| =
= 0,5 • (7 • З2 + 6 • 22 • (2 - 3) + (2 - З)2 - 2 + 2) +
+ 0,5 • (7 • З2 + 6 • 22 • (4 - 3) + (4 - З)2 - 4 + 2) + 11 • 13 = 206. В этом случае хроматическая оценка h(G) не изменяется. Остальные случаи предлагаем рассмотреть читателю самостоятельно. Окончательно получаем 6 < < h(G) < 9.
Используя оценки Геллера — Брукса, мы получили бы отрезок [2, 13]:
2 < h(G) < 13.
Согласно (3.42) запрещенными фигурами раскраски вершин графа в а красок являются квазиполные графы квазиплотности а 4-1.
§ 3.10. Логарифмические оценки хроматического числа 249
Теорема 3.51 (М.В. Горбатова). Квазиполный граф Q(p, fc), k > 1, не обладает свойством реберности.
Действительно, если порядок к квазиполного графа Q превышает 1, то найдется вершина va, входящая более чем в 2 полных подграфа. Такой вершиной является, например, вершина замыкающего слоя. Согласно теореме 3.37 такой граф не обладает свойством реберности.
Пример 3.21. Квазиполный граф Q(3,1) (рис. 3.61,а) обладает свойством реберности согласно теореме 3.37 (рнс. 3.61,б,в). При увеличении его порядка
Рнс. 3.62
на 1 условия теоремы 3.37 не выполняются. Действительно, уже при построении вершины Ь' замещающего слоя имеем нарушение условий этой теоремы
250
Гл.З. Теория графов и мографов
(рис. 3.62). Вершина Ь' является двойником вершины Ь: 1\> = Гь для вершин основания — Q(3, 1).
Если граф обладает свойством реберности, то его порядок не превышает 1. При построении реберно производного графа G по графу G ребра, инцидентные одной и той же вершине графа G, соответствуют вершинам полного подграфа графа G. Следовательно, «<Я(С)<л+1,	(3.57)
где H(G) — хроматический класс графа G, s — степень графа G, s = max з(у$, Vi^G.
i
Для мультиграфа
s<H(G)<s + p,	(3.58)
где р — параллельность мультиграфа, т. е. максимальное число параллельных ребер.
В соотношении (3.58) степень графа G и его параллельность удовлетворяют следующим соотношениям (рис. 3.63):
s = 0(modp), s^p,	(3.59)
где запись з = 0 (modp) означает, что число з сравнимо по модулю р с числом 0. Согласно (3.58) и (3.59) получаем оценку Шеннона
Я(С7)<
гз
-3
(3.60)
Рассматривая характеризацию раскраски графа, интересно вспомнить проблему четырех красок. Эту проблему можно с полным основанием назвать еще “болезнью четырех красок”, так
как она во многом похожа на заболевание. “Она в высшей степени заразна. Иногда она протекает сравнительно легко, но в некоторых случаях приобретает затяжной или даже угрожающей характер. Никаких прививок от нее не существует; правда, люди с достаточно здоровым организмом после короткой вспышки приобретают пожизненный иммунитет... Тем не менее именно попытки обосновать эту гипотезу стимулировали получение ряда результатов по раскраске графов, которые в свою очередь привели к исследованиям некоторых других разделов теории графов”, — так пишет ведущий графист, профессор математики Мичиганского университета Фрэнк Харари [31].
§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,
где р — максимальное число параллельных ребер, S — степень графа; для обыкновенного графа G S < H(G) < S + 1;
— взаимосвязь между S и р
S = 0(modp), S / р;
252
Гл. 3. Теория графов и мографов
— оценка хроматического класса К. Шеннона
Я(С) < [-$].
Проблему четырех красок стали изучать с разных сторон, экви-валентируя ее формулировки. Наиболее полный обзор эквивалентных формулировок (13 формулировок) привел Т. Саати [45]. Несмотря на многочисленные публикации по раскраске графов (Г.А. Дирак, О. Оре [26,38], Ф. Харари [31], Г. Биркгоф [35], А.А. Зыков [20], Я. Мыцельский [44], Дж. и А. Келли [42], В.А. Горбатов [35], Г. Уитни [36], Г. Ходвигер [41] и др.), не все математические школы графистов “осознали” опубликованные результаты.
Рис. 3.64
Примером такой школы является английская школа Н. Кристофи-деса; в гл. 4 из [36] приводится граф G (рис. 3.64) с плотностью p(G), равной 2, и утверждается, что его хроматическое число равно 5.
Согласно (3.52в) имеем
h(G) < min I 2 + logj
16-2
3
2 + ]log3(2 • 35 — 1) [,
= min (2 4- 2, 2 4- 3, 3 4- 1) = 4,
Л(<7) < 4. Действительно, имеем раскраску этого графа в четыре краски:
а = {1,3, 13,15}, (3 = {2, 4, 5, 12, 14},
7 = {6, 7, 8, 9, 10, 16}, 6 = {11};
а, /3,7,5 — краски.
§3.10. Логарифмические оценки хроматического числа
253
Однажды в сентябре 1976 г. жители разных городов США получили письма с марками, погашенными специальным штемпелем, на котором было указано, что жители США К. Аппель и У. Хайкин решили проблему четырех красок [33]. Решение основывалось на результатах многочасовой работы мощного компьютера.
Приведем доказательство проблемы четырех красок, полученное автором в 1964 г.
Теорема 3.52. Квазиполный граф Q(q) квазиплотности q содержит подграф, гомеоморфный полному подграфу, плотность которого равна q.
Доказательство. Основание Q(q — 1) квазиплотного графа Q(g) и их разность
Q(g) \ Q(q - 1) = H(Q(g -1)) и fi(=(Q(g -1)))
(q — 1)-вершинно связаны. Докажем это утверждение от противного. Пусть подграфы Q(q- 1) и Q(q)\Q(q- 1) (q - 2)-вершинно связаны. Тогда существует множество (разрез S), содержащее (q — 2) вершины, после расщепления которых получаем две компоненты связности, Q(q - 1) и Q(q) \ Q(q - 1). В наихудшем случае в разрезе S не найдется и двух соцветных вершин, т. е. вершины разреза будут окрашены в д-2 краски. Тогда в основании Q(g-l) найдется вершина, окрашенная в (q- 1)-ю краску, так как его квазиплотность равна q - 1, а в разности Q(q) \ Q(q - 1) найдутся две вершины, окрашенные в (q — 1)-ю и q-ю краски, так как для любой вершины и, G Q(g) найдется его раскраска jR(Q(g)), при которой вершины ее сечения Г(ц) окрашены в q — 1 различные краски
К = {1,2...., 9~ 2,д-1},
€ Q(q)) (3fl(Q(9))) (|АГ(Г(иО)| = 9-1).
Следовательно, как основание Q(q — 1), так и разность Q(g) \ Q(q — 1) содержат вершины, окрашенные в одну и ту же (9 - 1)-ю краску. Удаление одной из этих вершин не изменит хроматического числа, что противоречит определению квазиполного графа. Следовательно, эти вершины равны друг другу, и эта вершина, естественно, принадлежит основанию Q(g — 1). Но тогда вершина основания Q(q), окрашенная в (9 - 1)-ю краску, и вершина разности Q(q) \Q(q~ 1), окрашенная в g-ю краску, смежны, что противоречит принятому допущению. Следовательно, основание Q(g-l) квазиполного графа Q(q) и их разность Q(q)\Q(q — 1) (9 — 1)-вершинно связаны. Согласно теореме 3.7 любые две вершины Vi, Vj, Vi е Q(q - 1), Vj G Q(g) \ Q(q - 1), соединены no крайней мере 9 — 1 вершинно непересекающимися цепями. Будем
254
Гл.З. Теория графов и мографов
рассматривать полный подграф F(p) плотности р как квазиполный граф Q(2, р — 2), в котором основания и замещающие слои совпадают, а вершины замыкающих слоев конусируют соответствующие основания. Учитывая свойство включаемости квазиполных графов (3.32) и выбрав ребро Q(2, 0), вершины замыкающих слоев
Q(H(Q(2, 0))),Q(H(Q(2,1))),Q(S(Q(2, 2)))...R(S(Q(2,	g-2)))
и соединяющие их цепи, получим подграф G, содержащийся в Q(2, q - 2), G СС Q(2, q - 2) C Q(q)- На основании вышедо-казанного утверждения о Q(q - 1)-связности полученный граф G является гомеоморфным полному подграфу F(g) плотности q.
Теорема 3.53. Граф G(p, к), к >1, р>2, невложим в плоскость.
Действительно, граф G(p, к) содержит квазиполный подграф Q(3, 2), который в свою очередь содержит подграф Gr(F(5)), гомеоморфный полному подграфу плотности 5:
G(p, к) Э(?(3, 2) DGr(F(5)).
Следовательно, согласно теореме 3.18 граф G невложим в плоскость.
Теорема 3.54. Граф G(p, к), р>3, к>0, невложим в плоскость.	(
Действительно, граф G(p, к) содержит подграф Q(4, 1), который содержит подграф Gr((F(5)), гомеоморфный полному подграфу плотности 5:
G(p,t)DQ(4,l)jGr(F(5)).
Следовательно, согласно теореме 3.18 граф G невложим в плоскость.
Теорема 3.55. Граф G(p, к), р=2, к>2, невложим в плоскость.
Действительно,
G(p, к) Э Q(p, к) Э Q(2, 3) D Gr(F(5)).
Следовательно, согласно теореме 3.18 граф G невложим в плоскость.
На основании теорем 3.53-3.55 получаем следующее доказательство проблемы четырех красок.
Теорема 3.56. Хроматическое число планарного графа не превышает 4.
Согласно теореме 3.18 планарный граф G не содержит подграф Gr(F(5)), гомеоморфный полному подграфу плотности 5: G Gr(F(5)). Следовательно, этот граф не содержит подграфы
§3.11. Задачи и упражнения
255
Q(2, 3), Q(3, 2) и Q(4, 1). Отсюда хроматическое число h(G) согласно теореме 3.48 не превышает 4.

Рис. 3.65
На рис. 3.65 приведены порожденные квазиполные графы квазиплотности 4, при этом в графах первого ряда выделены подграфы, гомеоморфные полному подграфу плотности 4.
§ 3.11.	Задачи и упражнения
3.1.	Доказать равенство
S = (A+)’-P(A-), где S — матрица смежности; А+ и А~ — соответственно начальная и конечная матрицы инциденций; Р — диагональная матрица весов дуг; т — знак транспонирования.
3.2.	Доказать, что	,
,	А=1
где S — матрица смежности, R — матрица перехода по дугам с весом
3.3.	Доказать, что подграф G является циклом тогда и только тогда, когда логическое матричное произведение (правило умножения строки на столбец
256
Гл. 3. Теория графов и мографов
определено через обычное умножение и сложение по модулю 2) матрицы инцн-денций и транспонированной дипломатической матрицы равно нулевой матрице.
3.4.	Доказать, что простые пути длины I (I < q) графа, заданного матрицей ч
смежности S, определяются матрицей S, = 52 5 •
*=1
3.5.	Пусть задан передатчик, который может передавать пять сигналов: а, Ь, с, d, е. При приеме каждый из этих сигналов может быть истолкован двояко: сигнал а как р или q, сигнал Ь как q или г, сигнал с как г нли а, сигнал d как в или t, сигнал е как р нли t. Какое наибольшее число сигналов можно принять, не рискуя спутать нх друг с другом?
3.6.	Доказать, что
a(Go х Gb) > a(Ga)  a(Gb),
где a(G,) — число внутренней устойчивости графа (7, = Go, Gb.
3.7.	Определить число внешней устойчивости графа G, заданного матрицей смежности
0 10 0 10 10 10100010 0 10 10 0 11 „	00101001
15— 10010101'
00001010
1110 0 10 1
0 0 1110 10
3.8.	Сколько ферзей достаточно расставить на шахматной доске так, чтобы каждая клетка доски находилась под “ударом” хотя бы одного из них? Считать, что клетка, занимаемая фигурой, также находится под ее “ударом”.
3.9.	Доказать, что число различных деревьев, которые можно построить на п данных вершинах, равно п"*2.
3.10.	Найти связный подграф G' взвешенного графа G, заданного матрицами, сумма весов ребер которого минимальна;
5(G) =
О 1 О О о 1
1 0 0 0 1 0	10	10
10 111
0	10	10'
1110 1
0	10	10
P(G) =
2 0 0 0 7 0
0 0 4 ООО ООО ООО ООО ООО ООО
ООО ООО ООО 3 0 0 0 10 0 0 9 ООО ООО ООО
ООО ООО ООО ООО ООО ООО 2 0 0 0 9 0 0 0 5
3.11.	Вершина графа, удаление которой вместе с инцидентными ей ребрами делает граф несвязным, называется точкой сочленения. Блоком называется связный нетривиальный граф, не имеющий точек сочленения. Может ли быть блоком граф, цикломатнческое число которого v(G) = 2? Привести пример блока, удаление одного ребра из которого приводит к появлению точки сочленения. Существует ли блок, в котором удаление любого его ребра приводит к появлению точки сочленения?
3.12.	Привести примеры связных графов, для которых существуют разрезы, число ребер которых равно числу хорд остовов.
3.13.	Доказать, что удаление одного ребра, которое принадлежит какому-то циклу связного графа, не делает этот граф несвязным.
3.14.	Эйлеровым называется связный граф, в котором существует замкнутая цепь, проходящая через каждое его ребро (все ребра цепи различны). Показать, что граф, содержащий мост, не может быть эйлеровым.
§3.12. Комментарии
257
3.15.	Граф называется гамильтоновым, если он содержит простой остов-ный цикл. Привести примеры графов, которые одновременно н гамильтоновы, и эйлеровы.
3.16.	Определить число неизоморфных остовов двудольного графа А'г.з-
3.17.	Доказать, что если граф n-связен, то существует пара несмежных вершин, между которыми имеется п вершшшо непересекающихся простых цепей. Показать также, что это условие выполняется для любых двух несмежных вершин n-связного графа. Привести пример 3-связного графа.
3.18.	Показать, что с точностью до изоморфизма имеется ровно 4 графа (один из которых полный) без параллельных ребер и петель на трех вершинах, 11 — на четырех вершинах. Определить количество графов на пяти вершинах.
3.19.	Реберным ядром графа G называется подграф, представляющий собой объединение множества ребер у; таких, что ребра каждого множества попарно несмежны н |’/>j = ao(G). Привести примеры графов, не имеющих реберного ядра.	’
3.20.	Найти необходимые условия, прн которых число ребер в графе равно произведению ао/Зо.
3.21.	Доказать или опровергнуть, что для любого связного графа /Зо < «о.
3.22.	ВЫЧИСЛИТЬ яДКт.п) и ei(Km,n).
3.23.	Доказать, что цикл нечетной длины невложим в n-мерный гиперкуб.
3.24.	Показать, что диаметр n-куба d(Gn) не может быть больше п.
3.25.	Пусть граф G состоит из к вершинно непересекающихсяпростых цепей между двумя вершинами о, b € G; длины всех цепей различны. Прн каком условия этот граф кубируем?
3.26.	Определить плотность графа, являющегося суммой ребра и цикла длины 5.
3.27.	Для графа, определенного в предыдущем упражнении, вычислить число внутренней устойчивости.
3.28.	Для графа, являющегося произведением ребра н цикла длины 4, определить число внешней устойчивости.
3.29.	Найти минимальную раскраску ребер графа Петерсена.
3.30.	Обладает ли свойством реберности граф, являющийся суммой изолированной вершины и цикла длины 5?
3.31.	Вычислить хроматическое число графа Петерсена.
§ 3.12.	Комментарии
Теория графов как раздел дискретной математики имеет многочисленные Предметные интерпретации. Оиа успешно применяется в задачах управления производством и при проектировании сетей ЭВМ, при разработке современных электронных модулей и при проектировании физических систем с сосредоточенными параметрами (акустических, механических, электрических), при решении Проблем генетики и проблем автоматизации проектирования (САПР). Теория графов является основой математического обеспеченйн современных систем обработки информации. Эта теория находит применение в ядерных исследованиях (диаграммная техника Фейгмана) и в финансовой области.
Более подробные сведения о теоретико-графовых моделях и их приложениях Можно найти в [19, 26, 31, 44, 45].
9 В. А. Горбатов
В начале было слово.
Иоанн, 1.1
Глава 4
ТЕОРИЯ ФОРМАЛЬНЫХ ГРАММАТИК И АВТОМАТОВ
§ 4.1. Формальные грамматики
Рассмотрим систему подстановок, задаваемую алфавитом М = = {m,/ i = 1, ..р} и базисными подстановками
а, -> 0it	(4.1)
где а,-, Д- — формулы (слова), быть может, пустые в алфавите М.
Каждую подстановку а,- —> Д будем понимать как правило вывода. Часто систему подстановок называют полусистемами Туэ в честь норвежского математика Акселя Туэ. Используя эти полусистемы, Н. Хомский (1955 г.) сформировал и развил аппарат формальных грамматик.
Определим понятие формальной грамматики, которую в дальнейшем будем называть просто грамматикой. Рассмотрим конечный алфавит М = {mi, m2, ..., mn}, элементы которого будем называть символами (буквами), а конечные последовательности символов — словами.
Обозначим все множество слов, на длину которых не наложены никакие ограничения, Яо- Будем говорить, что Я С Яо — язык в алфавите М.
Пусть G — некоторая совокупность правил, с помощью которых в М порождаются все слова, принадлежащие языку Я, и только они. Совокупность правил G будем называть грамматикой языка Я.
Два языка будем называть эквивалентными, если множества слов, из которых они состоят, совпадают. Две грамматики, Gi и G2, над >7называются эквивалентными, если языки, ими порождаемые, эквивалентны.
Условимся говорить, что G — грамматика с конечным числом состояний, если правила порождения слов из алфавита М = = {mi, m2,..., mn} задаются следующим образом. Существует конечное множество состояний {So, Si.Sr} и каждому Sj (j' = 1,
2,..., г) сопоставляется набор пар вида (mi, Sg), где i € {1, 2, ..  ..., п}, q € {0,1..г}.	Состоянию So сопоставляются пары
вида (mo, Sa), где h G {1, 2, ..., г}. Символ то — специальный знак пробела между словами. Конструирование слов происходит следующим образом: из состояния Sq переходим в любое
§4,1, Формальные грамматики
259
следующее состояние
М“{тр т2, т3}
Рис. 4.1
Sq). На рис. 4.1 при-
состояние Sq. Из пар, сопоставленных выбранному Sg, берут любую пару (тп,, Si). Этот выбор определяет Si и первый символ слова тп,-. Далее процесс построения слова происходит аналогично. Слово заканчивается при переходе к заключительному состоянию, как правило, Sq.
t Язык, порождаемый грамматикой и конечным числом состояний, называется языком с конечным числом состояний. Структуру таких языков удобно изображать в виде графа, вершины которого сопоставлены состояниям Sj, а дуги — парам (тп,-,
веден пример такого графа. С помощью грамматики, задаваемой этим графом, порождается язык, который состоит из следующего множества слов:
{7П17П1, 7П1ТП2’Пз’711, 7П17П27П37Пз7П17П17П2(7П2)7Пз7Пз7П1,
77117712(7712)77137711}.
Порождение цепочек символов можно рассматривать как результат работы некоторого гипотетического устройства (рис. 4.2). Вдоль бесконечной (в обе или в одну сторону) ленты, разделенной на клетки, перемешается управляющая головка (УГ). Заданы
«1 m-i mj т2 т0 т0 т0 т0 т2
.........(уд------	—
Рис. 4.2 внешний алфавит М = {ттго, 7П1, ......7тгп}, символы которого
называются буквами, внутренний алфавит S = {So, Si, ..., Sr}, символы которого называются состояниями, и алфавит перемещений D = {П, Л, Н]. Все клетки ленты заполнены символами ИЗ М, по одному символу в каждой клетке. Символ ттго играет роль Пустого символа (если в некоторой клетке стоит тп0> 10 в клетке Ничего не записано). Предполагается, что вся бесконечная лента всегда заполнена символами ттго, за исключением тех клеток, где Записаны какие-либо другие символы из М.
Управляющая головка может находиться в тех или иных состояниях, характеризуемых символами из S. Состояние So особое. Дели УГ находится в состоянии So, то машина не производит никакой работы (выключена). Предполагается, что в конце работы Машина всегда переходит в состояние So. В процессе работы машины УГ может перемещаться в дискретные такты времени вдоль Ленты. Перемещение происходит либо на одну клетку вправо (Л), Либо на одну клетку влево (Л). Перемещение УГ в данный такт работы может отсутствовать (Я).
260
Гл. 4. Теория формальных грамматик и автоматов
В каждый такт работы УГ совершает следующие действия:
1)	считывает символ т,-, находящийся в клетке ленты, которую в этом такте видит УГ;
2)	в соответствии со считанным символом т,- и своим состоянием Sj записывает символ т*, в эту клетку;
3)	движется (не движется) вдоль ленты;
4)	переходит в следующее состояние Sp.
Всю работу машины можно задать с помощью функциональной таблицы Т, в клетках которой стоят тройки вида mk, Sp, di, где di G D — символ, определяющий перемещение. Таким образом, функциональная таблица определяет отображениеMx.S в МxSx xD. Содержательный смысл отображения (тп,-, Sj) —> (m^, Sp, di) состоит в том, что, находясь в состоянии Sj и считывая из клетки символ тп,-, У Г записывает в данную клетку ленты символ mjt, переходит в состояние Sp и производит движение, определяемое символом di- Условимся, что функциональная таблица всегда устроена так, что имеет место отображение (тп,-, So) —> (тп,-, So, Н). Это означает, что в выключенном состоянии машина не работает.
До начала функционирования машины (если это необходимо) надо заполнить некоторые клетки ленты символами, отличными от тп0, перевести УГ в состояние, отличное от Sq, и задать исходное положение УГ относительно ленты. После этого машина будет функционировать в соответствии с таблицей Т. Функционирование машины можно задать с помощью графа, вершины которого взаимно однозначно соответствуют состояниям этого устройства, дуги — переходам из одного состояния в другое, при этом каждая дуга (Sj, Sp) взвешена парой (mj, m^cf/). Следуя Хомскому, часто состояние называют нетерминальным (вспомогательным) символом, символ т,- С М — терминальным. Описанное гипотетическое устройство называется машиной Тьюринга.
Тезис Поста. Произвольная полусистема Туэ может быть представлена как машина Тьюринга, и наоборот.
В гл. 1 было рассмотрено интуитивное определение понятия алгоритма. Используя машину Тьюринга, уточним это понятие.
Тезис Тьюринга. Для любого алгоритма, понимаемого в интуитивном смысле, можно построить машину Тьюринга, функционирование которой эквивалентно этому алгоритму.
Синтезируем машину Тьюринга, реализующую прибавление 1 к целому n-разрядному числу, представленному в троичной системе с алфавитом цифр {0, 1, 2} (рис. 4.3, а). Алгоритм реализации этой операции представлен на рис. 4.3, б, где символ в квадратных скобках обозначает содержимое наблюдаемого УГ разряда. Введя нетерминальные символы Si, S2, S3, нетрудно определить соответствующую машину Тьюринга (рис. 4.3, в), где mo = Of If 2; Л — левое движение на 1 разряд, П — правое движение на 1 разряд, Н — движение УГ отсутствует.
§4.1. Формальные грамматики
261
Понятие машины Тьюринга является строгим уточнением понятия алгоритма. Переход от интуитивного понятия алгоритма
к точному понятию машины Тьюринга позволяет решить вопрос алгоритмической (машинной) разрешимости той или иной проблемы.
Один из первых отрицательных результатов был получен американским ученым Черчем в 1936 г. при рассмотрении проблемы
262
Гл. 4. Теория формальных грамматик и автоматов
распознавания выводимости в математической логике: определить для любых заданных формул R и S в логическом исчислении, существует дедуктивная цепочка, ведущая от R к S, или нет.
Если формула А может быть преобразована в формулу В однократным применением допустимой подстановки, и наоборот, то А и В — смежные формулы. Последовательность A,, i = 1, 2, ..., п, формул, соседние из которых смежны, называется дедуктивной цепочкой, ведущей от Ai к Ап. Под решением проблемы распознавания выводимости понимается алгоритм, дающий ответ на вопрос о существовании дедуктивной цепочки (для любых R и S).
Проблема является алгоритмически неразрешимой, если не существует алгоритма (соответствующей машины Тьюринга) для ее решения. Отдельная машина Тьюринга может быть представлена как программа произвольного вида для ЦВМ с потенциально бесконечной памятью.
Теорема 4.1 (Чёрч). Проблема распознавания выводимости алгоритмически неразрешима.
Следуя Хомскому, введем ограничения на подстановки а —> /3, прослеживая при этом соответствие полученной грамматики автоматическому устройству.
Ограничение 1. Если а —> (3 удовлетворяет выражению (4.1), т. е. является правилом вывода, то
(3alf a2, ..., ат, Ь2, ..., bn(m < n)) ((а =
= а^г... ат) &; (/3 = bib2... Ьп)). (4.2)
Язык, порожденный грамматикой, удовлетворяющей (4.2), реализуется машиной Тьюринга.
Ограничение 2. Если а —> (3 — правило вывода, то
(З71, 72, а, ^(71, 72, w — цепочки, а — отдельный символ;
ш не пусто)) ((а = 71072) & (/3 = 71W72)). (4.3)
Грамматики, удовлетворяющие соотношению (4.3), называются контекстными (контекстно связанными).
Контекстные грамматики реализуются устройствами типа автомата Майхилла.
Пусть (i, j, k, I, p) — одно из правил, определяющих работу автомата: если блок управления находится в состоянии Sj, а считывающая головка — напротив клетки, содержащей символ тп,-, то блок управления может перейти в состояние Sk, в то время как лента продвигается в I клеток влево, а рассматриваемый символ заменяется на тр. Устройство, работающее по такому принципу, называется автоматом Майхилла.
Ограничение 3. Если а —> (3 — правило вывода, то a — нетерминальная буква и
/3/0.	(4.4)
§4.1. Формальные грамматики 263
Грамматика, удовлетворяющая (4.4), называется бесконтекстной (контекстно свободной).
Согласно (4.4) каждое правило грамматики утверждает, что определенный нетерминальный символ может быть заменен цепочкой символов независимо от контекста.
Язык, порождаемый бесконтактной грамматикой, реализуется автоматом Майхилла специального вида, в котором используется магазинная память. Этот автомат, следуя Ньюэллу, Шоу и Саймону, будем называть магазинным автоматом.
Магазинный автомат представляет собой композицию управляющего автомата и трех магазинов, каждый из которых представляет собой бесконечную в одну сторону ленту. На ленте записано слово, первая буква которого записана в первой ячейке, вторая — во второй и т. д. При чтении воспринимается первая буква слова, затем она стирается и оставшаяся часть слова сдвигается к первой ячейке. При записи в магазин слова длины к первые к ячеек освобождаются в результате записанного ранее сдвига слова на к ячеек. Входной магазин связан с входными каналами управляющего автомата, выходной — с выходными каналами, внутренний магазин связан как с входными, так и выходными каналами управляющего автомата. Множество внутренних состояний управляющего автомата разбито на два подмножества, А и В. Если управляющий автомат находится в состоянии, принадлежащем подмножеству А, то происходит считывание информации из входного и внутреннего магазинов. Если автомат находится в состоянии Si G В, то происходит считывание только из внутреннего магазина, при этом автомат переходит в следующее состояние и записывает во внутренний и выходной магазины слова.
Правило бесконтекстной грамматики называется: линейным, если оно имеет вид
А —> хВу;	(4.5)
праволинейным, если
А	хВ;	(4.6)
леволинейным, если
А	Вх.	(4.7)
Правило вида А —> х называется заключительным. В зависимости от ограничений, определяемых правилами (4.5)-(4.7), бесконтекстная грамматика может быть:
а)	линейной, если каждое ее незаключительное правило линейно (в частности, оно леволинейно или праволинейно);
б)	односторонне линейной, если каждое ее незаключительное правило леволинейно или каждое ее незаключительное правило праволинейно;
в)	металинейной, если все ее незаключительные правила либо линейны, либо имеют вид S —> /3 и если, кроме того, в ней нет правил вида А —> aS/З ни для каких А, а, /3, где а, (3 не пусты.
264 Гл. 4. Теория формальных грамматик и автоматов
Односторонняя линейная грамматика реализуется конечным автоматом, и порождаемый ею язык называется конечноавтоматным.
Рассмотрим одностороннюю линейную грамматику, все правила которой праволинейные (для определенности) либо заключительные. Без потери общности можно предположить, что каждое линейное правило имеет вид А —> аВ, где В — неначальный символ, и что каждое заключительное правило грамматики имеет вид А —> а.
Пусть Ai, Аг, ..., Ап — нетерминальные символы грамматики, причем Ai — начальный символ. Сопоставим грамматике конечный автомат, каждое внутреннее состояние которого взаимно однозначно соответствует нетерминальному символу грамматики, а входной символ — терминальному символу грамматики. При этом если А,- —> aAj — правило грамматики, то тройка (a, A,-, Aj) определяет функционирование автомата и понимается как переход от состояния Ai в состояние Aj при считывании входного символа а.
Для определенности будем считать, что при переходе из состояния Si в состояние Sj в результате входного воздействия а автомат вырабатывает на своем выходе символ Ь. Тогда автомат можно определить как четверку (a, b, Si, Sj).
Если фиксируется начальное состояние So, то автомат реализует оператор Т:	с с \
о — Т(а, Si, Sj),
который в дальнейшем будем называть автоматным.
Автоматный оператор Т переводит входную последовательность символов (а,) и выходную (Ь,) в зависимости от начального состояния и реализуемой односторонней линейной грамматики. Автомат удобно представлять в виде функции Т на графе G = {V, U), каждой вершине которого взаимно однозначно соответствует состояние автомата, и если из состояния S, в состояние Sj автомат переходит в результате входного воздействия а, вырабатывая при этом выходной символ Ь, то соответствующие вершины Vi и Vj соединены дугой (и,-, vj), взвешенной парой (а, b). Таким образом, областью определения этой функции Т является граф G = (у, U), построенный рассмотренным выше способом, а областью значений — входные, выходные символы и идентификаторы состояний автомата.
Рассмотрим, например, одностороннюю линейную грамматику с алфавитом терминальных символов Мр = {х, у, а, Ь}, с алфавитом нетерминальных символов = {Si, S2, S3} и следующими правилами вывода:
Si —> ybS\, Si —> xaSi, S2 —> xaS?, S2 —> уаЗз, S3 —> xbSi.
Эта грамматика реализуется конечным автоматом. Если автомат установить в начальное состояние Si и подать на вход после-
§ 4.2. Основные этапы проектирования автоматов 265
довательность терминальных символов {у, х, у, х}, то на выходе получаем последовательность терминальных символов {Ь, а, а, Ь}, нетерминальные же символы образуют последовательность {Si, Si, S2, S3}. Реализуемый автоматный оператор Т можно представить в виде соответствующей функции на графе G = {V, U) (рис. 4.4).
Если рассматривать автомат не как устрой
ство, реализующее соответствующую граммати- О'.*) ку, а изучать его строение (структуру), то следует Рис- 4.4 представлять этот автомат не в виде машины Тьюринга, а в виде блок-схемы, изображенной на рис. 4.5, где Мх — множество вход


{Z, } = МГ
Рис. 4.5

ных терминальных символов, Му — множество выходных терминальных символов, Мг — множество нетерминальных символов (Мг = Мг+,М2_).
§ 4.2. Основные этапы проектирования автоматов
Рассмотрим проблему проектирования автомата. На рис. 4.5: Мх — множество входных векторов
Х = х?х<?...х°п”;
Му — множество выходных векторов
У = у?У22.-.Ст;
Mz — множество векторов, характеризующих входные каналы обратной связи (памяти),
Z- = (zrr(z2-r...(zs-f;
Мх+ — множество векторов, характеризующих выходные каналы обратной связи,
Каждый из каналов в случае fc-значной логики может находиться в одном из к значений ст G {0, 1, ..., к — 1}.
266 Гл. 4. Теория формальных грамматик и автоматов
Условимся обозначать переменную а, равную ст G {0, 1, 2, ... ..., к — 1}, как of. Тогда правила вывода в случае автоматной грамматики удобней определить как подстановку XZ+ Z~Y, в которой начальное значение вектора Z+ и последующие его значения получаются приравниванием значению вектора Z~, вычисленному на предыдущем шаге, т. е.
z+(t = 0) = zo+, Z+(t + r) = Z-(t), где г — некоторая постоянная времени автомата.
Векторы XZ+ и Z~Y получаются приписыванием справа вектора Z+ к X и Y к Z~ соответственно.
Состояния каналов обратной связи в дальнейшем будем называть внутренними состояниями автомата, а постоянную времени т — временем перехода из одного внутреннего состояния в другое, причем в зависимости от назначения автомата и его реализации т может быть постоянной для данного автомата или же зависеть от изменения вектора X. В первом случае автомат называют синхронным, во втором — асинхронным.
При заданном (Z+)o последовательность входных векторов X (входная последовательность) однозначно определяет последовательность выходных векторов Y (выходную последовательность). Проиллюстрируем это на следующем примере.
Пусть имеется устройство с входным каналом х, каналом обратной связи z и выходным каналом у, реализующее отображение XZ+ -> Z~Y, заданное в виде таблицы (табл. 4.1),
Таблица 4.1	Таблица 4.2
X	г+	z~	У
0 0 1 1	0 1 0 1	1 1 0 0	1 0 1 0
Время	X	г+	z~	У
0	1	0	0	1
7	0	0	1	1
2т	1	1	0	0
Зт	0	0	1	0
4т	0	1	1	0
5т	1	1	0	0
Определим выходную последовательность, если входная последовательность имеет вид 101001 и начальное значение вектора Z+ равно 0. В начальный момент времени вектор XZ*, равный 10, определяет Z~Y = 01 (третья строка таблицы). Через промежуток времени, равный т, условие XZ+ = 00 определит Z~Y = 11 (первая строка) и т. д. Запишем определение выходной последовательности в виде табл. 4.2.	.
ИТ s0
Следовательно, 101001 -----> 110100.
При Zf = 1 согласно заданному автоматному отображению входная последовательность 101001 преобразуется в выходную последовательность 010100.
Таким образом, автоматное отображение XZ+ —> Z~Y однозначно определяет выходную последовательность (X) по заданной
§4.2. Основные этапы проектирования автоматов 267
входной последовательности (X,) и начальному внутреннему состоянию Zq : (X,) -Z— > (К)-
Одной из основных характеристик автомата является объем его памяти. Число внутренних состояний автомата называется объемом памяти автомата.
Как известно, преобразование информации является результатом выполнения некоторого алгоритма, при этом операционный автомат реализует шаги алгоритма, а управляющий автомат — порядок выполнения шагов. Операционный и управляющий автоматы различаются не только своими назначениями, но и объемами памяти. В операционном автомате происходит преобразование информации, которая задана в виде некоторого множества чисел, записанных в регистрах. Практически объем памяти операционного автомата бесконечен. Так, например, блок регистров современной ЭВМ, входящий в операционной автомат и состоящий из 22 16-разрядных двоичных регистров, имеет объем памяти 2352 > 1О100 бит. Объем памяти управляющих автоматов обычно составляет от нескольких десятков до нескольких десятков тысяч бит, т. е. является небольшим по сравнению с объемом памяти операционных автоматов.
Рассмотрим взаимодействие операционного и управляющего автоматов (рис. 4.6). На вход операционного автомата (канал 1) поступает преобразуемая информация; с выхода операционного ав-
Рис. 4.6
томата (канал 2) снимаются результаты преобразований; по каналу 3 поступают управляющие воздействия, соответствующие реализуемому алгоритму; по каналу 4 на ВХ°Д управляющего автомата поступают признаки, характеризующие преобразуемую информацию; по каналу 5 — сигнал, определяющий выполняемое преобразование и его начало; по каналу 6 — сигнал окончания операции. Каналы 1 и 2 называются информационными, каналы 3-6 — управляющими. Рассмотрим, например, выполнение операции сложения в арифметическом устройстве (АУ) ЭВМ. В данном случае операционным автоматом является арифметическое устройство, т. е. регистры, сумматор и связи между ними, а управляющим автоматом — устройство управления АУ.
При выполнении алгоритма сложения по каналу 1 из запоминающего устройства (ЗУ) машины в соответствующие регистры
268 Гл. 4. Теория формальных грамматик и автоматов
АУ записываются первое и второе слагаемые; по каналу 5 из центрального устройства управления (ЦУУ) машины поступает код операции (сложение); по каналу Зиз управляющего устройства АУ согласно алгоритму сложения посылаются управляющие сигналы: сдвиг регистров, возбуждение соответствующих шин в сумматоре, запись суммы в регистр результата и другие сигналы. По каналу 4 поступают признаки (например, содержание знаковых разрядов в сумматоре, используемое для обнаружения нарушения нормализации), определяющие ход дальнейшего управления. По каналу 6 в ЦУУ передается сигнал окончания выполнения операции. По каналу 2 в ЗУ посылается результат операции.
ЭВМ — сложный преобразователь информации, и ее целесообразно рассматривать, следуя В.М. Глушкову, как композицию пар автоматов, каждая из которых состоит из операционного и управляющего автоматов. При этом каждое устройство ЭВМ (ввода, вывода, ЗУ, ЦУУ) представляется аналогично арифметическому устройству в виде лары или нескольких пар таких автоматов. Такое представление ЭВМ диктуется не только удобством анализа и синтеза ЭВМ, но и является естественным развитием структуры современных ЭВМ. В настоящее время как один из методов увеличения производительности ЭВМ используется мультипрограммный режим, что, в частности, уменьшает задержки, вызываемые низкой скоростью внешних устройств и несоответствием скоростей работы внешних и арифметических устройств. Для реализации мультипрограммного режима ЭВМ необходима некоторая “самостоятельность” отдельных устройств, т. е. возможность хранения, преобразования информации и управления этим преобразованием внутри устройства; другими словами, необходимо, чтобы каждое устройство представляло собой композицию операционного и управляющего автоматов.
В настоящее время на основе нейротранспьютерных технологий, создаются мощные вычислительные сети; примером таких сетей являются Communication Machines (СМ-1, СМ-2), имеющие кластерно-гиперкубовую архитектуру. Транспьютерная сеть СМ-1 состоит из 65536 (216) транспьютеров, СМ-2 — из 4 194 304 (222) транспьютеров. В кластерах реализуются связи “каждый с каждым”, каждый кластер соответствует вершине гиперкуба. Геометрически сеть СМ-1 представляет собой куб, длина ребра которого равна 120 см, сеть СМ-2 — куб с ребром 480 см.
При проектировании ЭВМ можно выделить три основных этапа: системный, логический и технический.
На этапе системного проектирования строится композиция пар автоматов — операционных и управляющих (общая блок-схема ЭВМ); определяются необходимый объем памяти автоматов, их взаимодействие на основе выбора системы команд, внешние и внутренние языки машины и т. д. Исходной информацией на си-
§4.2. Основные этапы проектирования автоматов 269
схемном этапе является совокупность классов задач, для решения которых предназначена проектируемая машина, и ее параметров (быстродействия, стоимости, габаритных размеров и т. д.).
Рассматриваемые на этапе системного проектирования автоматы имеют большой объем памяти, превышающий, как уже отмечалось, 1О100 бит. Поэтому в настоящее время задачи системного этапа решаются с помощью программного моделирования.
Процесс решения задачи системного этапа методом программного моделирования обычно состоит из следующих шагов:
а)	составление математической модели, отражающей важные свойства моделируемого устройства или машины в целом;
б)	построение моделирующего алгоритма, запись его на некотором языке, предназначенном для описания моделей ЭВМ;
в)	реализация моделирующего алгоритма на ЭВМ;
г)	анализ результатов и корректировка модели устройства или машины.
Программное моделирование позволяет определить основные характеристики проектируемой машины, “узкие места” ее структуры.
На этапе логического проектирования ЭВМ синтезируются непосредственно логические (функциональные) схемы всех блоков машины. Исходной информацией для этого этапа являются алгоритмы функционирования блоков.
На этапе технического проектирования на основе логических схем строятся принципиальные монтажные схемы и готовится техническая документация для производства ЭВМ.
Логическое проектирование заключается в синтезе как операционных, так и управляющих автоматов. В силу практически бесконечного объема памяти операционных автоматов последние в настоящее время синтезируются с помощью программного моделирования. И если для формализованного синтеза операционных автоматов необходимо развитие теории бесконечных автоматов, то для формализации синтеза управляющих автоматов возможно применение теории конечных автоматов.
Согласно этой теории при проектировании управляющих автоматов будем различать два основных этапа: построения автоматного оператора и структурного синтеза автомата.
I. Этап построения автоматного оператора. На этом этапе производится построение системы выходных функций Y = f(X, Z+) и системы функций возбуждения Z~ = <р(Х, Z+).
Автоматное отображение, записанное в виде системы выходных функций и функций возбуждения, будем называть автоматным оператором.
Этап построения автоматного оператора в свою очередь состоит из трех подэтапов: алгоритмического, абстрактного и этапа кодирования (размещения) внутренних состояний автомата.
270
Гл. 4. Теория формальных грамматик и автоматов
На этапе алгоритмического проектирования заданный оператор А оформляется в виде алгоритма исходя из поставленных требований (простоты выполнения операций, быстродействия, максимального уменьшения аппаратурных затрат и др.). Поиск оптимального алгоритма по заданному оператору А можно представить в виде дерева, каждая висячая вершина которого соответствует определенному алгоритму, т. е. определенной композиции операционного и управляющего автоматов. Для поиска оптимального алгоритма необходим перебор всех висячих вершин, число которых не известно и определяется степенью развития рассматриваемых преобразований.
Пусть, например, необходимо синтезировать арифметическое устройство, реализующее четырехместную операцию суммирования. В зависимости от выбора алгоритма, реализующего это задание, получаем определенную блок-схему синтезируемого устройства, характеризующуюся аппаратурными затратами и быстродействием. В данном случае можно предложить, например, три варианта алгоритма.
1-й вариант. Суммируем два первых числа, к полученной сумме прибавляем третье число и к вновь полученной сумме прибавляем последнее число. Этот вариант алгоритма характеризуется временем выполнения операции и и аппаратурными затратами в виде одного сумматора, четырех регистров, устройства управления и необходимых каналов связи. Этому алгоритму соответствует блоксхема, изображенная на рис. 4.7, а.
2-й вариант. Суммируем одновременно первое число со вторым, третье — с четвертым, результаты записываем соответственно в первый и третий регистры, затем суммируем их на первом сумматоре. Окончательный результат записываем в первом регистре. Этот вариант выполнения задания А характеризуется временем выполнения т2 и аппаратурными затратами, представленными на блок-схеме этого варианта (рис. 4.7,6).
3-й вариант. Суммируем первые два числа на одном сумматоре, вторые два — на втором сумматоре, полученные суммы — на третьем сумматоре, результат записываем в первый регистр. Этот вариант характеризуется временем выполнения операции гз и аппаратурными затратами, приведенными на рис. 4.7, в.
Тот или иной вариант алгоритма, реализующего задание А, выбирается исходя из конкретных ограничений на аппаратурные затраты и на время выполнения заданных операций.
Каждая висячая вершина дерева поиска оценивается временем выполнения данного преобразования и сложностью аппаратуры (сложностью операционного и управляющего автоматов). Сложность операционного автомата оценивается непосредственным подсчетом аппаратурных затрат. Сложность управляющего автомата можно оценить с помощью понятия производной от модели.
§ 4.3. Алгоритмический этап проектирования
271
На абстрактном этапе решается задача минимизации объема памяти автомата. На этапе кодирования (размещения) внутренних состояний автомата каждому внутреннему состоянию авто
Рис. 4.7
мата сопоставляется код, т. е. определенная совокупность состояний (значений) элементов памяти.
В результате выполнения двух рассмотренных этапов составляют системы выходных функций и функций возбуждения автомата — строят автоматный оператор. После построения автоматного оператора переходят к структурному синтезу.
II. Этап структурного синтеза автомата. Этап структурного синтеза автомата заключается в построении из заданных элементов логической (функциональной) схемы автомата, реализующей полученный автоматный оператор. Более подробно структурный синтез рассмотрим ниже.
§ 4.3. Алгоритмический этап проектирования
Проектирование автоматного оператора заключается в построении автоматного отображения по заданному словесному описанию, включающему цель проектирования, назначение синтезируемого автомата и свойства поведения (функционирования) управляемого
272 Гл. 4. Теория формальных грамматик и автоматов
объекта, в контуре, с которым проектируемый автомат реализует поставленную цель.
Автоматное отображение, как правило, задают в виде графа переходов. Граф переходов — это граф G = {V, (X, У)), каждая вершина которого взаимно однозначно соответствует внутреннему состоянию автомата, и если из состояния Si автомат переходит в состояние Sj, то соответствующие им вершины v,-, Vj соединяются дугой (v,-, vj) 6 U, взвешенной парой векторов (X, У), при которых этот переход осуществляется.
На алгоритмическом этапе неформально заданная информация преобразуется в формальную систему в виде автоматного оператора. При этом используется принцип аналогий. Формально этот переход может быть основан на применении грамматик, в которых правила подстановки формализуют данные свойства управляемого объекта. В результате применения грамматик порождаются композиции графов переходов, удовлетворяющие заданному словесному описанию. Эта композиция часто представляет собой двухуровневую иерархию. Первый уровень представляет собой графы переходов, реакцией которых является непосредственно управляющее воздействие на управляемый объект. Второй уровень представляет собой граф переходов, реакция которого соответствует возбуждению инициальных вершин графов первого уровня.
Рассмотрим построение графов переходов автоматов, реализующих устройства вычислительной техники и промышленной автоматики.
Пусть задан операционный автомат в виде арифметического устройства последовательного действия, изображенного на рис. 4.8. Это устройство содержит
§4.3. Алгоритмический этап проектирования 273
четыре регистра: Pl, Р2, РЗ, Р4, и одноразрядный сумматор комбинационного типа, которые связаны между собой соединительными каналами и управляемыми вентилями. Четырехразрядные числа представляются в устройстве в двоичном коде 8421.
Синтезируем автомат, управляющий вычислением мантиссы частного. До выполнения операции делимое а находится в регистре Р1, делитель Ъ — в регистре Р2, числа а и Ь нормализованы, а частное формируется в регистре РЗ. При выполнении операции деления вычитание заменяем сложением в дополнительном коде и используем следующий алгоритм.
1.	Вычитаем в дополнительном коде содержимое регистра Р2(Ь) из содержимого регистра Р1(а), одновременно переписывая содержимое регистра Р1 в регистр Р4-
2.	Если а — Ь > 0, то выполняем п. 3, в противном случае — п. 4.
3.	Разность а — Ь записываем в регистр Р1, регистр Р4 устанавливаем в “нуль”, а в регистр РЗ записываем 1, сдвигаем на один разряд вправо делитель, регистр результата — влево и переходим к и. 5.
4.	Записываем содержимое регистра Р4 в регистр Р1, в регистр РЗ записываем 0, сдвигаем на один разряд делитель вправо, регистр результата — влево и переходим к п. 5.
5.	Если п. 1 был выполнен менее пяти раз, то переходим к п. 1, в противном случае — к п. 6.
6.	Конец (в общем случае здесь осуществляется передача управления в блок нормализации частного).
Для простоты считаем, что в регистр РЗ предварительно записан код нуля.
Зная операционный автомат и реализуемый алгоритм, составляем временную диаграмму функционирования управляющего автомата, которая представляет собой алгоритм выполнения данной операции в терминах управляющих точек — микроопераций. Каждой микрооперации соответствует выходной канал управляющего автомата. Отсюда число выходных каналов синтезируемого автомата равно числу всех микроопераций.
Множество микроопераций рассматриваемого устройства таково: СдР1 — сдвиг регистра Р1; СдР2 — сдвиг регистра Р2\ ПСдПЗ— правый сдвиг регистра Р3\ ЛСдРЗ — левый сдвиг регистра РЗ', СдР4 — сдвиг регистра Р4 (наличие регистра Р4 позволяет ие производить восстановления остатка); ПК1 — прямой код содержимого регистра Р1; ПК2 — прямой код содержимого регистра Р2; ОК1 — обратный код содержимого регистра Pl; ОК2 — обратный код содержимого регистра Р2-, ВхР1 — вход регистра Р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. Временные диаграммы, соответствующие
Рис. 4.9
вычислениям последующих разрядов частного, отличаются от диаграмм, изображенных иа рис. 4.9, только в первом блоке, а именно: при вычислении <-го разряда частного вместо четырехкратного выполнения микрооперации Д4 имеет место соответственно (4 — »)-кратное выполнение микрооперации Д(4 — »), т. е. прн вычислении первого разряда выполняется пятикратное возбуждение Д5 и т. д. Следовательно, чтобы использовать первый временной блок, надо перед вычислением соответствующего разряда частного производить его настройку.
Настройка первого временного блока заключается в следующем: Д} рассматривают как входной параметр этого блока и перед вычислением нулевого разряда j присваивают значение 4, а после вычисления каждого разряда частного значение j увеличивают иа 1. Осуществим настройку первого временного блока введением дополнительного четырехразрядного регистра Р5, в который перед началом выполнения операции деления записывается 1, а после вычисления каждого разряда частного производится сдвиг, регистра Р5 иа один разряд. Выход •-го разряда регистра Р5 подается на клапан Д(|«| ± 3).
Для нахождения числа вычисленных разрядов частного введем трехразрядный счетчик (СчЦ), состояние 101 которого укажет на то, что вычислено пять разрядов частного и надо передавать управление в блок нормализации.
§4.3. Алгоритмический этап проектирования
275
Основываясь иа проведенном анализе, целесообразно изменить множество микроопераций, а именно: вместо микроопераций Д5> Д6, Д7 ввести микрооперации СдР5 (сдвиг регистра Р5) и 1вР5 (запись единицы в регистр Р5) и
i [Р5]—содержимое i-го разряда
регистра Р5, i=l,.... 4
Рис. 4.10
дополнительно ввести микрооперацию +1 СчЦ (прибавление единицы в счетчик циклов СчЦ) и СчЦв “О” (установление счетчика циклов в “нуль”).
В результате рассмотренных преобразований временная диаграмма, приведенная на рис. 4.9, преобразуется во временную диаграмму, изображенную на рис. 4.10.
276 Гл. 4, Теория формальных грамматик и автоматов
Временная диаграмма еще не дает автоматного отображения. Действительно, одному значению входного вектора, определяющего выполняемую операцию, соответствуют несколько значений выходного вектора (микрокоманд), т. е. временная диаграмма задает неоднозначное преобразование входного вектора в выходной. Следовательно, это преобразование не является автоматным отображением. Для получения автоматного отображения необходимо ввести в синтезируемый автомат память. При этом заведомо достаточен объем памяти, равный числу всех микрокоманд. Совокупность входного вектора и состояния памяти однозначно определяет микрокоманду.
В соответствии с временной диаграммой построим граф переходов автомата. Внутреннее состояние автомата взаимно однозначно сопоставляется столбцу во временной диаграмме.
Граф переходов автомата, реализующий временную диаграмму (рис. 4.10), изображен иа рис. 4.11. Микрокоманды на этом рисунке обозначены латинскими
Рис. 4.11
буквами и имеют следующий вид: а = {1вР5, СчЦв “О”}-,
Ь = {СдР1, СдР2, ПК1, ОК2, ЦР1, ЦР2, -Ы Z2, -НСчД};
$4.3. Алгоритмический этап проектирования
277
с = {BxPl}; d = {СдР1, СдР2, ПК1, 0К2, ЦР2};
е = {+1 £}; f = {ВхПРЗ}; g = {СдР2, ЛСдРЗ, CdPj}-,
h = {У“0”вР1}-, к = {СдР2, ЛСдРЗ, СдР4, Р4-+Р1}; т = {СЭР5}.
Считаем, что если иа вход автомата управления поступила единица (х = 1), то автомат выполняет управление делением.
Логические переменные (признаки), определяющие ход управления, обозначим как: ai — содержимое t-ro разряда регистра Р5; /3 — условное состояние счетчика СчЦ,
А _ ( 1, если состояние счетчика есть 101, " ~ I 0 в противном случае;
Ро — перенос в нулевой разряд при суммировании чисел.
Рассмотрим большую систему промышленной автоматики — систему сжигания твердого топлива в плотном слое. Система содержит четыре полугазовые топки, установки подачи топлива, воздуха и установку удаления шлака. Схема полугазовой топки изображена иа рис. 4.12, где: 1 — конвейер; 2 — плужок;
Рис. 4.12
3 — входной бункер; 4 — топливо; 5 — питатель; 6 — забрасыватель; 7 — полугаз; 8 — подача воздуха; 9 — рабочая камера; 10 — шлак; 11 — слой све
278
Гл. 4. Теория формальных грамматик и автоматов
жезаброшенного топлива; 12— зона восстановления; 13— зона горения; 14 — зона шлака; 15 — колосниковая решетка.
Полугазовые топки, являющиеся одним из видов промышленных печей, входят в состав газового хозяйства завода, и автоматизация управления процессами сжигания в топках — одна из задач автоматизации всего технологического процесса. Полнота газификации определяется процентным содержанием в полугазе двуоксида углерода. С его повышением падает теплота сгорания полугаза и увеличивается температура в' топке. Полугаз перед выходом из толки смешивается с вторичным воздухом и подается в рабочую камеру. Топка снабжается топливом через систему, состоящую из конвейера, плужковых сбрасывателей, входного бункера, питателя и забрасывателя. Шлак удаляется с помощью встряхивателей, спускового клапана и вагонов. Воздух, предназначенный для сжигания топлива, подается с помощью клапана подачи первичного воздуха.
Управление процессом газификации осуществляется выдерживанием определенной толщины слоя сгораемого топлива (200-400 мм для антрацита, 400-800 мм для каменных и бурых углей), т. е. определяется интенсивностью подачи топлива, первичного воздуха н удаления шлака из зоны горения.
Система управления сжиганием имеет следующие каналы (рис. 4.13), представляющие собой микрооперации при проектировании управляющего автомата:
Рис. 4.13. Система газификации: 1 — конвейер, 2—плужок, 3— входной бункер, 4 — система подачи топлива, 5 — топка, 6 — клапан подачи воздуха, 7— общий клапан
§ 4.4. Абстрактное проектирование автоматов
279
К1 — пуск и останов процесса газификации; К2 — индикация работы процесса газификации; КЗ — пуск и останов заполнения входных бункеров; Kj — индикация заполнения входных бункеров; К5 — пуск и останов подачи топлива в топки; Кб — индикация подачи топлива в топки; К7 — приостанов газификации в первой топке; К8 — индикация состояния канала К7; К9 — приостанов газификации во второй толке; К10 — индикация состояния канала К9; К11 — приостанов газификации в третьей топке; К12 — индикация состояния канала К11", К13 — приостанов газификации в четвертой топке; К14 — индикация состояния канала К13-, К15 — плужок первой топки; К16 — плужок второй топки; К17— плужок третьей топки; К18 — плужок четвертой топки; К19 — конвейер; К20-К23 — питатели первой—четвертой топки соответственно; К24-К27— забрасыватели; К28-К31 — клапаны подачи вторичного воздуха; К32-К35 — датчики верхнего уровня во входных бункерах; К4О-К43— датчики подачи топлива; К44-К47 — индикация аварии установки заполнения входных бункеров; К48-К51 — индикация аварии установки подачи топлива в печи; К52 — пуск и останов процесса управления; К53 — индикация управления; К54 — начальные установки исполнительных элементов.
Перечисленное множество каналов включается в носитель модели Фа, формализующей функционирование управляемого объекта. Кроме этого множества носитель модели Фа может включать множество дополнительных элементов, являющихся идентификаторами входных, внутренних и выходных клапанов, которые введены для получения эффективного автоматного управления. Исходя из информации, полученной от технолога, в носителе устанавливаются причинно-следственные связи вида А —> В, которые определяют сигнатуру модели Фа. Очевидно, что модель обладает свойством симметричности и ее можно задать в виде мографа GM (Фа). Причинно-следственные связи могут быть заданы и в виде временных диаграмм. Переход от мографа или временных диаграмм к графу переходов аналогичен переходу от временных диаграмм (которые могут быть заданы в виде мографа) к графу переходов устройств микропрограммного управления.
Таким образом, на этом этапе проектирования автоматов осуществляется переход от отображения А —> В к автоматному отображению XS+ -> S~Y, где: X — входной вектор; Y — выходной вектор, или реакция автомата; 5+ — идентификатор внутреннего состояния, в котором автомат находится в рассматриваемый момент; S~ — идентификатор внутреннего состояния, в которое автомат переходит из состояния S+ под действием входного вектора X.
§ 4.4. Абстрактное проектирование автоматов
Введенный на этапе алгоритмического проектирования объем памяти {S,} автомата может быть избыточным. Эта избыточность устраняется склеиванием эквивалентных состояний. Данное преобразование относится к этапу абстрактного проектирования.
Эквивалентными называются состояния, при первоначальной установке в которые автомат вырабатывает для любой входной последовательности одну и ту же выходную последовательность.
280 Гл. 4. Теория формальных грамматик и автоматов
Из определения эквивалентных состояний следует, что если каждый класс эквивалентных состояний заменить одним состоянием, склеивая соответствующие вершины, то полученный граф переходов будет задавать то же отображение X —> У, что и первоначальный.
Метод абстрактной минимизации автомата, основанный на склеивании эквивалентных состояний, был предложен Хафменом и состоит в последовательном выделении классов эквивалентных состояний с помощью таблиц выходов и переходов. Рассмотрим метод Хафмена на примере.
Пример 4.1. Пусть в результате проведения алгоритмического этапа синтеза был получен граф переходов, изображенный на рис. 4.14, а.
Рис. 4.14
Строим таблицу выходов, представляющую собой двумерную таблицу (табл. 4.3), каждой строке которой взаимно однозначно соответствует значение входного вектора X, столбцу — внутреннее состояние автомата и иа пересечении i-й строки с у-м столбцом находится значение выходного вектора Y, который вырабатывается на выходе, когда автомат находится в J-м внутреннем состоянии и иа входе подай i-й вектор.
Таблица 4.3
X,	5)						
	Si	Si	5з	Si	Ss	s6	S7
0	1	1	0	0 -	1	0	0
1	0	0	1	1	0	1	1
Если двум внутренним состояниям автомата соответствуют различные значения столбцов в таблице выходов, то состояния ие эквивалентны, так как в этих состояниях отображения X —> Y различные. Предварительно разобьем все множество состояний на классы условно эквивалентных состояний, а именно в один и тот же класс попадают те состояния, которым соответствуют одинаковые значения столбцов в таблице выходов: Ki = {Si, Si, Ss}, Кг = = {S3, St, Se, Sy}.
Если таблицу выходов рассматривать как матрицу инцидентности некоторой модели, то внутренние состояния попадают в один и тот же класс, если в соответствующей ей частотной матрице отношений собственные и взаимные частоты внутренних
§4.4. Абстрактное проектирование автоматов 281
состояний равны друг другу, т. е.
dG^ . faa — 2/аЬ + fbb „ ЗД =--------------------------= 0.
Для того чтобы внутренние состояния автомата были эквивалентными, одного и того же соответствия X —> У только в этих состояниях не достаточно, нужно, чтобы и при любом другом возможном переходе из этих состояний отображение X —> У было одним и тем же.
Для проверки этого условия строим таблицу переходов (табл. 4.4). Каждой строке, столбцу в этой таблице соответствуют те же значения, что в таблице выходов, и иа пересечении i-й строки с у-м столбцом находится класс условно эквивалентных состояний, в который переходит автомат из состояния S, под воздействием Xi.
Таблица 4.4
Xi	Si						
	Si	Зг	S3	st	Ss	s6	S-,
0	кх	Кг	Кг	Ki	Кг	Кг	Кг
1	К2	Кг	Кг	К2	К2	Кг	Кг
Если класс условно эквивалентных состояний, выделенный иа предыдущем шаге, ие является классом эквивалентных состояний, то состояниям этого класса соответствуют различные значения столбцов; это означает, что при дальнейших переходах отображения X —> Y различны для данных состояний.
Каждый класс Кг разбивается на новые классы условно эквивалентных состояний, причем в один и тот же класс входят все состояния класса Кг с одинаковыми значениями столбцов: Кг = {Si, S2, S5}, К'2 = {S3, S6), К2 = {S«, S7}.
Составим по таблице переходов частотную матрицу отношений, определив при этом умножение как Ki х Ki = 1, Ki х Kj = 0 (t j). Тогда внутренние состояния попадают в один и тот же ' класс при разбиении классов, полученных на предыдущем шаге, если собственные и взаимные частоты этих состояний равны друг другу, т. е.
^(Sa,sb) = o.
После получения классов Кг, К2, К2 опять строим таблицу переходов и т. д. До тех пор, пока каждый класс условно эквивалентных состояний, выделенный иа предыдущем шаге, ие станет неизменным.
Построим таблицу переходов (табл. 4.5), учитывая разбиение класса К2.
Таблица 4.5
Xi	Si						
	Si	Зг	S3	34	s5	s6	s7
0	Кг	Кг	К2	Кг	Кг	Ki'	Кг
1	Ki	К'г	кц	Ki	Ki	к2	Ki
Анализируя эту таблицу, делаем вывод, что все состояния каждого из выделенных классов “ведут себя дружно”: переходят под воздействием X в один и
282 Гл. 4, Теория формальных грамматик и автоматов
тот же класс, что обуславливает получение иа выходе одного и того же значения Y для всех состояний класса при одном переходе. Следовательно, все состояния одного класса ведут себя как одно состояние, которым его и заменяют.
Заменим классы Ki, Ki, К2 соответственно внутренними состояниями Sa, 8ь, Sc. В результате получим минимизированный граф переходов (рис. 4.14,6), задающий то же отображение X -> Y, что и первоначальный граф переходов (рис. 4.14, а). Для иллюстрации проведем три эксперимента.
Пусть иа вход автомата подается временная последовательность вида X(t) = = 011010. В первом и во втором случаях автомат задан первоначальным графом переходов (рис. 4.14, а) соответственно с начальными состояниями Si и S2. В третьем случае автомат задан минимизированным графом (рис. 4.14,6) с начальным состоянием Sa. Определим временные выходные последовательности Y(t) для каждого случая.
Таблица 4.6
t	h	<2	t3	t<	<5	te
X(t)	0	1	1	0	1	0
S.„ = S, s(t + l)	s2	S6	s7	$5	Se	S<
r(t)	1	0	1	0	0	0
S'*» — S'a	4" 1)	s5	s6	s7	s5	s6	Se
y(t)	1	0	1	0	0	0
S„, = Sa S(t 4-1)	sa	Sb	Sb	Sa	Sb	Se
	1	0	1	0	0	0
Результаты всех трех экспериментов сведем в таблицу (табл. 4.6).
Минимизация объема памяти, например, в 4 раза, экономит только два элемента памяти. Более актуальным и мощным средством оптимизации всей структуры автомата является абстрактная декомпозиция автоматов, особенно параллельная декомпозиция автоматов. Необходимость поиска ее, с одной стороны, диктуется современными требованиями, предъявляемыми к быстродействию управления (обусловливающими использование параллельного управления объектом). С другой стороны, повышение безотказности автоматного управления требует разбиения автомата на ряд функционально не связанных друг с другом автоматов меньшей размерности, обеспечивающих реализацию полученного автоматного оператора.
Поиск параллельной декомпозиции абстрактных автоматов сводится к разложению графа переходов в частичное декартово произведение более простых по числу вершин графов. Разложить граф G в частичное декартово произведение — значит, найти графы Gi, i = 1, ..., п, такие, что G С Gi х Gi х ... х Gn.
Для важного в вычислительной технике класса автоматов лси-кропрограммного управления задачу построения параллельной декомпозиции можно решить, используя характерные свойства автоматов этого класса.
При рассмотрении микропрограммных автоматов элементы, с которых снимается информация, характеризующая ход вычислений, будем относить к цепям обратной связи, включенным в блок
§4.4. Абстрактное проектирование автоматов
283
памяти автомата. Микропрограммные автоматы обладают специфическим свойством: входной вектор X остается неизменным от начала до конца работы автомата, пока не выполнится заданная операция. Используя это свойство, уточним понятие микропрограммного автомата.
Предварительно введем несколько понятий. Цунгом Gu называется взвешенный граф, в котором найдется хотя бы одна вершина, через которую проходят все контуры графа, и не существует ни одного пути, не являющегося частью одного из таких контуров.
Граф называется приводимым к цунгу, если при введении в него не более одной вершины и инцидентных ей дуг он преобразуется в цунг.
Автомат, граф переходов которого приводим к цунгу с инициальной вершиной, соответствующей началу и концу работы автомата при любом входном векторе X, определяющем реализуемую операцию и не изменяющемся в промежуточных состояниях, называется микропрограммным. В общем случае микропрограммный автомат реализует несколько операций, каждой из которых соответствует микропрограмма. При построении графа переходов, реализующего эти микропрограммы, будем производить склеивание совместимых состояний.
Внутренние состояния Si, Sj называются совместимыми, Si = Sj, если любой входной вектор, подаваемый на вход автомата, который находится в состоянии S,-, не совладает и не является частью ни одного входного вектора, подаваемого на вход автомата, который находится в состоянии Sj-. Xs, £ Xsj.
Подграф G' = (V1, U1) графа G = (V, U) называется двухинци-дентным, если каждой его вершине инцидентны две и только две группы параллельных дуг, входящих и исходящих, за исключением, быть может, минимального элемента v+ £ V и максимального элемента v~ £ V множества V', причем в вершину v+ могут входить, а из вершины v~ выходить несколько непараллельных дуг. Последовательности микрокоманд, взвешивающие двухинци-дентный подграф, называются микролучом, а число микрокоманд, входящих в последовательность, — его длиной.
При синтезе автомата управления, реализующего несколько микропрограмм, производим склеивание совместимых внутренних состояний, учитывая при этом два ограничения. Во-первых, склеивание следует начинать с конечных состояний, соответствующих различным операциям. Во-вторых, сначала склеивают те совместимые состояния, в которых на выходе автомата вырабатывается одна и та же микрокоманда.
Рассмотрим микропрограммный автомат управления процессором ЭВМ для выполнения операций “суммирование” (а 4- Ь), “вычитание” (а — Ь) и “поразрядное сложение”. Графы переходов, построенные по временным диаграммам, Изображены иа рис. 4.15. Микрокоманды иа этом рисунке обозначены латин-
284 Гл. 4. Теория формальных грамматик и автоматов
сними буквами: а = {ГД}; Ь = {Н77}; с = {В J2); d = {СВ, ГС, В —> С}; е = {СС, О}; к = {ГД, СВ, ГА, +1Т30Д}; т = {ДА, ГД}; р = {ДА, ДВ}; г = {НП, СВ}.
Микрооперации, являющиеся элементами микрокоманд, расшифровываются следующим образом: ДА — дополнение регистра А; ГД — гашение регистра Д; НП — начало пробега; ДВ — дополнение регистра В; СВ — счет регистра В; В $2 — выдача суммы 2Д ГА — гашение регистра А; +1Т30Д — плюс 1 в триггер 30 регистра Д{~ГС — гашение регистра С; В -> С — передача из регистра В в регистр С; СС — счет регистра С; О — ответ о выполнении операции.
Результат проводимых вычислений характеризуется логической переменной ТОД — значением триггера нуля регистра Д (иа рис. 4.15 и в дальнейшем ТОД будем обозначать 7).
Суммирование (х = 01)
(х1х2, а) (х1х2, b) <XiX2y, с) (д^, d) (Х^, е)
(Х^у, с)
(TjXj, е)
r(SiX2, к) (Х^, b) (Xtx2, с) (XjX^ d)
Вычитание (х = 11)
(XjX2, m) (xjX27, b) (XjX2, c) <XjX2, d)
(XjX27, b)
(x1x2, c)
(x2x2, e)
,(х,х2, pMx^, a) (x,x2, r) (XjX2, c) (x^, d)
6
Поразрядное сложение (x = 10) (Xj5f2, a) (XjX2, c) (x,X2, d) (Xj5f2, b)
G—
e
Рис^ 4.15
Произведем склеивание совместимых состояний. В результате получаем объединенный граф переходов G (рис. 4.16, а). На этом графе в состояниях Sy, Sa и Sp доопределено отображение X —> Y добавлением (xixj, с), (xixz, d) и (xix2, е) соответственно (рис. 4.16, б). После такого склеивания совместимых состояний произведем свертывание двухинцидеитных подграфов. Под свертыванием двухинцидеитных подграфов понимаем замену этого подграфа иа вершину, взвешенную соответствующим микролучом. Микролучи имеют следующий вид: А = аЪс, В = de, D = kb, Е = mb, М = par.
В результате свертывания двухинцидеитных подграфов получаем граф автомата управления (рис. 4.17, а), в котором нарушена
§4.4. Абстрактное проектирование автоматов
285
детерминированность: одному состоянию, соответствующему вершине, в которую свернут двухинцидентный подграф, соответствует несколько микрокоманд.
Исходный граф переходов (рис. 4.16, б) получается как частичное декартово произведение графа G (рис. 4.17, а) и двухинцидент-
Рис. 4.16
ного графа, конец которого соединен дугой с его началом, и число вершин равно максимальной длине рассматриваемых микролучей (в данном случае трем). Двухинцидентный граф, конец которого соединен дугой с началом, реализуется в виде счетчика.
Таким образом, детерминированность автомата и эквивалентность его функционирования сохраняем, вводя в обратную связь автомата счетчик микрокоманд в микро луче, увеличивающий свое значение до числа, равного максимальной длине микролуча /макс (рис. 4.17,б).
При переходе в вершину соответствующую свернутому двухинцидентному подграфу G,, на счетчике устанавливается
286
Гл. 4. Теория формальных грамматик и автоматов
число, равное /макс - где Ц — длина микролуча, взвешивающего этот подграф. При этом Ц состояний счетчика взаимно однозначно сопоставляются микрокомандам, соответствующим вер-
Рис. 4.17
шине VGi • При каждом переходе в двухинцидентном подграфе к содержимому счетчика прибавляется 1. Следовательно, совокупность кода вершин и показания счетчика взаимно однозначно определяют выполняемую микрокоманду. Переполнение счетчика указывает на то, что автомат вышел из состояния, соответствующего вершине vg{.
Такая организация переходов позволяет не возбуждать выходы комбинационной части автомата, идущие в обратную связь в процессе выполнения микролуча, так как состояние памяти, запоминающей вершину vg{, остается неизменным, а переход счетчика из состояния в состояние происходит автоматически прибавлением единйцы либо извне, либо с помощью микрооперации +1Сч(1 (прибавление единицы в счетчик микрокоманд), расширяющей множества микроопераций. При использовании последнего способа возбуждается только один выход, идущий в обратную связь.
Дальнейшие преобразования графа переходов произведем, стягивая незацепленные состояния. Два внутренних состояния (две вершины) графа переходов называются незацепленными, если они не входят ни в один из простых путей графа переходов при функционировании синтезируемого автомата.
Для предполагаемого преобразования графа переходов построим граф Gz следующим образом. Каждой вершине графа переходов взаимно однозначно сопоставим вершину графа <7з; пара вершин vo, V(, (vo ф vj>) графа Gz смежна, если в графе переходов суще
§4.4, Абстрактное проектирование автоматов
287
ствует простой путь, проходящий через вершины, соответствующие va и vj>, при функционировании синтезируемого автомата. Построенный таким образом граф G$ будем называть графом зацепления.
С помощью операции раскраски вершин графа разобьем все множество вершин графа зацепления на подмножества, каждое из которых состоит из вершин, соответствующих незацепленным внутренним состояниям синтезируемого автомата.
Граф зацепления и его раскраска для автомата, изображенного на рис. 4.17, а, приведены на рис. 4.18, а. В результате раскраски
Х = 01
IV
а
х = 10
б
Х=11
-о
Счетчик микрокоманд в луче
Память, фиксирующая вершину в графе переходов
Память, фиксирующая краску выполняемого луча
Комбинационная часть
Логические призиаки
Рис. 4.18
Х=10
% =01
Х=11
Х = 10
Х=11
Х= 01
288	Гл. 4. Теория формальных грамматик и автоматов
графа зацепления имеем следующие подмножества состояний, каждое из которых состоит из незацепленных между собой состояний:
Vi = {S5,S22,Se}, Vii = {S„Se}, Vin = {SM}, VIV = {S7}.
Из каждого подмножества V, (i = I, ..IV) выбираем по одному элементу, например, Sf, Sp, Sy, Su", из выбранных элементов образуем подмножество V31 = {Sf, Sp, S„, S7}. Далее, снова из каждого подмножества И выбираем по одному из оставшихся элементов и снова образуем из них подмножество. Выборку осуществляем до тех лор, пока каждое из подмножеств V; не преобразуется в пустое множество. Образованные в результате этой выборки подмножества и являются подмножествами, состоящими из зацепленных состояний. В данном случае они имеют следующий вид:
V3l={Sf,Sp,Sv,Sy}, V32 = {S22,S{}, Узз ={£.}.
Каждое подмножество, состоящее из зацепленных состояний, заменяем одним состоянием, вес которого является совокупностью микролучей, соответствующих объединяемым вершинам (в частном случае микролуч может состоять из одной микрокоманды). Такую замену будем называть стягиванием зацепленных состояний. В результате стягивания зацепленных состояний графа переходов (рис. 4.17, а) получаем граф переходов Gn (рис. 4.18,6). Стягивания зацепленных состояний также нарушают детерминированность автомата. Детерминированность синтезируемого автомата и его эквивалентность сохраняем, введя в обратную связь элемент памяти, в котором будет фиксироваться краска, соответствующая микролучу, выполняемому в данный момент (рис. 4.18,в). Тогда совокупность кода вершины окончательного графа переходов, краска и показания счетчика микрокоманд в микролуче взаимно однозначно определяют выполняемую микрокоманду. В результате такого преобразования граф переходов можно представить в виде частичного декартова произведения соответствующих графов (рис. 4.18, в), что упрощает процесс кодирования внутренних состояний и практически уменьшает аппаратурные затраты при синтезе схемы возбуждения обратных каналов автомата.
Если контуры в графе переходов, соответствующем реализуемым микропрограммам, отсутствуют, то целесообразно разложить его только на два графа, исключив граф, показывающий смену красок. При этом проводят свертывание двухинцидентных подграфов в каждом графе переходов, соответствующем реализуемой операции, с последующим склеиванием совместимых состояний.
Если граф переходов является деревом, то в обратной связи автомата оставляют только счетчик. При этом граф переходов реализуется счетчиком при условии запоминания или наличия значений логических переменных, характеризующих вычисления. Начальному внутреннему состоянию автомата сопоставляется начальный код на счетчике, например код 0. Внутренние состояния, в которые автомат переходит из состояния 5,-, имеющего код А, кодируются как А 4-1. Смена кодов происходит прибавлением единицы
§ 4.4. Абстрактное проектирование автоматов
289
в счетчик при каждом переходе. Тогда при наличии разветвления некоторые внутренние состояния будут иметь одинаковые коды. Детерминированность автомата при этом не нарушается благодаря хранению логических признаков, характеризующих проводимые вычисления. Показания счетчика и значения логических переменных однозначно определяют нужную микрокоманду. Данное утверждение справедливо, так как граф переходов является деревом, т. е. не содержит циклов. В конце выполнения операции происходит гашение счетчиков.
При представлении графа переходов, соответствующего автомату управления одной операцией, в виде частичного декартова произведения производят следующие преобразования:
1) склеивание псевдоэквивалентных состояний;
2) свертывание двухинцидентных подграфов, причем в результате изменения последовательности применения этих преобразований возникает несколько эквивалентных вариантов.
Рассмотрим граф переходов управления операцией деления (см. рис. 4.11). Стягивая двухинцидеитные подграфы, получаем граф переходов G (рис., 4.19, а). Вершинам этого графа соответствуют следующие микролучи: Si — a; Sa —
bcdcdcdc; Sb — de; Sd — de; Se — de; Sf — hk; S4 — efg; S23 — m. Следовательно, для восстановления эквивалентного функционирования необходим счетчик на 8 состояний.
Вершины, соответствующие состояниям Sf и S4 в графе переходов (рис. 4.19,а), можно склеить при наличии запоминания признака ро; детерминированность автомата при этом ие нарушается. Окончательно имеем граф переходов G, изображенный на рис. 4.19, б. Состояния счетчика, признак ра и код вершины графа переходов (рис. 4.19,6) однозначно определяют выполняемую микрокоманду.
Внутренние состояния называются псевдоэкаивалентньы<и, если в них реализуется одна и та же микрокоманда. Для графа переходов Gn (см. рис. 4.11) имеем следующие множества псевдоэквивалентных состояний: Мс = {S3, Ss, S7, S9, Si*, S13, Su, S17}; Мл = {S<, Se, Sg, S10, S12, Su, Sie}.
В результате склеивания псевдоэквивалентных состояний (рис. 4.20, а) нарушается детерминированность автомата. Детерминированность и эквивалентность функционирования автомата восстанавливаем введением счетчика при организации цикла переменной длины. На рис. 4.20,6 приведена программа
10 В. А. Горбатов
290
Гл. 4. Теория формальных грамматик ц автоматов
работы счетчиков; в рассматриваемом автомате к = 7. Внешний цикл реализуется счетчиком длины цикла СчДЦ.
Внутренний цикл реализуется счетчиком числа циклов СчЦ. Признак у, который восстанавливает детерминированность автомата, вычисляется в блоке, включающем эти счетчики (рис. 4.20,в). В том же блоке вычисляется и при
а
Рис. 4.20
знак окончания операции /3 (как сигнал переполнения счетчика СчДЦ, причем начальное состояние этого счетчика равно 2).
После восстановления детерминированности автомата производим склеивание двухинцидентных подграфов (рис. 4.21, а, б). Для восстановления детерминированности функционирования автомата после стягивания двухинцидентных подграфов введем еще два счетчика, имеющих три и два состояния соответственно.
§4.4. Абстрактное проектирование автоматов
291
При восстановлении детерминированности автомата с помощью введения счетчиков возникает задача минимизации числа счетчиков, которая сводится к задаче раскраски графа затирания G3T. Каждому счетчику взаимно однозначно сопоставляется вершина графа (7ЗТ: две вершины графа G3T смежны, если подграфы работы соответствующих счетчиков имеют хотя бы одну общую вершину (подграф Ga является подграфом работы счетчика а, если для реализации в этом подграфе правильных переходов необходимо знать состояние счетчика а).
Для рассматриваемого случая счетчикам СчЦ, СчДЦ, Сч(За) и Сч(Зр) соответствуют подграфы, носители которых имеют соответственно следующий
Рис. 4.21
вид: {Sc, Sj}, {S3, Sc, Sj, Sa Sp S23}, {5a} и {S^}. Граф затирания Gзт ДЛЯ рассматриваемого случая изображен иа рис. 4.21, в.
Очевидно, два счетчика, соответствующие несмежным вершинам в графе затирания, можно рассматривать как один физический счетчик, так как не найдется ни одного состояния, в котором для правильного функционирования автомата необходимо было бы знать состояние обоих счетчиков. Таким образом, минимизация числа счетчиков сводится к раскраске вершин графов затирания.
292 Гл. 4. Теория формальных грамматик и автоматов
В данном случае согласно минимальной раскраске вершин графа затирания (рис. 4.21, в) достаточно наличия двух счетчиков: счетчика СчДц и счетчика СчЦК, который включается в моменты работы счетчиков СчЦ, Сч(За) и Сч(8р) (рис. 4.21,г).
Применение счетчиков в цепи обратной связи автоматов управления позволяет использовать стандартные узлы ЭВМ, выполненные в виде интегральных микросхем.
В результате поиска оптимальной декомпозиции автоматов получаем несколько эквивалентных вариантов, из которых выбираем окончательный вариант, имеющий минимальное значение p(GM):
(-)
где |(7| — количество слов в мографе, каждое из которых соответствует автоматному переходу и представляет собой XS+S~Y; I — число букв (термов), образующих слово XS+S~Y; под внешним знаком находится выражение, являющееся средним значением производной dGM/dS, вычисленной на парах букв, образующих слово XS+S~Y. Этому варианту соответствует более простая структурная реализация.
§ 4.5.	Кодирование внутренних состояний
На этапе кодирования внутренних состояний отображение XS+S~Y, полученное на этапе абстрактного проектирования, преобразуется в отображение XZ+ —> Z~Y, где S+, S“ — идентификаторы внутренних состояний, рассматриваемых соответственно в моменты времени t и t 4- т; Z+, Z~ — коды этих состояний, элементами которых являются буквы используемого структурного алфавита; для случая булевой логики это 0 и 1.
Кодирование внутренних состояний автомата можно осуществлять, исходя из требований уменьшения аппаратурных затрат либо увеличения надежности функционирования автомата, либо удовлетворения обоих требований одновременно.
Рассмотрим метод кодирования, удовлетворяющий первому требованию. Число способов кодирования N вершин графа переходов G = {V, U) увеличивается с ростом |У| как
(2[,о82 1у11 _ 1)!
дг---------1___________L______	(л д')
(2(b&M]-|y|)!([log2|V|])!’
где [ ] — ближайшее целое число.
Каждый способ кодирования определяет свои аппаратурные затраты при реализации автомата.
§4.5. Кодирование внутренних состояний 293
Наиболее интересным является метод кодирования с использованием подстановочных разбиений, предложенный Хартмани-сом и Стирнсом. Это метод основан на уменьшении функциональной зависимости функций возбуждения. К сожалению, при кодировании состояний реальных автоматов метод подстановочных разбиений неприменим, так как он не обладает свойством подстановочных разбиений.
Рассмотрим частотно-матричный метод кодирования состояний. Пусть в результате абстрактного синтеза был построен мограф, определяющий отображение XS+ —> S~Y. После кодирования получим мограф, задающий отображение XZ+ —> Z~Y, т. е. в первоначальном мографе вершины, соответствующие идентификаторам внутренних состояний 5,-, будут заменены полными подграфами, соответствующими кодам Z, внутренних состояний. Данный метод кодирования можно реализовать с помощью следующего алгоритма синтеза кодирующего дерева.
1.	Строим двумерную матрицу Q = [gtj], каждой строке которой взаимно однозначно соответствует микрооперация или значение входного канала (элементы вектора Y или X), столбцу — внутреннее состояние:
' 1, если первичный терм, соответствующий г-й строке, 0.. _ J входит в каждую пару векторов (X, У)(Х -> У), ко-У4’ торые взвешивают дуги, исходящие из вершины j, , 0 в противном случае.
Каждому внутреннему состоянию (столбцу матрицы) взаимно однозначно сопоставляем произвольным образом максимальную вершину синтезируемого кодирующего дерева. Полагаем Q = Q.
2.	По матрице Q находим частотную матрицу отношений F = = QT-Q.
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, а).
Рис. 4.22
Используя предлагаемый алгоритм, закодируем внутренние состояния автомата. Матрица Q, соответствующая данному графу, имеет следующий вид:
S1		Si	S3	Si	Ss	Se	
	1	0	0	1	1	0	
	0	1	1	0	0	0	Xl
	1	0	0	0	1	0	X2
	0	0	1	1	0	1	Xi
<? =	0	0	0	0	1	0	f3
	0	0	1	0	0	0	Хз
	0	1	1	1	0	0	vi
	1	0	0	0	1	0	У1
	0	0	1	0	1	0	vj
	0	0	0	1	0	1	У2
Частотная матрица отношений, соответствующая матрице Q, имеет следующий вид:
	Si	Si	S3	Si	Ss	s6	
	3	0	0	1	3	0	Si
	0	2	2	1	0	0	Si
F-	0	2	5	2	1	1	S3
	1	1	2	4	1	2	Si
	3	0	1	1	5	0	St
	0	0	1	2	0	2	s6
§4.5. Кодирование внутренних состояний
295
Вычисляем значения производной для каждой пары состояний:
dGMlc, с ч Л-2/и+А	3-2-14-4
_(S1, S<) =------_-------
= 5,
dGM з-г-з + 5
-^-(S!,S5) =---------0,67,
% -	2-2-24-5 2	= 1,5,
dGM,_	2-2-14-4	
as {S2'	“	1	= 4,
dGM	.	5-2-24-4	
as ^3’	"	2	= 2,5,
dGM	5-2-14-5	
as (S3’ Si)“	1	= 8,
dGM	.	5-2-14-2	
as (S3’ Se) 	1	= 5,
dGM	„ x	4-2-14-5	
as (s<’ Si) ~	1	= 7,
dGM, „ „ .	4-2-24-2	
as (s<’ Se) ~	2	= 1.
Остальные значения производной равны оо. Производная (dGM/dS)(Si, Sj) имеет минимальное значение на паре (Si, Ss). Этой паре состояний ставим в соответствие “пересечение” соответствующих вершин строящегося дерева. Согласно алгоритму объединяем в пары состояния Si, Ss и St, St. В результате построим следующий ярус дерева.
Матрица Qc, соответствующая вершинам построенного яруса, имеет вид
	Si f1 Ss 1	Sa n S3 0	S3 n St 0	*1
	0	1	0	Xl
	1	0	0	X2
	0	0	1	X2
Qc —	0	0	0	f3
	0	0	0	X3
	0	1	0	У1
	1	0	0	Vi
	0	0	0	У2
	0	0	1	У2
Частотная матрица отношений, соответствующая матрице Qc, имеет следующий вид:
Fc =
3 0 о
0 °|| 3 0 0 3(1
Значения производной равны оо.
Искомое кодирующе дерево изображено на рис. 4.22,6. Взвешиваем исходящие из каждой вершины дуги 0 и 1. Согласно построенному кодирующему дереву имеем следующие коды внутренних состояний автомата: Si — 010, Sa — 100, St — 101, St — 110, S5 — Oil, St — 111.
296
Гл. 4. Теория формальных грамматик и автоматов
Рассмотрим кодирование внутренних состояний автомата, исходя из удовлетворения требований надежности. Функционирование автомата может нарушаться в результате неодинаковой задержки в реальной схеме, реализующей автомат из-за явления го-
нок, сущность которого можно проиллюстрировать на следующем примере (рис. 4.23). Пусть в рассматриваемый момент переключаются два триггера, Аи В (событийное условие), причем функция возбуждения одного из триггеров, например, В, содержит в
Рис. 4.23
качестве одной из переменных значение триггера А: <рв = <?( • •,	, ...) (функ-
циональное условие); время задержки в схемах возбуждения триггеров А и В определяется неравенством &ва > ^А {&ВА — время, в течение которого необходимо наличие “старого” значения триггера А в схеме возбуждения триггера В; tA — время задержки сигнала возбуждения триггера А) (временное условие).
При выполнении этих трех условий значение триггера будет вычислено неправильно (так как для правильного вычисления значения триггера В необходимо, чтобы триггер А сохранял свое “старое” значение по крайней мере в течение времени Зт (после начала перехода
автомата), а триггер А “обновляет” свое значение через т). Это — так называемое явление гонок. При наличии гонок автомат пе-
реходит не в то состояние, которое указано при данном переходе, что приводит к нарушению автоматного соответствия.
Гонки можно устранить, нарушив одно из трех условий гонок. Для того чтобы нарушить временное условие, т. е. чтобы выполнялось неравенство Двд < t^, необходимо иметь схемы возбуждения триггеров А и В для определения Два и tA- Эти схемы будут получены только на этапе структурного синтеза, для проведения которого необходимы результаты кодирования внутренних состояний. Следовательно, при логическом устранении гонок нарушение этого условия неосуществимо. Технически третье условие можно нарушить, вводя второй каскад элементов обратной связи или с помощью синхронного выполнения схемы автомата.
Второе условие наличия гонок, т.е. условие <рв = </?(..., z^,...), можно нарушить функциональным развязыванием элементов памяти, например применяя подстановочные разбиения.
Первое условие (переключение двух и более элементов памяти при одном переходе автомата) нарушается, если при любом переходе автомата переключается только один элемент памяти. Это означает: каждому внутреннему состоянию автомата сопоставляет
§4.5. Кодирование внутренних состояний
297
ся такой код, что если существует переход из состояния 5,- в состояние Sj (S{ ф Sj), то соответствующие им коды отличаются только в одном разряде. Другими словами, при реализации автомата гонки отсутствуют, если соответствующий граф переходов можно расположить в n-мерном гиперкубе так, чтобы переходы из состояния S, в состояние Sj (S,- Sj) осуществлялись только по ребрам гиперкуба и коды соответствующих вершин гиперкуба были сопоставлены вершинам графа переходов. Такое кодирование называется соседним.
Будем говорить, что для графа переходов возможно соседнее кодирование кодами длины п, если он вложим в n-мерный куб. Приведем условие вложимости графа переходов в гиперкуб.
Из анализа гиперкуба следует, что если хроматическое число h(G) графа переходов G (без учета дуг, являющихся петлями) больше 2, то для такого графа переходов не существует соседнего кодирования. Таким образом, чтобы граф переходов G имел соседнее кодирование, требуется, чтобы он не содержал циклы нечетной длины. Если же он их содержит, то необходимо устранить все циклы нечетной длины, вводя дополнительные внутренние состояния, в которых не реализуется отображение X -> У. Эти состояния называют неустойчивыми внутренними состояниями.
Рассмотрим точный алгоритм соседнего кодирования, основанный на учете запрещенных фигур, характеризующих вложимость кодируемого графа в гиперкуб.
Пример 4.3. Пусть задан граф переходов автомата (рис. 4.24), который изображен без отображений X —> Y, петель, кратных дуг и ориентации (поскольку
это несущественно при решении задачи соседнего кодировании). В соответствии с выведенными ранее условиями, чтобы соседнее кодирование было возможно, необходимо и достаточно, чтобы граф ие содержал запрещенных подграфов. При проектировании автомата необходимо так преобразовать эти графы, чтобы все они стали вложимыми. Данное преобразование не нарушает функционирования автомата только в том случае, если каждый новый граф гомеоморфеи предшествующему. Практически преобразование сводится к добавлению новых вершин в некоторые ребра каждого запрещенного графа, являющегося подграфом данного графа переходов. Этим самым вводим неустойчивые внутренние состояния автомата. При оптимальном проектировании число вводимых неустойчивых состояний должно быть минимальным.
298 Гл. 4. Теория формальных грамматик и автоматов
Таблица 4.7
	Ri	R,	R3	Ri	R3	Re	R1
Zi ={01,02}	1	0	0	0	0	0	0
h = {02,03}	1	0	0	0	0	0	0
l3 ={оз,ое}	1	1	0	0	0	0	0
Ze ={oe,o5}	1	0	0	0	0	0	0
Ze = {03, oe}	1	0	0	0	0	0	0
Ze ={oi,o6}	1	0	0	0	0	0	0
Z? = {oe, 07}	1	0	0	0	0	0	0
Ze ={07,09}	1	0	0	0	0	0	0
Z9 ={03,09}	1	1	0	0	0	0	0
Z10 = {01,03}	1	0	0	0	0	0	0
Zu = {oe, 010}	1	0	0	0	0	0	0
Z12 = {oe, 010}	1	1	0	0	0	0	0
Z13 = {09, 010}	1	1	1	0	1	1	1
he = {09, 013}	0	1	1	0	1	1	1
he = {oio, oie}	. 0	0	1	0	0	1	1
Zie = {oio, oie}	0	1	0	0	1	0	0
Z17 = {010, 017}	0	0	1	0	1	1	1
Zie = {oie, oie}	0	0	1	0	0	1	1
Z19 = {03, Ou}	0	1	0	0	0	0	0
Z20 = {011, oie}	0	1	0	0	0	0	0
hi = {012, 013}	0	1	1	1	0	1	0
Z22 = {012, 013}	0	1	1	1	0	1	0
Z23 = {013, oie}	0	1	1	1	1	0	1
hi = {oie, oie}	0	1	1	1	0	0	1
Z25 = {oie, oie}	0	0	0	1	0	1	1
Z26 = {013, 010}	0	0	0	1	0	1	1
Z27 = {013, O17}	0	0	1	0	1	1	1
Двухмерная таблица (табл. 4.7) распределения ребер по запрещенным фигурам (рис. 4.25) покрывается двумя строками {Ьз, Z21}. Добавляя между вершинами vs, «io и on, ой вершины, соответствующие неустойчивым состояниям, вкладываем полученный граф в булево пространство (рис. 4.26).
При введении дополнительных вершин в граф разрешенные фигуры (циклы четной длины) не были нарушены.
Пример 4.4. Построим соседние коды для внутренних состояний автомата, граф переходов которого изображение рис. 4.27, а. При вложении рассматриваем граф без петель, без ориентации Дуг и кратные ребра заменяем одним ребром. С учетом этого кодируемый граф содержит запрещенные фигуры вида:
Qi =<Vi,IA),
(?2 = {V2, U2),
q3 = {v3,u3},
Qi = (Ve, Ui},
У, = {Si,	S2,	S3},	Е7,	=	{{Si,	S2},	{Si,	S3},	{S2,	S3}};
V2•= {S2,	Si,	Se},	U2	=	{{S2,	Se},	{S2,	Se},	{Se,	Se}};
Уз = {Se,	S5,	S6},	U3	=	{{Se,	S5},	{Se,	S6},	{S5,	S6}};
Vi ={Si, S2, S3, Se, S5},
Ui = {{Si, S2}, {Sj, S3}, {S3, S5}, {Se, S5}, {S2, Se}};
§4.5. Кодирование внутренних состояний 299
QS = {VS, Us), Vs = {Su S2, S3, Ss, Se},
U5 = {{S,, S2}, {Si, S3}, {S3, S5}, {S5, S6}, {S2, Se}};
Qe = (Ve, Ut), V6 = {Si, S3, St, S5, S6},
U6 = {{S2, s3}, {S3, Se}, {Se, S6}, {S4, S6}, {S2, S4}};
<?7 = {Vlt Uj), Vj = {Si, S3, S4, Se, S6},
Uj = {{S2, Se}, {Si, Se}, {S2, S3}, {S4, S5}, {S5, S6}, {S3, S5}}.
Рис. 4.25
Рис. 4.26
300
Гл. 4, Теория формальных грамматик и автоматов
Рис. 4.27
Разрешенными фигурами при вложении графа в гиперкуб являются циклы четной длины вида:
Ri = (И, Ur), Vi = {S2, S3, S4, Ss},
t/i = {{Sa, Sb}, {S2) S3}, {S3, S5}, {S«, Ss}};
Яа = (V2, U3), V2 = {S2, S4, S3, S6},
U2 = {{S2, S4}, {S4, Ss}, {Ss, S6}, {S2, Sb}};
Rs = (V3, U3), V3 = {S2, S3, Ss, Ss},
u3 = {{S2, S3}, {S3, Ss}, {Ss, Sb}, {S2, Sb}};
Ra = (Vi, u4), Vi = {Si/ i = 1, ..., 6},
U4 = {{Si, S2}, {Si, S3}, {S3, Ss}, {Ss, Se}, {Sb, S6}, {S2, Sb}}.
Таблицу, показывающую распределение компонент в запрещенных и/или разрешенных фигурах, как и выше, будем называть семантической.
Таблица 4.8
Л1	Rs	Rs	r4	Ребра	Qi	Qs	Qs	Qb	Qs	Qs	Qr
0	0	0	1	а = {Si, S2}	1	0	0	1	1	0	0
0	0	0	1	b={SbS3}	1	0	0	1	1	0	0
1	0	1	0	с = {S2, S3}	1	0	0	0	0	1	1
1	1	0	1	d={S2,S4}	0	1	0	1	0	1	1
0	1	1	0	e = {S2, Se}	0	1	0	0	1	0	1
1	0	1	1	f = {S2,S5}	0	0	0	1	1	1	1
1	1	0	0	<7= {S4, $s}	0	0	1	1	0	0	1
0	0	0	1	fc = {S4,S6}	0	1	1	0	0	1	0
0	1	1	1	m = {Ss,Se}	0	0	1	0	1	1	1
Строим семантическую таблицу (табл. 4.8). При введении неустойчивых состояний в графе переходов возможно преобразование циклов четной длины в циклы нечетной длины, поэтому слева
§ 4.5. Кодирование внутренних состояний
301
от собственно семантической таблицы расположим таблицу циклов четной длины. Согласно структуре запрещенных фигур вложения графа в гиперкуб для соседнего кодирования внутренних состояний автомата необходимо, чтобы покрытие семантической таблицы было сформировано с учетом принципа четности: каждое покрытие включает четное число ребер, принадлежащих каждому циклу четной длины и нечетное число ребер, принадлежащих каждому циклу нечетной длины. Эта таблица имеет 28 покрытий:
(а 4- b 4- с) • (d 4- е 4- к) • (д 4- к 4- т) • (а 4- b + d 4- f 4- д) х
х (а4-^4-е4-/4-т) •(c4-d4-/4-*4-m) -(c4-d4-e4-/4-p4-ni) = = adg 4- bdg 4- cgdf 4- aegf 4- begf 4- ceg 4- akc 4- adk 4- ake 4-
4- akg 4- акт 4- akf 4- bck 4- bdk 4- bek 4- bkg 4- bkm 4- bkf 4- deck 4-
4- dmck 4- ckf 4- ckgm 4- adm 4- bdm 4- cdm 4- aem 4- bem 4- cemf.
Оценим покрытия. Первому покрытию {а, d, д} соответствует
0	2	2	2	ft	1	1	1	3	1	1	2
щий частоту вхождения элементов покрытия в разрешенные и запрещенные фигуры.
Спектр частот удовлетворяет критерию вложимости графа в гиперкуб. Следовательно, первое покрытие порождает граф (рис. 4.27,6), гомеоморфный заданному, вложимый в гиперкуб и имеющий на три вершины больше, чем исходный граф переходов. Аналогичная проверка остальных 27 покрытий не улучшает решение, полученное по первому покрытию. Следовательно, введение трех неустойчивых состояний, Sa, Sp, на переходах Si —> S2, S2 —> S4, S4 —> S5 позволяет закодировать граф переходов соседними кодами минимальным образом:
Si — 1010, S2 — 0000, S3 —0010, S4 —0101, S5 — ОНО, S6 —0100, Sa — 1000, Sp — 0001, R^ — 0111.
Граф, гомеоморфный графу переходов (рис. 4.27, а) с введенными неустойчивыми состояниями и соседними кодами, представлен на рис. 4.27, в.
Пример 4.5. Рассмотрим соседнее кодирование еще одного автомата, заданного графом переходов G (рис. 4.28, а). Удаляя веса иа дугах и петли, снимая ориентацию дуг, объединяя параллельные ребра (рис. 4.29, а), находим, что граф содержит запрещенные фигуры Qi и Q2 (рис. 4.29, б):
Qi{Vu Ux}, И = {Si/ i = 1, 2, ..., 9},
Ui = {{Si, S3}, {Sb S5}, {Si, S.}, {S2, S3}, {S2, S6}, {S2, S7}, {S3, Sg}, {S<, S5}, {Se, Se}, {Se, S7}, {Sa, Sa}, {S3, Se}};
Q2(V2, U2), V2 = {Si, S3, S5, S4, Se},
U2 = {{51, S3}, {Si, S5}, {Si, S.}, {S3, S8}, {S5, Sa}, {Sa, Sa}}.
302
Гл. 4. Теория формальных грамматик и автоматов
Для их устранения достаточно расщепить одно из ребер, вошедших в пересечение этих запрещенных фигур, двумя вершинами (введение одной вершины на ребро порождает новую запрещенную фигуру — цикл нечетной длины). Для определенности расщепляем ребро {Se, Sg} введением двух неустойчивых состояний, Sa, 5д. В результате получаем граф G, гомеоморфный заданному графу
Рис. 4.29
§4.5. Кодирование внутренних состояний
303
переходов G и вложимый в гиперкуб (см. рис. 4.28,6):
Si — ОНО, Si — 0010, S9 — ООН,
S2 — 0101, Se — 0001, Sa — 1010,
S3 — 0111, Sr — 0100, Sff — 1011.
Si — 0000,
Se — 1110,
Зная структуры запрещенных фигур соседнего кодирования и используя локальные характеристики графа G, мощности множеств вершин |V| и ребер |17|, плотность графа p(G) и его степень s(G), предложим алгоритм фактического вложения графа переходов в гиперкуб. По характеристикам графа |V|, |С7|, p(G), s(G) определяем вид запрещенных фигур, которые могут содержаться в заданном графе переходов и по структуре которых можно оценить количество вводимых неустойчивых состояний.
Утверждение. Размерность гиперкуба, в который вкладывается граф, гомеоморфный графу переходов G, не меньше степени s(G) графа G.
Используя это утверждение, предложим приближенный алгоритм соседнего кодирования.
Перед проведением соседнего кодирования введем понятие окрестности радиуса R вершины и,.
Окрестностью радиуса R вершины v называется множество вершин {v,}, для каждой из которых минимальная длина цепи [и, ..., и,] равна R.
Предлагаемый алгоритм соседнего кодирования состоит из следующих шагов.
1. В графе переходов G находим вершину Vo максимальной степени smax, причем при подсчете степени вершин параллельные ребра, т. е. ребра, имеющие одинаковые концы, различные между собой, условно считаем за одно ребро; петли графа переходов при подсчете s(v) не учитываем. В дальнейшем будем называть найденную вершину Vo центром соседнего кодирования. Центр соседнего кодирования Vo образует окрестность радиуса R (R — 0) вершины Vo. Кодируем произвольным образом вершину v0.
2. Рассматриваем окрестность радиуса Я на 1 больше, чем радиус предыдущей закодированной окрестности.
При рассмотрении вершин окрестности радиуса R возможны три случая, когда необходимо вводить дополнительные вершины, соответствующие неустойчивым состояниям автомата:
а)	к вершин рассматриваемой окрестности попарно смежны, т. е. образуют полный подграф. В каждое ребро этого полного подграфа помещаем дополнительную вершину;
б)	имеется вершина va, которая смежна с т (т > R, R — радиус рассматриваемой окрестности) вершинами окрестности радиуса R — 1. В этом случае на каждое из т — R ребер, выбранных произвольным образом и соединяющих вершину va с вершинами окрестности радиуса R - 1, помещаем дополнительную вершину;
304
Гл. 4. Теория формальных грамматик и автоматов
в)	число вершин Nr рассматриваемой окрестности радиуса R больше числа сочетаний из s(G) по R,
где — число вершин 5(С)-мерного куба, коды которых отличаются в R разрядах от кода центра соседнего кодирования. Тогда введением дополнительных вершин, смежных с одной стороны с
а
б
Рис. 4.30
вершинами окрестности радиуса й - 1 и с другой стороны с вершинами, наличие которых обусловливает выполнение неравенства МТ)>»
у Л /
переводим избыток вершин в окрестность радиуса R + 1 так, чтобы число вершин окрестности радиуса не превосходило (*^).
§ 4.6. Построение выходных функций
305
После введения дополнительных вершин согласно пп. а)-в) производим соседнее кодирование вершин окрестности радиуса R.
3. Увеличиваем радиус рассматриваемой окрестности на 1 и переходим к п. 2), и так до тех пор, пока не получим искомое соседнее кодирование внутренних состояний автомата. При выполнении п. 2) может возникнуть ситуация, когда размерности гиперкуба не хватает. В этом случае размерность увеличиваем на 1 и переходим к п. 1).
Проиллюстрируем этот алгоритм кодированием вершин графа переходов G (рис. 4.28, а).
Находим вершины максимальной степени. Таких вершин в графе две, Si и Sg, степень равна 4. За центр соседнего кодирования выбираем эти вершины по очереди. Сначала выбираем вершину Si и присваиваем ей код 0000. Тогда вершины S7, S3, S&, Sa образуют окрестность радиуса R = 1 (рис. 4.30,а). Условия пп. а)-в) для этой окрестности не выполняются, следовательно, имеется соседнее кодирование. Оно следующее:
S7 — 0001, S3 — 0010, S5 — 0100, Sa — 1000.
Окрестность радиуса R = 2 образуют вершины Sj, Sa, S4. При кодировании вершин этой окрестности получаем противоречие, соответствующее переходу Sa ~♦ Sg.
Расстояние по Хэммингу между кодами этих вершин равно 3, следовательно, введением двух неустойчивых состояний, Sa и согласуют этот переход. Вводимая вершина Sp принадлежит окрестности радиуса R = 3, в нее же входит И вершина Sg. В результате получаем коды остальных состояний Sg, Sg, S4 и вновь введенных Sa и S^:
S2 — ООН, S4 — 0101, Sg — ОНО, Sa — 1100, S3 — 1110.
При выборе в качестве центра соседнего кодирования вершины Sg, действуя по этому алгоритму, получаем (рис. 4.30, б) противоречие при переходах Si —>• S5 и St —> Si. Для устранения этих противоречий необходимо ввести четыре неустойчивых состояния: Sa, Sg, Sc, Sj. Соседние коды этого способа кодирования имеют следующий вид;
Si — 1001,	St	— 0101,	S3 — 0001,	S4	— ОНО,	S5 —	ООН,
Sg — 0100,	St	— 0111,	Sa — 1000,	Sg	— 0000,	Se —	HOI,
Sb — 1111,	Sc	— 1010,	Sd — 1011.
§ 4.6.	Построение выходных функций и функций возбуждения памяти автомата
После абстрактной оптимизации и кодирования внутренних состояний автомата автоматный оператор задается системой функций возбуждения и выходных функций. Перед построением этой системы рассмотрим элементы памяти: триггер с раздельными входами и триггер со счетным входом.
Триггером с раздельными входами называется автомат, таблица состояний и граф переходов которого имеют соответственно вид табл. 4.9. и рис. 4.31, а.
Рассмотрим реализацию триггера с раздельными входами в импликативном базисе {—>, 0). Используя метод прямого моделирования, получаем
— (st —З-нул*) xent.
306 Гл. 4. Теория формальных грамматик и автоматов
и ее реализация в импликативном базисе представлена на рис. 4.32. Постоянная времени r определяется задержкой сигнала от входов к выходу в схеме триггера.
Таблица 4.9
ХДД t	Яиуд t	St	«t+г
0	0	0	0
0	0	1	1
0	1	0	0
0	1	1	0
1	0	0	1
1	0	1	1
1	1	0	—
1	1	1	—
Триггером со счетным входом называется автомат, таблица состояний и граф переходов которого имеют соответственно вид
Рис. 4.32
Таблица 4.10
ЗГсЧ €	St	St+r
0	0	0
0	1	1
1	0	1
1	1	0
табл. 4.10 и рис. 4.31, £ Согласно табл. 4.10 функция триггера со счетным входом имеет вид
®<4-т(3'сч<> ®t) ~ V
Возбуждение счетного входа переводит триггер в противоположное состояние. Читателю в качестве упражнения предлагается синтезировать схему триггера со счетным входом в коимпликативном базисе.
Рассмотрим построение выходных функций и функций возбуждения элементов памяти на примере закодированного автомата (рис. 4.27). Для определенности в качестве элементов памяти возьмем триггеры со счетным входом.
Каждый элемент памяти своим значением разбивает все множество состояний на два класса (табл. 4.11).
Таблица 4.11
i	Zi = 0	Zi = 1
1	{SJ j = 2,3,4, 5,6,/3, 7}	{Sj/j= l,a}
2	{S}/ j = l,2,3,a,/3}	{Sj/ j = 4,5,6,7}
3	{Sj/ j = 2,4,6,a,/3}	{Sj/ j =1,3,5,7}
4	{Sj/ j = 1,2,3,5,6, a}	{$, / j = 4,/3,y}
§4.6. Построение выходных функций
307
Для уменьшения функциональной связности функций возбуждения, используя разбиение множества состояний на классы, построим таблицы, указывающие условия переключения элементов памяти (табл. 4.12).
Таблица 4.12
*1	«г	
	z~ = 0	2Г = 1
Ы *4 II It h- о	0,2,3 6	7
*2		
	z? = 0	гг — 1
О я-t II It +г»+см	0, 3,6,7,— 5	о, - 4,5,7,-
гз	«Г	
	ч = о	23 — 1
14 14 II II н* о	0, 2,4,5, -7	4 0,6,-
		
	= 0	24 — 1
14 14 *+*+ II II о	0,2,3,4,5,6,7,-5,-	0 4,-
Анализ построенных таблиц показывает, что функция возбуждения первого элемента памяти зависит от входного вектора и состояния этого элемента. Таблица переходов второго элемента памяти противоречива, так как переходы 0 —> 0 и 0 —> 1 происходят при одном и том же значении входного вектора, равном 0, И переходы 1 —> 0 и 1 —> 1 — при значении входного вектора, равном 5.
Недетерминированность переходов имеет место в таблицах, соответствующих третьему и четвертому элементам памяти: в третьей таблице переходы 0 -4 0 и 0 —> 1 происходят при одном и том же Значении входного вектора, равном 4, в четвертой таблице— пере-Ходы 0 —> 0 и 0 —> 1 — при векторе, равном 0. Условия переходов, 'Обозначенные в таблицах прочерком, соответствуют переходам из Неустойчивых состояний Sa, Sp, S7, и для устранения недетерминированности при этих переходах необходимо учитывать состояния всех элементов памяти. Для определения минимального количества элементов памяти, состояния которых необходимо учитывать при ликвидации противоречивых переходов, вызванных Одним и тем же значением входного вектора в строках таблиц, Построим табл. 4.13.
308 Гл. 4. Теория формальных грамматик и автоматов
Таблица 4.13
Xi	Z2		23	Z4
	{S2-+Sp,S3-+S$}	{S4 —> Sg, Se —+ S2 }	{S< -+ Sy, Sg -+ Se}	{Sa -+ S/j, S3 —> S3 }
0	1	0	0	1
4	0	0	1	0
5	0	1	0	0
Первые два столбца таблицы соответствуют противоречивым переходам при переключении второго элемента памяти, остальные два — при переключении третьего и четвертого элементов. Для устранения этих противоречий достаточно входной вектор 0 расширить внутренней переменной z£ (так как этой переменной различаются коды состояний S2, S3), векторы 4 и 5 расширить внутренней переменной z+ (так как коды состояний S4, Se различаются переменной z*).
Окончательно функции возбуждения элементов памяти имеют следующий вид:	_
<Pi(X, zf) = ZfXiX2X3,
Ч>Т.(Х, z+, z+, zf, z+) = zfxix2x3 V z2+ (z1i2z3z^' V z*z + z4+), <p3(X, Z3+, Z4+) = Z^X1X2X3 VZ3+ Z1Z2Z3Z4+,
<p4(X, z+, zf, zf, z+) = zt(xiX2X3Vzfzjzf)VzfxiX2X3zf.
Полученная система функций возбуждения может быть еще более упрощена, если учесть, что булевы функции, описывающие работу рассматриваемого автомата, являются частично определенными. Рассмотрим это упрощение на примере второй выходной функции. Рабочая и запрещенная область булевых функций автомата определяются его переходами. В рассматриваемом автомате имеем 14 переходов, которые определяют табл. 4.14.
Таблица 4.14
Si -»• Sj	Xi	X2	Хз	*1	»2	*3	*4	У1	
Si —> Sa	1	1	1	1	0	1	0	0	0
Si —> S3	1	1	0	1	0	1	0	0	1
S2 S2	0	1	0	0	0	0	0	1	1
S2 S/з	0	0	0	0	0	0	0	1	0
S2 S3	0	1	1	0	0	0	0	1	0
S2 —> S5	0	0	0	0	0	1	0	1	1
S4 —> S-f	1	0	0	0	1	0	1	1	0
S4 —> Se	1	0	1	0	1	0	1	1	0
S5 —> Se	1	1	1	0	1	1	0	0	1
Se S2	1	0	1	0	1	0	0	0	0
S3 —> Se	1	0	0	0	1	0	0	1	0
Sa ~ ¥ S2	—	—	—	1	0	0	0	—	—
Sfi S4	—	—	—	0	0	0	1	—	—
S-f —> S5	—	—	—	0	1	1	1	—-	—
§4.6. Построение выходных функций 309
Из 128 точек 7-мерного куба выходная функция у2 определена на 11 точках, из них на 4 она принимает единичное значение (рабочая область функции), на остальных 7 — нулевое значение (запрещенная область функции).
Используя таблицу различий (табл. 4.15), выделим пучки максимальных интервалов для каждой точки рабочей области.
Таблица 4.15
Тачки рабочей области	иною	0000000	О11ОООО	1000101	1010101	1010100	1000100
1	0	1	1	0	0	0	0
1	0	1	0	1	1	1	1
0	1	0	1	0	1	1	0
1	0	1	1	1	1	1	1
0	0	0	0	1	0	1	1
1	0	1	1	1	1	1	1
0	0	0	0	1	1	0	0
0	1	0	0	1	1	1	1
1	0	1	0	1	1	1	1
0	1	0	1	0	1	1	0
0	1	0	0	0	0	0	0
0	0	0	0	1	1	1	1
0	1	0	0	0	0	0	0
0	0	0	0	1	1	0	0
0	1	0	0	1	1	1	1
0	1	0	1	0	0	0	0
0	1	0	1	0	1	1	0
0	1	0	0	0	0	0	0
0	0	0	0	1	1	1	1
1	0	1	1	1	1	1	1
0	0	0	0	1	1	0	0
1	0	1	1	0	0	0	0
1	0	1	0	1	1	1	1
1	0	1	0	1	0	0	1
0	1	0	0	0	0	0	0
1	1	1	1	0	0	0	0
1	0	1	1	1	1	1	1
0	0	0	0	1	1	0	0
В результате сжатия таблиц различий и их покрытия получаем, что первая рабочая точка 1101010 содержится в максимальных интервалах —01------, —0—1-, вторая точка 0100000 содержится
в -10-----, третья точка 0000010 — в —0—1-, четвертая точка
1110110 — в-------11-.
Следовательно, выходная функция y2(JV, %+) имеет следующий вид:
у2(Х, Z+) = z+(х2 V z+) V z2x3.
Минимизация булевой функции была проведена без учета переходов из неустойчивых состояний. В зависимости от назначения управляющего автомата и физического представления 1 и 0 входные векторы Z+, соответствующие неустойчивым состояниям, от
310 Гл. 4. Теория формальных грамматик и автоматов
носят в запрещенную область при минимизации логического выражения, описывающего условия истинности единичного значения минимизируемой булевой функции, или в запрещенные области при минимизации логических выражений, описывающих условия истинности единичного и нулевого значения булевой функции. Для учета переходов, соответствующих неустойчивым состояниям, необходимо проанализировать в упрощенном логическом выражении конъюнкции, состоящие только из внутренних переменных z+, и если эта конъюнкция обращает на неустойчивых переходах логическое выражение в 1, то приписываем отрицания внутренних переменных, кодирующих неустойчивые состояния, с целью устранения истинности на этой конъюнкции.
В нашем случае необходимо к конъюнкции z? z£ приписать отрицание внутренней переменной zj, так как у2 = 1 при неустойчивом переходе из состояния 57.
Если относить входные векторы, соответствующие неустойчивым состояниям, в запрещенные области до покрытия таблиц различий, то в общем случае, как нетрудно показать, будет усложнение окончательного логического выражения.
В рассматриваемом случае итоговое выражение для у2(Х, Z+) имеет вид
(х3 V z*z+) V z2z3-
Определение упрощенного вида первой выходной функции оставляем читателю в качестве упражнения.
§ 4.7. Синтез логических структур в топологических базисах
Рассмотрим проектирование логической схемы как синтез соответствующего булева графа. Разобьем все множество базисов на три класса: топологические, функциональные, нейронные.
В топологических базисах полнота используемых при синтезе функций достигается соответствующим физическим моделированием двоичных переменных и определенным соединением заданных элементов. Такие базисы образуют все ключевые элементы, токовые ключи, криотроны, переключатели света, спейсисторы, деплисторы, унитроны и другие вентильные элементы, которые используются в вычислительной технике как элементы с высоким быстродействием.
В функциональных базисах элементы независимо от их соединения и физического моделирования двоичных переменных реализуют функции, образующие полную систему булевых функций. К таким базисам относятся, например, элементы, которые реализуют функции Шеффера, Вебба, импликации и др. Нейронные элементы обеспечивают полноту путем их индивидуализации.
§ 4.7. Синтез логических структур в топологических базисах 311
Множество топологических базисов в свою очередь разобьем на четыре класса. Первый и второй классы образуют элементы, пропускающие информационный сигнал в одном направлении при совпадении значения управляющего сигнала с буквой, взвешивающей этот элемент. Но в элементах первого класса прошедший сигнал распространяется по каналам с односторонней проводимостью, а в элементах второго класса — по каналам с двусторонней проводимостью.
К первому классу относятся диодно-вентильные элементы, в случае оптической обработки информации с использованием волоконной техники — переключатели света, ко второму — вентильные элементы (например, спейсистор-триод).
На входах схемы, составленной из рассматриваемых элементов, как и на входах системы, построенной из элементов любого топологического базиса, используется парафазное представление двоичной информации.
Третий и четвертый классы образуют элементы, пропускающие информационный сигнал в обоих направлениях при совпадении значения управляющего сигнала с буквой, взвешивающей Этот элемент.
В элементах третьего класса прошедший сигнал распространяется по каналам с односторонней проводимостью, а в элементах четвёртого класса — по каналам с двусторонней проводимостью.
К элементам третьего класса относятся, например, туннель-троны и диодно-контактные элементы; к элементам четвертого — ключевые элементы с двусторонней проводимостью (криотроны, контакты).
Таким образом, все множество Аксой J топологических базисов разбито ~ на четыре класса по двум призна-	mw?
Кам: по проводимости элемента и Синапс— до проводимости соединительного	Тело нейрона
канала.	рис. 4 33
Основой элементов третьего
класса является нейрон, формальная модель которого предложена американскими учеными У. Мак-Каллоком и У. Питсом и развита С. Клини, Д. Калбертсоном, Дж. фон Нейманом и другими. Условия возбуждения нейрона описываются функцией вида
^.,«2......Х*)=Ь
(о в противном случае,
где = 0, 1; w, — вес i-ro синапса (места контакта аксона и тела нейрона (рис. 4.33)); Р — порог возбуждения нейрона.
312 Гл. 4. Теория формальных грамматик и автоматов
Фиксацией весов синапсов и порога нейрон настраивается на реализацию любой булевой функции от к переменных.
В качестве функционала качества проектируемой схемы возьмем количество переключательных элементов, содержащихся в ней. Этот функционал в дальнейшем будем называть сложностью L(S) схемы S.
Рассмотрим проектирование логических схем в топологических базисах первого класса на примере булевой функции /(zj, ®2» • • •» заданной своей дизъюнктивной нормальной формой (ДНФ):
f(xi, х2, ..., 1ц) — Х4Х5Х9 V Z1Z5Z10 V ziz2z3z4z5 V
V Х5Х9Х11 V X1X2XG V Z8Z9Zn V Z7ZgZn V	V
V Z1Z5Z11 V Z3Z4Z8 V XfXsXli V
Каждая простая импликанта реализуемой булевой функции взаимно однозначно соответствует пути в структурном графе. При этом первичные термы х°', входящие в простую импликанту, взвешивают вершины соответствующего пути.
Реализуемая булева функция f определяется моделью Фа(/): *«(/) = (V, $3, S5), S3CV3, S5CV5,
V = {zi,. х2, z3, z4, z5, z6, z7, ®8, X9, Zio, zu},
S3 = {{z4, z5, z9}, {zi, Z5, Zip), {x5, x9, zuJ, {zb z2, z6},
12	4	5
{z8, Z9, Zu}, {z7, z9, zn}, {x2, Z3, Z7), {Zi, Z5, ZU), '----2-----------7----- ----------------9-----
{Z3, Z4, Z8), {z4, Z8, zn}, {zb Z7, Zu}},
10	11	12
S5 = {{zb Z2, Z3, z4, Z5J }.
3
Зададим модель Фа(/) в виде мографа, при этом роль букв играют первичные термы, слов — простые импликанты.
Задание булевой функции в виде мографа позволяет наряду с чисто логическими свойствами функции исследовать ее частотные и топологические свойства, что позволяет естественным образом рассматривать проектирование булева графа как преобразование мографа в диаграмму Хассе, задающую частично упорядоченное множество.
Вершина и называется разделяющей в структурном графе, если любой путь графа содержит ее.
Подграф Г структурного графа называется гамаком, если любой его (подграфа) путь содержит две разделяющиеся вершины, являющиеся соответственно минимальным и максимальным элементами этого подграфа.
§ 4.7. Синтез логических структур в топологических базисах 313
Замена минимального элемента гамака Г на максимальный И наоборот с одновременным изменением ориентации всех дуг на противоположное называется операцией взятия двойственной Структуры от гамака Г.
Синтезируем структурный граф последовательным построением путей, соответствующих рассматриваемым простым импликан-’Там. При этом построении выполнением операции взятия двойственной структуры будем сопоставлять общим частям в простых импликантах общие части в структурном графе. Если такое сопоставление выполнить нельзя, так как в графе возникают лишние Пути (т. е. пути, взвешенные конъюнкциями, не содержащимися > заданной ДНФ булевой функции), то производим расщепление .Первичного терма, т. е. сопоставление первичному терму более одной вершины в структурном графе. Естественно, что при одном расщеплении сложность схемы возрастает на единицу. Далее, Очевидно, что сложность схемы не может быть меньше мощности 'Носителя мографа, определяющего реализуемую булеву функцию, так как носитель состоит из существенных переменных.
Будем рассматривать простые импликанты в порядке их написания в ДНФ. В мографе они помечены соответствующими идентификаторами. Последовательное построение структурного графа «изобразим на рис. 4.34 на котором числа 1-12 обозначают присоединение очередного пути, соответствующего следующей простой ймпликанте, идентификатор которой совпадает с номером, указанным под графом.
1)	Задаем отношение упорядоченности в первой простой им-Пликанте 1415X9: 0(2:4) < 0(2:5) < vXg. Здесь и ниже запись о(хр) Означает вершину диаграммы, взвешенную термом х?‘.
2)	Присоединяем вторую простую импликанту. Чтобы не рас-Щеплять первичный терм х$ в построенной на первом шаге диаграмме, выполняем операцию взятия двойственной структуры от Гамака 1\ = (УГ1, Ут, = {2:4, 2:5}, Ur1 = {(х4, 2:5)}. В результате получаем диаграмму
Я2 = (У2, U2), У2 = {a?i, Х4, х5, х9, хю}, U2 - {(х5, х4), (х4, 2:9), (2:5, ®х), (2:1, Хю)}, соответствующую первым двум простым импликантам.
3)	Аналогично при построении третьего пути, соответствую-Тцего простой импликанте ХхХ2ХзХ4Х5, выполняем операцию взятия двойственной структуры от гамака Г2 = (Уг2, ^г2), Уг2 = {*4, tf?2 = {(*4, 2:9)}.
Окончательно получаем диаграмму
Нз = (Уз, U3), Уз = {^х, х2, х3, х4, х5,х9, х10},
#3 = {(З-З, Х9), (Х5, Х|), (х9, Х4), (Xj, Xjq),
(xi, Хз), (хз, х2), (х2, х4)}.
314
Гл. 4. Теория формальных грамматик и автоматов
Рис. 4.34
§4.7. Синтез логических структур в топологических базисах 315
4)	Присоединяем путь v(xs) < v(xg) < и(хц), соответствующий четвертой простой импликанте. Имеем диаграмму
Н4 - (V4, U4), V4 = {a?i, х2, х3, х4, х5, х9, х10, хц)> U4= {(х5,Х9), (25,21), (®9,2ц), (29,24),
(21, Хю), (21, Хз), (х3,22), (22, 24)}.
5)	Построение следующего пути, реализующего простую им-пликанту xix2xg, приводит к противоречию в диаграмме, если не производить расщепление первичных термов х4 и х2, так как построение этого пути с включением в него вершин диаграммы ff4, взвешенных х4 или х2, приводит к возникновению лишних путей. Расщепление отмечаем штриховкой первичного терма.
Аналогично строим всю диаграмму, реализующую заданную булеву функцию:
Hi2 = (V12, U12), V12 = {21, zi, х", х2, х2, х3, Хз, х4, х5, х6,
х7, х8, х8, х9, х'9, Хю, Хп),
^12 = {(27, 29), (х7, х"), (х7, Хз), (х8, Хэ), (х8, Хз),
(25, 29), (25, 21), (21, 2g), (21, 2g), (29, 2ц), (2g, 2ц),
(2i, 1ц), (29, 1ц), (29, 24), (21, 2ц), (21, Х2), (х2, 23),
(23, Х4), (Х1, Хю), (23, х2), (х6, х2)},
Ее сложность ЦН) равна 17 (было произведено шесть расщеплений).
Какова близость полученной сложности к абсолютно минимальной? Чтобы ответить на этот вопрос, необходимо породить все эквивалентные решения и сравнить их по сложности полученных структурных графов, что равно всевозможным способам упорядочения первичных термов в простых импликантах. В данном случае это число равно 43 535 646 720, так как количество различных упорядочений слов мографа равно П15«Р> где ls«l — число букв в i-м слове.	’
Тем не менее можно ответить на поставленный вопрос без перебора всех эквивалентных диаграмм Хассе, зная при этом семантику (смысл) проводимого преобразования мографа GM(f) в структурный граф H(J), GM(f) -> H(f) (см. теорему 3.47).
Рассмотрим, например, синтез структурного графа H(f), определяемого счетчиком четности: выходной канал принимает значение 1, когда возбуждено четное количество входных каналов. Рассматриваемую булеву функцию от трех переменных, задающую работу счетчика четности, можно рассматривать как модель
Ф = (М, S3), M = {Xi,Xi/ i=l, 2, 3),
{xi, х2, х3), {xi, х2, Хз), {xi, х2, Хз], {xi, Хз, х3) е S3
12	3	4
и задавать ее в виде (рис. 4.35, а).
316
Гл. 4, Теория формальных грамматик и автоматов
Согласно теореме 3.47 выделяем запрещенные фигуры реализуемого преобразования GM(f) —> H(f). Для этого рассмотрим сочетания вершин по три из шести. Из 20 сочетаний четыре удовлетворяют этой теореме. Они имеют вид
{xi, х2, Х3}, {xi, х2, Х3} {х2, Х1, х3} {х3, Х\, х2}.
Например, набор {x’i, х2, х3} обводим, так как ему соответствует цикл нечетной длины с циклической перестановкой весов. Набор {х;, х2, xi} вычеркиваем, так как вершины, соответствующие буквам набора, не образуют цикла.
а	б
Рис. 4.35
Набор {ri, хз, хз} также вычеркиваем, так как хотя соответствующие вершины и образуют цикл, но его веса не являются весами с циклической перестановкой.
Сочетания вершин по пять из шести не рассматриваем, так как число конъюнкций рассматриваемой функции (ранг функции) меньше пяти и, следовательно, сочетаниям этого вида заведомо не будут соответствовать искомые под-мографы.
Множество циклов нечетной длины с циклической перестановкой весов имеет следующий вид:
Таблица 4.16
ii	Q,			
	Qx	Qi	С?з	
xi(3,4)	1	1		
хз(2,4)	1		1	
х3(2,3)	1			1
xi(l,2)			1	1
хз(1,3)		1		1
Хз(1,4)		1	1	
Qi = {{xi, Хз}, {хз, хз}, {хз, xi}}, Q2 = {{xi, хз}, {хз, Хз}, {хз, Х1}}, <?з = {{xi, Хз}, {хз, хз}, {хз, Xi}}, Qi = {{xi, Хз}, {хз, Хз}, {хз, Х1}}.
Подмографов типа Б в мографе GM (рис. 4.35, а) не содержится.
Строим таблицу, каждому столбцу которой взаимно однозначно сопоставляем подмограф типа А или Б, строке — букву с идентификаторами слов, в которые она входит при образовании подмографа типа А или полного подграфа плотности 3 подмографа типа Б, и на пересечении »-й строки с j-м столбцом ставим звездочку, если буква с соответствующими идентификаторами слов, сопоставленная »-й строке, входит в подмодель, соответствующую у-му подмографу, в противном случае клетка (t, у) таблицы остается незаполненной. Построенную таким образом семантическую таблицу будем называть решетчатой. Использование термина “решетчатая” будет ясен ниже.
Решетчатая таблица имеет вид, приведенный в табл. 4.16.
В построенной решетчатой таблице производим покрытие столбцов строками.
§4.7. Синтез логических структур в топологических базисах 317
Для рассматриваемого примера имеем покрытия: первая, четвертая строки; вторая, пятая строки; наконец, третья, шестая строки.
Буквы, соответствующие строкам найденного покрытия решетчатой таблицы, расщепляются, т. е. в одном из слов эта буква переименовывается. При расщеплении буквы, соответствующей »-й строке, все подмодели вида Фр (2, 1), которые соответствуют столбцам, на пересечении которых с t-й строкой находится 1 в решетчатой таблице, понижают свой порядок иа единицу, т. е. преобразуются в подмодели нулевого порядка. Данное утверждение справедливо согласно основному свойству квазиполных моделей.
В результате расщепления всех букв, соответствующих строкам найденного покрытия решетчатой таблицы ТДНФ функции f преобразуется в решетчатую дизъюнктивную нормальную форму (РНДФ) функции /.
г Дизъюнктивная нормальная форма (ДНФ) функции f, для которой существует такое взаимно однозначное соответствие между первичными термами и вершинами структурного графа, что выполняется взаимно однозначное соответствие между конъюнкциями и путями графа, причем вершинам каждого пути сопоставлены первичные термы, образующие соответствующую конъюнкцию, и дизъюнкция конъюнкций соответствует объединению соответствующих путей, называется решетчатой ДНФ (РДНФ) функции f.
Сложностью РДНФ функции f называется число вершин соответствующего структурного графа. Как будет видно, сложность РДНФ в основном определяет сложность искомого функционального графа при структурном синтезе автомата.
Минимальной РДНФ (МРДНФ) функции f называется РДНФ (функции /, имеющая минимальную сложность из всех РДНФ, соответствующих функции /.
Для поиска МРДНФ функции f необходимо произвести перебор всех РДНФ для всех ТДНФ функции f и выбрать РДНФ с Минимальной сложностью.
Каждое покрытие решетчатой таблицы соответствует РДНФ тупиковой ДНФ функции /.
В рассматриваемом примере все три покрытия равносильны. Каждому из них соответствует РДНФ сложности 8. Для определенности выберем первое покрытие. После расщепления первичных Термов xi и xi получаем РДНФ функции f вида
f(x-L, х{, Х2, Хз) = xix2X3 УХ1Х2Х3У х[х2Х3 VX1X2X3.
Эта РДНФ является минимальной, так как функция f имеет одну ТДНФ, для которой полученная РДНФ является минимальной. Полученному решению соответствует мограф (рис. 4.35, б)
Не строя структурного графа, можно говорить о его сложности в силу взаимно однозначного соответствия между первичными Термами реализуемой РДНФ и вершинами синтезируемого графа. ^Сложность синтезируемого графа равна сложности реализуемой РДНФ. Это свойство предлагаемого метода решетчатых таблиц поз
318 Гл. 4. Теория формальных грамматик и автоматов
воляет существенно снижать трудоемкость при синтезе минимальных булевых графов.
Синтезируемый абсолютно минимальный структурный граф, реализующий булеву функцию /(xi, х2, ®з) счетчика четности и соответствующий найденной МРДНФ, имеет вид, изображенный на рис. 4.36.
Рассмотрим еще один пример синтеза абсолютно минимальных структурных графов.
Синтезировать абсолютно минимальный структурный граф, реализующий булеву функцию вида
/(xi, х2, х2, x4)|i = = V(0, 1,2, 4, 9, 11,13),
и равную 0 на остальных наборах.
Выделяем максимальные интервалы и строим импликантную таблицу (таблицу Квайна). Таблица Квайна для рассматриваемой функции имеет вид табл. 4.17.
Таблица 4.17
Максимальные интервалы	Единичные точки						
	0000	0001	0010	0100	1001	1011	1101
ООО-	1	1					
00-0	1		Ф				
0-00	1			ф			
-001		1			1		
10-1					1	ф	
1-01					1		ф
Единицы, обведенные кружком, в таблице Квайна определяют элементы ядра покрытия {2, 3, 5, 6).
Находим тупиковые ДНФ заданной функции, покрывая столбцы таблицы Квайна строками таблицы. Имеем два покрытия: первая, вторая, пятая, шестая строки и вторая, третья, четвертая, пятая, шестая строки. Этим двум покрытиям соответствуют ТДНФ функции fвида
Х2, Хз, Х4) = XiX32!4 V XiX2X4 V Х1Х3Х4 V XiX2X4 V XjX2X3, /"(xi, x2, x3, x4) = xix3x4 V xix2x4 V X1X3X4 V xix2x4 V x2x3x4.
Первой ТДНФ соответствует мограф (рис. 4.37, а), в котором имеются циклы нечетной длины с циклической перестановкой весов вида
Q1 = {®г(4, 5), х3(5, 3), х4(3, 4)},
Q2 = {xi(1, 2), х2(2, 5), х3(5, 1)},
Q3 = {х4(1, 2), х2(2, 5), х3(5, 1)}.
$4.7. Синтез логических структур в топологических базисах 319
Решетчатая таблица, соответствующая первой ТДНФ, имеет вид, приведенный в табл. 4.18. Решетчатая таблица имеет покры-
тия: вторая и третья строки (первое покрытие); третья и четвертая строки (второе покрытие); первая, шестая и седьмая строки (третье покрытие). Этим покрытиям соответствуют РДНФ первой ТДНФ функции / вида
/а(®1, х2, х3, х4, х'2) =
= 2:1X32:4 V Xl®2®4 V *1*3*4 V XiX^i V *1*2*3,
Л(*1, x2, X3, x4, x3) =
= X1X3X4 V X1X2X4 V X 1X^X4 V X1X2X4 V X1X2X3,
Xi	Qi		
	Qi	<?2	<Эз
*1(1,2)		1	
*2(4,5)	1		
*2(2,5)		1	1
*з(5,3)	1		
*з(5,1)		1	1
*4(3,4)	1		
*4(1,2)			1
/'(xi, X2, Хз, X4, xi, x'4) -
= х4хзх4Vx4x2x4V Х1Хзх^ V X1X2X4V xix2x3.
Таблица 4.18	Таблица 4.19
х.	Qi		
	Qi	Q2	<?з
*1(1,2)	1		
*2(2,5)	1		
*1(3,4)		1	
*з(5,1)	1		
*2(4,5)		1	1
*з(5,3)		1	1
*4(3,4)			1
Сложности решетчатых ДНФ соответственно равны = 7, 1(Я) = 7,1(f') = 9.
Второй ТДНФ функции f соответствует мограф (см. рис. 4.37), в котором имеются циклы нечетной длины с циклической перестановкой весов вида
Q1 = (*1(1, 2), х2(2, 5), х3(5, 1)),
Q2 = 1*1(3, 4), х2(4, 5), х3(5, 3)1,
<Эз = {*4(3, 4), х2(4, 5), х3(5, 3)}.
Решетчатая таблица, соответствующая второй ТДНФ, имеет вид
320 Гл. 4. Теория формальных грамматик и автоматов
табл. 4.19. Покрытиям этой таблицы соответствуют РДНФ второй ТДНФ функции f вида
/а(«ь Z2, Х3, Х4, х'2) =
= £1X3X4 V Х1Х2Х4 V Х1Х3Х4 V xix^x4 V Х2Х3Х4,
Х2, ХЗ, Х4, х'3) =
= Х1Х3Х4 V £1X2X4 V Х1Х^Х4 V £1X2^4 V £2^3X4, f"(xi, £2, Хз, Х4, х\, £4) =
= £^£3X4 V X1X2Z4 V Х>1ХзХ4 V £1X2^4 V Х2^3^4-
Сложности полученных РДНФ для второй ТДНФ соответственно равны L(f") = 7, Б(Д') = 7, L(/'') = 9- Отсюда, сравнивая сложность полученных РДНФ для двух ТДНФ, получаем МРДНФ функции f, например
У(Х1, Х2, Хз, Х4, х'2) = Х!ХзХ4\/X1X2X4VX1X3X4VX1X2X4VX1X,2X3 со сложностью 7. Соответствующий ей абсолютно минимальный структурный граф изображен на рис. 4.38.
Перебор при определении минимальной сложности структурного графа оценивается числом РДНФ, соответствующих заданной я3/-) булевой функции /(xi, х2, ..., хп). Трудо-ло-с емкость этого перебора равна трудоемко-Г \ сти обхода дерева поиска МРДНФ функции \ /	\	/(ii, Х2, ..., хп) (рис. 4.39). К сожалению,
\/	\ пока нет оценок числа РдНФ, соответст-
ВуЮЩИХ ФУНКЦИИ /(Xi, Х21 • • •, Хп), поэто-Д /му этот перебор оценим числом ТДНФ, со-\	/ ответствующих функции /(Х1, Х2> • • • , хЛ.
\ / Известно, что число Л^тднф ТДНФ, j?iQ соответствующих булевой функции от п переменных, “наихудшей” в смысле ее
ис. 4.38 сложности в классе ДНФ, асимптотически соизмеримо с числом всех различных функций от этого числа переменных:
ТУтдНФ • (22 ) 1 = 1.
Следовательно, получаемый перебор становится практически неприемлемым даже с использованием современных ЦВМ для произвольных булевых функций, зависящих более чем от 20 переменных.
Распределение подмоделей, гомеоморфных квазиполным подмоделям, в модели Ф, задающей булеву функцию /(xi, х2, ..., хп)> определяет согласно критерию решетчатости минимальность структурных графов. Будем говорить, что это распределение определяет теоретико-структурные свойства модели Ф.
§ 4.7. Синтез логических структур в топологических базисах 321
На практике при синтезе автоматов управления реализуемый автоматный оператор характеризуется большим числом переменных и сравнительно небольшим числом обобщенных состояний Автомата, определяемых значениями вектора XZ+Z — Y. Например, автомат управления может иметь 100 элементов из Мх и Mz и
О Совершенная ДНФ
Решетчатые ДНФ
Рис, 4.39
только лишь на 500 наборах определен. Но 500 намного меньше, чем число всевозможных двоичных наборов длины 100, равное 2100: 500 <С 2100. Используя это положение, можно снизить трудоемкость синтеза автоматов управления путем разбиения большого числа переменных автоматного оператора на группы с последующей заменой переменных каждой группы на одну “новую” переменную. Предложим метод такого объединения переменных.
Введем несколько понятий.
Множество букв, взвешивающих только вершины двухинцин-дентного подграфа структурного графа, называется обобщенной буквой первого рода.
При структурном синтезе двухинцендентный подграф будем называть 7Г-структурой (it-диаграммой).
a-структурой (а-диаграммой) называется подграф структурного графа, произвольная пара вершин и, и Vj которого коинци-дентна только соответственно входящим дугам ut,	, ..., ut и
и+,	..., г£, имеющим соответственно одно и то же начало,
и которая коинцидентна только исходящим дугам , и~, ..., и и", ..., и~, имеющим соответственно один и тот же конец (рис. 4.40).
Множество вершин {«>}, каждая из которых покрывается одними и теми же вершинами {Ги,}, при этом ни одна из вершин
11 В. А. Горбатов
322
Гл. 4, Теория формальных грамматик и автоматов
U:
“I
Рис. 4.40
va, va Е. {Ги,}, не покрывает вершины vp, vp $ {и,-}, и это множество вершин {и,} покрывает одни и те же вершины {Г-1 и,-}, при этом ни одна из вершин и7, G {Г-1 и,-}, не покрывается вершиной v$, vs £ {v,}, называется ст- поддиаграммой.
Множество букв ах, я2, ..., ап, каждая из которых взаимно однозначно соответствует вершине ст-диа-граммы, называется обобщенной буквой второго рода.
На рис.4.40 обобщенная буква второго рода взвешивает средний ярус.
Теорема 4.2. Множество букв Я1, яг, ..., яп образует обобщенную букву первого рода тогда и только тогда, когда собственные частоты этих букв равны между собой и равны взаимным частотам-.
fi fj fij у j —	• • ч
(4-Ю)
Теорема 4.3. Множество букв а^, я2,..., ап образует обобщенную букву второго рода тогда и только тогда, когда
fi = fji fij = fiw = fjwi i Ф 3 > *, j — O1, Я2, . . ., Яп,
Ш G M \ {fli, я2, ..., яп).	(4.11)

В выражениях (4.10) и (4.11) fj — собственные частоты, fij (* 0 j) — взаимная частота, определяемая частотной матрицей отношений F = [/J, F-QTXQ
Q — матрица инцидентности, определяющая соответствующий мограф. В матрице Q = каждой букве взаимно однозначно сопоставлен столбец, слову — строка и
_ fl, если j-я буква содержится в i-м слове, Q'i ~ 10 в противном случае.
Метод выделения обобщенных букв заключается в следующих преобразованиях.
1.	С помощью частотной матрицы отношений, соответствующей мографу, согласно (4.10) выделяем обобщенные буквы первого рода.
2.	Согласно (4.11) выделяем обобщенные буквы второго рода.
3.	Если были выделены обобщенные буквы второго рода, то переходим к п. 1, в противном случае — к п. 4.
4.	Конец.
§4.7. Синтез логических структур а топологических базисах 323
Проиллюстрируем предлагаемый метод уменьшения числа переменных на следующем примере.
Пусть задана булева функция /, которая задается матрицей инцидентности
вида
а		ъ	с	d	е	/	9	к	m
	1	1	0	0	1	0	1	0	0
	0	0	0	0	1	0	1	1	1
	1	1	1	0	0	0	0	1	0
	1	1	1	1	0	0	0	0	0
	0	0	1	0	1	0	1	1	0
	1	1	0	0	0	0-	0	1	1
Q =	0	0	0	0	0	1	1	1	1
	1	1	0	1	0	0	0	0	1
	0	0	1	1	1	0	1	0	0
	1	1	0	0	0	1	1	0	0
	0	0	0	1	0	1	1	0	1
	0	0	1	1	0	1	1	0	0
	0	0	1	0	0	1	1	1	0
	0	0	0	1	1	0	1	0	1
Частотная матрица отношений, соответствующая функции f, имеет следую-
щий вид:
	а 6	Ь 6	с 2	d 2	е 1	/ 1	9 2	к 2	m 2	а
	6	6	2	2	1	1	2	2	2	b
	2	2	6	3	2	2	4	3	0	с
F =	2 1	2 1	3 2	6 2	2 5	2 0	4 5	0 2	3 2	d е
	1	1	2	2	0	5	5	2	2	/
	2	2	4	4	5	5	10	4	4	9
	2	2	3	0	2	2	4	6	3	к
	2	2	0	3	2	2	4	3	6	т
Согласно (4.10) буквы а и b являются обобщенными буквами первого рода. Заменим их буквой Ь'.
Согласно (4.11) буквы с нт являются обобщенными буквами второго рода; буквы d и к, е и / также являются обобщенными буквами второго рода. Заменяем их соответственно на т', к', f'.
После замены букв матрица инцидентности имеет вид
Ь' /' д к' т' 1 0 0 1 1 0 1111 1110 0
Частотная матрица отношений F' (F1 = (Q')T х Q') имеет следующий вид:
Ь' /' д к' т1
2 1111	Ь'
1 2 2 1 1 /' “12 2 11 д
1112 2	к'
1112 2m'
Согласно (4.10) буквы д' = {/', <?} и т" = {к1, т'} являются обобщенными буквами первого рода. Обобщенных букв второго рода иет, следовательно, выделение обобщенных букв окончено. Окончательно имеем матрицу инцидентности,
324 Гл. 4. Теория формальных грамматик и автоматов
задающую в виде булеву функцию в виде
Ь' д' т"
1 О 1
' ~ О 1 1
1 1 О
Такое сжатие информации позволяет существенно уменьшить трудоемкость при синтезе минимальных автоматов управления.
После сжатия при приведении функции к решетчатому виду необходимо учитывать результаты сжатия при покрытии решетчатых таблиц. Для рассматриваемого примера заметим, что мограф, задающий сжатую функцию, представляет f собой цикл нечетной длины с циклической перестановкой весов, и, следовательно, для приведения этой функции к решетчатому виду можно расщепить либо Ь', либо д', либо т". Взвесим каждую букву в сжатой таблице числом букв, которые оиа представляет. При минимальном расщеплении выберем букву Ь', так как ее вёс равен 2.
В результате синтеза имеем структурный граф G(f) (рис. 4.41), реализующий функцию f.
Логическая структура в первом топо
логическом базисе задается диаграммой Хассе Н, и ее синтез состоит из следующих преобразований.
1.	В мографе, задающим реализуемую булеву функцию, выделяем запрещенные фигуры типов А и Б (рис. 3.53).
2.	Находим пары внешне неустойчивых вершин относительно носителя каждой запрещенной фигуры.
3.	Строим семантическую таблицу, сжимаем ее и определяем покрытия.
4.	Выбираем минимальное покрытие семантической таблицы, которое порождает мограф GM, эквивалентный заданному, имеющий минимальное расширение носителя и интерпретируемый в категориях синтезируемого структурного графа Н.
5.	Производим фактическое построение структурного графа по интерпретируемому мографу GM. Синтезированный структурный граф является абсолютно минимальным по числу вершин из всех эквивалентных графов и построенным без перебора всех эквивалентных графов.
Рассмотрим каждое из этих преобразований, иллюстрируя их проектированием логической схемы, реализующей ДНФ булевой функции (см. рис. 3.54, а)
х2, ..., х5) =
= 11132:5 V 2:1X4 V 2:22:3 V 112:315 V 2:32:42:5 V 2:22:42:5 .
1	2	3	4	5	6
§4.7. Синтез логических структур в топологических базисах 325
Выделение запрещенных фигур типов АиБ сводится к выделению циклов нечетной длины в мографе с последующей проверкой распределения идентификаторов на их вершинах. Выделение циклов нечетной длины будем производить фиксацией остова мографа, добавлением хорд с формированием базисных циклов и генерацией остальных циклов применением операции сложения циклов по модулю 2.
Для такого выделения предложим следующий алгоритм.
1.	Выделяем остов мографа по матрице смежности фиксацией около диагональных единичных элементов:
21(1,2) 22(3,6) хз(3,4,5) х^(2,6) 25(6,6) 25(1,4)
О 0	1	0	1
0-1110 0	1-011.
110-10 0.1	1	1	- о
10	10	0	—
Эту фиксацию будем производить, например, следующим алгоритмом. Рассматриваем по очереди строки (начиная с первой) и отмечаем ближайшую от диагонали единицу. Если число отмеченных единиц равно п - 1 (п — число вершин мографа), то остов най- х2(3< 6)С1 ден. В противном случае, начиная	х (5
с последнего столбца, отмечаем в (2,6)Q SQ	(5,4, Э)
этом столбце ближайшую единицу, ' у wу переходим к столбцу на один но-	\	/
мер меньше до тех пор, пока не	\	/
будет отмечено п — 1 единиц. От- Xi(i,2>O O?s(i,4) меченные элементы матрицы за-	рис 4 42
дают остов. В результате работы этого алгоритма получаем остов мографа, изображенный на рис. 4.42. Отмеченные около диагональные элементы набраны полужирным шрифтом в матрице смежности.
Неотмеченные элементы соответствуют хордам мографа относительно выделенного остова. Число хорд равно цикломатиче-скому числу мографа
К<?")= |{й}|- 1М1 + Л-, где \М| — мощность носителя мографа, | {р,} | — количество ребер мографе, К — число компонент связности мографа.
В нашем примере v(GM) = 8- 6 + 1 = 3.
2.	Формируем базисную матрицу циклов (базисную циклома-тическую матрицу) присоединением хорды к выделенному остову. В результате получаем базисную цикломатическую матрицу относительно остова D (рис. 4.42).
326
Гл. 4. Теория формальных грамматик и автоматов
Обозначим ребра мографа как {i2(3, 6), х4(2, 6)} = а,
{z2(3, 6), х5(5, 6)} = b,
{xi(l, 2),x5(l, 4)} = c,
{x5(5, 6), x3(3, 4, 5)} = /, {xi(l, 2), x4(2, 6)} = g, {x3(3, 4, 5), x5(l, 4)} = p,
{x2(3, 6), x3(3, 4, 5)} = d, {x4(2, 6), x5(5, 6)} = e.
Дипломатическая матрица рассматриваемого примера имеет вид
Хорды а Ь с 1 О О О 1 О О 0 1
d 1 1 О
Остов е	f	д
1	1	О
О	1	о
1	1	1
р о о
1
Р1
Р2 рз
3.	Применением 2" — и — 1 раз операции сложения по модулю 2 циклов выделяем все циклы мографа. Каждый выделенный цикл проверяем на условие образования запрещенной фигуры типа А или Б.
Базисный цикл р2 является запрещенной фигурой Qi, а базисный цикл рз — запрещенной фигурой Q3.
Проанализируем остальные циклы на предмет образования ими запрещенных фигур:
Pi ® Р2 — Pit Pi <->1100100 о,
цикл р4 является запрещенной фигурой Q4;
Pl ® Рз = Р5) Рз <->10110011,
выделенный цикл является запрещенной фигурой Q2;
Р2 ® Рз = Рб, Рб <-> 0 1 1 1 1 0 1 1,
Pi ® Р2 ® Рз — Pi ® Рв = Рт, Р7 <->11100111,
циклы pi, ре и р7 не являются запрещенными фигурами, так как они имеют четную длину.
Находим пары внешне неустойчивых вершин относительно носителя каждой запрещенной фигуры. В нашем примере такой парой относительно носителя запрещенной фигуры
Qi = {*2(3, 6),х5(6, 5), х3(5, 3)} будут вершины v(x4), v(x4). После добавления слов {х2, х3, 15} и {х4, хе, х4) фигура Qi неустойчива, и достаточно будет расщепить
только х4(2, 6) (см. табл. 3.9): v(xi) < v(x3) < v(x5), v(x3) < v(xi) < v(x5), ^3) < v(z5) < v(l2), v(xi) < v(x5) < v(l2),
v(Xi) < v(x4),
v(x3) < v(x2),
v(x3) < v(z5) < v(z4),
v(x'4) < v(®5) < «(^4)-
§4.7. Синтез логических структур в топологических базисах 327
Рассмотрим фактическое построение структурного графа Н по интерпретируемому мографу GM. В случае несложных могра-фов такое преобразование можно реализовать с помощью операции взятия двойственной структуры, как это делалось выше. В сложных случаях объем вычислений возрастает настолько, что целесообразно применять частотный анализ мографов и на его основе строить Н. Рассмотрим этот метод построения Н по мографу GM.
Буквы, соответствующие минимальным или максимальным элементам диаграммы, будем называть крайними.
Если количество минимальных (максимальных) элементов, покрываемых (покрывающих) одними и теми же вершинами (одни и те же вершины), не меньше 2, то соответствующие им буквы называются крайними второго рода, в противном случае — крайними первого рода.
Теорема 4.4. Если буква а является крайней первого рода, то
fa — fit fai — fit fij ~ 0> * Ф j — d, e, . . ., П,
(4.12) каждая буква b E {i/ i = d, e, ..., n) соответствует вершине, покрывающей u(a) (рис. 4.43, a)
aj a2 a3 a„ a	6
Рис. 4.43
Теорема 4.5. Если буквы a^, aj, ..., an являются крайними второго рода, то
(yai(i Е {1, 2, ..., п}))(ЭЬа, Ь0, ..., Ьу(а, 0, ...,уЕ
е {1,2,..., р})) (/a, =
У=ог,/?,...,7
(Vbj(j G {1, 2, ..., p}))(3a0, а„, ..., а^в, г),...,^Е
е{1,2,...,п})) (д = 22 М)> (4-13)
328 Гл. 4. Теория формальных грамматик и автоматов fakai = 0, к Ф I, k,l = 1, 2, ..., п, fbklbll = О, к' ф V, к',1' = = 1,2,..., р, где каждая буква (j € {1, 2, ..., р}) взвешивает вершину, покрывающую соответствующие минимальные элементы диаграммы (рис. 4.43, б).
Замечание. Теоремы, двойственные теоремам 4.4, 4.5, формулируются аналогично: слово “покрывающие” заменяется словом “покрываемые” и “минимальные” — словами “максимальные”, остальное остается без изменения.
Здесь топология синтезируемой диаграммы (структурного графа) однозначно с точностью до применения операции взятия двойственной структуры определяется частотными соотношениями, элементы которых являются элементами частотной матрицы отношений F = QT(GM) х Q[GM).
В общем случае, когда покрывающие вершины находятся в различных ярусах, что возможно при различной длине путей, частотные соотношения, определяющие топологию синтезируемой поддиаграммы, будут более сложными и элементами их будут частоты вершин, принадлежащие более чем двум ярусам.
Сечением структурного графа называется множество попарно несравнимых вершин, через которые проходят все пути.
Условия поиска крайних букв первого и второго родов являются необходимыми, так как этим условиям могут удовлетворять как искомая совокупность букв, покрывающих найденные буквы aj, 02) • • •) ап, так и совокупность букв, сравнимых с а1} аз, ..., ап, но не покрывающих их.
В силу локальности соотношений (4.12), (4.13) поиск крайних букв необходимо осуществлять локальным перебором по всем сечениям диаграммы. После нахождения покрывающих вершин построенные на этом шаге поддиаграммы представляются в виде гамаков с точкой разделения в покрывающей вершине с последующим свертыванием каждой из них в эту вершину.
Известно, что частотная матрица отношений однозначно определяет интерпретируемый в категориях диаграмм мограф GM и однозначно с точностью до применения операции взятия двой-ственнрй структуры — проектируемую диаграмму, поэтому при проведении проектирования на языке частотных матриц отношений свертывание гамака в вершину vmax, являющуюся его максимальным элементом, означает разделение частот букв, сравнимых с ni(umax) (т. е. тех букв т,-, у которых	# 0), на число
путей, содержащихся в свертываемом гамаке, и вычеркиванием строк (столбцов), соответствующих буквам свертываемого гамака, за исключением m(vmax). При этом полученная частотная матрица отношений описывает еще не построенный структурный граф.
Алгоритм преобразования GM -4 Н состоит из следующих шагов.
§ 4.7. Синтез логических структур в топологических базисах 329
1.	Определяем все обобщенные буквы первого рода. Стягиваем гамаки, соответствующие найденным буквам, в вершину.
2.	Определяем все обобщенные буквы второго рода. Стягиваем гамаки, соответствующие этим буквам.
3.	Найдена ли хотя бы одна обобщенная буква первого или второго рода? Если да, переходим к выполнению п. 1, в противном случае — к п. 4.
4.	Находим множества букв, каждое из которых удовлетворяет одному из условий (4.12), (4.13). Линейно упорядочиваем найденные множества в виде списка.
5.	Рассматривая первое множество букв в построенном (последнем) списке и полагая, что она взвешивает соответствующую поддиаграмму в проектируемом структурном графе, строим эту поддиаграмму. Свертываем полученные гамаки.
6.	Определяем буквы, соответствующие вершинам, покрывающим максимальные элементы построенных поддиаграмм, используя пп. 4, 5. Если при выполнении пп. 4, 5 не выполняется ни одно из соотношений (4.12), (4.13), то последнее наше предположение неверно. Рассматриваемое множество букв и соответствующую ей поддиаграмму вычеркиваем, восстанавливаем предыдущую частотную матрицу отношений и переходим к п. 5. Если хотя бы одно из условий (4.12), (4.13) справедливо, то выполняем п. 6. В результате локального перебора поддиаграмм по сечениям строим структурный граф.
Предлагаемый алгоритм эффективно реализуется на ЭВМ в силу арифметического характера преобразований.
Построим структурный граф Н по мографу GM (рис. 3.54), используя этот алгоритм.
Матрица инцидентности Q(GM), определяющая мограф GM, имеет вид
Q-
XI 1 1 о о о о
XI о о о
1 о о
Хг о о
1 о о
1
Хз о о о
1 1 о
х'з о о
1 о о о
Хз 1 о о о о о
Х4 о о о о о
1
х! о
1 о о о о
Х4 о о о о
1 о
Хз о о о о
1 1
Хз 1 о о 1 о о
Частотная матрица отношения F(GM), F = QTxQ, определяющая частотные свойства мографа GM, имеет следующую строчную запись:
F(GM) = 2x1 о (ii)2 oijo 2x1 о (хз)2 о (хз)2 о я2 о (а^)2 о о (х4)2 о 2x1 ° 2(^s)2 0 Х1Х3 о xix'4 о xix5 о ^4X3 о 14X5 о
О X2Xj о Х2Х4 О Х3Х4 О Х3Х5 О Х3Х5 О Х3Х5 О Х4Х5 О Х4Х5,
330 Гл. 4. Теория формальных грамматик и автоматов
где коэффициенты при а2 равны собственным частотам соответствующих букв, коэффициенты при ot/З равны ненулевым взаимным частотам между соответствующими буквами a,/? = zi,x1,z2> жз, х'3, хз, Х4, х4, Х4, xs, х$; о — конструктивный разделитель частот.
Анализ частного разложения мографа GM показывает, что для множеств {xi, Х2, 13} и {13, х4, 15, х5) выполняется частотное соотношение (4.13):
для множества {а^, Х2, хз}
fxi = fx'tXl 4" fx3Xl> fl3 - fxiX3 4" fx*X3> - fl4X2 "I" fx'3X2>
fx'j — fx'jXll fx3 —	fxi — /14X31 fxt /14X31
fx4 /14X31 fx'3 fx3X2^
fki = o, k^l, k, I = Xl, x2, x3,
fk'i' = 0) k I, k , I = xj, X3, X4, X4, x4, i-jj
для множества {13, x4, 15, 15}
fx3 fx3X2 > fx'j fx'jXll fx$ fx$X4 4* /13X41
fxS — /13X3 4" fx3Xl 1 /хз = fx3X3 ! fxi — fxiX3 ! fx4 = /14X3 >
fx4 — f 14x31 fkl = 0) k ф I, k, I — x3, x4, x$, 15.
Отсюда имеем структурный граф Н, реализующий мограф GM (рис. 4.13). Заменяя вершины графа Н на ключевые элементы первого топологического базиса, например, на переключатели света, а дуги — на световоды, получаем логическую схему сложности, равной числу вершин структурного графа Н.
Проводя точное решение для примера, рассмотренного в начале этого параграфа, получаем в 2 раза меньше расщеплений
x?Cl x»Q xsQ Ох«
/ТгЛХ4 I
I \ /I ггтч
Охз
Рис. 4.44
(рис. 4.44) по сравнению с решением, проведенным без учета запрещенных фигур.
Частотный анализ можно с успехом использовать и при приближенном преобразовании мографа GM(f) в структурный граф ят.
Введем ряд понятий.
§4.7. Синтез логических структур в топологических базисах 331
Уровнем типа А называется подмножество Х'А множества букв X = {if/ г = 1, ..., т} такое, что:
1)	fn = R, У fxixj = 0,	(4-14)
х'еХЛ	Xi£x}
Xf t Xj £Xд
где fXi — собственная частота буквы т,; fXiX- — взаимная частота пары букв Х{, xj; R — число простых импликант в ДНФ функции f(X), которое обычно называют рангом ДНФ; буквы являются первичными термами рассматриваемой функции;
2) в структурном графе, реализующем эту функцию, найдется ярус, вершины которого взаимно однозначно взвешены буквами подмножества ХА, так что не найдется ни одной вершины, не принадлежащей этому ярусу и взвешенной буквой т, (т, G Х'А).
Уровнем типа В называется подмножество Х'в множества X такое, что для него справедливо первое условие предыдущего определения и не справедливо второе условие.
При взвешивании яруса в структурном графе буквами подмножества Хв так, чтобы ни одна буква ц (т, € Х'в) не повторялась дважды в структурном графе, получаем граф, не эквивалентный искомому с числом путей, превосходящим R. Для удаления лишних путей в полученном графе необходимо расщепить некоторые буквы подмножества Х'в. После расщепления расширенное подмножество Х'в преобразуется в подмножество, образующее уровень типа А.
Операцию приведения уровня типа В к уровню типа А назовем операцией расщепления первого типа.
Подграф G'(uo) = {V, U') графа G = {V, U) называется подграфом с начальной вершиной ио, если для каждой его вершины Vi 6 V имеется хотя бы один путь [ио, ..., и,].
Вершина Vj называется покрывающей вершину и,, если в графе G = (V, U) имеется дуга вида (v,-, Vj) G U.
Расщепление первого типа производим в следующем случае.
Пусть построено I ярусов структурного графа G, причем вершины 1-го яруса взвешены множеством первичных термов X/, и пусть в этом ярусе содержатся две вершины, и,- и Vj, с весами соответственно х, и Xj (х,-, Xj G Xi) такие, что при построении (I + 1)-го яруса множества весов и X(i+i) вершин, покрывающих соответственно и^(т,) и Vj(xj), являются пересекающимися:
n 0>
Тогда, если подграф с начальной вершиной иа, взвешенной первичным термом ха (ха G Х[1+1у -^((+1)Р и покрывающей
332
Гл. 4. Теория формальных грамматик и автоматов
Vi(xi), и подграф с начальной вершиной взвешенной тем же первичным термом ха и покрывающей вершину vfaj), реализуют различные булевы функции, то вес ха расщепляется.
Уровнем типа С называется подмножество Х'с множества букв X такое, что:
1)	22 >R, 52	*°; (4-15)
х&Х'с	Xi^Xj
XitxjGXc
2) подмножество Х^ является покрытием матрицы инцидентности, задающей функцию f(X).
Например, пусть задана булева функция
/(ll, Х2, Х3) = Х\Х2Х3 V Х\Х3 V XiX2X3, мограф которой имеет следующий вид:
GM(f) = (V, S2, S3),
V = {хь хъ x2, x3, x3), S2 = {{xx, x3}}, 53 = {{xi, x2, x3), {xb x2, x3}}.
Определим подмножества букв, которые могут претендовать на взвешивание вершин первого яруса искомого структурного графа. Очевидно, что претендентом на веса первого яруса могут быть уровни типа А или С.
Подмножество букв, претендующее взвесить первый ярус, должно покрывать своими элементами все строки матрицы инцидентности
Х1 Х2 Хз Хз
10 10 1 1 100102* 0 1110 3
Согласно матрице инциндентности имеем следующие покрытия этой матрицы:
{xi, Xi}, {xi, х2), {Xi, х3), {х2, х3), {х3, х3).
Первое и последние подмножества являются уровнями типа А, остальные — типа С.
Операцией расщепления второго типа будем называть приведения уровня типа С к уровню типа А или В.
При расщеплении второго типа из подмножества Х'с удаляются расщепленные элементы, образующие подмножество Хр такое, что
52 - 52	52	52	( .
xiEX'c	XiyXjEXp	x{,xjEX^
Xi^Xj	xrfxj
§4.7. Синтез логических структур в топологических базисах 333
При расщеплении второго типа порождаются новые подмножества уровней типов А, В и С.
Результат операции расщепления первого типа есть повторение некоторых букв внутри одного яруса, а результат операции расщепления второго типа есть повторение некоторых букв между ярусами.
Используя введенные понятия, можно предложить следующий метод синтеза структурных графов.
Для снижения трудоемкости при синтезе оптимальных структурных графов в предлагаемом методе используется понятие производной от модели.
Подграф с начальной вершиной и,, являющийся концом дуги («j, V,), будем называть подграфом, покрывающим вершину Vj (рис. 4.45, а)
Рис. 4.45
Объединение подграфа с начальными вершинами , и,2,... ..., Vim, являющимися концами дуг, начала которых есть вершины , Vj3, ..., Vjn, образующие подъярус, будем называть подграфом, покрывающим подъярус {v21, Vj3, ..., vJn) (рис. 4.45,6).
Матрица инциндентности Q = модели Ф, по которой производится оценка в предлагаемом методе, строится следующим образом. Каждой строке взаимно однозначно сопоставляется первичный терм булевой функции, столбцу — выделенный подуровень и
1,
Qij = <
ю
если веса вершин подграфа, покрывающего подъярус, взвешенный j-м подуровнем, содержат i-й первичный терм, в противном случае.
334 Гл. 4. Теория формальных грамматик и автоматов
Уровни, взвешивающие начальные вершины подграфов, покрывающих вершины построенного яруса, будем оценивать с помощью функции
/дФ,. -Л'1 _ fa
\dS{l,3)J fi-Wij + h'
являющейся обратно пропорциональной производной ЭФ/Э5 от модели Ф и характеризующей степень пересечения этих уровней. В качестве уровня, взвешивающего синтезируемый ярус, будем выбирать уровень с максимальной оценкой.
Заметим, что понятия уровень и ярус совпадают, если булева функция является решетчатой. В этом случае уровень является идентификатором яруса.
Перед изложением метода синтеза рассмотрим случай неодинаковой длины путей синтезируемого графа. В этом случае имеем четвертый тип уровня — уровень типа D.
Подмножество X'D множества X называется уровнем типа D, если выполняются следующие условия:
1)	fXi < R, 52 fXiX} = 0;	(4.17)
x>tX'D	Xi,XjEX'D
Xi^Xj
2) не существует такого элемента хт € X, включение которого в подмножество Хр приводит подмножество Х& к уровню типа А.
Проиллюстрируем введенное понятие на следующем примере.
Пусть дан граф (рис. 4.45, в), реализующий булеву функцию
f(xlt Х2, . • ., Xg) = Х1Х3Т6 V Х1Х4Х6 V XjZ^g V Х2Х8 V
V х2х5х6 V х2х5х7.
Уровнем типа D является подмножество первичных термов {х3, х4, х5].
Предлагаемый алгоритм осуществляет синтез структурного графа по ярусам, т. е. на каждом шаге синтеза находятся первичные термы Xs такие, что
52 fxi = R> Z2 ^XiXJ = °’ xiEXi	ц,х.ЕХ/
x^xi
Следовательно, для получения таких подмножеств первичных термов (уровней типа А) необходимо в уровень типа D включать первичный терм id такой, что
= R — 5	/®i, fxjXi — о, X,' 6 Xjj.
С помощью такого включения производится выравнивание длин путей.
§4.7. Синтез логических структур а топологических базисах 335
В рассматриваемом примере при синтезе булева графа в качестве подуровней, взвешивающих подграфы, покрывающие вершины, с весами xi и хз, выбираем соответственно {хз, 14} и {z5, z8).
Очевидно, что подграф Нх., покрывающий вершину с весом х&, является частью подграфа НХ4, покрывающего вершину с весом X4, и, следовательно,
firtl firt 1
где fTti — взаимная частота подуровней, взвешивающих подграфы HXt и НХ1; fVt — собственная частота подуровней, взвешивающих подграф HXt.
Частоты и fXt вычисляются по матрице инцидентности модели Ф, построенной на этом шаге синтеза.
Опишем процедуру выравнивания длин путей.
1.	Отыскивается пара первичных термов х,- и xj, для которых справедливо = fnj.
2.	Проверяется равенство длин путей, началом которых являются соответственно вершины, взвешенные ц и Xj.
3.	Если длины путей не равны, то в покрытие вершины, входящей в путь с меньшей длиной, включается расщепленный ее вес.
Для рассматриваемого примера повторяем вес x's (рис. 4.45, г).
Входной информацией для алгоритма синтеза структурных графов является матрица инциндентности модели Ф, задающая ДНФ функции /.
Опишем теперь алгоритм синтеза структурных графов.
1.	Выделяем множество уровней типов А и С, претендующих на взвешивание первого яруса. Каждый уровень выделяется с помощью покрытия в матрице инциндентности строк столбцами. Каждое покрытие взаимно однозначно сопоставляется выделяемому уровню.
Число выделенных уровней определяет число различных структурных графов, которые необходимо построить для поиска графа минимальной сложности.
Выбираем уровень, соответствующий первому покрытию матрицы инциндентности.
2.	Для каждого первичного терма х; в выбранном уровне построим подматрицу инциндентности, соответствующую подграфу, покрывающему вершину с весом х,-.
Покрытием подматриц инциндентности находим подуровни, взвешивающие вершины следующего яруса.
3.	Для найденного множества подуровней В = {£>»/ г = 1, ... ..., N} строим модель для оценки уровней, претендующих на взвешивание строящегося яруса.
336
Гл. 4. Теория формальных грамматик и автоматов
Каждый уровень X/ = {bj/ j = 1, ..., k} оцениваем с помощью функции
<4Л8)
где частоты fy, fj являются элементами частотной матрицы отношений Я(Ф) (Р(Ф) = QT X Q).
4.	При наличии нескольких максимальных значений оценок, полученных в п. 3, оцениваем число расщеплений первого типа как расщеплений, оказывающих наибольшее влияние на сложность синтезируемого графа.
Выбираем уровень с наибольшим значением р(Х/); при наличии уровней с несколькими максимальными значениями p(Xi) выбираем из них уровень с минимальной оценкой числа расщеплений первого типа.
5.	Производим выравнивание длин путей.
6.	Если структурный граф не построен, т. е. порядковый номер синтезированного яруса не равен максимальной длине пути графа, то переходим к п. 2, в противном случае производим подсчет сложности L(Hk) синтезированного графа.
7.	Если L(Hk) = п(/) (п(/) — число первичных термов исходной ДНФ функции /), то получена бесповторная реализация графа и осуществляем переход к п. 9.
Если ЦНк) > то выбираем граф Н из следующего соот
ношения:
1(Я) = min L(fffc-i))
где L(Hk-i) — сложность графа, полученного на предыдущем этапе; L(Hk) — сложность графа, полученного на данном этале.
8.	Выбираем следующий элемент из множества уровней, претендующих на покрытие первого яруса, и переходим к п. 2. Если для всех уровней, полученных в п. 1, графы синтезированы, то переходим к п. 9.
9.	Конец.
Проиллюстрируем предлагаемый метод синтеза структурных графов на следующем примере.
Пример 4.6. Синтезировать структурный граф, реализующий булеву функцию вида
f (ti, хз, ..., Xi) = Xixjii V Т1Х3Х5 V Т1Т3Т5 V Х1Х3Х4 V Х1Т3Х5 V Т2Х4Т5.
Заданной ТДНФ этой функции соответствует матрица инцидентности вида
Ц Х2 хз хз Х4 Х4 Xi Xi
1 0 1
10 0
10 0
О 1 О 0 10
О О 1
0 0 0 0
0 10 0
10 0 0
10 0 1
10 0 0
0 0 10
О 1 О 1 1 о о о О 1 1 о
1 2
3 4
5 6
§4.7. Синтез логических структур в топологических базисах 337
Выделяем множество претендентов иа первый ярус. Каждый претендент на взвешивание первого яруса является покрытием матрицы инцидентности (уровнем типа А или С). В нашем случае имеем следующие покрытия:
{xi, XJ, х3}, {xi, xi, х4}, {xi, XI, х5}, {xi, х2, х3}, {xi, хз, х4},
{ti, хз, 15}, {xi, хз, хз}, {х2,х3,хз}, {xi, Хз, хз}, {х2,хз,хз}, {xi, Х2, Х4, Х5}, {хз, Х4, xs}, {xi, Х4, Х4, Хз}, {хз.тз.хз}, {xi, х2, Хз, Хз}.
Всего имеем 15 покрытий (|%л U Ас1 = 15)- Следовательно, для нахождения графа минимальной сложности необходимо синтезировать 15 графов и выбрать граф с минимальной сложностью.
Взвесим первый ярус уровнем {xi, xi, х2}, расщепив х2. Элементам выбранного уровня соответствуют подматрицы
Х\ Х\ Х2 ХЗ *3 х4 х4 ХЦ Х$ п _001000001 “0000 1000 1’ 000100010
Xl	Xl	Х2	Хз	Хз	х4	Х4	ХЗ	Хз
= 110	0	0	1	0	0	1	0	0||	,
[[О	0	0	1	0	0	0	0	1||
_ X!	XI	х2	х3	ХЗ	х4	х4	ХЗ	х5
- ||0	0	0	0	0	1	0	1	0||	•
Длина всех рассматриваемых слов одна и та же.
Производя покрытие подматриц QXi, Qi^ и QX2, выделяем подуровни. В результате покрытия подматрицы QXl имеем следующие множества:
{тз, хз}, {х2, тз, хз}, {хз, хз}, {х2, хз, хз}.
Подуровни {хз}, {х4, хз} образуют множество покрытий подматрицы Qh-Покрытиями подматрицы QX2 являются {х4}, {хз}.
Веса подграфов, покрывающих полученные подуровни, образуют следующие множества:
для подуровней буквы х\
Ь1(хз, хз) = {х2, хз, хз},
Ьг(хз, х5) = {х2, хз, х5}, для подуровней буквы xi
Ьз(хз) = {х4, х5}, для подуровней буквы х2
бт(х5) = {х4},
Ьз(х2, Хз, хз) = {х5, хз}, bt(x3, Хз, хз) = {хз, хз};
Ьв(х4, хз) = {хз};
Ьз(х4) = {х5}.
Матрица инциидеитности имеет следующий вид:
<?(*) =
61	62	63
1	1	О
1	О	О
1	1	о
ООО ООО
О 1 1 О 0 1
64 65 6g ООО 1 0 1 ООО ООО 0 10 ООО 1 1 о
6? 6g Х2 ХЗ Хз Х4 Х< ХЗ хз
О о о о о 1 о о о О 1 о о
338
Гл. 4. Теория формальных грамматик и автоматов
Каждый уровень, взвешивающий синтезируемый ярус, оценивается суммарной величиной обратных значений производных, вычисленных для каждой пары подуровней, входящих в оцениваемый уровень:
p(bi,bs,br)= •=1.5 1=5,7	fij _	fa	, fi — Ifii + fj fl — 2/15 + fs + 7	4- f + 1	2f 4- f = 0 + 0 + 0 = 0. Jl — *J17 + fl fb ~ ЧЫ + fl
р(Ь1, be, м = , /г . + V—х , +
/1 — 2 fie + fe	fi — 2/it + /7
+7----/Г . f = 1—? ixi + 0 + 0 = 0> 5,
/в — 2/в7 + /7	3 — 2-1 + 1
р(Ьз, Ь5, be) = --—- + ---------- +
J3 — 4J3S -Г J5	J3 — «/38 + J8
। Л»	.=	1	.	1	.	° в i 5
fs~2fa+fe 2 - 2 • 1 + 2	2 - 2 • 1 + 1	2 - 2 • 0 + 1
Оценка принимает наибольшее значение для уровня {Ьз, Ьз, Ьз}, элементы которого выбираются в качестве весов второго яруса. Следовательно, вершины второго яруса взвешивают подуровни
Ьз — {хз। хз, хз}, Ьз = {хз}, Ьз = {i«}.
Подматрицы инциндентности, соответствующие хз € Ьз и хз € Ьз, не равны друг другу, следовательно, имеем расщепление первого типа буквы хз.
Дальнейшее построение искомого графа однозначно. Сложность полученного структурного графа (рис. 4.46,а) равна 11 (L(Hi) = 11). Остальные 14 структурных графов проектируются аналогичным образом.
Трудоемкость.алгоритма проектирования структурного графа оптимальной сложности существенно уменьшается, если произвести оценку покрытий в п. 1 с помощью функционала
=	/«.	(4.19)
где i, j — элементы покрытия; fi, fij — частоты букв; R — число слов мографа.
§4.7. Син тез логических структур в топологических базисах 339
Этот функционал показывает удаленность элементов покрытия от условий взвешивания этими элементами яруса синтезируемого графа Н согласно (4.13).
С учетом такой модификации п. 1 алгоритма поиска оптимального структурного графа среди 15 графов заменяется на поиск среди трех графов, которым соответствуют покрытия с минимальным значением (4.19). Этими покрытиями являются покрытия
{ll, Х1, £4},	*3,	! {2-4, 3-5, Я'Б)'
с оценкой функционала, равной нулю.
Последние два покрытия порождают абсолютно минимальные структурные графы (рис. 4.46,6).
Переход Н -4 S от структурного графа Н к переключательной схеме S в базисах первого и третьего топологических классов осуществляется тривиально: заменой вершин на ключевые элементы, дуг — на соединительные каналы с односторонней проводимостью и включением выходного сопротивления в эмиттерную цепь. Заметим, что включение этого сопротивления в коллекторную цепь соответствует реализации отрицания заданной булевой функции.
При преобразовании Н -4 S в базисах второго топологического класса возможно появление лишних путей из-за двусторонней проводимости соединительных кана-
лов, если структурный граф Н со- Cl Q С) О С)	О
держит подграф Qg, изображен- j\f Т\. Т Т ный на рис. 4.47, а. При снятии А А А ориентации дуг (рис. 4.47, б) не-	б	в
сравнимые элементы становятся сравнимыми и появляется лиш-	ис’ '
ний путь, что выводит граф из класса эквивалентных в смысле реализации заданной функции графов. Для ликвидации лишних путей необходимо ориентировать диагональное ребро, помещая на него развязывающий диод (рис. 4.47, в).
Утверждение. Граф Q д (рис. 4.47, а) является запрещенной фигурой преобразования Н -4 S в базисах второго топологического класса.
Следовательно, минимизация развязывающих диодов сводится к покрытию семантической таблицы, в которой запрещенными фигурами являются подграфы Qb, а их компонентами — диагональные ребра, в которые помещаются развязывающие диоды.
Переход Н —> S в базисах второго топологического класса осуществляется, как и в базисах первого класса, ориентацией диагональных ребер в запрещенных фигурах Qg. Например, переключательная схема, реализованная на МОП-транзисторах по структурному графу Н (рис. 4.46,6), соответствующему покрытию {х4, is, т5), имеет вид, изображенный на рис. 4.48, а.
При преобразовании Н -4 S в базисах этого класса абстракцией переключательной схемы (рис. 4.48, а) является линейный
340
Гл. 4. Теория формальных грамматик и автоматов
граф (рис. 4.48,6), дуги которого взвешены первичными термами или единицами, соответствующими разрывающим диодам. Линей-
ный граф получается заменой вершин структурного графа Н дугами с теми же весами при сохранении исходных путей.
При преобразовании Н —> S в базисах четвертого топологического класса возможно появление лишних путей не только из-за двусторонней проводимости соединительных каналов, но и в результате двусторонней проводимости элементов. При этом лишние пути возникают, если структурный граф содержит подграф гомеоморфный подграфу Qb-
Утверждение. Запрещенной фигурой Qr (рис. 4.49, а) преобразования Н S в базисах четвертого топологического класса является подграф, гомеоморфный фигуре Qb-
В рассматриваемом структурном графе Н (см. рис. 4.46, б) при его преобразовании в переключательную схему четвертого топологического базиса запрещенными фигурами будут подграфы Qbi и
§ 4.7. Синтез логических структур в топологических базисах 341
Qbi (рис. 4.49, б) из-за двусторонней проводимости соединительных каналов и подграфы Qn и Qri (рис. 4.49, в) из-за двусторонней проводимости самих ключевых элементов. Для ликвидации лишних путей, вызванных двусторонней проводимостью самих элементов, один из элементов, находящийся на диагонали запрещенной фигуры, ориентируется последовательным соединением с Ним развязывающего диода.
Переход Н —> S в базисах рассматриваемого класса осуществляется, как и в первом топологическом базисе, с последующей ориентацией диагональных ребер в запрещенных фигурах Qr-Например, переключательная схема, реализованная на криотронах и реализующая функцию / (функция / задается структурным графом Н (рис. 4.46, б), соответствующим покрытию {24, ®5, х$}), имеет вид, изображенный на рис. 4.50, а.
При преобразовании Н —> S в базисах четвертого топологического класса абстракцией переключательных схем является линейный граф, ребра которого взвешены первичными термами или
Рис. 4.50
б
единицами, соответствующими развязывающим диодам, и который получается заменой вершин структурного графа Н ребрами с теми же весами при сохранении исходных путей (рис. 4.50, б).
Сложность переключательных схем равна сложности структурного графа, который преобразуется в схему, в нечетных топологических базисах. Во втором топологическом классе к этой сложности добавляются развязывающие диоды, определяемые распределением подграфов Qb- Сложность схем в четвертом классе равна сложности соответствующего структурного графа плюс развязывающие диоды, определяемые распределением фигур Qr, и минус количество контуров длины 2, ребра каждого из которых взвешены одним и тем же первичным термом. Каждый из таких контуров
342 Гл. 4. Теория формальных грамматик и автоматов
заменяется ключевым элементом с двусторонней проводимостью (рис. 4.51).
Таким образом, если считать только переключательные элементы, то сложность логических схем в топологических базисах равна сложности соответствующего структурного графа Н и опре-
х°‘
Рис. 4.51
деляется распределением запрещенных фигур Qa и Qb в мографе GM, задающем реализуемую булеву функцию f(xi, х2, ..., хп).
§4.8. Синтез логических структур в несвязных базисах
В классической теории автоматов проектирование логических структур (схем) рассматривается в основном как тождественное преобразование логических выражений с помощью используемой алгебры
А = (М, fi, f2, ..., fn),
где М — носитель; Д, f2, ..., fn — операции, определяющие сигнатуру алгебры.
Известно, что любая алгебра является аппаратом порождения композиций по связкам, соответствующим операциям этой алгебры. При этом любая операция fi определяет поведение целого mj по поведению его частей mi, т2, ..., mj_i, связанных функцией
m, = fi(mi, т2, ..mj-i).	(4.20)
Но определение функционирования целого по функционированию его частей является задачей анализа объекта. Таким образом, при прямом или композиционном подходе проектирование логических схем осуществляется средствами анализа.
Наиболее эффективным аппаратом проектирования является функциональная декомпозиция, которая, несмотря на многочисленные публикации по этой проблеме, оставалась открытой вплоть до публикации работы по важному, с практической точки зрения, случаю минимальной повторной декомпозиции. В связи с этим проектировщики схем довольствуются построением функциональных декомпозиций на основе эвристических соображений. Об удаленности получаемых при этом решений от минимальных говорить не приходится. Автором при декомпозиционном подходе было предложено новое направление — направление структурной декомпозиции, конструктивным элементом которого является понятие коалгебры.
§ 4.8. Синтез логических структур в несвязных базисах 343
При проектировании логических схем функционирование целого mj задано, и требуется определить функционирование его частей, связанных элементами заданного базиса и реализующих функции fi, т. е. найти связи между базисными элементами, образующими искомую схему. Другими словами, следует определить по результату mj (j — 1)-местной операции /,• аргументы mi, m2, mj-i такие, чтобы выполнялось соотношение (4.20).
Процедуру определения по mj множества {mj, m2, ..., nij-i} такого, что выполняется (4.20), будем называть кооперацией t<fi(mj) = {mx, т2, ...,
Термин кооперация можно заменить словами обратная операция.
Очевидно, что если результаты операций строго однозначны, то результаты коопераций неоднозначны. Для уменьшения числа результатов коопераций необходимо наложить ограничения на вид искомых аргументов. Такое ограничение при синтезе логических схем вводится естественным образом; это — ограничение на искомую схему.
Если алгебра определяет законы композиции, то коалгебра — законы декомпозиции.
Аналогично существованию, например, алгебры Буля, алгебры Вебба, импликативной алгебры, алгебры Жегалкина при развитии теории коалгебр следует ожидать появления коалгебры Буля, коалгебры Вебба, импликативной коалгебры, коалгебры Жегалкина.
В настоящее время разработана только коалгебра графов, являющаяся изоморфной коалгебре Буля, в которой носитель задан диаграммами Хассе или структурными графами.
В структурном графе каждая вершина взвешена первичным термом х?' и путь взаимно однозначно соответствует максимальному интервалу (простой импликанте) булевой функции f(xi, ®2, . . ., ®п)*
Коалгеброй графов называется совокупность вида к = {м, xv, х~), где носителем М является множество всевозможных структурных графов, а сигнатурой — кооперация дизъюнкции xv и кооперация отрицания х~ структурных графов. В дальнейшем эти две кооперации будем называть соответственно операцией разложения Xv и операцией инверсии х~ графов.
Операция разложения xv графов. При выполнении этой операции указывают направления, по которым происходит разложение графа Н. Направление задается вершинами, являющимися максимальными элементами графа Н.
Операция разложения xv(H) графа Н по направлениям Vi (i = 1, ..., к) есть выделение соответственно подграфов Hi
344	Гл. 4. Теория формальных грамматик и автоматов
(г — 1, ..к), каждый из которых состоит из всех вершин {vj/ j = 1, ..1} и соединяющих их дуг, для которых в графе Н найдется путь, соединяющий va € {«у/ j = 1, ..., 1} и vj € V{.
Например, результат операции разложения структурного графа Н (см. рис. 4.46,6) по направлениям {жз} и {г2, ®з} представлен на рис. 4.52. Повторные буквы отмечаем штрихами с целью идентификации вершин графа.
Рис. 4.52
Если вершины V,, определяющие направления, такие, что для всех va € {«у/ j = 1, ..., 1} выполняется va > иь, «ь G Vi, то полученный подграф Hi будем называть синдромом S(Vi) вершин Vi. Если же для всех вершин va G {vj/ j = 1, ..., /} выполняется «а < «!,, vj, € Vi, то подграф Я,- будем называть антисиндромом S(V{) вершин Vi.
Операция инверсии х~ графов. Структурный граф, представленный в виде суперпозиции структур типов л и а, называется графом типа тга (ла-графом).
Операция инверсии х”(Я) структурного графа Я — это приведение данного графа с помощью его разложения к графу типа 7г<7, замена каждого подграфа типа а подграфом типа гг и каждого подграфа типа л подграфом типа ст; при этом каждый вес х°' первоначального графа заменяется весом a;(<7,+1) mod 2 на соответствующих вершинах полученного графа.
Утверждение. Запрещенными фигурами свойства структурных графов быть я <т-графами являются графы, гомеоморфные графам Qb « Qa (рис. 4.53, а), пг. е. графы, представленные на рис. 4.53, б.
Рис. 4.53
§4.8. Синтез логических структур в несвязных базисах 345
Следовательно, минимальное расщепление структурного графа При приведении его графу типа тг<т определяется минимальным покрытием семантической таблицы, в которой столбцам взаимно однозначно соответствуют запрещенные фигуры, строкам — пути между вершинами vmin и v(s+(v) = 2) и между v(s“(v) = 2) и Ощах, где v(s+(v) = 2) — вершина с положительной полустепенью, I. е. с числом исходящих дуг, равным 2; v(s~(v) = 2) — вершина с
отрицательной полустепенью,	Таблица 4.20					
Т. е. с числом входящих дуг, равным 2; Vmin и vmax — ми-нимальный и максимальный элементы соответствующих путей. При устранении запрещенной фигуры рассматриваемого Свойства один из этих путей	Компоненты		НД1	Яд,	Яд,	Яд,
	а b с d е f	(?1,хз) Хз Х2 (*5,х'1) Хз XS	1 1 0 0 0 0	0 0 1 1 0 0	0 0 0 0 1 1	0 0 1 0 0 1
расщепляется.
В нашем случае семантическая таблица согласно рис. 4.49, б и рис. 4.49, в имеет вид табл. 4.20.
Имеем шесть покрытий этой таблицы:
(а V Ь)(с V d)(e V /)(с V /) = асе V bee V bcf V adf V bdf V afc.
Для определенности выбираем покрытие {Ь, с, /}. Тогда рассматриваемый структурный граф Н представим декомпозицией подграфов я-, <г:
Ц = <г(%(хз, <г(п(Х1, xs), k(xi, <т(х4, Xs)))),
Я-(Х2, Х4, li), 7r(<r(xi, Хз), х{, Х^)).
В этом случае инверсия графа Х~(Н) = Н (рис. 4.54) представляет собой
Рис. 4.54
346
Гл. 4. Теория формальных грамматик и автоматов
выражение вида
Н = ir(tr(i3, »r(<r(ri, хз), <r(xi,	хз)))),
х«, Хз), irfKfxt, Хз), xj, Х5)).
При синтезе логических схем в функциональном базисе В необходимо определять результаты коопераций вида х^' (&« € В), т. е.
Х^(Я) = {Я1,Я2,..,Я*„},	(4.21)
где квх — входной коэффициент элемента Ь,-.
Результат кооперации х^ь' можно получить, применяя соответственно ряд коопераций вида xv и х~ в порядке, обратном порядку следования операций V и в разложении операции на V и ~. Например, результаты кооперации Шеффера х'(Н) определяем с помощью коалгебры графов следующим образом.
Пусть необходимо найти результат {Ях,Я2} кооперации Х'(Я), т. е.
/(Я) = {Яъ Я2}.	(4.22)
Графы Я1, Я2 являются результатом Х*(Я), если и только если соответствующие им функции /1(Я1) и /2(Я2) связаны (согласно определению кооперации) соотношением
/(Я) = /1(Я1)//2(Я2).
Но, с другой стороны, f(H) — Л(Я1) V /2(Я2). Отсюда согласно определению кооперации и приведенным выше уравнениям получаем
XV(H) = {^,H'}, Х"(Я{) = Я1, Х-(ЯО = Я2,
т. е. в случае базиса Шеффера уравнение (4.22) можно свести к системе	Tr	v/rrw
н2 = х-(н^хуЩ)).
В дальнейшем будем обозначать j-ю компоненту результата ко-операции х1"1 (Я) = {Я,, Я2, .... Я,, .... Я*„} как ХЛ‘(Я)|;, т. е. я, = х'ЧЯ)Ь
В рассматриваемом случае уравнение (4.22) сведено к системе вида	Я1 = Х-(Х^(Я)|1),
Я2 = Х-(ХУ(Я)|2).
При сведении задачи определения результата {Я1, Я2, ... ..., Hktx] кооперации х^ь*(Н) к задаче определения результатов коопераций yv и у" в сущности сводят структурное уравнение (4.21), разрешенное относительно {Hi, Я2 ..., Я*,х}, к системе,
§4,8. Синтез логических структур в несвязных базисах 347
состоящей из квх структурных уравнений, причем каждое у-е (J = 1, ..., квх) структурное уравнение системы разрешено относительно Hj:
Я1 = х““(х“12...(х“1п*(Я))...),
Я2 = х“21(х“22---(х“2П2(Я))...),
я. =	(г>2>.	(я))>.	(4.23)
Нк„ =	(Х“*.х2 . .	(Н)). . .),
где xa° е {xv|jt, х-}; 1 = 1,..., квх, j = 1, ..., пу; п, — целое число, определяемое базисным элементом bj для любого j.
Система (4.23) представляет собой квх независимых друг от друга структурных уравнений. Не для каждого базисного элемента bi G В можно свести решение структурного уравнения (4.21) к решению системы уравнений вида (4.23).
Для определения вида базисного элемента, для которого решение (4.21) сводится к решению (4.23), разобьем все множество функциональных базисов на два класса: несвязных и связных базисов.
Предварительно сопоставим каждому базисному элементу 5, 6 G В граф Ifa, построенный следующим образом. Выразим булеву функцию Д, реализуемую элементом 5,, через связки V и Полученное выражение, в котором имеются только операции дизъюнкции и отрицания, представим в виде графа Hbt согласно геометрической интерпретации /-местной операции дизъюнкции и опе-(рис. 4.55).
Базис В = {bi/ i = 1, ..., п) называется несвязным, если ни один из графов Я^., которые соответствуют функциям fa, реализуемым элементами базиса, не содержит цикла.
Несвязными являются, например, базисы Вебба, Шеффера, Импликативные, коимпликативные.
Базис В = {bi/ i — 1,..., п} называется связным, если хотя бы один граф Нь, (г € {1, 2, ..., п}), который соответствует функции
348
Гл. 4. Теория формальных грамматик и автоматов
fbi (* € {1, 2, ..п}), реализуемой одним из элементов базиса, содержит цикл.
Например, решение уравнения %Л(Я) — {На, Нь, Нс, Hd}, соответствующего основному элементу УСЭППА (рис. 4.56), сводится к решению системы вида
я1 = х''(х-(х',(х-(х',(Я)|1))|3))|1,
Я« = х-(х',(х-(х''(Х-(х''(Я)|2))|1))|2),	(4.24)
wJ = x-(xv(x-(xv(ff)|2))|2), x-(xv(x-(xvTO|1))|!) = x-(xv(x-(x'W|2))|1).
Здесь А — знак операции, реализуемой основным элементом УСЭППА (универсальная система элементов промышленной пневмо-автоматики).
Число связанных уравнений в системе вида (4.24) равно ци-кломатическому числу графа Ньг Здесь возникает задача минимизации связности системы структурных уравнений, которая _	сводится к эквивалентным преобразова-
Г_дд(а, Ь, с, а) ниям соответствующих булевых выраже-jc 1 X.	ний. Действительно, ДНФ, соответст-
jO вующая булевой функции УСЭППА, име-ет вид
X	Д(а, bi ci d) = ab V ос V bed,
CJ Cj О О а после применения закона де Моргана — abed. вид
Рис. 4.57	Д(а, С) j} =aVb\/a\/c\/bVcVd.
Полученное выражение определяет граф Я^., представленный на рис. 4.57. Цикломатическое число этого графа равно 3:
^(Яь.) = |Я| - |У| + 1 = 10 - 8+ 1 = 3, и система структурных уравнений имеет вид
я.=х-(х''(х-(х',(Я)|1))|1), tfl = x-(xv(x-(xv(tf)|.))l2). яс = х'/(х-(х',(Я)|2))|2.
Ял = х-(х''(х“(х''(Я)|3))|2),	(4.25)
X- (хЧх- (XV(H)|,))|1) = X" (xv(x- (ХУ(Я) |2)) I,).
х- (xv(x-(xv(»)|1))|2) = xv(x-(xv(W)|3)>l1.
xv(x-(xv(tf)|2))|2 = x-(xv(x-(xv(«)|3))l2)-
§4.8. Синтез логических структур в несвязных базисах 349
Используя законы булева анализа, систему (4.25) упрощаем до системы (4.24). Минимизация цикломатического числа графа Нь, осуществляется с помощью функциональной декомпозиции путем поиска эквивалентных булевых выражений.
В общем случае определение результатов кооперации в связных базисах сводится к решению системы связных структурных уравнений вида
Hi = х"» (х“12... (х“*"1 (Я))...),
Я2 = х"21 (х“22... (х“2-2 (Я))...),
Hj =	... (xaini (Я))...),
= xa*«1(xa*«2...(х"*,хП*« (Я))...),	(4.26)
х^11 (х^2... (х^1-! (Я))...) = х™ (х^12... (х'1'1*! (Я))...), х^21 (х&2... (х^2"*2 (Я))...) = х721 (х722... (х72*2 (Я))...),
х^ (х^2... (х^""р (Я))...) = х7₽* (х7₽2... (х^р (Я))...),
Где x^^ia,	х7^ е {xv|„ х-}, ia = 1, ..., kBX, ja = 1, ...
• • •> jp — 1> • • •> J-y — 1) • • •> kj-i'i здесь nja,	опреде-
ляются элементом 5, соответственно для любого ja, jp, jy; ip, iy = = 1, ..., p (p — число линейно независимых циклов в графе Я(Ь,), равное его цикломатическому числу 1/(Я(6,)).
При синтезе логических схем в функциональных базисах строим по реализуемой функции f структурный граф, который затем с помощью коалгебры графов преобразуем в функциональный. Полученный функциональный граф и является искомой логической схемой. Предположим следующую процедуру преобразования структурного графа в функциональный. Предлагаемый ниже алгоритм рассмотрим на примере синтеза функционального графа, реализующего булеву функцию от трех переменных счетчика четности в базисе В = {->, 0}.
Алгоритм состоит из следующих шагов.
1.	Структурный граф b G В, реализующий булеву функцию /, сопоставляется максимальному элементу графа Я^, соответствующего базисному элементу b G В.
2.	Согласно графу Нь, определяющему функционально-структурные свойства элемента b ё В, выполняются соответствующие операции разложения и инверсии над графом Я/.
3.	В результате выполнения операций п. 2 определяются структурные графы Я/;, соответствующие минимальным элементам графа Нь-
Заметим, что максимальный элемент графа Нь соответствует выходу базисного элемента Ь, минимальные — входам этого элемента.
350 Гл. 4. Теория формальных грамматик и автоматов
Выполнение первых трех шагов для рассматриваемого примера иллюстрируется на рис. 4.58.
Для каждого из найденных графов Hjt пп. 1-3 выполняют до тех пор, пока не получат структурные графы, реализующие булевы функции, которые допустимы на входах логической схемы. Обычно такими функциями являются переменные Х{ или переменные и их отрицания.
Если на г-м шаге преобразования структурного графа в функциональный было получено N графов, реализующих одну и ту же функцию с точностью до конъюнкций, тождественно равных нулю, то эти графы объединяются в [ЛУ^вых] групп ([ ] — знак ближайшего целого числа; квах — выходной коэффициент (коэффициент разветвления) базисного элемента). Таким образом, при построении функционального графа учитывают коэффициент разветвления квах базисных элементов.
Окончательный результат преобразования структурного графа в функциональный в базисе {—>, 0} показан на рис. 4.59.
Абсолютная минимальность логической схемы в функциональном базисе определяется как семантикой частичного упорядочения мографа, задающего реализуемый автоматный оператор, так и семантикой базисных элементов. Знание семантики базисных элементов позволяет привести структурный граф H(f) к минимальному с точки зрения затрат базисных элементов виду. Вид этот представляет собой суперпозицию структурных графов Я(Ь,), bi G В, т. е. минимальную структурную декомпозицию.
Рассмотрим семантику базисных элементов V и & при пара-фазном представлении входной информации, т. е. при наличии на входе схемы переменных Xi и их отрицаний х,. Дизъюнктор (элемент ИЛИ) реализует ст-структуру, конъюнктор (элемент И) — тг-структуру. Следовательно, структурные графы, соответствующие выходам логических схем, построенных из этих элементов при парафазном представлении входной информации, представляют собой параллельно-последовательные структуры.
Утверждение. Запрещенными фигурами проектирования логических схем из дизъюнкторов и конъюнкторов при пара-
§4.8. Синтез логических структур в несвязных базисах 351
фазном представлении входной информации являются графы вида Qr « Qa (рис. 4.53).
Рис. 4.59
Проиллюстрируем этот результат рассмотрением примера Беркхарта
f = xyv V xywV xzuvV yzuw. 1	2	3	4
Мограф, определяющий эту функцию, изображен на рис. 4.60, а. Мограф содержит запрещенные фигуры вида
Q41 = {y'(3, 4), у(1, 4), х(1, 3)}, Рл2 = {«'(3, 4), у(2, 4), х(2, 3)}, Qa3 = {а:(2, 3), ц'(3, 4), w(2, 4)}, Qa< = {у(1, 4), ц'(3, 4), и(1,3)}.
352
Гл. 4, Теория формальных грамматик ц автоматов
Семантцческая таблица упорядочения мографа представлена в табл. 4.21.
Таблица 4.21
Qaj	Qai	Qa3	Qa.	Буквы	1	2	3	4
1	1	1	1	«'(3,4)	0	0	1	1
1	0	0	• 1	у -	(*-4)	1	0	0	1
0	1	0	0	J	(М)	0	1	0	1
1	0	0	0	х	(1.3)	1	0	1	0
0	1	1	0	(2,3)	0	1	1	0
0	0	1	0	w(2,4)	0	1	0	1
0	0	0	1		У(1.з) 	 ...	1	0	1	0
Находя минимальное покрытие этой таблицы, получаем представленный на рис. 4.60, б структурный граф, соответствующий мографу (рис. 4.60, о). Полученйый граф содержит запрещенные фигуры, определяющие семантику дизъюнкторов и конъюнкторов, следовательно, необходимо дальнейшее расщепление вершин полу-
Рис. 4.60
ченного графа или устранение запрещенных фигур путем выравнивания путей. Второй способ является предпочтительным, так как часто позволяет произвести устранение запрещенных фигур без увеличения числа вершин графа. Его реализация представлена на. рис. 4.60, в. Окончательно согласно структурному графу
§4.8. Синтез логических структур в несвязных базисах 353
(рис. 4.60, в) получаем схему минимальной сложности (рис. 4.60,г), которой соответствует скобочная форма вида
f = (zuV ху) (xvV yw), или структурная декомпозиция, выраженная через связки л- и ст-структур, вида
Hf = 7г(ст(7г(г, и), п(х, у)), ст(тг(®, «), тг(у, w))).
В полученном выражении существует взаимно однозначное соответствие между входными каналами схемы и переменными В выражении, при котором существует взаимно однозначное соответствие между элементами схемы и идентификаторами соответствующих подструктур (в данном случае лист). Таким образом, ликвидировав запрещенные фигуры этого базиса, получим структурный граф Н/ (рис. 4.60, в), интерпретируемый в категориях заданного базиса.
Цикломатическое число р(Я(6,)) каждого элемента Ь,- любого несвязного базиса В равно нулю, отсюда структурный граф Н(Ь$ Этого элемента представляет собой дерево, следовательно, на выводе любого несвязного элемента порождается лст-структура. Графы Н(Ь{) для наиболее применяемых несвязных базисов приведены на рис. 4.61:
Утверждение. Запрещенными фигурами проектирования логических схем в любом несвязном базисе при парафазном представлении входной информации являются графы вида Qr « (рис. 4.53).
Лри снятии ограничения на ларафазное представление входной Информации распределение запрещенных фигур Qr и Qfl в структурном графе Hf с точностью до п элементов определяет абсолютную минимальность схемы, где п — число переменных булевой функции /. Для получения абсолютно минимальной сложности
12 В. А. Горбатов
354
Гл. 4. Теория формальных грамматик и автоматов
логической схемы необходимо учитывать распределение переменных и их отрицаний х, в структурном графе Hf.
Согласно весам а:,-, х,- вершин структурного графа Hf раскрасим его вершины в два цвета (количество цветов равно значности используемой логики): вершины, взвешенные переменными ж,-, раскрасим в цвет а, вершины, взвешенные отрицаниями переменных ж,-, — в цвет Д. Вершинам, раскрашенным цветом а, на рисунках не будем приписывать штрихи, а вершинам, раскрашенным в цвет /3, будем приписывать.
Распределение весов ж,-, я, или раскраска структурного графа в базисе называются разрешенными, если существует взаимно однозначное соответствие межу входными каналами и вершинами графа Hj, при котором граф Hf представим в виде бесповтор-ной (с точностью до повтора одинаковых частей при одномерной записи) структурной декомпозиции, связками которой являются идентификаторы структурных графов базисных элементов. При разрешенной раскраске на входе логической схемы не включено ни одного инвертора. Разрешенная раскраска порождается путем подстановки структурных графов, задающих базисные элементы друг в друга.
Задача приведения заданной раскраски вершин графа Hf к разрешенной сводится к перекраске вершин, нарушающих разрешенное распределение. Перекраска вершины v(x°'), ст,- = 0, 1, означает появление на входе логической схемы инвертора, на вход которого подается переменная х,.
Очевидно, что возможна перекраска не одной вершины, а сразу всех вершин некоторого подграфа Я/(, Hfi С Hf, что эквивалентно включению инвертора внутри или на выходе схемы; при этом для соблюдения эквивалентности реализуемой булевой функции f перекрашиваемый подграф Нfi заменяется инверсным Нj,. Следовательно, для доказательства абсолютной минимальности спроектированной схемы необходимо осуществить возможную перекраску подграфов Hji заданного графа Hf.
Проиллюстрируем учет распределения весов ж,-, х,- вершин структурного графа Hf проектированием логической схемы в базисе Шеффера. Для определенности возьмем входной коэффициент кт (число входных каналов) базисного элемента, равный 2.
Пусть задана булева функция
/(ж, у, z) = xVyz,
структурный граф Hf которой представлен на рис. 4.62,6.
Разрешенной раскраской для изоморфных этому графу графов является раскраска графа Hft, изображенного на рис. 4.62,а. Сравнивая эти раскраски, замечаем, что для приведения раскраски заданного графа к разрешенной необходима перекраска всех трех вершин. Следовательно, сложность схемы будет равна 5:
§4.8. Синтез логических структур в несвязных базисах 355
два элемента необходимы для реализации структурного графа Нf2, имеющего разрешенную раскраску, и три элемента — для перекраски вершин заданного графа Hf (рис. 4.62,6). При перекраске всех вершин включением инвертора на выходе логической схемы для реализации инверсного графа Нf необходимо четыре элемента (рис. 4.62,в), так как в нем необходима перекраска одной вершины.	__
Разрешенная раскраска графа Н/2, изоморфного Нf, представлена на рис. 4.62, г. Таким образом, любая логическая схема (рис. 4.62, б, в) является абсолютно минимальной при реализации функции /. На рис. 4.62, ^изображен граф Н/3, изоморфный графу
Нf2 (рис. 4.62, г) и имеющий самую сложную раскраску своих вершин. Перекраска отдельных вершин не определяет минимальную реализацию (рис. 4.62, <?), ее определяет перекраска всего графа (рис. 4.62, е).
Рассматривая аналогично проектирование логических схем в Других несвязных базисах (импликативном, коимпликативном, Вебба), можно показать структуру запрещенных фигур как при па-рафазном представлении входной информации, так и при непара-
356
Гл. 4. Теория формальных грамматик и автоматов
фазном. Для определенности входной коэффициент квх функциональных элементов возьмем равным 2.
Утверждение. Запрещенными фигурами проектирования логических схем в импликативном и коимпликативном базисах при парафазном представлении входной информации являются графы (рис. 4.63, а), при непарафазном представлении — графы С)длм (рис. 4.63,6).
Утверждение. Запрещенными фигурами проектирования логических схем в базисах Вебба и Шеффера при парафазном представлении входной информации являются графы <2двп
Рис. 4.63
(рис. 4.63, в), при непарафазном представлении в базисе Вебба — графы <Эдв.н (рис. 4.63,г), в базисе Шеффера — графы Qflui.H (рис. 4.63, <?).
При увеличении входного коэффициента эти фигуры увеличивают свою высоту и ширину. При непарафазном представлении входной информации эти две величины равны квх, при парафазном высота фигур либо равна квх, либо на 1 или 2 больше согласно рис. 4.63, а,в. Ширина фигур либо равна квх, либо на 1 больше согласно тем же рисункам.
Подстановкой диаграммы На вместо вершины и диаграммы Н называется операция, в результате которой:
1) буква, соответствующая вершине и, вычеркивается и вершина и заменяется диаграммой На так, что каждая максимальная вершина диаграммы Н является началом всех дуг, выходящих из
§ 4.8. Синтез логических структур в несвязных базисах 357
v, и каждая минимальная вершина Н является концом всех дуг, входящих в вершину v;
2) если буква, соответствующая вершине, является инверсной, то производится операция инверсии диаграммы х~(Я).
Операция, обратная подстановке, называется операцией свертывания диаграммы Н в вершину v.
Структурные графы Я/, не содержащие запрещенных фигур фди.п> С?Ди.н, С?Дв.п, С?Дв.н> С?Дш.н> при свертывании диаграмм, соответствующих базисным элементам, свертываются в вершину, взвешенную выходной буквой f. При этом существует взаимно однозначное соответствие между буквами структурного графа Hj и вхождением их в структурную декомпозицию с точностью до повторения общих частей.
В качестве упражнения читателю предлагается выделить запрещенные фигуры Qa, Qam.„, <2дк.и, Q^b.h, Ядв.н, Qaw.h и преобразовать структурный граф Hj = (V(X), <):
VW = _
= {«(xi), v(®l), v(®2), v(^2). V(®2),v(®3), v(®3), v(^4).
v(^l) <	v(z2),	v(Xi)	< V(X4),	У(х*2}	<	V(X4),
vlx2) <	v(a:i),	< «(ач),	v(a:i)	< «(^з),
v(z4) <	v(z3),	v(i4)	< v(z3),	v(x3)	< v(sc*4),
в минимальные логические схемы в базисах импликативном, коимпликативном, Вебба, Шеффера. Полученные результаты будут иметь следующий вид:
Hf = Лн(^и(Ли(а:з, Яи(х4, 0)), /&и(^н(^и(а-4> 0), а-з)> (Ли(®1> Ли(а:2, 0)))), ЬИ(НИ(ЬИ(Х1, Л.н(2:2, 0))> ^и(^1н(а'4> 0)> а-з))> ^1н(^и(^н(а'2, 0)) ®1)» 0)))>
Hf =	^к(^к(1, Хя)) ®1))>
(^к(^к(1 j ^к(х1> ^к(1, ®2)))> ^4)> ®з))>
Ьк(Ьк(Ьк(х1> ^к(1> а^))» ^к(^к(1, ^4), ®з)), Ьк(хз, ^к(1, 2:4))))),
Hf — Ав(^в(^в(^в(а:з> ^в(^в(а'2> ^4), A'B(/lB(®2, s2), Лв(а:4, ^4))))» ^в(Х4, hB(x2t а-2))»
^в(а-з> а-з)))> 2-1)> ЛВ(ЛВ(®2> ^b(®x> ®i)), hB(^x3, 2:4))),
Hf =	2:3)1 ^ш(а?4, 2:4)), Л-щ^жз, х4)),
(xj, а:2))), /1ш(^ш(Л'ш(Л'ш(^ш(^1ш(а'3> ®з)>
Лш(а:4т а:4))),	Ег));	a-i)» ^m(a-2, Ег)))))»
где ^к, hB, Лш — идентификаторы структурных графов Я(Ь), соответствующих элементам в базисах импликативном, коимпликативном, Вебба, Шеффера соответственно.
358 Гл. 4. Теория формальных грамматик и автоматов
Полученные структурные композиции определяют логические схемы сложностью 13, 15, 16, 16.
Аналогично проектируются абсолютно минимальные логические схемы в любом несвязном базисе.
Характеризация семантики связных базисов в виде нахождения запрещенных фигур проектирования логических схем в этих базисах является открытой проблемой. Трудность заключается в том, что для связных элементов необходимо согласовывать структурные графы, получающиеся внутри цикла графа, соответствующего базисному элементу. Это согласование учитывает вторую группу уравнений в системе 4.26.
Точное проектирование логических схем в несвязных базисах на основе их семантики заключается в реализации следующих преобразований.
1.	Синтезируется структурный граф H(f), реализующий заданную булеву ФУНКЦИЮ /(«х» Х2, ..., Жп).
2.	Минимальным расширением носителя структурного графа H(f) с помощью покрытия семантической таблицы он приводится к виду тгст-графов.
3.	Определяются структурные графы соответствующие элементам заданного базиса.
4.	Начиная от выходного канала к входным структурный граф H(f) покрывается графами 77(5,).
Проиллюстрируем эти преобразования проектированием логической схемы, реализующей булеву функцию
/(zi, ж2, ..., ж5) = Ж1Ж2Ж5 V :eiZ3Z5 V а^жза^у _	_
V Жх^З^Ч V ХгХзХ5 V X2a:4a:5 в классическом базисе, базисах Шеффера, Вебба, импликативном и коимпликативном с kBX 6 {2, 3}.
Выполнение пп. 1-3 было проведено выше (см. рис. 4.46, б, 4.54, 4.61). Рассмотрим реализацию п. 4. Преобразование в классическом базисе осуществляется тривиальным образом. В полученном согласно п. 2 выражении
Я(/) = ст(тг(а:з, «(тг^х, ®5), тг(жх, и(ж4, ж5)))),
7г(а:2, х4, х'5), тг(а(х'2, ж3), х{, х^)) связки 7г и а заменяются соответственно на элементы & и V (рис. 4.64).
В других базисах при покрытии возможно появление согласующего элемента в каналах связи, работающего по схеме НЕ, когда внешние связки базисного элемента не совпадают с внешней связкой непокрытого структурного графа H(f). Результат покрытия H(f) графами Я (5,) в остальных базисах изображен на рис. 4.65-4.67.
Проектирование осуществлено при допустимом парафазном представлении входной информации.
§4.8- Синтез логических структур в несвязных базисах 359
Определим понятия вида и типа булевых функций. Класс буле-
вых функций, каждая из которых получается из другой путем переименования переменных, называется видом булевых функций.
Класс булевых функций, каждая из которых получается из другой путем переименования переменных и замены переменных их отрицаниями, называется типом булевых функций. Часто эти преобразования называются преобразованиями Джевонса (по имени ученого, предложившего понятие “тип” булевых функций).
Структурный граф инвариантен относительно преобразований
Рис. 4.64
однотипности. Логическая схема инвариантна относительно переименования переменных. Вид является подклассом типа.
Очевидно, что
\L(Hik) - L(Hjk)\ < n,
L(Hak) — минимальная сложность логической схемы в базисе В, который реализует булеву функцию f(xy, Х2, ..., хп) вида а (а = г, j) и типа к, если на реализацию отрицания в этом базисе требуется один элемент.
Следовательно, минимальная сложность логической схемы, реализующей булеву функцию от п переменных в заданном базисе,
Рис. 4.65
360 Гл. 4. Теория формальных грамматик и автоматов
определяется с точностью до п свойствами типа, который характеризуется структурным графом, показывающим с точностью до отрицания объединения и пересечения общих частей в логиче-
ской схеме. Другими словами, минимальная сложность логической схемы с точностью до п элементов определяется распределением запрещенных фигур Qa, Qe в мографе, задающем реализуемую булеву функцию. Абсолютную минимальность логической схемы в несвязном базисе определяют распределение запрещенных
Рис. 4.67
фигур Qa, Qe в мографе распределение запрещенных фигур Qr, Qa в структурном графе H(f) и удаленность раскраски вершин графа H(f) от разрешенной раскраски графа H(f), изоморфному графу H(f).
§ 4.9. Синтез логических структур в связных базисах 361
В рассмотренном в этом параграфе примере не учитывалось распределение красок в структурном графе так как допускалось парафазное представление входной информации. Читателю предлагается опустить это ограничение и построить абсолютно минимальные логические схемы в рассматриваемых пяти базисах с учетом распределения красок в структурном графе как это делалось в конце предыдущего параграфа.
§ 4.9. Синтез логических структур в связных базисах
В общем виде решение системы связных структурных уравнений (4.26) является открытой проблемой при поиске минимальных логических структур. Рассмотрим приближенное решение этой проблемы.
Число направлений, на которое разлагается структурный граф при преобразовании его в функциональный, равно числу входных каналов базисного элемента. В зависимости от выбранных направлений при выполнении операции разложения получаем различные сложности функционального графа. Если преобразуемый структурный граф H(f) имеет N_ (N_ > А:вх) максимальных вершин, то для получения функционального графа минимальной сложности необходимо произвести (^“) различных разложений и Каждое из них оценить.
Для оценки разложений будем использовать топологические характеристики структурных графов H(J) и Н(Ь). Сравнение топологических характеристик этих графов дает возможность определять оптимальное разложение структурных графов, что особенно важно при проектировании логических схем в многофункциональных базисах, т. е. базисах, содержащих многофункциональные модули — модули, на которых выделена группа входных каналов, в зависимости от настройки которых выполняется та или иная булева функция.
В качестве топологических характеристик будем рассматривать: и — цикломатическое число; I — длину графа (максимальную длину пути, содержащегося в графе); р — число путей; С — п
связность, С = 1/п 52 sii гДе si — степень г-й вершины, п — чи-t=i
ело вершин, т — число дуг; а — число максимальных элементов;
/3 — число минимальных элементов.
Оптимальное разложение структурного графа оценивается минимальным значением одного из функционалов
Яу) = ((р(Яу) - гх(Яу))2 + (/(Яу) - /(Яу))2 +
+ (р(Яу) - р(Яу))2 + (С-(Яу) - С(Яу))2 + (п(Яу) - п(Яу))2 + + (т(Яу) - тп(Яу))2 + (|а(Яу) - Д(Яу)| - |а(Яу) - Д(Яу)|)2)0’5,	,
362__Гл. 4. Теория формальных грамматик и автоматов_
я,) = res;^j4 + tes7(7n +res7w4 +
«VW >W) p[Hj)
I гсоС(ВД I rco-W) I rccm™ I rc3 l°W) - ^"/)l
С(Я,)	n(H,) +	m№)+	|а(я,)-да,)Г
где индексы f относятся к реализуемой функции, а индексы j — к выбранному разложению (настройке многофункционального модуля), res — остаток от целочисленного деления.
Функционал Hj) применяется, когда среднее значение отклонения их топологических характеристик не превышает 2, т. е. первый функционал используется при малом различии их топологических характеристик, в противном случае применяется второй функционал фз(Н/, Hj).
В качестве иллюстрации введенных функционалов рассмотрим проектирование логической схемы, реализующей булеву функцию /(®1, хг, 13, х4)|i = V(0, 1, 2, 7, 15), на элементах УСЭППА.
Структурный граф Н (/) имеет следующий вид:
H(f) = cr(7r(*i> ®2, а(х3, z4)), 7г(х2, х3> х4)).
Структурный граф Н(Ь), соответствующий элементу УСЭППА, имеет матрицу соединений S = [stJ] вида
00000000
-1	0000000
-1	0000000
0 -1	000000
0	—1	1	0000	0-
00 -1	00000
0	0	0	0	1	0	0	0
0	0	О	0-1 о о	о
Матрица соединений является двухвходовой матрицей, каждой строке (столбцу) которой взаимно однозначно соответствует вершина структурного графа Н = (V, U), и
{1, если (и, Vj) £ U и эта дуга не перечеркнута,
—1, если (v,-, Vj) {U и эта дуга перечеркнута,
т. е. она является инверсной, 0, если (и,, Vj) U.
Структурные графы Н4 и Нз, соответствующие двум направлениям разложения, имеют соответственно вид:
Hi = ?r(zi, ct(z2, I3)), H2 = тг(12, z3, z4).
В данном случае применим функционал <pi(Hf, Hj):
Vi(Ha,Hi), ч>1(На,Нз), Ti(H^Hi), Т1(Нр,Нз),
§ 4.9. Синтез логических структур в связных базисах
363
На = тг(х1, х2, tf(x3, «4)), Нр = ir(x2, х3, х4).
Каждое из вычисленных значений функционала характеризует близость соответствующих структурных графов
/6	4\ 2
^(Яо,, Ях) = ((0 - О)2 + (3 - 2)2 + (2 - 2)2 + (j - -J +
+ (4 - З)2 + (3 - 2)2 + (|1 - 2| - |2 - 11)2)0’5 « </^04.
Аналогично вычисляем
^1(Яа, Я2) « v/4^4, ^(Яд, Яг) = х/3, ^(Яд, Я2) = 0.
Согласно вычисленным значениям <р4(Н/, Hj) структурный граф На разлагаем по Н4, Н@— по Я2. В результате получаем структурно декомпозицию вида
Я(/) = h(Tr(xi, х2), х4, х3, х2), где h — идентификатор структурного графа Я(Ь), определяющего элемент УСЭППА.
Действуя аналогично, для функции tt(xi, х2) окончательно получаем оптимальную логическую схему, состоящую из двух элементов УСЭППА при парафазном представлении входной информации:
H(f(x4, х2, хз, 14)) = Л(Л(О, xi, 1, х2), х4, хз, х2).
Структурный граф, соответствующий входу базисного элемента, с точностью до применения операции инверсии является подграфом структурного графа, соответствующего выходу этого же базисного элемента. Отсюда можно предложить следующий метод преобразования структурного графа в функциональный при синтезе в связных базисах.
Для каждого элемента bi связного базиса перечисляем различные режимы Rj его работы и соответствующие им графы Нь^. Режимы получают путем объединения входов элемента Ь, и путем подачи на вход констант, если такая возможность имеется. Оцениваем графы Я(,о по числу вершин и согласно этой оценке упорядочиваем их в порядке убывания этих чисел.
Выбираем первый граф Н4 этого ряда и определяем, является ли преобразуемый структурный граф Я/ суперпозицией согласно Я1 своих подграфов или их инверсий Яа1, Яа2, ..., Н„к^. Если является, то подграфы Яа1, На2, ..., Нак^ являются искомыми на этом шаге преобразования. Если нет, то выбираем второй граф Я2 этого ряда и повторяем проверку и т. д. до получения функционального графа.
Оптимизацию этого процесса можно проводить, оценивая удаленность Hf от Я, (Яа1, На2, ..., Яайвх), i = 1, 2, ..., по их топологическим характеристикам.
364
Гл. 4. Теория формальных грамматик и автоматов
Проиллюстрируем этот метод логических схем на элементах УСЭППА.
Пусть необходимо синтезировать логическую схему на элементах УСЭППА, реализующую булеву функцию вида
/(xi, х2, ..х5) = Х1Х2 V X1X3Vx^xs V х2х4х5 V Х2Х3Х4,
1	2	3	4	5
мограф которой изображен на рис. 4.68.
Наиболее интересными режимами являются 8 режимов {Ri/ i = 1, ..., 8}, представленных реализуемыми структурными графами на рис. 4.69.
Проверяем, является ли структурный граф Hnt, реализуемый режимом 7?i, подграфом структурного графа H(f), определяющего булеву функцию /. Для этого вводим операцию разности На —
Рис. 4.68
Рис. 4.69
-Н/з = Ну структурных графов На = (V, Ра), Нр = (V, Рд); Ра, Рр — множества путей графов На, Нр; Ну = (V, Р7), Ру = Ра \Рр.
В рассматриваемом случае граф является подграфом графа H(f). Производим эту операцию и находим разность этих графов (рис. 4.70). Следовательно, выходным элементом должен быть элемент, реализующий один из режимов R5 или R$. Структурный граф Hf — Hrx имеет вид тг(х5, ct(xi, тг(х2, Х4))), следовательно, по своим топологическим характеристикам он ближе к графу, реализуемому режимом Rg.
Таким образом, определили выходной элемент. Структурный граф, соответствующий третьему входу выходного элемента, реализуется режимом 7?б. Окончательно получаем логическую схему, содержащую три элемента УСЭППА (рис. 4.71).
Предложим второй, менее трудоемкий метод проектирования логических схем в связных базисах, в котором не производится построение структурного графа проектирование осуществля
§ 4.9. Синтез логических структур в связных базисах
365
ется по мографу GM(f), определяющему заданную булеву функцию f(xi, х2, ..., хп).
Этот метод состоит из следующих преобразований.
1.	Мограф GM(f) преобразуется в трехъярусный структурный граф	в котором минимальным элементам взаимно одно-
значно соответствуют переменные булевой функции, максималь
ab=Ocd
Рис. 4,71
ному элементу сопоставляется буква, идентифицирующая реализуемую функцию /, элементам промежуточного яруса — идентификаторы слов мографа GM(f). Максимальный элемент соединяется с любым элементом промежуточного яруса перечеркнутой дугой. Минимальный элемент соединяется с вершиной промежуточного яруса дугой, если эта переменная входит в соответствующее слово с отрицанием, и соединяется перечеркнутой дугой, если без отрицания.
366 Гл. 4. Теория формальных грамматик и автоматов
Преобразование GM(f) —> H3(f) для рассматриваемого примера приведено на рис. 4.72.
2.	Булева функция y>,(zi, zj, ..., z*,), реализуемая режимом Я,, преобразуется в трехъярусный структурный граф ?. Такое прео-
а b d
Рис. 4.73
бразование осуществляется для каждого режима (рис. 4.73). Полученные структурные графы {Яд3)} упорядочиваются по убыванию сложности соответствующих графов Яд,.
§ 4.9. Синтез логических структур в связных базисах 367
3.	Определяется в порядке упорядочения, произведенного в п. 2, содержится ли граф Hf в качестве подграфа в Я(3)(/). Если да, то путем, состоящим из*двух перечеркнутых дуг, выход элемента, реализующего этот режим, соединяется с максимальной вершиной графа H^3\f) с одновременным вычитанием графа Hf из я(3)(Л-
Если ни одни из графов {Hf} не содержится в	то
применением схемной алгебры Ас = {Н(3\ U, ), изоморфной алгебре множеств Ак = {М, U, ), граф H^3\f) приводится к виду, при котором он содержит один из графов {Hf}.
Схемной алгеброй Ас называется совокупность
(Ж3), и,
где носитель Н^ — множество трехъярусных структурных графов; сигнатура: U — объединение трехъярусных структурных графов Я<3) U Hf = Hf, Hf = (V, Ра), H{f = (V, Рд); Ра, Рр — множества путей графов Hf, Hf, Hf = {V, Ру), Ру = = PaU Рр; — инверсия структурного графа.
Выразим через операции U и третью операцию — пересечение структурных графов Hf Q Hf:
HfnHf = Hfunf.
В силу изоморфизма этой алгебры и алгебры множеств сигнатура алгебры Ас удовлетворяет следующим законам:
1)	коммутативности объединения и пересечения (рис. 4.74, а) а U Ь = Ь U а, аПЬ = ЬПа;
2)	ассоциативности объединения и пересечения (рис. 4.74, б) a U b U с = a U (b U с) = (a U b) U с, аГ}ЬС1с = аГ\(ЬГ\с) = (а П Ь) Г1 с;
3)	дистрибутивности пересечения относительно объединения и объединения относительно пересечения (рис. 4.75)
a Q {b U с) = (а П b) U (а Q с),
a U {Ь П с) = (а U Ь) Г1 (а U с);
4)	идемпотентности объединения и пересечения (рис. 4.76, а) а U а = а, а Г1 а = а;
5)	законам действия с константами (рис. 4.76, б)
a U 0 = a, aUl = l, aUa=l,
а О 0 = 0, а П 1 = а, аПа = 0;
368
Гл. 4. Теория формальных грамматик и автоматов
Ь
с Ь Рис. 4.75
§4.9. Синтез логических структур в связных базисах 369
6)	двойной инверсии (рис. 4.76, в)
а = а.
4. Если полученный граф Я(3)(/) не является графом, представляющим собой вершину, взвешенную буквой /, то возвращаемся к выполнению п. 3, если является, то конец.
Рис. 4.77
Рассматриваемый структурный граф	(рис. 4.77, а) со-
держит граф Яд^, соответствующий режиму Ri. Выполняем п. 3,
370
Гл. 4. Теория формальных грамматик и автоматов
в результате получаем структуру, изображенную на рис. 4.77, б. В оставшемся графе содержится граф, соответствующий режиму Я6. В результате получаем структуру, представленную на рис. 4.78, а, которую с помощью законов схемной алгебры приводим к ви-
б
ду рис. 4.78, б. Полученный граф	соответствует режиму
7?б. Окончательно получаем логическую схему сложности 3 (см. рис. 4.71).
Проектирование этим методом идет от входов к выходу, т. е. с помощью схемной алгебры строится композиция из базисных элементов.
В силу того, что здесь используется прямой алгебраический подход, сложность схемы будет во многом зависеть от применяемой стратегии выбора последовательности законов при преобразовании структурного графа Н(3)(/). Это — недостаток всех методов прямого алгебраического подхода, он отсутствует только при коал-гебраическом подходе.
§ 4.10. Синтез нейронных структур
Нейрон, модель которого была предложена У. Мак-Каллоком и У. Питтсом (1943 г.), описывается булевой функцией вида
Х2,
Ifc) = -
ю
к
если $2 w,- • х,- > Т, t=i
в противном случае,
где Wj — вес г-го синапса, Т — порог возбуждения нейрона.
Аналоговая реализация нейрона в виде композиции множительных устройств и сумматора при увеличении k обусловила повышенные требования к точности изготовления компонент. Этот факт определил необходимость цифровой реализации нейрона.
§4.10. Синтез нейронных структур
371
Первая реализация была предложена в виде гексагональной структуры (В.Л. Белявский, В.А. Горбатов, 1970 г.; рис. 4.79), где вес синапса г-й переменной w(xj) определяется числом горизонтальных цепей, на вход которых подается переменная х,. Каждая горизонтальная цепь представляет собой последовательно включен-
Аксоны
Синапсы
Квизипороги
Ключи
Рис. 4.79. Гексагональная структура нейрона
ные между собой ключи, при этом, если в рассматриваемой цепи нечетные ключи открываются переменной ж,, а четные — переменной то в соседних горизонтальных цепях, наоборот, нечетные ключи открываются переменной i,, четные — переменной х,. Ключи, открывающиеся переменной х,, в дальнейшем будем называть неинверсными, а открывающиеся переменной х, — инверсными ключами.
Нейрон гексагональной структуры описывается булевой функцией вида
{к
1, если Е», -г, =Т„
0 в противном случае,
где Tj — разрешенный квазипорог, а множество разрешенных квазипорогов {Tj} моделирует порог Т в смысле У. Мак-Каллока и У. Питтса.
Настройка нейрона на заданную булеву функцию f(xi, х?, ... ..., хп) сводится к определению весов синапсов w, и множества разрешенных квазипорогов Tj. Единичные точки ха булевой функции f(xi, Х2, ..., хп), f(xa) — 1, соответствуют разрешенным квазипорогам Tj, нулевые точки хр, = 0, — запрещенным квазипорогам Ps.
Для определения {Tj} и {Р,} составляем две системы уравнений: систему для определения множества разрешенных квазипорогов и систему для определения множества запрещенных квазипорогов. Системы решены, бели любые два квазипорога Tj и
372
Гл. 4. Теория формальных грамматик и автоматов
Р3 не равны друг другу: (Vj, s)(Tj / Р3). Тривиальное решение получаем, если
Wi = 2к~\
в этом случае значения Tj и Р3 будут равны десятичному количественному эквиваленту соответствующего двоичного набора. Очевидно, что каждый вес синапса равен 1, если функция /(ii, х2,... ..., in) является симметрической.
Нетрудно показать, что функция /(д^, ®2, ..., ®n) является симметрической, если в соответствующем гиперкубе не найдется яруса, который содержит хотя бы две точки, в которых эта функция принимает различные значения. Обычно качество настройки нейрона определяют значением суммы весов синапсов, т. е. при настройке она минимизируется:
(к \ w, I. t=i Jj
Для уменьшения трудоемкости настройки нейрона введем понятие графа неравенства GH = (Vw, U), каждой вершине которого взаимно однозначно соответствует вес синапса и две вершины соединены ребром тогда и только тогда, когда соответствующие веса синапсов представлены в виде одинаковых алгебраических сумм,
х2, х3>
Рис. 4.80
входящих в различные системы уравнений: один вес — в систему разрешенных квазипорогов, другой — в систему запрещенных квазипорогов.
Используя введенное понятие, рассмотрим синтез (настройку) нейрона, реализующего булеву функцию
х2, 13)|^= V(2, 3, 4, 6).
Булева функция х2, #з) не является симметрической (рис. 4.80, а), так как нашелся ярус в гиперкубе, содержащий нули и единицы.
Система для разрешенных квазипорогов имеет вид w2 = Ti, w2 + w3 = T2, wi = T3, w1 + w2 = T4,
§4.11. Моделирование автоматных систем сетями Петри 373
для запрещенных —
Ро = 0, w3 = Pi, wi + w3 = P2, wi + w2 + w3 = P3.
Анализ уравнений показывает, что граф неравенства весов является полным, следовательно, веса синапсов попарно различны.
Пусть wi = 3, w2 = 2, w3 = 1; тогда
{Ti} = {2,3, 5}, {/’•} = {1,4, 6}.
Решение найдено, нейрон имеет вид, представленный на рис. 4.80,6. На рис. 4.80, б в горизонтальной цепи перечеркнутый ключ соответствует инверсному ключу, обведенный кругом номер разряда регистра квазипорогов содержит 1, необведенный содержит 0.
Содержимое регистра квазипорогов имеет вид .. .0011010...
§ 4.11.	Моделирование автоматных систем сетями Петри
В связи со все более широкйм использованием параллельных и распределенных вычислительных систем особую актуальность приобретают дискретные структуры, представляющие параллельные процессы. Аппаратом описания сложных систем взаимодействующих процессов являются формальные системы типа сетей Петри, моделирующие динамические свойства систем.
Формализм сетей Петри общего вида основан на понятии комплекта, являющегося в некотором роде обобщением понятия множества. Как и множество, комплект — это набор элементов, но Всякий элемент может входить в него более одного раза. Иначе говоря, отношение включения, связывающее элементы и множества, заменяются на функцию числа экземпляров элемента в комплекте, которая обозначается #(ж, В) (читается: число х в комплекте В). Множество — частный случай комплекта.
Многие понятия теории множеств распространяются и на комплекты. Так, пустой комплект аналогичен пустому множеству. Мощность комплекта есть общее число экземпляров элементов в комплекте. Комплект А включен в комплект В (является под-комплектом), если для всякого х #(х, А) < #(х, В). С помощью функции # легко определяются операции над комплектами:
объединение комплектов А и В
#(х, A U В) = max (#(i, A), #(х, В));
пересечение комплектов А и В
#(х, АГ\В) = min (#(i, А), #(i, В));
сумма комплектов А и В
#(z, А 4- В) = #(я, А) + #(®, В);
разность комплектов А и В
#(х, А — В) =#(х, А) — #(®, АП В).
374
Гл. 4. Теория формальных грамматик и автоматов
Если М — множество, то Мп — множество всех таких комплектов, построенных из элементов М, что #(®, В) < п, В G ЛГП; М°° — множество всех комплектов, построенных из элементов М без ограничения на число экземпляров элемента в комплекте.
Сеть Петри — это четверка С = (Р, Т, I, О), где Р — конечное множество позиций, Т — конечное множество переходов, Г. Т —> Р°° — входная функция, отображающая переходы в комплекты позиций, О: Т —> Р°° — выходная функция, отображающая переходы в комплекты позиций. Графически сеть Петри е изображают в виде мультиграфа с вершинами двух видов: кружки соответствуют позициям, планки — переходам. Функции I и О пред-ставляются дугами (рис. 4.81).
Позиции, дуги из которых ведут в переход tj, называются входными для tj; аналогично позиции, в которые ведут дуги из перехода Рис. 4 81	называются выходными для tj.
Множество входных позиций обозначают I(tj), а выходных — C(tj). В сети Петри, изображенной на рис. 4.81, J(ti) = {pi, pi, pi}, 0(h) = {рз, р4, р4}. Функции I и О удобно обобщить и на отображение из позиции в комплекты переходов (Р —> Т°°), что позволяет обозначать множества входных и выходных переходов позиций р,, определяемые
аналогично множествам входных и выходных позиций перехода, соответственно как I(pi) и C(pt). В сети Петри, изображенной на рис. 4.81, 1(рз) = {<2, h}, О(рз) = {t2, t4}.
Введенные понятия относятся к статистической структуре сети Петри. Динамические свойства сети Петри определяются с помощью понятия маркировки. Маркировка р сети Петри С = = (Р, Т, I, О) — это функция, отображающая множество позиций Р в множество неотрицательных целых чисел N. Маркировка изображается с помощью помещаемых внутрь позиций фишек (точек). Так, маркировка сети Петри, приведенной на рис. 4.81, определяется как д(р1) = д(рз) = 1, д(рг) = д(Р4) = д(Рб) = 0.
Удобно представлять маркировку как n-вектор р = (pi,p2,... ...,рп) (где п = |Р|), каждый элемент которого д,- есть р(р,), а также как комплект р, в который входят позиции сети р, € Р и #(pi, р) — P(Pi)- Сеть Петри С с определенной в ней маркировкой р называется маркированной сетью Петри.
Маркировка сети может изменяться в результате запуска переходов. Переход tj маркированной сети Петри С с маркировкой р называется разрешенным, если I(tj) D р, т. е. в каждой входной позиции tj находится не меньше фишек, чем из этой позиции исходит дуг в tj. Всякий разрешенный переход может запуститься.
§4.11. Моделирование автоматных систем сетями Петри 375
В результате запуска перехода tj маркировка сети д изменяется на новую: д' = д — I(tj) + O(tj), т. е. из всякой входной позиции Pi перехода t, удаляется столько фишек, сколько дуг ведет из р, в tj, а в каждую выходную позицию Рк помещается столько фи-щек, сколько дуг ведет из tj в рк- Последовательность запусков переходов называется выполнением сети Петри.
Рассмотрим выполнение сети Петри, изображенной иа рис. 4.81. В начальной маркировке разрешен только переход tj. При его запуске фишка удалится Из рз, а затем в позиции рз и рз добавится по фишке, т. е. в результате запуска В новой маркировке р' появится фишка еще и в р?. Теперь становятся разрешенными переходы 1з, t«. Поскольку запуститься может любой разрешенный переход, предположим, что запускается переход t«. После его запуска из позиций рз н рз фишки удаляются, а в позиции рз появится одна фишка. В получившейся маркировке р" не разрешен ни один переход. На этом выполнение сети • Петри заканчивается.
Рассмотрим маркировку д сети Петри С = {Р, Т, I, О). Маркировка д' называется непосредственно достижимой из д, если Найдется такой переход tj 6 Т, разрешенный в д, что при его запуске получается маркировка д'; в этом случае пара (д, д') принадлежит отношению непосредственной достижимости, определенному на Р°°. Транзитивное замыкание этого отношения называется отношением достижимости. Маркировки д' такие, что пара (д, д') принадлежит отношению достижимости, называются достижимыми из д. Множество достижимых из fi маркировок сети Петри С называется множеством достижимости и обозначается R(C, р).
Интерпретация сетей Петри основана на понятиях условия и события. Состояние системы описывается совокупностью условий. Функционирование системы состоит в осуществлении последовательности определенных действий, т. е. событий. Для возникновения события необходимо выполнение некоторых условий, Называемых предусловиями. Возникновение события может привести к нарушению предусловий и к выполнению некоторых других условий, называемых постусловиями. В сети Петри условия Моделируются позициями, события — переходами. Предусловия события представляются входными позициями соответствующего перехода, постусловия — выходными позициями. Возникновение События моделируется запуском перехода. Выполнение условий Представляется наличием фишек в соответствующих позициях, невыполнение — их отсутствием.
Рассмотрим, например, простую вычислительную систему, последовательно обрабатывающую задания, которые поступают во входную очередь.
Когда процессор свободен и во входной очереди имеется задание, оно обрабатывается процессором, затем выводится. Эту систему можно промоделировать сетью Петри, изображенной на рис. 4.82.
376 Гл. 4. Теория формальных грамматик и автоматов
Установим, какие особенности систем учитывают сети Петри. Это прежде всего асинхронность. В сети Петри отсутствует понятие времени. Время возникновения событий никак не указывается, но тем не менее структура сети Петри устанавливает частичный порядок возникновения событий. Далее, поскольку возникновение событий представляется запуском переходов, предполагается, что события происходят мгновенно. Если же моделируемое событие имеет отличную от нуля длительность, как, например, событие “задание обрабатывается” (рис. 4.82), и это существенно, то оно представляется в виде двух мгновенных событий типа “начало события”, “конец события” и условия “событие происходит” (рис. 4.83). Кроме того, считается, что события происходят неодновременно. Действительно, если допустить одновременное возникновение некоторых событий i и у, которым в сети Петри соот-
ветствуют переходы t, и tj, то можно вести дополнительный переход^- с I(tij) =	-f-I(tj), O(tij) — O(ti)+O(tj), интерпрети-
Рис. 4.82
рующийся как одновременное возникновение событий i и j. В этом случае переходы можно запускать последовательно.
Задание
Начало	Завершение
выполнения	выполнения
задания	задания
Рис. 4.83
Другим важным свойством сетей Петри как инструмента моделирования является их способность представлять параллелизм и конфликтные ситуации. Параллелизм двух событий представляется двумя разрешенными переходами, множества входных позиций которых не пересекаются (рис. 4.84), конфликт — переходами с общей входной позицией (рис. 4.85).
Сети Петри используют в основном как формальный аппарат при моделировании систем, которым присущ параллелизм. Если рассматривать процесс проектирования в целом, то возможны два принципиально различных подхода к использованию сетей Петри. В первом система моделируется сетью Петри, которая преобразуется по определенным правилам к некоторому “оптимальному” виду. Полученная сеть Петри преобразуется в проект системы. Предполагается, что он также оптимальный. Здесь сети Петри применяют непосредственно при проектировании. Этот подход, однако, имеет трудности, связанные с неоднозначностью обратного преобразования (сети Петри в проект системы), что подвер-
§4.11. Моделирование автоматных систем сетями Петри 377
рвет сомнению оптимальность получаемого проекта. Во втором, более общепринятом подходе сначала с помощью обычных средств создается проект системы и по нему строится модель в виде сети Детри. Затем исследуются свойства полученной сети и делаются выводы о свойствах и характеристиках проекта. Если они неудо
Рис. 4.84
влетворительны, то полученные в результате исследования сети Петри данные используют для модификации проекта. Модифицированный проект снова преобразуется в сеть Петри, цикл повторяется. Этот процесс заканчивается, когда сеть Петри будет обладать необходимыми свойствами.
Рассмотрим, какие свойства сети Петри как модели системы могут интересовать проектировщика. Одно из важнейших Свойств — безопасность. Позиция сети Петри называется безопасной, если число фишек в ней никогда не превышает 1. Маркированная сеть Петри безопасна, если безопасны все ее позиции. Это свойство очень важно при интерпретации позиций как простых условий: если в позиции есть фишка, то условие выполняется, если нет, что не выполняется. Если интерпретация фишек более сложная, например, количество фишек показывает число информационных единиц, то может быть интересен вопрос: ограничено ли число фишек в данной позиции, и если да, то какова граница? Так приходим к свойству ограниченности. Позиция называется к-ограниченной, если число фишек в ней в любой достижимой маркировке не превышает целого к. Маркированная сеть Петри называется к-ограниченной, если ее позиции являются ^-ограниченными. В сети Петри, приведенной на рис. 4.86, позиции pi, р2 являются безопасными, позиция рз 2-ограииченная, вся сеть 2-ограниченная.
В случае когда фишки интерпретируются как некоторые ресурсы, они не должны ни создаваться, ни уничтожаться. Иначе Говоря, в сети должен действовать закон сохранения. Маркированная сеть Петри называется строго сохраняющей, если мощность маркировки (как комплекта позиций) постоянна. В общем случае фишка может интерпретироваться как некоторое число эле-
378
Гл. 4. Теория формальных грамматик и автоматов
ментарных ресурсов, причем это число меняется от позиции к позиции. Введем понятие взвешивания позиций-, вектор W = = (wi, w2, ..wn), где Wi — вес позиции р,. Сеть Петри называется сохраняющей по отношению к вектору взвешивания W, если скалярное произведение вектора W и маркировки (рассматриваемой как вектор) постоянно; сеть Петри сохраняющая, если она является сохраняющей по отношению к вектору взвешивания W, все элементы которого положительны.
Рассмотренные до сих пор свойства относятся как к последовательным, так и к параллельным системам. Но при переходе от последовательных систем к параллельным возникают принципиально новые трудности: возможность тупиковых ситуаций. Тупиком в сети Петри называется множество переходов, которые в некоторой достижимой маркировке д' и в последующих достижимых из д' маркировках не разрешены. Свойство возможности возникновения тупиков в системе моделируется свойством активности в сетях Петри. Переход tj называется активным, если он не входит ни в какой тупик. Переход называется пассивным, если он не разрешен ни в какой достижимой маркировке. При детальном исследовании активности сети Петри используют также понятие уровней активности.
Переход tj обладает активностью:
уровня 0, если он не может быть запущен (пассивный);
уровня 1, если он потенциально запустим, т. е. существует достижимая маркировка, в которой он разрешен;
уровня 2, если для любого целого к существует последовательность запусков переходов, в которой он присутствует не менее к раз;
уровня 3, если существует бесконечная последовательность запусков, в которой он присутствует неограниченно часто;
уровня 4, если он потенциально запустим из всякой достижимой маркировки (т. е. активен).
В сети Петри, изображенной на рис. 4.87, а, переход t3 активен, переходы ti, t?, Ц, te имеют уровень активности 3; переход t$ пассивен. В сети Петри, приведенной на рис. 4.87, б, переход t4
Рис. 4.87
§4.11	. Моделирование автоматных систем сетями Петри 379 пассивен, переход^ обладает активностью уровня 1, переход — (активностью уровня 2, a ti — активностью уровня 3.
Одной из наиболее важных задач анализа сетей Петри является задача достижимости: достижима ли маркировка д' из начальной маркировки д данной сети Петри? Важность этой задачи обусловлена тем, что маркировка служит интерпретацией состояния системы. Решение задачи достижимости позволит определить, достижимо ли определенное состояние, будь оно “хорошим” или “плохим” для системы.
Описанные свойства и соответствующие задачи анализа сетей Петри наиболее общие, хотя и не охватывают все множество вопросов, которые могут возникнуть при анализе сетей Петри. Для решения задач анализа имеется два основных подхода. Первый основан на построении дерева достижимости. Дерево достижимости — это ориентированное корневое дерево, вершинам которого соответствуют возможные маркировки, дугам — переходы. Корневой вершине соответствует начальная маркировка. Из каждой вершины исходят дуги, соответствующие разрешенным переходам. Построение дерева осуществляется последовательно, начиная с корневой вершины; на каждом шаге строится очередной ярус дерева. Например, дерево достижимости для сети Петри, изображенной на рис. 4.87, а, после трех шагов имеет вид, приведенный на рис. 4.88, а (маркировки представлены векторами).
(1,0.0.0)
Ц.ш.О, 0)
0, 0)	(0, <о,1,0)
(О, ш, 1, <о)
(О, ш, 1, <о) б
Рис. 4.88
Очевидно, что если не использовать при построении дерева определенные соглашения, то активные (даже ограниченные) сети Петри будут иметь бесконечное дерево достижимости.
Назовем вершины (и соответствующие маркировки), построенные на очередном шаге алгоритма, граничными. Если в какой-либо граничной маркировке нет разрешенных переходов, то будем называть такую маркировку терминальной. Если какая-либо граничная вершина имеет маркировку, уже существующую в дереве,
380 Гл. 4. Теория формальных грамматик и автоматов
то назовем ее дублирующей. Для терминальных и дублирующих вершин не будем строить исходящих из них дуг. Это обеспечивает конечность дерева достижимости для ограниченной сети Петри (рис. 4.87, а, 4.88, а). Для неограниченных сетей требуется как-то обозначить неограниченное число фишек в позиции. Пусть ш обозначает такое число, причем u> + a — w, ш — а = ш, а < ш, ш < где о — произвольное целое положительное число. Будем использовать при построении дерева достижимости следующее правило. Пусть граничная вершина р ие является терминальной или дублирующей. Для каждого разрешенного перехода ty в маркировке р построим дугу, исходящую из р. Дугу будем помечать переходом tj. Маркировка р' новой вершины определяется следующим образом. Если р(р,) = ш, то р'(р,) = ш. Если на пути от корневой вершины к р существует вершина р" такая, что в результате запуска в р перехода tj число фишек в каждой позиции не меньше, чем в р", а в позиции р,- строго больше, то д'(р,) = ш. В противном случае p'(pi) — число фишек в позиции р,-, получающееся после запуска tj из р (рис. 4.88, б).
Теорема 4.6. Дерево достижимости любой сети Петри конечно.
Доказательство этого утверждения основано на свойствах ш и на правилах введения этого символа в маркировку граничных вершин.
Метод анализа, основанный на дереве достижимости, позволяет определить свойства безопасности, ограниченности, сохранения, исследовать свойства активности и достижимости.
Сеть Петри ограничена тогда и только тогда, когда символ ш отсутствует в дереве достижимости. Кроме того, положение символа ш показывает, какие позиции неограничены. Если символ ш отсутствует в дереве, то число достижимых маркировок конечно, и все вопросы анализа можно решить простым перебором. В частности, для нахождения границы маркировки данной позиции р,- нужно найти наибольшее значение i-й компоненты среди всех вершин дерева. Если эта граница не превышает 1, то позиция безопасная.
Для установления того, является ли сеть Петри сохраняющей по отношению к некоторому вектору взвешивания W = (w, W2, ..., wn), необходимо решить следующую систему линейных уравнений с ограничениями:
S WiPjtPi) = s при j = 1, ..., *, «=1
гщ > 0 при i = 1, ..., п,
где к — число вершин дерева достижимости, которым соответствуют различные маркировки. (Очевидно, что если имеется Д,(р.) = w, то Wi = 0.)
§4.11. Моделирование автоматных систем сетями Петри 381
Возможность решения задач активности и достижимости ограничена существованием символа ш, скрывающего конкретную информацию о числе фишек. Например, если в сеть Петри, изображенную на рис. 4.87, б, ввести две дуги (£ъ р2), (?2, М» то полученная сеть Петри будет иметь то же дерево достижимости, что и первоначальная. При этом в новой сети Петри в позиции р2 может быть только четное число фишек, тогда как в первоначальной сети — любое, т. е. множества достижимости этих сетей Петри ие совпадают. Можно привести разные сети с различными свойствами активности, но имеющие одно дерево достижимости.
Тем не менее, хотя дерево достижимости и не дает полной информации о свойствах достижимости и активности, в некоторых случаях оно позволяет ответить на вопросы по достижимости и активности. Например, если в нем имеется терминальная вершина, то сеть Петри не активна. При решении задачи достижимости может оказаться, что маркировка д' присутствует в дереве достижимости (положительный ответ) или что маркировка р' не покрывается никакой вершиной дерева достижимости, т. е. р" р для всех вершин р" (отрицательный ответ).
Другой подход к анализу сетей Петри называется матричным и основан на их матричном представлении. Введем матрицы D~ и £)+, столбцам которых соответствуют позиции, строкам — переходы, и D~(j, t) = #(р,-, 7(tj)), D+(j, i) = #(p,-, O(tj)). Пусть e(j) — вектор-строка, компоненты которой соответствуют переходам и все равны нулю, за исключением j-й, которая равна 1. Тогда переход tj разрешен, когда р > е(у) • D~ (р рассматривается как вектор), а результатом запуска tj из р является р' = — р- e(j)D~ 4- e(y)Z)+ = р + е(/) • (Z>+ - D~) - р + е(/) • D, где D — D+ — D~ — составная матрица изменений.
Маркировка р', получающаяся из р в результате запуска последовательности а — tj^jj.. .tjk, определяется как
р‘ = р + e(ji)D + e(j2)D + ... + e(jk)D =
= Д + (e(ji) + ... + е(л)) = р + /(ст)П, где /(ст) = e(ji) + ... + e(jk) — вектор запуска, г-н компонента которого равна числу запусков tj- в ст.
Если маркированная сеть Петри является сохраняющей по отношению к некоторому вектору взвешивания W (РГ — вектор-столбец), то pW — p'W для любой р' = R(C, р). Так как р' — — р + f(a)D, то f (a)DW — 0. Поскольку это верно для всех /(ст), имеем DW — 0. Следовательно, сеть Петри является сохраняющей по отношению к некоторому вектору взвешивания тогда и только тогда, когда имеется такой вектор W, что DW = 0. Это уравнение позволяет отыскать и сам вектор взвешивания W.
382
Гл. 4. Теория формальных грамматик и автоматов
0-1	0 1
-10	10
. 0	0-10
Если маркировка р1 достижима из начальной маркировки р сети Петри, то должно существовать целое неотрицательное решение уравнения р' = р + xD, решением которого будет х = /(со-
наследуем задачу достижимости для сети Петри, изображенной на рис. 4.87, б, с начальной маркировкой (1,0,0,0) для маркировки р' = (0,2,1,2). Уравнение р' = р + xD принимает вид
(0, 2, 1, 2) = (1, 0, 0, 0)+х-
и имеет решение х = (4, 2, 1, 0), соответствующее последовательности запусков переходов h h h h £з h h •
Матричный подход к анализу сетей Петри, как и подход, основанный на дереве достижимости, не позволяет в общем случае решить задачу активности и достижимости. Проблемы матричного анализа заключаются в том, что, во-первых, вектор запуска, получаемый при решении уравнения, не дает информации о порядке запуска переходов и, во-вторых, может соответствовать неразрешенной последовательности запусков.
В настоящее время установлено, что задачи достижимости и активности эквивалентны, но не известно, разрешимы ли они вообще, т. е. нет ни алгоритма, позволяющего решить эти задачи, ни доказательства его отсутствия.
Рассмотрим применение методов анализа сетей Петри, моделирующих практические системы.
Специализированная параллельная система для реализации интеграционных вычислительных процессов состоит из совокупности процессорных элементов (ПЭ) и модулей памяти (памяти данных (МПД) и памяти команд (МПК)), связанных в кольцо (рис. 4.89). ПЭ работает в двух режимах. В первом случае он захватывает оба смежных МПД, используя левый для извлечения исход-
|мпк|
ПЭ!
|мцд71	|модЗ
|МПкИ~ПЭ71	I ПЭ3 Н~МПК~|
Рис. 4.89
ных данных новой итерации, правый — для выборки результатов предыдущей итерации. По завершении итерации он помещает результат в правый МПД и освобождает оба МПД. В другом режиме ПЭ работает с внутренними данными. Режим указывается командой, считываемой их МПК. Рассмотрим два варианта реализации устройств управления ПЭ. В первом варианте захват МПД при осуществлении итерации производится последовательно. ПЭ может находиться в следующих состояниях: “обработка внутренних данных” (Si), “захвачен левый
§4.11. Моделирование автоматных систем сетями Петри 383
МПД” {St), “захвачен правый МПД” {S3), “захвачены оба МПД, обработка данных очередной итерации” {St). МПД может быть либо свободным, либо захваченным. Событиями будем считать захват и освобождение МПД. Этот вариант работы представляется сетью Петри, в которой каждому ПЭ соответствуют четыре позиции, реализующие описанные условия, а каждому МПД — позиция (фишка в которой означает, что МПД свободен; (рис. 4.90). Можно убедиться, что дерево достижимости этой сети Петри содержит две терминальные маркировки:
Рис. 4.90
Рис. 4.91
384 Гл. 4. Теория формальных грамматик и автоматов
pi = {Sj, Sj, Sj} и pj = {S3, Sf, S3 }, представляющие ситуацию, когда каждый ПЭ захватывает левый и правый МПД соответственно. Это означает, что сеть Петри не активна, т. е. в системе возможны тупиковые ситуации.
При другом варианте работы системы ПЭ осуществляют только одновременный захват смежных МПД (если он возможен). В этом случае каждому ПЭ соответствуют только условия St и St (рис. 4.91). Дерево достижимости (рис. 4.92) не содержит терминальных маркировок, сеть Петри активна. Кроме того, из рас-
(11110 10 |*з
(0 1 0 0 1 1 0 1 0)	(0 0 1 1 0 0 1 1 0)	(1 0 0 1 0 1 0 0 1)
р2	р4	1'6
(11110 10 10)	(111101010)	(111101010)
Рис. 4.92
смотрения дерева достижимости очевидно, что сеть Петри безопасная (позиция интерпретируется как простые условия). В системе осуществляется распределение ресурсов, которые ие появляются и ие исчезают, т. е. выполняется закон сохранения. Определим, является ли сеть Петри сохраняющей. Для этого решим уравнение DW = 0, которое принимает вид
Г-1 1 -1 1 О . О
О -1
О 1
-1 О
1 О
-1 -1
1 1
	" W1 ’	
-1	1	0	0	0	0	W2	
1 -1	0	0	0	0	W3	
0	0-1	1	0	0	W4	
0	0	1-10	0	W5	= 0.
0	0	0	0 -1	1	We	
0	0	0	0	1 -1	W7	
	W8	
	. W9 .	
Решением его является W = (1, 1, 1, 1, 3, 1, 3, 1, 3). Действительно, позиции ps, рт, рэ представляют условия, связанные с тремя устройствами, остальные позиции — условия, которые связаны с одним устройством. Таким образом, сеть Петри обладает основными необходимыми свойствами, что обеспечивает работо-
способность второго варианта.
Попытки моделирования реальных систем привели к различным доопределениям и модификациям сетей Петри. В основном эти модификации связаны с изменением правила запуска переходов.
Мощность моделирования обычных сетей Петри ограничена невозможностью проверки позиции на нуль (т. е. того, что маркировка позиции нулевая). Одним из способов преодоления этого недостатка является введение сдерживающих дуг. По новым правилам запуска переход разрешен, если фишки есть в его обычных входных позициях (из которых ведут обычные дуги) и отсутствуют в сдерживающих входных позициях (из которых ведут обычные дуги). Сдерживающая дуга изображается как обычная, только на конце имеет вместо стрелки маленький кружок (это обозначение заимствованс из теории переключательных схем, где кружок
§4.12. Задачи и упражнения
385
означает “не”) (рис. 4.93). Если в обычных сетях Петри переход запускается по логике И, то в сетях Петри со сдерживающими дугами логика расширена до включения отрицаний. Поскольку событие может представляться несколькими переходами, можно
смоделировать событие, предусловие которого записывается как
объединение нескольких конъюнкций условий и отрицаний условий, соответствующих позициям сети Петри со сдерживающими дугами. Таким образом, сети Петри позволяют моделировать предусловия в виде ДНФ, т. е. условия самого общего вида.
Рассмотренная задача организации работы специализированной вычислительной системы может быть решена и первым вариантом, в котором разрешен последовательный захват МПД (см. рис. 4.90), но с предотвращением тупиковых ситуаций. Очевидно, что возможны две ту-
пиковые ситуации, описываемые маркировками
с фишками в позициях Sj, Sf, Sf и S3, Sf, S3. Для предотвращения первой тупиковой ситуации необходимо в маркировках {Sj, Sj}, {S], Sj), {Sj, Sf) предотвратить появление фишки в позициях Sf, Sj, Sj соответственно. Следовательно переход ti должен иметь в качестве предусловия конъюнкцию МПД} к
kS{ k(Sf к S|), т. е. его иужио заменить иа переходы t{ и t" с предусловиями МПД, к s} к S2 и МПД} kSf kS% (см. рнс. 4.93). Аналогично следует поступить с переходами ts, tg (см. рис. 4.90). Подобные действия предпринимаются и для предотвращения второй тупиковой ситуации.
Другие предложения по изменению правил запуска либо эквивалентны введению сдерживающих дуг, либо носят даже более частный характер. Например, в сетях Петри с областями ограничения имеются множества позиций (называемые областями ограничения), в которых фишки одновременно находиться не могут. Правила запуска модифицированы так, чтобы не нарушать это условие. Если в сеть Петри, изображенную на рис. 4.90, включить две области ограничения, {S], 3%, Sf} и {S3, S3, Sf}, то можно предотвратить возникновение тупиковых ситуаций.
§4.12	. Задачи и упражнения
4.1.	Составить функциональную таблицу машины Тьюринга при суммировании 1 к числу, записанному в троичной системе счисления.
4.2.	На лейте записано число в системе счисления с основанием Q. Составить функциональные таблицы, с помощью которых можно записать число: а) непосредственно следующее за данным; б) непосредственно предшествующее данному.
4.3.	На ленте записано число х в троичной системе. Составить функциональную таблицу, с помощью которой иа ленту записывается 2г, если х делится иа 3 без остатка, и х — 1 в противном случае.
4.4.	Синтезировать криотрониую схему, реализующую функцию
/(П, х2, хз, x«)|i = V(l, 3, 7, 8, 9, 10, 12, 15).
13 В. А. Горбатов
386
Di. 4. Теория формальных грамматик и автоматов
4.5.	Как учитывается коэффициент разветвления, определяемый нагрузочными способностями заданного базисного элемента, при использовании коалгебры графов К?
4.6.	Сравнить сложности счетчиков четности от трех переменных в базисе Вебба и Шеффера.
4.7.	Сравнить сложности счетчика четности от трех переменных в базисе Шеффера, построенного методом моделирования связок алгебры Буляи методом, который осиоваи иа применении коалгебры графов К.
4.8.	Минимизировать количество нетерминальных символов автоматной грамматики, определяемый секвенциями вида:
031 —>	3з1,	131	—>	з80,	Ола	—>	3з 1,	>	з?0,
Озз ->	351,	1зз	—>	ЗвО,	0з<	—>	380,	1з4	—>	331,
Озз	311,	1зз	—>	3«0,	Озв	—з80,	1з8	—ЗзО,
Озт —>	з80,	1зт	—>	311,	0з8	—>	з80,	1з8	—>	ззО,
где Si (t = 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.	Синтезировать логическую схему, реализующую булеву функцию /(xi, х2, хз, x4)|i = V(0, 1, 2, 7, 11), в первом топологическом базисе.
4.16.	Синтезировать логическую схему, реализующую булеву функцию f(xi, хз, хз, яг<)|1 = V(0, 1, 2, 4, 15), во втором топологическом базисе.
4.17.	Синтезировать, логическую схему, реализующую булеву функцию f(xi, Хз, х3, х4)| 1 = v(0, 3, 5, 10, 12, 15), в третьем топологическом базисе.
4.18.	Синтезировать логическую схему, реализующую булеву функцию f(xi, х2, хз, x4)|i = v(0, 3, 5, 6, 9, 10), в четвертом топологическом базисе.
4.19.	Синтезировать логические схемы, реализующие булеву функцию /(xi, хз, хз, x4)|i = V(O, 1, 2, 12, 13, 14), в базисах Вебба и Шеффера. Сравнить, сложности полученных схем.
4.20.	Синтезировать логическую схему, реализующую булеву функцию f(xi, хз, хз, x4)|i = v(0, 1, 2, 4, 7, 9), в базисе УСЭППА.
4.21.	Может ли иметь автомат эквивалентные состояния, если его граф переходов представляет собой взвешенный путь?
4.22.	Синтезировать нейрон, реализующий булеву функцию вида /(xi, хз, хз, x4)|i = V(O, 2, 3, 5, 12, 14).
§4.13. Комментарии 387
§	4.13. Комментарии
Создание систем автоматизации проектирования, гибкого автоматизированного производства, локальных вычислительных сетей, интеллектуальных систем зианий — решение этих и других проблем невозможно без формализации, основу которой составляет теория формальных грамматик и автоматов. В развитие этой теории большой вклад внесли ученые — члены академий: Международной Академии информатизации, Российской академии иаук, Российской академии естественных иаук — В.М.Глушков, М.А. Гаврилов, В.А. Горбатов, Э.В.Евреинов, А.В. Каляев, В.Г. Лазарев, П.П. Пархоменко, Д.А. Поспелов, В.П. Чистов, И.И. Юз-вишнн, Э.А. Якубайтис и др.
Для углубления знаний по теории формальных грамматик и автоматов рекомендуем [1,6,7,10,13,21,27].
Где круга этого начало, где конец, откуда мы пришли, куда уйдем отселе?
Омар Хайлм
Глава 5
ПРИКЛАДНАЯ ТЕОРИЯ АЛГОРИТМОВ. ХАРАКТЕРИЗАЦИОННЫЙ АНАЛИЗ
§ 5.1. Принципы характеризационного анализа. Построение комбинаторных алгоритмов
Характерной чертой современной научно-технической революции является возрастающая роль вычислений комбинаторного (переборного) характера в прикладных задачах. Актуальной проблемой дискретной математики является построение эффективных как по объему необходимой памяти, так и по быстродействию комбинаторных алгоритмов.
Прикладные задачи можно подразделить на задачи анализа и задачи синтеза дискретных систем. Под решением задачи анализа подразумевается определение того, обладает ли модель Фа, представляющая дискретную систему, требуемыми свойствами. Решение задачи синтеза предполагает проведение преобразования модели Фа в модель Фь, при котором достигается экстремум заданного функционала качества </>(Ф(,). В обоих случаях можно говорить об эквивалентировании. В задачах анализа по модели Фа строится ее эквивалент, раскрывающий свойства модели. В задачах синтеза модель Фа эквивалентируется синтезируемой моделью Ф(,. Как анализ, так и синтез осуществляют с помощью комбинированных алгоритмов.
Примитивным классом комбинаторных алгоритмов являются ГСН-алгоритмы (ГСН — грубая сила и невежество). Это алгоритмы, лишенные какой-либо “искусности”, они решают задачи “вслепую”, проводя полный перебор возможных преобразований. В этом случае отсутствуют теоретические предпосылки, на основании которых можно было бы предложить “утонченный” алгоритм решения. В алгоритмах этого класса реализуется синтаксическое эквивалентирование.
Синтаксическое эквивалентирование, называемое эквивалентным преобразованием, соответствует уровню знаний, при котором известна полная система аксиом. Оно заключается в построении очередного варианта для задач анализа и в замене модели Фа моделью Ф(, для задачи синтеза на основании той или иной аксиомы или закона, полученного из системы аксиом. Дерево решений при синтаксическом эквивалентировании изображено на рис. 5.1, о-
§5.1. Принципы характеризационного анализа
389
Каждая висячая вершина дерева соответствует тупиковому решению. Характерными свойствами этого дерева являются:
1) комбинаторный рост числа висячих вершин при линейном росте размерности задачи;
2) необходимость возврата на предыдущий, (» - 1)-й уровень при вычислении информации, соответствующей соседней вершине В i-м уровне. Следствием этого свойства является принципиальная необходимость обхода всего дерева при поиске минимального решения.
Эти свойства определяют явление, называемое “проклятием размерности” или “информационным взрывом”.
При разработке математического и программного обеспечения ЭВМ, особенно при работе в реальном масштабе времени, при создании систем автоматизации проектирования (проблема САПР) и т. д. актуальным является проектирование быстродействующих пакетов прикладных программ. Для повышения быстродействия алгоритмов используют эвристики в виде соответствующих функ-
Рис. 5.1
Лионалов, найденных на основании опыта, аналогий, здравых соображений. В результате получают класс эвристических алгоритмов. Примерами эвристических алгоритмов являются генетические, технологические (типа отжига), жадные, хитрые и другие алгоритмы. При построении этих алгоритмов используется принцип аналогий на основе дескриптивной семантики. Алгоритмы Этого класса реализуют эвристическое эквивалентирование. При эвристическом эквивалентировании быстродействие алгоритма повышается, но оценить качество полученного решения невозможно; Нельзя даже сказать, является ли оно тупиковым, т. е. далее не Упрощаемым. Дерево решений, каждая вершина которого соответствует исходному заданию, а дуга — варианту перебора или преобразованию, изображено на рис. 5.1,6.
390 Гл. 5. Прикладная теория алгоритмов
Рассмотрим, например, задачу синтеза диверсифицированного портфеля. Эта задача возникла при оценке риска в проводимой фирмой инвестиционной политике. Финансовый риск связан с неопределенностью эффективности операций в момент заключения сделки, обусловленной трудностью прогноза цены в будущем, а для акций — и будущих дивидендов. Вложив деньги в акции одной компании, инвестор оказывается зависящим от колебаний ее курсовой стоимости. Если он вложит свой капитал в акции нескольких компаний, то эффективность будет определяться уже усредненным значением курсовых стоимостей нескольких компаний. Средний же курс, как правило, колеблется меньше, поскольку при понижении курса одной из ценных бумаг курс другой может повыситься, что приведет к меньшим колебаниям усредненного курса. Именно этим объясняется, что инвестор часто является держателем не одного вида ценных бумаг, а нескольких, именуемых портфелем инвестора. При росте числа N видов ценных бумаг, включенных в портфель, риск ограничен и стремится к нулю при N оо. Этот факт известен в теории финансового риска как эффект диверсификации (разнообразия) портфеля.
Эвристика, применяемая при решении задачи синтеза диверсифицированного портфеля, основана на принципе аналогий. Вспомнив житейскую мудрость: никогда не клади все яйца в одну корзину, формулируем эвристику решения этой задачи: задавшись мощностью диверсифицированного портфеля, приобретаем слабо связанные между собой виды ценных бумаг. Здесь под мощностью портфеля понимается количество видов ценных бумаг. Анализ западных финансовых рынков показал, что оптимальная мощность портфеля инвестора не меньше 15. Для России, в которой финансовый рынок только формируется, это число должно быть гораздо большим.
Рассмотрим реализацию выбранной эвристики. Имеем множество ценных бумаг М — {&,/ Ь, — ценная бумага}. На основе анализа временных рядов изменения их курсовой стоимости строим корреляционный граф GKOpp = (V> (U, К)), каждая вершина и,- € V которого взаимно однозначно соответствует ценной бумаге, а ребро {и;, vj} € U взвешено корреляционным коэффициентом К (bi, bj) между ценными бумагами bi, bj (рис. 5.2, а).
Установим порог существенной корреляции: К (bi, bj) > 0,5. Тогда корреляционный граф <7корр преобразуется в граф связности ценных бумаг GCB — (V, U), Vi О 6,-, {и,, Vj} G U О К (bi, bj) > 5.
Если мощность |тг| диверсифицированного портфеля я равна 2, то, очевидно, его содержимое будут представлять ценные бумаги ba, Ьр, расстояние p(ba, Ьр) между которыми равно диаметру d(GCB) графа GCB:
P(^cri Ьр) — d(GCa).
§5.1. Принципы характеризационного анализа
391
Если мощность портфеля 2 < |тг| < £о(<^св)> где £o(<jcb) — число внутренней устойчивости или вершинное число независи-
мо
а	б
Рис. 5.2
мости графа связности GCB, то порождаем пустые подграфы и выбираем из них подграф, вершины которого попарно максимально удалены друг от друга.
Если мощность портфеля |тг| > во^св)) т° к максимально простому подграфу Етлх добавляем |тг| —£о ((?„,) вершин так, чтобы Образовавшийся подграф G — {V, U) имел минимальную мощность сигнатуры |J7|min при |У| = |тг|.
Рассмотрим синтез диверсифицированного портфеля я. Множество ценных бумаг М — {5,/ i — 1, ..., 8}, и соответствующий корреляционный граф Скоро представлен на рис. 5.2, а. После учета порога корреляции граф GKOpp преобразуется в граф связности Ссв (рис. 5.2,6). Для случая, когда |тг| = 2, строим матрицу расстояний Н(Ссв) между вершинами:
Диаметр d(GCB) равен 3. Следовательно, получаем восемь эквивалентных в смысле мощности диверсифицированных портфелей: {г,} = {{1, 2}, {1,3}, {2,6}, {2,7}, {2,8}, {3,6}, {3, 7}, {3,8}}.
Синтезируем портфели мощности 3. Порождаем пустые подграфы графа связности (7СВ. На рис. 5.3 дерево естественным образом преобразовано в эквивалентную в смысле включения путей
392
Гл. 5. Прикладная теория алгоритмов
диаграмму Хассе. Вершинное число независимости £o(<jcb) графа связности равно 3. Оцениваем каждый пустой подграф Е{ суммой попарных расстояний между вершинами подграфа Е,. Выбираем
Рис. 5.3
подграфы {-Б1,} с максимальной суммой:
Ei —	({bi,	i»2>	Ь6},	0) —>	53/>i=	3	+	3	4- 2 =	8,
Е? —	({Ьг,	be,	£>e}>	0) —>	52/>i=	3	+	3	4- 2 =	8,
Е3 =	({bi,	Ьз,	&б}>	0) —>	52 Pi —	3	4-	3	4- 2 =	8,
Еа =	({Ьз,	Ьб,	Ь8},	0)	52,Pi —	3	4-	3	4- 2 =	8,
Ез — ({bi, ^4, be}, 0) —>	= 24-24-2 = 6,
Ев — ({^4, be, Ь8}, 0)-^J3 Pi = 24-24-2 = 6.
t
В результате получим четыре эквивалентных диверсифицированных портфеля:
{”\} = {{Ь1, Ьг, Ь6}, {Ьг, Ь6, Ь8}, {Ь1, Ьз, &6}, {Ьз, Ь6, Ь8}}.
Рассмотрим синтез портфелей мощности, равной 4. Расширяем носитель пустых подграфов, каждый из которых в предыдущем случае образовал портфель мощности 3. Оцениваем расширение суммой Ок корреляционных коэффициентов добавленных ребер. Выбираем подграф с минимальной суммой.
§5.1. Принципы характеризационного анализа
393
Ро(Фа, ФЬ) =
Подграф Ei расширяется вершиной bj] при этом сумма = = 0,6. Добавилось ребро {Ь8, Ь?}, остальные расширения увеличивают значение о>. В результате получили первый портфель тп = {bi, be, ^7}. Аналогично расширяем остальные 3 портфеля; в результате получаем еще 4 портфеля с суммой = 0,6:
Яг = {&2> &б> hi ba}, тгз = {bi, Ьз, Ь6}, тг4 = {Ьз, &4, be, Ь8}, 7г5 = {Ьз, be, Ьт, Ь8}.
Добиться максимального быстродействия комбинированных алгоритмов без порождения всех эквивалентных решений, т. е. использовать малый объем памяти, позволяют алгоритмы третьего класса, реализующие семантическое эквивалентирование.
При семантическом эквивалентировании известна не только полная система аксиом, но и конструктивный критерий, который позволяет:
для задачи анализа проверить истинность предиката
Р а — / если модель Фа обладает заданным свойством, °( а) — в противном случае;
для задачи синтеза связать две различные абстракции — модели Фа и Ф(, — в единую систему с помощью предиката функциональной целостности
1, если преобразование Фа —> Ф& существует при взаимно однозначном соответствии между элементами моделей Фа и Фь, 0 в противном случае.
Общее, что характеризует модели Фа и Ф(, и что отличает их от других, — это смысл преобразования Фа —> Ф^,. Суть преобразования Фа —> Ф(, — это свойство языковых выражений, инвариантное относительно их модельных представлений. Изучением смысла занимается логическая семантика, которая является разделом металогики. Под семантикой, как правило, понимают дескриптивную (описательную) семантику, изучающую связь между зна-косочетаниями формализованного языка и их интерпретациями (толкованиями) в терминах той системы понятий, формализацией которых является, данный язык. Здесь под семантикой понимают изучение интерпретации одного формализованного языка в категориях другого, причем оба языка являются формализацией одного и того же объекта (явления). Этот вид семантики будем называть проективным. В частном случае, когда оба языка совпадают и исследуется выполнимость определенного свойства изучаемой модели, проективную семантику будем называть рефлексивной.
Рефлексивная семантика позволяет решать задачи анализа моделей. Проективная семантика преобразования Фа —> Ф(, позволяет вычислять экстремальное значение функционала качества решения </>(Ф(,) и строить соответствующую оптимальную модель Ф(,,
394
Гл. 5. Прикладная теория алгоритмов
не строя все эквивалентные модели {Фь(}, что намного уменьшает трудоемкость алгоритмов.
Для определения проективной семантики преобразования Фа -4 Фь необходимо:
1)	найти числовые характеристики {i/,} модели Фь, однозначно определяющие значение у’(Фь);
2)	установить свойства Sb модели Фь, при наличии которых вычислимы {i/,};
3)	выявить свойства Sa модели Фа, однозначно определяющие свойства Sb модели Фь;
4)	найти числовые характеристики модели Фа, обладающей свойствами 5а, однозначно определяющие </?(Фь).
Таким образом, наличие свойств 5а позволяет однозначно вычислить «/’(Фь) без фактического построения Фь.
Для нахождения рефлексивной семантики анализа модели Фа необходимо:
1) выявить свойства 5а модели Фа, однозначно определяющие предикат Р0(Фа);
2) найти числовые характеристики модели Фа, определяющие наличие свойств Sa.
В обоих случаях основным моментом является установление свойств 5а модели Фа. которые определяют истинность предиката Р0(Фа) или Р0(Фа, Фь)- Эти свойства модели Фа будем определять отсутствием запрещенных фигур, образующих основу критерия выполнения свойств 5а. Знание запрещенных фигур позволяет эффективно решать задачи анализа и конструктивно вычислять функционал «/’(Фь) без генерации всех эквивалентных моделей {Фь,} (см. рис. 5.1,в) при решении задач синтеза. Поиск проективных и рефлексивных семантик, основой которых являются запрещенные фигуры, и их изучение отнесем к разделу металогики и будем называть конструктивной семантикой.
Взаимоотношение всех трех семантик преобразования иллюстрирует рис. 5.4.
Рис. 5.4
§5.1. Принципы характеризационного анализа 395
Проблему поиска запрещенных фигур называют характеризационной проблемой. Эта проблема определяется классом рассматриваемых моделей Ка = {Фо} и характеризуется свойством 50, определяющим предикат Р0(Фа) или Ро(Фа, Фь)- Для решения характеризационной проблемы требуется определить множество запрещенных фигур К3 = {Ф,}, т. е. таких моделей Ф,, отсутствие которых в данной модели Фа € Ка является необходимым и достаточным условием того, что Фа обладает свойством 5а, и при этом никакая из моделей Ф, € К3 не присутствует в другой запрещенной фигуре — модели Фу € К3.
Формализуем понятие отсутствия и присутствия одной модели в другой. На множестве моделей Ка можно задать отношение упорядочения Рп такое, что (Ф,-, Фу) € Рп, если Ф,- присутствует в Фу. Отношение Рп называется отношением подчинения, а модель Ф,- — подчиненной модели Фу. Отношение подчинения моделей служит обобщением известного отношения быть подмоделью. Модель Ф,- является подмоделью модели Ф7, если получена из Ф? удалением некоторых элементов носителя и/или сигнатуры. Ха-рактеризационная проблема с заданным отношением подчинения Р„ в классе моделей определяет характеризационные задачи. Поскольку в классе моделей Ка может быть задано много отношений упорядочения, характеризационную проблему можно рассматривать как целое множество характеризационных задач, каждая из которых имеет собственное решение в виде множества запрещенных фигур.
От выбора отношения подчинения в решении характеризационной задачи зависит многое: и компактность множества запрещенных фигур, й разрешимость этой задачи вообще. Принципиальным является тот факт, что характеризационная проблема всегда разрешима. Нужно только правильно выбрать отношение подчинения и соответственно получить постановку разрешимой характеризационной задачи. Покажем, каким должно быть отношение подчинения.
Теорема 5.1 (принцип локальности). Множество запрещенных фигур К3 = {Ф3.} для класса моделей Ка = {Фо} с отношением подчинения Р„ и свойством Sa существует (характеризационная задача разрешима) тогда и только тогда, когда справедливо, что всякая модель Ф,-, подчиненная модели Фу, обладающей свойством Sa, также обладает им.
Доказательство. Допустим, что множество запрещенных фигур существует. Тогда по определению запрещенной фигуры никакая модель Фо, обладающая свойством Sa, не имеет запрещенной фигуры в качестве подчиненной.
С другой стороны, пусть отношение подчинения таково, что моделям Фа, которым присуще свойство Sa, подчинены только модели, которые им также обладают (рис. 5.5). В этом случае по
396
Гл. 5. Прикладная теория алгоритмов
определению запрещенной фигуры множество запрещенных фи-
гур К3 образуется из минимальных элементов отношения упоря
дочения Рп на множестве Ка\Ка, где Ка С Ка — подкласс моделей Фа, обладающих свойством Sa.
В качестве примера рассмотрим проблему характеризации двудольных графов. Задачи определения двудольности графа и преобразования графа в двудольный имеют много приложений: от проектирования надежных автоматов до построения эффективных информационных систем с распараллеливанием обработки. Пусть, например, библиотечная информационная система реализуется на ЭВМ, имеющей два дисковых
устройства (рис. 5.6, а). Для достижения максимальной производительности информационно-поисковой системы необходимо так декомпозировать базу данных на две части, чтобы за счёт одно-
временной установки головок чтения-записи на двух дисковых
Рис. 5.6
устройствах время обработки запроса оказалось минимальным. Файлам базы данных поставим в соответствие вершины графа. Две вершины смежны, если оба соответствующих файла необходимы для ответа на запрос некоторого типа (рис. 5.6,6). Оптимальное распределение файлов по дискам определяется разбиением
§5.1. Принципы характперизационного анализа
397
множества вершин графа на два множества, внутри которых как можно меньше ребер (что соответствует достижению максимального параллелизма). Эта задача сводится к выявлению проективной семантики преобразования графов в двудольные с минимальным удалением ребер. Семантику определяет решение характери-зационной проблемы двудольности графов (рис. 5.6, в).
Класс Ка состоит из моделей, сигнатура которых образуется одним бинарным симметричным, антирефлексивным отношением. Свойство Sa означает быть двудольным. Исследуем два отношения подчинения: Р„ — быть частичным подграфом и Рл2 — быть сводимым графом. Сводимым называется граф Ga, получающийся из Gb в результате последовательного склеивания смежных вершин (объединения их в одну) с соответствующим объединением их окрестностей. Оба отношения удовлетворяют принципу локальности. Следовательно, в обоих случаях характеризацион-ная задача разрешима. Диаграммы отношения подчинения приведены на рис. 5.7. В случае отношения подчинения Р\ множе-
ством запрещенных фигур является множество нечетных циклов, в случае отношения подчинения Р„ — множество полных графов порядка > 2.
Итак, всегда можно решить характеризационную проблему, а следовательно, получить множество запрещенных фигур. Это множество определяет конструктивный семантический критерий для решения задачи анализа. Более того, знание множества запрещенных фигур используется в методе семантического эквивален-тирования в задачах синтеза. Основополагающим принципом семантического эквивалентирования является то, что знание конкретных запрещенных моделей, присутствующих в модели Фа и мешающих ей обладать свойством 5а, позволяет определить те локальные структуры, преобразование которых необходимо для того, чтобы получить модель Фа, которой присуще свойство 5а. При этом осуществляется только минимальный (неизбежный) перебор вариантов преобразований, т. е. вычислительный процесс в смысле трудоемкости улучшить нельзя. При семантическом экви-
398 Гл. 5. Прикладная теория алгоритмов
валентировании дерево решений (см. рис. 5.1, в) состоит из двух звезд. Первая звезда соответствует преобразованию Фа —> Фь, Р0(Фа, Фь) = 1, вторая — Фа —> Фь. При поиске минимального решения необходим обход всех ветвей первой звезды, во второй звезде достаточно взять любую ветвь, так как с точки зрения минимальности решения, определяемого значением </>(Фа), все ветви второй звезды равнозначны.
Рассмотрим подробно процесс семантического эквивалентиро-вания. Основу этого процесса составляют способы преобразования запрещенных фигур в эквивалентные разрешенные. Эквивалентность определяется смыслом преобразования Фа —> Фь- Как правило, способом преобразования запрещенной фигуры в разрешенную является удаление, введение или расщепление элемента носителя или сигнатуры либо переход к некоторой подчиненной модели.
Для семантического эквивалентирования или преобразования графа в двудольный существует несколько способов преобразования запрещенных фигур — циклов нечетной длины. В случае использования преобразования для вложения графа в гиперкуб при проектировании надежных автоматов запрещенная фигура преобразуется в разрешенную введением на ребро нечетного числа вершин (строго говоря, здесь не одно преобразование, а множество). Если преобразование используется для оптимальной декомпозиции базы данных, то способ преобразования заключается в удалении ребра. Принципиальным является то, что способ преобразования запрещенной фигуры в разрешенную существует всегда, когда преобразование Фа -> Фь имеет смысл. Действительно, для каждой модели Фа существует эквивалентная модель Фа, обладающая свойством 5а. Следовательно, существует преобразование Фа в Фа, а любое преобразование модели Фа в модель, обладающую свойством 5а, обязательно преобразует запрещенные фигуры в разрешенные. Таким образом, способ преобразования запрещенной фигуры в разрешенную существует всегда.
В общем случае существует множество преобразований запрещенной фигуры в разрешенную. Пусть /?, = {г,Д — множество способов преобразований запрещенной фигуры Ф,- Е К3 (т. е. для всякого j г, (Ф<) — разрешенная фигура). Построим множество базисных способов преобразований С Ri, т. е. такое минимальное по включению множество г? , что для любого г,- най-] дется последовательность преобразований из переводящая Ф, в Пу(Ф,).
Рассмотрим способы преобразования запрещенных фигур для преобразования мографа в линейный, что важно в задачах ор
§5.1. Принципы характеризационного анализа
399
ганизации данных в информационно-поисковых системах и базах данных. Основными характеристиками размещения данных в памяти являются объём занимаемой памяти и время доступа. При представлении информационно-поисковой системы мографом объем памяти определяется мощностью носителя, а время доступа — временем считывания слов модели. Одним из способов оптимальной организации данных в памяти является линейное размещение, которое предполагает такое линейное (полное) упорядочение объектов данных, что ответ на каждый вопрос есть цепочка непосредственно следующих в этом упорядочении объектов данных. Поставим в соответствие объектам данных элементы носителя мографа, ответам на запросы — слова. Мограф называется линейным, если допускает линейное размещение элементов носителя, при котором все слова представляются цепочками. Таким образом, для получения оптимальной организации данных необходимо преобразовать мограф в линейный и, следовательно, решить характеризационную проблему линейности мографа.
Не конкретизируя вид запрещенных фигур (этот вопрос подробно рассмотрен далее), отметим, что возможны два способа преобразования запрещенных фигур в разрешенные:
1) расщепление элемента носителя х на х и х1 с соответствующей заменой х на х' в некоторых словах, в которые входил элемент х;
2) расщепление слова М, т. е. замена его на два слова.
Можно показать, что эти способы образуют базисное множество способов преобразований запрещенных фигур в разрешенные.
Проиллюстрируем способы преобразования запрещенных фигур в разрешенные на примере мографа (рис. 5.8, а), представляющего гипотетическую библио-
Рис. 5.8
400 Гл. 5. Прикладная теория алгоритмов
течную информационную систему, включающую информацию о следующих книгах:
xi — Ржевский В.В. Процессы открытых горных работ. — М.: Недра, 1978;
хг — Самарский А.А. Теория разностных схем. — М.: Наука, 1977;
хз — Марчук Г.И. Методы вычислительной математики. — М.: Наука, 1977;
ц — Оснокы автоматизации управления производством / Под ред. Макарова И.М. — М.: Высшая швола, 1983.
В ней реализуются следующие запросы:
Afi — Книги по вычислительным методам. Ответ {хз, х3};
Мз — Книги по автоматизации процессов. Ответ {xi, х<);
Мз — Книги авторов (редакторов), фамилии которых начинаются с букв от А до М. Ответ {хз, х<};
Mt — Книги авторов (редакторов), фамилии которых начинаются с букв от Н до Я. Ответ {xi, хз}.
Данный мограф не является линейным. Можно показать, что каждый элемент носителя и каждое слово входят в запрещенную фигуру. Расщепление элемента носителя или слова должно преобразовать мограф в линейный. Рассмотрим, например, расщепление элемента ri. Преобразованный мограф является линейным и представляется линейно упорядоченным, приведенным на рис. 5.8,6. При расщеплении любого слова, например, Мз, мограф также становится линейным и представляется линейно упорядоченным, приведенным на рис. 5.8,в. В первом случае увеличивается объем памяти, занимаемый объектами данных, во втором — увеличивается среднее время ответа на запросы.
Каждый способ преобразования г,- характеризуется стоимостью с,г Функционал качества преобразования </>(Фь) определяется стоимостью произведенных преобразований запрещенных фигур в разрешенные.
Для выполнения преобразования Фа —> Фа неизбежно преобразование каждой запрещенной фигуры в разрешенную, поэтому выберем для каждой запрещенной фигуры Ф31 С Фа один из способов ее преобразования; их совокупность определит глобальное преобразование Фа —> Фа. Такое преобразование в общем случае может не достигать экстремума функционала <р(Фь), даже если для каждой фигуры ФЭ1. выбран способ преобразования с наименьшей стоимостью. • Это обусловлено тем, что возможен способ преобразования Ф3<) пусть имеющий не наименьшую стоимость, но преобразующий заодно и другую запрещенную фигуру Ф3|. Более того, взаимосвязь способов преобразования запрещенных фигур может оказаться очень сложной, поэтому простой выбор способов преобразования по одному на каждую фигуру Ф3, С Фа не обеспечивает достижения экстремума функционала качества </>(Фь).
Процедура семантического эквивалентирования основана на построении семантической таблицы. Столбцам этой таблицы соответствуют запрещенные фигуры,, присутствующие в модели, строкам — компоненты запрещенных фигур. Элемент (г, j) таблицы равен 1, если преобразование i-й компоненты превращает j-ю запрещенную фигуру в разрешенную, и 0 в противном случае. По
§5.1. Принципы характериэационного анализа
401
крытие столбцов строками семантической таблицы определяет минимальное по включению множество преобразований, которые необходимо выполнить для получения из Фа модели Фа, обладающей свойством Sa. Учитывая, что каждый способ преобразования может иметь собственную стоимость, делаем вывод, что для достижения экстремума ¥>(Фь) необходимо найти минимальное по стоимости покрытие семантической таблицы.
Рассмотрим задачу семантического эквивалентирования графа, изображенного на рис. 5.6, в двудольный. Функционал качества определяется минимальным числом удаленных ребер. Запрещенные фигуры (циклы нечетной длины) образованы следующими множествами ребер: Ф31 = {а, Ь, с}, Ф32 = {a, b, d, е, f}. Способ преобразования — удаление ребра — имеет стоимость 1; конкретный способ преобразования обозначим указанием удаляемого ребра. Семантическая таблица имеет вид табл. 5.1.
Минимальным является, например, покрытие я- = {а}. Следовательно, удаляя ребро а, получаем двудольйый граф (рис. 5.6,в); при этом достигнут минимум у>(Фь) = 1.
В общем случае способ преобразования может быть связан не с элементами носителя или сигнатуры модели, а с некоторыми ее компонентами. Поэтому в общем случае семантическое эквивалентирование предполагает построение иерархической системы таб-
лиц некоторой глубины к, определяемой количеством уровней в способах преобразований. Покрытие столбцов строками первой таблицы указывает, какие компоненты запрещенных фигур должны быть изменены при приведении модели Фа к интерпретируемому в терминах модели Фб виду. Определение подкомпонент, которые надо изменить для изменения найденных на предыдущем шаге компонент, сводится к покрытию второй таблицы, построенной аналогично, и т. д. до построения fc-й таблицы, строки или столбцы которой соответствуют элементам носителя или сигнатуры, которые необходимо изменить при приведении модели Фа к интерпретируемому в терминах модели Ф(, виду (рис. 5.9).
Для определения минимально
го числа элементов носителя или сигнатуры, соответствующих элементам к-Л таблицы, необходима генерация всех множеств,
5.1
Таблица
Фзх	Фзз
1	1
1	1
1	
	1
	1
	1
а Ь с d е
Рис. 5.9
402
Гл. 5. Прикладная теория алгоритмов
каждое из которых состоит из покрываемых строк (столбцов) в последней, fc-й таблице. Эта генерация соответствует перебору всех покрытий (к — 1)-й таблицы. Для получения всех покрытий (fc - 1)-й таблицы необходима генерация всех покрытий (к — 2)-й таблицы и т. д. Таким образом, для нахождения минимального решения необходим перебор всех сочетаний покрытий первых к -1 таблиц. Эта процедура принципиально содержит перебор. Таким образом, определение сложности решения является минимальным по трудоемкости стандартным процессом. Этот процесс на много порядков менее трудоемок, чем процесс фактической генерации всех эквивалентных структур при поиске минимального решения синтаксическим эквивалентированием.
Способы преобразования запрещенных фигур, будучи по отношению к ним однозначными, по отношению к модели в целом могут быть как однозначными, так и неоднозначными. Например, способ преобразования запрещенных фигур для двудольного графа (нечетных циклов), основанный на удалении ребра, однозначен и для модели в целом. Рассмотрим способ преобразования нечетных циклов, заключающийся в расщеплении одной из вершин v на две несмежные вершины v и и', каждая из которых инцидентна одному из двух ребер х и у расщепляемой вершины (рис. 5.10, а); обозначим способ преобразования как v(z, у).
Этот способ преобразования используется в семантическом эквива-лентировании при декомпозиции информационной системы с требованием максимального быстродействия, т. е. максимального параллелизма обработки информации. Такое требование обуславливает размещение всех разделов данных, соответствующих смежным вершинам, на разных дисках, т. е. приводит к дублированию некоторых разделов. Данный способ преобразования запрещенной фигуры для модели в целом (графа) не однозначен. Дело в том,
§5.1. Принципы характеризационного анализа
403
что преобразование запрещенной фигуры при расщеплении вершины v, инцидентной ребрам х и у, фиксирует только то, что новая вершина и инцидентна ребру х, а новая вершина v' — ребру у. Для графа в целом это означает расщепление вершины и на v и и' с соответствующим разбиением окрестности Ги (рис. 5.10), при котором х и у попадают в разные новые окрестности.
Таблица 5.2
	*3!	Фэ,
vi(a,b)	1	1
v2(b,c)	1	
vs(a,с)	1	
V2(b,/)		1
из(е,/)		1
V4(d,e)		1
v5(a,d)		1
Рассматриваемый способ преобразования не указывает распределения всех вершин по новым окрестностям. Семантическая таблица для графа (см. рис. 5.6, б) при таком способе преобразования имеет вид табл. 5.2
В случае неоднозначных способов преобразований необходимо проверить все покрытия семантической таблицы. Рассмотрим три покрытия: 7Ti = {vi(a,Ь)}, я-2 = {v2(6, с), v2(b,f)}, к3 = {vs(a, с), \«з(е, /)}. Первое покрытие, имеющее минимальную мощность, дает минимальное
решение (рис. 5.10,6). Но и второе покрытие, имеющее мини-уиальную мощность, также определяет минимальное решение. Оба Преобразования, входящие в 7Г2, расщепляют vj. Ответ на во-
прос, сколько новых вершин дают эти расщепления вместе, дают построение и раскраска специального графа, который построен на множестве ребер, инцидентных v2 (рис. 5.10,в). Раскраска графа {5}, {с, /} определяет число вершин после расщепления ,и разбиение окрестности Го2. Полученное решение минимально -(рис. 5.10,г). Преобразование, соответствующее тгз (рис. 5.10, Э), не минимально.
Таким образом, если применяются способы преобразований, неоднозначные для модели в целом, то необходимо для каждого покрытия строить специальные графы и определять их минимальную раскраску. Поэтому особенно актуальны оценки хроматического числа графа (см. гл. 3), которые позволяют быстро отсеять большую часть покрытий, соответствующих графам с большим хроматическим числом. Важны также “быстрые” методы раскраски графов. В целом семантическое эквивалентирование При минимальном (неизбежном) переборе позволяет получить абсолютно оптимальное решение.
На основе семантического эквивалентирования получаем двух-Контурную структуру быстродействующего пакета прикладных Программ (рис. 5.11), в котором с помощью модуля “Характер” Происходит автоматическая настройка на оптимальную стратегию При проведении преобразования Фо —> Ф(>. Это придает “интеллектуальность” пакету прикладных программ и позволяет отнести Подобные пакеты к классу систем искусственного интеллекта.
404
Гл. 5. Прикладная теория алгоритмов
В предыдущих главах были рассмотрены характеризационные проблемы вложения графа в плоскость, в булево пространство, характеризации параллельно-последовательной структуры диаг-
Рис. 5.11
раммы Хассе, раскраски графов, частичного упорядочения мографа, проектирования логических схем в несвязных базисах.
Остановимся теперь на характеризационных проблемах, в том числе на проблемах проектирования многовыходных логических схем, разложения графа переходов в частичное декартово произведение, а также на характеризационных проблемах, возникающих при проектировании оптимальных размещений данных в информационных системах. Характеризация моделей позволяет выявить объективные причины, определяющие сложность решения и трудоемкость его поиска.
§ 5.2. Характеризация И методы оптимального размещения данных в памяти ЭВМ
Для современных информационных систем характерны не только большие объемы, но и сложность хранимых данных. Сложность данных проявляется в том, что они находятся в различных взаимосвязях. Таким образом, сложные данные представляются в виде набора некоторых элементарных объектов и совокупности о' ношений, связывающих объекты данных. Иначе говоря, сложные информационные системы формализуются такими понятиями, как граф и мограф. Это подтверждается богатым практическим опытом построения информационных систем.
Часто возникает необходимость хранить в “чистом виде” графовые структуры, например, при использовании в базах данных моделей данных, основанных на графах. Объекты данных хранятся отдельно от своих связей, которые представляются графом. Известно несколько способов задания графов: с помощью матриц инциденций и смежности, перечислением окрестностей вершин. Можно показать, что последний способ наиболее экономичен при больших размерностях графов, что характерно для практики. Но задание графа перечислением окрестностей равносильно заданию мографа, носителем которого является носитель графа, а словами — окрестности его вершин. Возможны варианты в задании
§5.2. Методы оптимального размещения данных 405
графа, но в любом случае абстракцией представления может быть мограф. Например, в базах данных, основанных на сетевой модели данных (фрагмент сетевой схемы данных приведен на рис. 5.12, а), абстракцией данных является ориентированный граф. При обработке запросов поиск информации осуществляется
Рис. 5.12
в направлении, которое указывается дугами (от данных о процессах к данным об оборудовании), поэтому хранить необходимо только окрестности нижнего яруса графа (рис. 5.12, б). Эта информация задается мографом, приведенном на рис. 5.12, в.
Как было показано выше, мограф является абстракцией информационно-поисковой системы с фиксированным множеством запросов. Другим примером, когда мограф представляет информационную систему, является организация файлов с несколькими ключами доступа. Файл представляет собой последовательность записей, состоящих из идентичных полей (записи могут быть неодинаковой длины). Ключом называется поле или множество полей, значения которых идентифицируют записи. Доступ к файлу осуществляется с помощью указания значения ключа. Для ускорения обработки запросов организуются индексы — таблицы, в которых для каждого значения ключа указываются адреса записей, имеющих это значение. Если индекс хранит адреса всех записей, имеющих данное значение, то такая организация называется инверти-рованными списками. Информация, хранящаяся в инвертированных списках, представляется мографом, носитель которого образуется множеством адресов записей, а слова — множествами адресов записей, имеющих идентичные значения ключа.
Рассмотрим файл библиотечной информационной системы (рис. 5.13). Он имеет несколько ключей доступа: по фамилии автора, по названию издательства, по ключевому слову и др. Для ускорения доступа файл можно упорядочить по одному из ключей (обычно по фамилии), по другим же ключам записи будут совершенно неупорядочены. В рассматриваемом примере индекс по ключу доступа “ключевое слово” представляется уже приведенным ранее мографом (см. рис. 5.12,в), слову Mi соответствует значение “математические методы”, слову М2 — “автоматизация” и т. д.
Мограф может задавать не только инвертированные списки, но и другие списковые организации индексов: мультисписки, секционные списки. Наконец, просто двоичная матрица может рассматриваться как матрица инцидентностей мографа.
Основными критериями при размещении данных в памяти ЭВМ являются минимизация объема памяти и времени доступа. Элементы носителя мографа однозначно соответствуют объектам
406 Гл. 5. Прикладная теория алгоритмов
данных, размещенным в памяти, следовательно, критерий минимизации объема памяти определяет функционал качества при семантическом эквивалентировании как минимум мощности
Адрес	Фамилия И.О.	Название	Выходные данные	Ключевые слова
	Самарский А.А.	Теория разностных схем	М.: Наука, 1977	Математические методы
Х2	Марчук Г.И.	Методы вычислительной математики	М.: Наука, 1977	Математические методы, математическое моделирование
Хз	Макаров И.М./ ред.	Основы автоматизации управления производством	М.: Высшая школа, 1983	Математические методы, производственные процессы, автоматизация
Х4	Свами М., Тхуласираман К.	Графы, сети, алгоритмы	М.: Мир, 1984	Математические методы, теоретикографовые модели, алгоритмы на графах
Х5	Брейер М.	Теория и методы автоматизации проектирования вычислительных систем	М.: Мир, 1977	Автоматизация, алгоритмы на графах
Хв	Ржевский В.В.	Процессы открытых горных работ	М.: Недра, 1978	Производственные процессы
Х7	Питерсон Дж.	Теория сетей Петрн н моделирование систем	М.: Мир, 1984	Математическое моделирование, теоретико-графовые модели
Рис. 5.13
носителя Ф(>. Мограф Ф(, определяет размещение, в котором все слова отыскиваются максимально быстро. Если мограф Фа не допускает такого размещения, то поиск некоторого слова эквивалентен поиску нескольких слов, что равносильно тому, что данное слово расщеплено на несколько слов. Таким образом, критерий минимизации времени доступа определяет функционал качества у>(Фь) как минимум мощности сигнатуры Ф(,. В рассмотренных примерах организации данных, представляемых мографом, при условии минимального времени доступа важно минимизировать объем памяти. Возможен и обратный критерий: минимизация времени доступа при неизменном объеме памяти. Он важен, например, в задаче такого упорядочения записей файла (рис. 5.14), при котором быстрее осуществляется поиск по ключу.
§5.2. Методы оптимального размещения данных
407
Доступ к объектам данных осуществляется с помощью некоторой стандартной процедуры поиска, реализующей переход от одного элемента памяти к другому. Переход осуществляется однозначно, поэтому эту процедуру поиска можно формализовать функ-
Х2 ХЗ Х4 Хз XS
хз Х2 Хз Хз Хб
,, Коли-ууЯЧЯ — чество Ключевое слово тель	«
записей
	4	Математические методы
	2	Автоматизация
	2	Алгоритмы на графах
	2	Теоретикографовые модели
	2	Математическое моделирование
	2	Производственные процессы
а
Хб
Хз
*2
Хз
Хз
,г Коли-Указн—
чество Ключевое слово тель	«
записей
	4	Математические методы
	2	Автоматизация
	2	Алгоритмы на графах
	2	Теоретикографовые модели
	2	Математическое моделирование
	2	Производственные процессы
б
*5
Адрес	Файл
Х1	Самарский А.А.
	Марчук Г.И.
*3	Макаров И.М./ ред.
Ха	Свами М., Тхуласираман К.
15	Брейер М.
Хв	Ржевский В.В.
хз	Питерсон Дж.
в
цией осмотра памяти S — частичной функцией на множестве элементов носителя мографа S: X X; S(x) — элемент, к которому осуществляется переход после элемента х. Рассмотрим такое размещение данных и такую функцию осмотра памяти S (модель Фь), при которых для каждого слова М модели Ф(, имеется такой элемент io € М, что
M={x0,S(x0), S2(x0), .., sM-i
Рис 5 14	т- е- кажД°е слово отыскивается с помощью
функции S на основании только информации о мощности слова и начальном элементе xq.
Подобные мографы называются допустимыми. Очевидно, что на практике большинство мографов не являются допустимыми. Для их реализации в памяти ЭВМ необходимо расщепление элементов носителя или расщепление слов. При этом увеличивается либо объем памяти, либо время доступа. Допустимые же мографы представляются в памяти ЭВМ безызбыточным образом и требуют минимального времени доступа.
Таким образом, задача оптимального размещения данных заключается в преобразовании мографа в допустимый и в построении функции осмотра памяти. При этом функционалом качества
408
Гл. 5. Прикладная теория алгоритмов
является минимальное расширение носителя без изменения сигнатуры или минимальное расширение сигнатуры без изменения носителя. Эта задача имеет графовую интерпретацию. Рассмотрим функцию осмотра памяти S: X —> X допустимого мографа Фь как отношение смежности S С X X X вершин в ориентированном графе Gf = (X, S), построенном на множестве вершин X. Граф Gf является функциональным (/-графом), т. е. из каждой вершины его исходит не более одной дуги.
Теорема 5.2. Связный f-граф является либо ациклическим, либо содержит точно один цикл.
Из этого утверждения следует, что практически важными являются следующие классы /-графов и допустимых мографов, представляющихся соответствующими /-графами: линейные (пути) , циклические (контуры), ациклические (ориентированные деревья). На практике функция осмотра памяти реализуется либо с помощью указателей, либо переходом к соседнему элементу памяти. Для представления в памяти линейных графов можно использовать второй вариант реализации функции осмотра памяти. Представление циклических /-графов также основано на переходе к соседнему элементу памяти, но с одним исключением: S(xn) = = Xi, где ii, in — соответственно первый и последний в размещении элементы. Для представления ациклических /-графов необходимы указатели. Однако представление ациклического /-графа парами (i,S(i)) для каждой вершины I избыточно (рис. 5.15, а, б). Для безызбыточного представления разобьем /-граф на линейные
а

б
в
Рис. 5.15
§5.2. Методы оптимального размещения данных 409
фрагменты, внутри которых в качестве функции осмотра будем использовать переход к соседнему элементу памяти, а связь фрагментов задавать указателями (рис. 5.15,в).
Для решения характеризационных проблем представления мографов /-графами различных классов введем отношение подчинения. Мограф Ф1 подчинен мографу Фг в отношении подчинения Р*, если он получен из Фз последовательностью ограничений, сужений, расширений и сверток. Под ограничением мографа понимаем удаление некоторых его слов, под сужением — удаление некоторых элементов носителя, под расширением — введение нового слова, являющегося пересечением имеющихся, под сверткой — склеивание всех вершин некоторого слова с объединением
Рис. 5.16
их весов. Введенные операции иллюстрируют рис. 5.16. Отношение подчинения Р* используется для характеризации линейных и ациклических мографов.
Отношение подчинения Р%, кроме операций, используемых в Рп, включает еще одну операцию — замыкание слова, т. е. замену его на дополнение в множестве элементов носителя мографа (рис. 5.17), а на операцию расширения Р% накладывает следующее ограничение: можно включать только слово М, являющееся пересечением слов Mi, Mj таких, что их объединение не образует весь носитель мографа (возможное расширение). Это отношение подчинения используется для характеризации циклических мографов.
Принцип локальности выполняется для свойств линейности и ацикличности при
отношении Рп и для свойства цикличности при отношении Р%.
410
Гл. 5. Прикладная теория алгоритмов
Нетрудно доказать следующее утверждение.
Утверждение. Запрещенными фигурами для классов допустимости мографов являются следующие мографы:
1)	для свойства линейности и отношения подчинения Р* — Зз и Ке,
2)	для свойства цикличности и отношения подчинения Pl ~ К<-,
3)	для свойства ацикличности и отношения подчинения Pl - S3, КХ, К5.
Мографы S3, Ki, К^, К5 приведены на рис. 5.18.
(2,4)	(3,4)	(2,5)	(4,6)
в	г
Рнс. 5.18
Способы преобразования этих запрещенных фигур в разрешенные заключается либо в расщеплении элемента носителя х и в соответствующем разбиении множества слов Е(х), в которые он входил, на два множества, Ei(x) и Ег(х) (обозначим этот способ как x(Ei, Е2)), либо в расщеплении слова М, на два, М- и М", с соответствующим распределением элементов по этим словам (обозначим как ЦМ-, М-')). Способы преобразования запрещенных фигур в принятых обозначениях объединены в табл. 5.3.
Можно показать, что эти способы базисные, т. е. любой другой способ преобразования является суперпозицией этих способов. Для модели в целом данные способы преобразования запрещенных фигур являются неоднозначными. Семантическое эквива-лентирование мографа Фа в мограф Фь с заданными свойствами допустимости осуществляется с помощью обычной процедуры: строим семантическую таблицу; находим покрытия; оцениваем эти покрытия с помощью построения специальных графов и их раскраски. В результате получаем мограф, обладающий заданным свойством допустимости. По нему строим соответствующий /-граф. Рассмотрим подробнее алгоритм построения линейного
§5.2. Методы оптимального размещения данных 411
/-графа по линейному мографу (будем считать мограф связным).
Таблица 5.3
Запрещенная фигура	Способ преобразования	
	Расширение носителя	Расширение сигнатуры
5з	*1(2,3) *2(1,3) *з(1,2)	1(*2,*з) 2(*1,*з) 3(xi,*2)
К4	*о(3, (1,2)) хо(2,(1,3)) »о(1,(2,4))	1(*о, *1) 2(х0,*2) З(*о,*з)
к;	*1(1,4) *э(2,4) *з(3,4) Го(1, (2,3,4)) хо(2, (1,3,4)) хо(3, (1,2,4))	1(*1,*о) 2(*2,ю) З(х3,*о) 4(*1, (*2,*з,*о)) 4(*2, (п,а:з,*о)) 4(х3, (*i, *2, *о))
Ks	*1(1,5) *г(2,5) *з(3,6) *«(4,6) хо(1, (2,3,4, 5,6)) *о(2, (1,3,4,5,6)) *о(3, (1,2,4,5,6)) х0(4, (1,2,3,5,6)) х0((1,2, 5), (3,4,5))	1(*1,*о) 2(г2,г0) 3(хз,*о) 4(х4,х0) 5(*i, (х0,*2)) 5(*2,(*о,*1)) 6(*з,(*о,*<)) 6(14, (*о, *з)) 
Определим отношение упорядочения Ре на носителе мографа такое, что (z,-, Xj) £ Ре, если Е(х$ С E(ij) (одноэлементные слова при этом не учитываем). Найдем множество минимальных элементов Xi отношения упорядочения Ре. Оставим в нем по одному элементу из тех, которые входят в одинаковые слова, а затем только такие элементы Xi, удаление которых вместе с Е(х,) не делает мограф несвязным. (Можно показать, что таких элементов всегда не более двух.) Пусть останутся элементы z,- и хп. Зафиксируем один из них, например, хп, как конечную вершину /-графа. Удалим другой элемент z, из мографа и введем его в /-граф. Если в /-графе уже есть вершины, то соединим предыдущую введенную вершину Xj дугой с z,-. Продолжаем этот процесс до тех пор, пока в мографе не останется одна вершина хп. Поступаем с ней аналогично.
Рассмотрим процесс семантического эквивалентирования мографа (см. рис. 5.12) в линейный /-граф. Запрещенные фигуры для свойства линейности, присутствующие в Фо, приведены на рис. 5.19. Если критерием является минимизация функционала ^(Фь), равного мощности носителя Фь, при условии неувеличения мощности сигнатуры Фо, то можно применять только преобразование, основанное на расщеплении элементов носителя. Семантическая таблица имеет вид табл. 5.4.
412
Гл. 5. Прикладная теория алгоритмов
*5	% ®<4)	*1	®(4) Ф» ®(4)
(^О.З. 4)	@1(1,3,4)	(§1(1,3,4)
(1.41/ \4,5) (п/\ХЗ)	<1у\(3)	(1>/\3)
®-----® ® ® ® ® @ ®
Рис. 5.19
Таблица 5.4
	Ф1	Фг	Ф3	Ф4	Фз	Фе	Фт	Фе
^з(1,(2,6))	1	1	1	1				
*з(2, (1,6))	1	1	1	1				
*з(6,(1,2))	1	1	1					
*з(1,2)				1				
*з(2,3)				1				
*4(1,3)				1				
*2(1,5)					1			
*4(1,4)					1			
*т(4,5)					1			
*4(1, (3,4))				1	1	1	1	1
*4(3, (1,4))				1		1	1	1
*4(4, (1,3))					1	1	1	1
Рис. 5.20
§5.2. Методы оптимального размещения данных 413
Рассмотрим покрытие к = {гсз(2, (1, 6)), z«(l, (3, 4))}. Выполнение этих преобразований в Фо приведет к линейному мографу Фь (рис. 5.20, а). Построим, следуя предложенному алгоритму, линейный /-граф, представляющий Фь. Определим отношение упорядочения Ре (рис. 5.20,6). Минимальными его элементами являются zi, z«, х3, х3. Удаляя из рассмотрения zi или z< со словом М, приходим к несвязному мографу. Элемент х3 фиксируем как конечную вершину /-графа. Вводим в /-граф вершину xg, удаляя этот элемент из Фь-Затем снова строим отношение упорядочения Ре (рис. 5.20, в). Минимальными элементами являются xi, z3, z<, хз. Первые три входят в одно множество слов; выбираем элемент хз, остальные из рассмотрения удаляем. Вводим хз в /-граф (рис. 5.20,г). Продолжая эту процедуру, строим /-граф (рис. 5.20, д).
Мограф Фа представляет систему инвертированных списков для файла библиотечной информационной системы (см. рис. 5.13). При использовании обычной списковой организации с линейной функцией осмотра инвертированные списки (см. рис. 5.14, а) занимают 14 элементов памяти; при использовании оптимального размещения (см. рис. 5.14, б) — 9 элементов. Таким образом, экономия памяти на инвертированных списках составила приблизительно 35 %.
Если критерием нвлнетсяминимизация функционала ф(Фь)< равного мощности сигнатуры Фь, при условии неувеличения мощности носителя Фо, то можно применять только преобразования запрещенных фигур, расщепляющие слова. Семантическая таблица имеет вид табл. 5.5.
Таблица 5.5
	Ф1	Ф2	Фз	ф<	Фз	Фе	Фт	Фе
l(zi,z3)	1							
2(z3,zj)	1	1	1	1				
6(z3,ze)	1	1	1					
1(Z2,Z3)		1						
1(Z3,Z«)			1	1		1		
3(z4,zs)				1		1	1	1
l(z2,Z4)					1			1
4(x4,xt)						1	1	1
5(zj,zt)					1			
1(zi,z<)							1	
Одним нз покрытий, определяющих минимальяое решение, является неминимальное (по числу преобразований) покрытие л = {l(xri, Z3), l(zj, х3), l(z3, z<), l(xj, Х4), l(zi, z«)}. Специальный граф для слова М (а все способы расщепляют только его) приведение рис. 5.21, а. Раскраска его в три цвета определяет минимальное расщепление A/i: М[ = {zi, хз}, М" = {хз}, М"' = {z4}; после расщеплениямограф становится линейным (рис. 5.21, б) и представляется линейным /-графом (рис. 5.21, в).
Решение этой задачи позволяет в соответствии с построенным /-графом так упорядочить записи файла библиотечной информационной системы (рис. 5.22), что записи, имеющие идентичное значение ключевого слова, сгруппированы в наименьшее число цепочек.
414	Гл. 5. Прикладная теория алгоритмов
Если в первоначальном файле (рис. 5.13) таких цепочек было 10 (для ключевого слова “математические методы” — 1 цепочка, для ключевого слова “автоматизация” — 2 и т. д.), то в полученном размещении (рис. 5.22) таких цепочек 8 (для ключевого слова “ма
Адрес	Фамилия И.О.
хе	Ржевский В.В.
х3	Макаров И.М./ ред.
хз	Брейер М.
Х4	Свами М., Тхуласираман К.
Х7	Питерсон Дж.
Хз	Марчук Г.И.
Х1	Самарский А.А.
Рнс. 5.22
тематические методы” — 3, для остальных — по 1). Таким образом, быстродействие при обработке файла в результате оптимизации увеличилось на 20%. Для обоих критериев получено минимальное решение.
§ 5.3. Характеризация выходной связности логических структур
Проектирование многовыходных логических схем в топологических базисах не отличается от проектирования одновыходных схем, если допускается съем информации с элементов, не являющихся минимальными или максимальными; при этом накладывается только одно ограничение — не расщеплять элементы графа, взвешенные выходными буквами При проектировании многовыходных схем в функциональных базисах, как правило, реализуемую систему булевых функций сводят к одной функции или ищут пересечения единичных областей булевых функций и синтезируют схемы по булевым функциям, описывающим эти пересечения. Окончательная схема представляет собой композицию схем, реализующих поведение данных булевых функций на пересечениях рабочих областей, и схем-сборок, выводы которых совпадают с выходными каналами искомой схемы. В случае же, когда единичные области не пересекаются, при использовании известных методов имеет место несвязная реализация системы булевых функций. Рассмотрим следующей пример. Пусть задана система булевых функций вида
/1 = X1X2X3S4, V х1х2хз^4; /2 = X1X2X3S4 V ХхХ2ХзД4 •
12	3	4
§5.3. Характеризация выходной связности структур 415
Преобразуем мограф GM ({/,}), задающий эту систему (рис. 5.23, а), в структурный мограф Я({/,}) так, чтобы макси-
мальные элементы были взвешены буквами, идентифицирующими выходные каналы, и ни одна из вершин, не являющихся максимальным элементом, не была взвешена выходной буквой fi. Структурный граф H({fi}) изображен на рис. 5.23, tf. С помощью коалгебры графов преобразуем его в логическую схему (рис. 5.23,в). Вершины мографа и структурного графа, определяющие многовыходную логическую схему, будем раскрашивать в два цвета: вершины, взвешенные входными буквами Xi, Xi, белым цветом, вершины, взвешенные выходными буквами fi, — черным (на рисунках черному цвету соответствует штриховка).
При преобразовании мографа
GM ({/,}), задающего систему булевых функций, в структурный граф Я({/,}) на последний накладывается следующее ограничение: максимальные элементы структурного графа, и только они, должны быть взвешены выходными буквами которые при этом преобразовании не расщепляются.
Систему булевых функций F(x) = {/,} представим в виде модели
Фа = (Ml, р, Si, S2, . . ., Sn),
где Ма = {7П1, 7712,	™п+1, . . ., 77ln+fc}, Si С М’, I = 1,
2, ..., п; р — одноместный предикат, разбивающий Ма на два
416
Гл. 5. Прикладная теория алгоритмов
подмножества:
_ ( 0 на элементах т, при » = 1, 2, ..., п,
— 11 на элементах mj при j = (п + 1)..(п + к).
Структурный граф Я(Р(х)) представим в виде модели
Фь = {Мь, <, q), где
_ f 1> если из p(m,) > p(m,j) следует т,- > mj, ? ~ 1 0 в противном случае.
При исследовании вопроса преобразования модели Фа в модель Ф(, и построения многовыходного структурного графа следует рассматривать модели со следующими ограничениями:
1)	если в модели Фа найдутся два слова, ра и рр, такие, что Ма С Ф/?, то эти слова заменяют одним словом ра',
2)	если в слове имеются хотя бы две одинаковые буквы, та и ть (та = ть), то одну из них заменяют другой;
3)	если в модели Фа найдутся хотя бы два слова, ра и рр, такие, что
Ра = <*ТПГ, Рр =
где p(mr) = p(mt) — 1, а состоит из букв тп,, р(т^) = 0, то одно из этих слов заменяют другим.
Очевидно, для того, чтобы было можно частично упорядочить буквы модели Фа, необходимо, чтобы мограф GM не содержал запрещенных фигур Qa, Qb (см. рис. 3.52). В этом случае возможно частичное упорядочение букв модели Qa, Qb без учета предиката q в модели Ф{,.
Найдем запрещенные фигуры в мографе GM {F{x}}, характеризующие фиксирование максимальных (минимальных) элементов в соответствующем структурном графе H{F{x')) при преобразовании GM{F{x)) —> H{F{x)}. Для определенности будем фиксировать максимальные элементы, которые соответствуют выходным каналам проектируемой логической схемы.
Условие частичного упорядочения букв модели Фа, в котором учитываются заданные максимальные элементы, устанавливает следующая теорема.
Теорема 5.3. Между буквами модели Фа = {Ма, р, Si, S2, ..., Sn), мограф GM которой не содержит мографов Qa, Qbj существует отношение частичной упорядоченности тогда и только тогда, когда мограф GM не содержит модельных подграфов Qe (рис. 5.24).
Сложность логических схем в основном определяется сложностью соответствующего структурного графа Н. Следовательно,
§5.3. Характеризация выходной связности структур
417
структурная минимизация булевой функции f определяется распределением запрещенных фигур Qa, Qb в мографе GM(f), а системы булевых функций (/J — распределением запрещенных
фигур Qa, Qb, Qe в мографе GM({f,}). Таким образом, минимальной логической схеме будут соответствовать те ДНФ булевых функций, в которых необходимо произвести минимальное количество расщеплений первичных термов для того, чтобы образовавшийся мограф был интерпретируем в категориях структурных графов.
Рассмотрим точную структурную минимизацию булевой функции /, которая сводится к покрытию семантической таблицы глу-
Первичные термы
Интервалы  рабочей области
Максимальные интервалы
Запрещенные фигуры
Рис. 5.25
бины 2 (рис. 5.25) и, если необходимо, к раскраске графов, соответствующих покрытиям второй таблицы.
Первая таблица формируется на основе покрытия таблицы различий для практических булевых функций. Покрытие первой таблицы порождает тупиковую ДНФ, которой соответствует мограф GM. Преобразование его в частично упорядоченный, т. е. в интерпретируемый структурным графом Н, выполняется с помощью покрытия второй таблицы. Рассмотрим пример.
Пример 5.1. Определим сложность абсолютно минимального структурного графа (диаграммы), реализующего булеву функцию
f(xt, х2, хз, 14)1,= V(0, 1, 2, 4, 9, 11, 13) и равного нулю на остальных наборах.
14 В. А. Горбатов
418
Гл. 5. Прикладная теория алгоритмов
Выделим максимальные интервалы и построим для рассматриваемой функции таблицу Квайна (табл. 5.6).
Таблица 5.6
Номера строк	Максимальные интервалы	Единичные точки						
		0000	0001	0010	0100	1001	1011	1101
1	ООО-	1	1					
2	00-0	1		1				
3	00-0	1			1			
4	-001		1			1		
5	10-1					1	1	
6	1-01					1		1
Подчеркнутая единица в таблице Квайна соответствует обязательному максимальному интервалу. (Максимальный интервал является обязательным, если найдется единичная точка, принадлежащая этому и только этому интервалу.) Множество обязательных максимальных интервалов образует ядро покрытия.
Находим тупиковые ДНФ заданной функции, покрывая столбцы Квайна строками таблицы. Имеем два покрытия: первая, вторая, третья, пятая, шестая строки и вторая, третья, четвертая, пятая, шестая строки. Этим двум покрытиям соответствуют ТДНФ функции f вида
хз, х3, х4) = Х1Х3Х4 Vijx2X4 VХ1Х3Х4 VX1X2X4 VxiXjXa,
1	2	3	4	5
f"(xt, Х2, хз, Х4) = Х1Х3Х4 VX1X2X4 VX1X3X4 VX1X2X4 VXJX3X4.
Первой ТДНФ соответствует мограф, изображенный на рнс. 5.26, а. В этом графе имеются циклы нечетной длины с циклической перестановкой весов
следующего вида:
Qai —
Qa2 —
Qa3 =
х2(4, 5), х3(5, 3), х4(3, 4) xi(l, 2), х2(2, 5), х3(5, 1) Х4(1, 2), х2(2, 5), хз(5, 1)
Первой ТДНФ соответствует семантическая таблица — табл. 5.7.
§5.3. Характеризация выходной связности структур
419
Таблица 5.7
Q,	n(l, 2)	х2(4,5)	xj(2,5)	rs(3,5)	хз(1,5)	r<(3,4)	г<(1,2)
Qi	0	1	0	1	0	1	0
Q2	1	0	1	0	1	0	0
Q3	0	0	1	0	1	0	1
Одним из минимальных покрытий является я = {хз(4, 5), xj(2, 5)}. Поскольку преобразования, входящие в него, расщепляют лексикографически одинаковые буквы, строим граф на словах {2, 4, 5} (рис. 5.26, б). Этот граф раскрашивается в два цвета: {2, 4} и {5}.
Следовательно, достигнуто минимальное расщепление букв. После штриховки буквы xi в пятом слове получаем ДНФ, интерпретируемую в категориях диаграммы Хассе со сложностью 7 (рис. 5.26, в):
Х2, Хз, Х4, х'2) = Г1®зХ4 V Х1Х2Х4 VX1X3X4 V Х1Х2Х4 УХгХ^З-
Рассматривая аналогично остальные покрытия и распределение запрещенных фигур в мографе второй тупиковой ДНФ, получаем, что найденная упорядочиваемая ДНФ является абсолютно минимальной. Следовательно, сложность диаграммы, реализующей эту функцию, также равна 7 (рис. 5.26,г).
Приведем точное решение задачи структурной минимизации системы булевых функций, основанное на использовании запрещенных фигур преобразования мографа в диаграмму с фиксированными максимальными элементами. Оно заключается в выполнении следующих этапов.
1.	С помощью одного из известных методов формируют множество многовыходных простых импликант (МПИ) (многовыходных Максимальных интервалов). Множество точек пространства, входящих в единичные области булевых функций fi, fi, ..., Д и Образующих гиперкуб, называется многовыходным (к-выходным) интервалом функций Д, fi, ..., fk.
Многовыходной интервал булевых функций Д, fi,..., fk называется многоеыходным максимальным интервалом, если не найдется многовыходного интервала этих функций, включающего его. Конъюнкция, соответствующая многовыходному интервалу булевых функций Д, fi, ..., fk, называется многовыходной простой импликантой.
2.	Строят импликантную таблицу Квайна, в которой каждой строке соответствуют МПИ, столбцу — конституенты единицы (Или импликанты) исходных булевых функций fi(X) 6F(X). При Этом конституента единицы (импликанта) столько раз входит в Таблицу, сколько функций принимают на ней значение единица.
3.	Находят покрытия столбцов строками импликантной таблицы. Таким образом определяются ТДНФ системы булевых функций.
4.	Для каждой ТДНФ системы булевых функций, которой соответствует модель Фа, строят решетчатую ДНФ (РДНФ) системы булевых функций минимальной сложности, т. е. осуществляют цреобразование Фа —> Фг>.
420
Гл. 5. Прикладная теория алгоритмов
5.	Из всех РДНФ системы булевых функций выбирают РДНФ минимальной сложности. Далее строят многовыходной структурный граф Н.
Для того чтобы удалить все запрещенные фигуры, построим семантическую таблицу Я, каждой строке которой взаимно однозначно соответствует буква (в скобках указываются идентификаторы двух слов, в которые эта буква входит при образовании запрещенной фигуры), а столбцу — одна из запрещенных фигур Qa, Qb, Qe;
{1, если буква, соответствующая г-й строке, входит
в у-ю запрещенную фигуру, 0 в противном случае.
Строкам соответствуют буквы модели тп; С Ма, для которых p(mt) = 0. Тогда покрытие столбцов строками в матрице R соответствует множеству букв, которые необходимо расщепить при преобразовании Фа -4 Фь.
Проиллюстрируем точный метод минимизации системы булевых функций с учетом их теоретико-структурных свойств.
Пример 5.2. Пусть задана система булевых функций F(X) = {/i(X), А(Х), ft(X)}, зависящая от пяти переменных (табл. 5.8). Выделим все МПИ, затем строим таблицу Квзйна н в результате получаем две ТДНФ
Таблица 5.8
Z5	х<	Хз	Х2	XI	А	h	/з	А
0	0	0	0	1	0	0	0	1
0	0	0	1	0	0	0	0	1
0	0	1	0	1	0	0	0	1
0	0	1	1	0	0	0	0	1
0	0	1	1	1	0	0	0	1
0	1	1	0	0	0	1	0	0
0	1	1	0	1	0	1	0	1
0	1	1	1	0	0	1	0	1
0	1	1	1	1	0	1	0	1
0	1	0	0	1	0	0	0	1
0	1	0	1	0	0	0	0	1
1	0	0	0	1	0	0	0	1
1	0	0	1	0	1	0	0	1
1	0	0	1	1	1	0	0	0
1	0	1	0	0	0	0	1	0
1	0	1	0	1	0	0	1	1
1	0	1	1	0	1	0	1	1
1	0	1	1	1	1	0	1	1
1	1	0	0	0	1	0	0	0
1	1	0	0	1	1	0	0	1
1	1	0	1	0	1	0	0	1
1	1	0	1	1	1	0	0	0
1	1	1	0	0	1	1	1	0
1	1	1	0	1	1	1	1	1
1	1	1	1	0	1	1	1	1
1	1	1	1	1	1	1	1	1
§ 5.3. Характеризация выгодной связности структур
421
данной системы:
Fi(X) = XtXsfi VzjXs/i Vxsufi VZ3Z5/3 VziT2/4 V XiXifi V 12x3 ft, F2(X) = XtXifc У X2XSfi V XtXifi V X3X5f3 V XiX3fa V XiXifi V XiXift.
Рассмотрим первую из ТДНФ, представляя ее в виде модели
Ма = {«1, «1, х2, Х2, Хз, Х4, Хз, fl, f2, f3, ft}, p(xi)=p(xi) =p(x2)=p(x2) = p(x3) = p(x<) = р(хз) -0, . p(A) = Р(/з) = Р(/з) = p(A) = 1.
Слова модели соответствуют конъюнкциям функции Fi(X). Построим
Рис. 5.27
модельный граф GM (рнс. 5.27,а). Перечислим запрещенные фигуры, содержащиеся в GM:
Qai = {х»(1, 4), ш(1, 3), гз(3, 4)}, Qe3 D {r5(l, 4), x4(l, 3)}, Qeb D {xs(2, 4), x3(3, 4)}, Qb7 D {®s(2, 4), 373(4, 7)}, Qes D {хь(2, 4), x2(2, 7)}, Qbh Z) {374(1, 3), гз(3, 7)}, Qei3 D {x2(2, 7), гз(4, 7)}.
Qa2 = {is(2, 4), тз(4, 7), x2(2, 7)}
Qe4 D {375(1, 4), гз(3, 4)},
Qeb D {375(1, 4), 37з(4, 7)},
Qes D {375(2, 4), x2(2, 5)}, Qeio D {374(1, 3), 373(3, 4)}, Qeii Э {372(2, 7), гз(3, 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.9
Буквы	Запрещенные фигуры												
	1	2	3	4	5	6	7	8	9	10	11	12	13
®з(1,4)	1	0	1	1	0	1	0	0	0	0	0	0	0
«з(2,4)	0	1	0	0	1	0	1	1	1	0	0	0	0
*4(1,3)	1	0	1	0	0	0	0	0	0	1	1	0	0
*з(3,4)	1	0	0	1	1	0	0	0	0	1	0	0	0
«з(3,7)	О	О	О	0	0	0	0	0	0	0	1	1	0
«з(4, 7)	О	1	0	0	0	1	1	0	0	0	0	0	1
«з(2,5)	О	О	0	0	0	0	0	1	0	0	0	0	0
«2(2,7)	0	1	0	0	0	0	0	0	1	0	0	1	1
Мощность расширения носителя |ДМа| для каждого из покрытий соответственно равна 3, 3, 3, 3, 3, 4. Следовательно, минимальная сложность L структурного графа Н равна 14 (рис. 5.27,6): L = |Л/а| + | ДЛ/а| = 14.
Рассмотрим модель Фа2’, соответствующую второй ТДНФ:
Ма = {xi, Xi, Х2, Х2, ХЗ, Xt, Хз, fl, /2, Л, ft},
p(xi) = p(xi) = р(х2 ) = р(Х2 ) = р(хз) = р(*4 ) = р(хз ) = О,
,р(А)=р(А)=р(Л)=р(Л) = 1.
Мограф GM (рис. 5.28, а), определяющий эту модель, содержит запрещенные
Рис. 5.28
фигуры следующего вида:
Qai =	{«з(1,	4),	««(I,	3), г3(3, 4)},
Qb2 D	{*5(1,	4),	*4(1,	3), гз(3, 4)},	Qes	D	{*з(1,	4),	хз(3,	4)},
Qe4 D	{*s(2,	4),	гз(3,	4)},	Qes	D	{ars(l,	4),	хз(4,	7)},
Qes D	{«4(1,	3),	Гз(3,	7)},	Qes	D	{«s(2,	4),	*2(2,	5)}.
Покрывая семантическую таблицу (табл. 5.10), получаем, что минимальное расширение носителя | ДЛГ| равно 2. Оно и порождает минимальный структур-
§ 5.4. Теоретико-структурная минимизация булевых функций 423
Таблица 5.10
Буквы	Запрещенные фигуры								
	1	2	3	4	5	6	7	8	9
zs(l,4)	1	1	1	0	1	0	0	0	0
х5(2,4)	0	0	0	1	0	1	0	0	1
г<(1,3)	1	1	0	0	0	0	1	1	0
гз(3, 4)	1	0	1	1	0	0	1	0	0
гз(3,7)	0	0	0	0	0	0	0	1	0
хз(4, 7)	0	0	0	0	1	1	0	0	0
а?2(2,5)	0	0	0	0	0	0	0	0	1
ный граф (рис. 5.28,6), определяющий данную систему булевых функций F(X).
§ 5.4.	Теоретике-структурная минимизация булевых функций
Рассмотрим оптимизирующие функционалы усечения вариан
тов, построенные на основании учета структуры запрещенных фи-typ. Исследуем более подробно процесс приведения произвольного
мографа к упорядочиваемому виду.
Количество меток каждой вершины и,- мографа равно собственной частоте соответствующей буквы модели, а количество общих Меток для пары вершин и,- и vj (ребра (г, у)) — значению взаимной частоты соответствующих букв. Следовательно, ребро (г, у) Мографа можно характеризовать тремя величинами: fj и /,у, где fi — собственная частота буквы г; fj — собственная частота буквы у; fij — взаимная частота букв г и у (г 0 у).
Прослеживая процесс образования запрещенных фигур Qa, Qb, Qe, замечаем, что чем больше сумма /,• + fj собственных частот букв г и у при данной взаимной частоте /,у или чем меньше взаимная частота fij букв i и у при данной сумме их собственных Частот, тем больше вероятность вхождения букв г, у в подмодели Аида Qa, Qb, Qe-
Охарактеризуем каждое ребро (г, у) мографа Ф(/) значением
производной от модели, вычисленной на соответствующей паре букв:
—(i j) —	~ 2^,J + h
dS(,3)~ fa
Тогда чем больше значение производной, тем выше степень |иеодинакового участия букв в словах; чем больше неоднородность Мографа, тем больше вероятность образования подмоделей вида ©A, Qb, Qe в этой модели, тем более сложный (в смысле числа элементов) синтезируемый граф соответствует этой модели. Поэтому максимальный интервал I функции /, которому соответствует полный подграф, будем оценивать средним значением р(7)
424
Гл. 5. Прикладная теория алгоритмов
производной, вычисленной для каждого ребра этого подграфа, т. е. выражением
где г — ранг простой импликанты I (он равен числу первичных терминов, образующих импликанту). Следовательно, оценка (5.1) позволяет синтезировать оптимальные ДНФ булевой функции, учитывая ее теоретико-структурные свойства.
Используя оптимизирующий функционал, представленный в виде оценки (5.1), приведем приближенный алгоритм теоретикоструктурной минимизации булевой функции.
1.	Заданную ДНФ функции f определяем в виде матрицы инцидентности Q.
2.	Выделяем простые импликанты функции / и записываем их в список I.
3.	Строим ядро функции /. Если оно пустое, то переходим к п. 6, в противном случае из списка I вычеркиваем элементы ядра и переходим к п. 4.
4.	В матрице Q заменяем единичные интервалы функции /, покрываемые вычеркнутыми из списка I простыми импликантами, на эти простые импликанты.
5.	Если любая строка матрицы Q представляет собой простую импликанту, то переходим к п. 8, в противном случае — к п. 6.
6.	По матрице Q строим частотную матрицу отношений F = = QT X Q.
7.	Согласно (5.1) оцениваем каждую простую импликанту из списка I. Выбираем простую импликанту с минимальной оценкой, вычеркиваем ее из списка I и переходим к п. 4.
8.	Определяем, задаст ли построенная матрица Q тупиковую форму. Если нет, удаляем избыточные простые импликанты. Полученная матрица Q задает минимизированную булеву функцию с учетом ее теоретико-структурных свойств.
Пример 5.3. Минимизируем с учетом теоретико-структурных свойств булеву функцию f(xi, Х2, хз, 2:4)^ = V(2, 3, 4, 5, 8, 9, 11, 12, 14, 15); на остальных наборах она равна нулю.
1.	Матрица Q имеет вид
Q =
XI О О о о 1 1 1 1 1 1
XI 1 1 1 1 о о о о о о
Х2 Х2 О 1
О 1 1 о 1 о
О 1 О 1 О 1 1 о 1 б 1 о
Хз 1 1 о о о о 1 с 1 1
Хз о о
1 1 1
1 о 1 о о
Х4 о
1 о
1 о
1 1 о о
1
xt 1 о 1 о 1 о о 1 1 о
2
3
4
5 8.
9
11
12 14
15
§ 5.4. Теоретико-структурная минимизация булевых функций 425
2.	Список I простых импликант булевой функции следующий:
001-, 100-, 11-0, 010-, -011, 1-11, -100, 10-1, 111- .
3.	Функция f имеет ядро, состоящее из обязательных простых импликант 010-, 001— и 100-. После вычеркивания элементов ядра список I принимает вид
-100, 11-0, -011, 1-11, 10-1, 111-.
4.	В результате соответствующей замены строк матрица Q принимает вид
	XI		хз	хз	Хз	хз	Xi	Xi	
	0	1	0	1	1	0	0	0	001-
	0	1	1	0	0	1	0	0	010-
	1	0	0	1	0	1	0	0	100-
— Ч =	1	0	0	1	1	0	1	0	11
	1	0	1	0	0	1	0	1	12
	1	0	1	0	1	0	0	1	14
	1	0	1	0	1	0	1	0	15
5.	Строки матрицы Q' с четвертой по седьмую не соответствуют простым импликантам, поэтому переходим к п. 6.
6.	Частотная матрица отношения F' (F' = (Q')T х Q'), соответствующая матрице Q', такова:
5 О 3 2 3 2 2 2
®2 ®2 0 3 2 2 1 1 14 0 10 3 1 2 2 1 2 1 О 1 1 0 2 0
Хз хз 3 2 1 1 2 2 2 1 4 О О 3 2 О 1 1
®4 2 О
1 1 2 О
2 О
Xi 2 О 2 О 1 1 О 2
xi ®2 х2-®3 ХЗ Xi
Xi
7.	Оцениваем каждую простую импликанту из списка, полученного в п. 3. Согласно (5.1) имеем
Х-100) = p(x3X3Xi) =
1 /4-2-2+3 4-22 + 2	3-21 + 2\
“ 3~2 V 2	+	2	+	2 J ~ °’91>
р(-011) «0,91, р(10-1) » 1,98, р(1-11) «0,58, р(11-0) и 0,58, р(Ш-) » 0,67.
Выбираем простую импликанту 11 — 0 и переходим к п. 4.
> 4. В матрице Q' заменяем конституенты единицы функции /, покрываемые Импликантой 11—0, на эту простую импликанту. В результате получаем матрицу
Q" =
Х1 О О 1 1 1
1
1 1 О О О О
®2 о 1 о
1 о
1
хз х3 Хз 1 1 О 0 0 1
1 О 1 ООО 110 0 10
Xi О О о о 1 1
Xi О О о 1 о о
001-010-100-. 11-0 11 15
5.	Матрица Q содержит конституенты единицы функции, не являющиеся простыми импликантами. Переходим к и. 6.
426
Гл. 5. Прикладная теория алгоритмов
6.	Частотная матрица отношений F", соответствующая Q", имеет вид
Г" =
4 О О 2 2 1 2 1 2 1 1 1
2 О 1 О
*2 ®2 2 2 1 1
3 О О 3 1 2
1 1
1 1
1 О
®з 2 1
1 2 3 О
2 О
®з 1 1
1 1 О
2 О О
Х4 2 О 1 1 2 О 2
О
Х< 1 О 1 О О О О 1
xt XI Х2 х2. Хз Хз Х4 Х4
7.	По формуле (5.1) оцениваем простые импликанты из списка I, покрывающие оставшиеся конституенты единицы функции f. Имеем
р(-011) я 0,75, р(1 —11)яО,5, р(1О-1) я 0,91, р(Ш-) я 1,16.
Выбираем простую импликанту 1 — 11 и переходим к п. 4.
4. После соответствующей замены строк, получаем матрицу
Q'" =
XI О О 1 1 1
Х1 1 1 О
О о
Х2 х2 О 1
1 О О 1 1 о о о
хз Хз Xi Х4 10 0 0 0 10 0 0 10 0 0 0 0 1 10 10
001-010-100-11-0
1-11
5. Любая строка матрицы Q'" соответствует простой импликанте. Переходим к п. 8.
8. Матрица Q'" задает булеву функцию f, минимизированную с учетом ее теоретико-структурных свойств.
Используя метод семантического эквивалентироваиия, установим, насколько удалена полученная ТДНФ функции f(xi, х2, Хз, ц) от ТДНФ функции f, соответствующей минимальному структурному графу. Найдем все тупиковые ДНФ функции /. Для этогб построим импликаитную таблицу и определим ее покрытия. Каждую ТДНФ функции f задаем в виде мографа. Выделим запрещенные фигуры типов А и Б и построим семантические таблицы. Затем найдем и оценим их покрытия. В результате окажется, что тупиковая ДНФ, полученная с помощью предложенного алгоритма минимизации, свободного от перебора всех тупиковых ДНФ, соответствует абсолютно минимальному решению.
Рассмотрим теоретико-структурную минимизацию системы булевых функций F(X). В этом случае каждой многовыходной простой импликанте, как и простой импликанте при минимизации одной булевой функции, соответствует полный подграф, вершины которого взвешены идентификатором этой МПИ в мографе GM. Учет распределения запрещенных фигур в рассматриваемом случае может быть оценен выражением (5.1). При этом производные вычисляют только для дуг, соединяющих вершины, взвешенные буквами тп,- и mj, для которых p(mt) = p(m.j) = 0. Для простоты опустим в выражении (5.1) постоянную частотную составляющую и будем оценивать МПИ по формуле
'	> 4 i=l j=.'+l	'
15,4. Теоретико-структурная минимизация булевых функций 427
Предложим следующую процедуру минимизации системы булевых функций с учетом их теоретико-структурных свойств, основанную на применении оптимизирующего функционала.
1.	Задаем систему булевых функций
Г(Х) = {Л(Х),/2(Х),..,А(Х)}
множествами Mf, М®. При этом
. . _ (1 на элементах М*, г' 7	(0 на элементах М°.
2.	Находим одним из известных способов все МПИ булевых функций и заносим их в список I.
3.	Строим матрицу Q, каждому столбцу которой соответствует Первичный терм, строке — конституента единицы (импликанта) ’функции fi(X) € F(X) и
( 1, если Xk входит в l-ю конституенту (импликанту), Qkl ~ 1 0 в противном случае.
4.	Определяем обязательные МПИ в списке I. Если они имеются, то переходим к п. 5, вычеркивая обязательные импликанты ИЗ списка I. В противном случае переходим к п. 7.
5.	Корректируем матрицу Q, заменяя конституенты единицы, докрываемые вычеркнутыми МПИ, этими МПИ.
6.	Если любая строка матрицы Q представляет собой МПИ, то переходим к п. 9, в Противном случае — к п. 7.
7.	По матрице Q строим частотную матрицу отношений
F = QT X Q.
8.	Оцениваем каждую МПИ, вычисляя значение с(/). Выбираем МПИ с Минимальным значением Смии(^)- Выбранную МПИ Вычеркиваем из списка I И переходим к п. 5.
;	9. Устраняем избыточ-
ность строк в матрице Q. Матрица Q задает минимизированную систему рулевых функций F(X) с учетом теоретико-структурных свойств.
Таблица 5.11
Пример 5.4. Задана система булевых функций F(X) = {/!(X), /2(Х), :/з(Х)} (табл. 5.11).
428
Гл. 5. Прикладная теория алгоритмов
2. Слисок I многовыходных простых импликант системы F(x) следующий:
h	= 00—	(3),	h	= 0-0	(3),	Z3 =	00	(1),
ц	= -01-	(3),	h	= -10-	(3),	h =1-0-	(1),
h	= 1—0	(2),	h	=	11	1),	h = 1	1	(1),
110	= 1	1-	(3),	hi	= 11		(3),	I12 = H-1	(1,3),
113	= 1-11	(1,3),	In	= 11-0	(2,3),	In = no-	(1,3),
116	= 1-10	(2,3),	In	= -011	(1,3),	718 = 1-00	(1,2),
119	= -100	(1,3),	Im	= 0-00	(1,3),	hi = 1100	(1,2,3).
В скобках указаны номера функций, рабочие точки которых покрывает соответствующий интервал.
3.	Составляем матрицу Q, в которой каждая ионституента единицы повторяется столько раз, сколько она входит в булевы функции.
4.	Обязательной МПИ является импликаита Д.
5.	Заменяема матрице Q строки ООН, 0111, 1011, 1111, соответствующие конституентам булевой функции Д, на многовыходную простую импликанту I».
В результате получаем матрицу	
Xi Хз Хз Х2 Х2 Xl Xl	
	10 10 10 10
	10 10 10 10
	10 10 10 0 1
	1 0 1 0 0 1 1 0
	10 10 0 10 1
	10011010
	10 0 110 10
	1 0 0 1 1 0 0 1
	0 110 10 10
	0 110 10 10
Q(1> =	0 110 10 0 1 0 110 0 110
1	0 110 0 110
	01100101
	01011010
	01011010
	01011010
	0 10 110 0 1
	0 10 110 0 1
	0 10 10 110
	oioioiio
	0 10 10 10 1
	00000101
6. Строки матрицы с первой по последнюю ие являются МПИ. Переходим к л. 7.
7. Частотная матрица отношений имеет вид									
XI		xi	Х2	Х2	хз	хз	Х4	х<	
	9	0	4	5	4	4	5	3	XI
	0	14	5	9	7	7	9	5	XI
	4	5	9	0	3	5	6	3	хз
F =	5	9	0	14	8	6	8	6	Х2
	4	7	3	8	11	0	8	3	Хз
	4	7	5	6	0	11	6	5	Хз
	5	9	6	8	8	6	14	0	Xi
	3	5	3	6	5	5	0	8	Xi
8. Оцениваем каждую МПИ, вычисляя значение с(1). Для импликаиты 1з = = —qq jya оценка минимальна и равна 1,55. Выбираем 1з = —00 и переходим к п. 5.
§ 5.5. Характеризация разложения графа переходов 429
5. В матрице заменяем конституенты единицы, покрытые импликантой 1з, этой импликантой. В результате получаем матрицу
10101010 10 10 10 0 1
10 10 0 110 10 10 0 10 1 10 0 110 10 1 0 0 1 1 0 0 1 0 110 10 10 0 110 10 0 1 0 110 0 110 _ О 1 1 О О 1 1 о 4 “01100101-
0 10 110 10 0 10 110 10 0 10 110 0 1 0 10 110 0 1 01010110 0 10 10 110 0 10 10 10 1 0 0 0 0 0 1 0 1 0 0 0 0 1 0 1 0
6. Матрица содержит строки, ие являющиеся МПИ. Переходим л п. 7 и т. д.
В результате получена матрица
®1	Xl	х2	Хг	ХЗ	Хз	Xf	Х4
0	0	0	0	0	1	0	11
0	0	0	0	1	0	1	0
01001000 01000010' 10001000 00100100 0 1 0 1 0 0 0 0
которая соответствует решению
F(X) = xixjfi yxixtfi VxiXifi VxiXifoVxiXifz V х2хз/з V £3X4/3.
Определим удаленность полученного решения от минимального. Для этого зададим каждую ТДНФ этой системы мографом и определим распределение запрещенных фигур. Семантически эквивалентируя полученные мографы мо-графами, интерпретируемыми в категориях структурных графов, получаем, что синтезированная ТДНФ системы булевых функций F(X) без перебора всех эквивалентных ТДНФ соответствует абсолютно минимальному решению.
§ 5.5. Характеризация разложения графа переходов в частичное декартово произведение
Сложность и надежность автомата во многом определяются кодами внутренних состояний. Одной из актуальных является задача минимизации связей между элементами памяти. Будем считать два элемента памяти несвязными, если функция возбуждения одного из них не зависит от состояния другого элемента памяти, и наоборот. В случае несвязности элемента памяти со всеми остальными элементами его функция возбуждения опреде
430
Гл. 5. Прикладная теория алгоритмов
ляется состоянием этого элемента и входным вектором:
4>i = <Pitf, X).
Будем характеризовать память автомата ее связностью
1=1 где s — общее количество элементов памяти; а,- — количество элементов памяти, отличных от t-го элемента, значения которых необходимы для вычисления функции возбуждения t-го элемента памяти.
Значение связности памяти 5, равное нулю, означает, что элементы памяти функционально несвязны и функция возбуждения любого элемента памяти определяется его значением и входным вектором.
Рассмотрим задачу разложения произвольного графа переходов в частичное декартово произведение п функционально не связанных друг с другом сомножителей, каждый из которых соответствует подавтомату.
Функциональная связность между блоками возникает при нарушении детерминированности хотя бы в одном из графов переходов Для описания ситуаций нарушения детерминированности введем граф сцепления <7СЦ, каждой вершине которого взаимно однозначно соответствует внутреннее состояние автомата, ребру — пара сцепленных состояний, причем каждое ребро взвешено входными векторами, которые сцепляют соответствующие состояния автомата.
Два состояния, Sa и Sp, называются сцепленными вектором X,, если найдутся: набор X,, который переводит состояние Sa в S7 (5а —S7), и набор Xj (Х{ С Xj), который переводит Sp в S& (Sp —S$), такие, что 57 / S$ и (Sa, S^) и (Sp, S$) не образуют петли одновременно.
Состояние графа переходов G = (V, (U, X)) после его разложения в частичное декартово произведение
=	Gi = (Vi,(Ui,xy),
t
можно охарактеризовать вектором, г-му разряду которого соответ-ствует состояние t-го подавтомата. При разложении каждый подавтомат характеризуется допустимым количеством состояний |У,|. Очевидно, что
Пм>1п
t
Сцепленным состояниям должны соответствовать векторы, отличные друг от друга в каждом разряде. В противном случае, если
§ 5.5. Характеризация разложения графа переходов 431
в у-м разряде векторы сцепленных состояний совпадают, то при подаче на вход автомата вектора X, по которому они сцеплены, в общем случае будет нарушена детерминированность перехода в этом подавтомате. Следовательно, построение абстрактной параллельной декомпозиции автомата сводится к многокомпонентной раскраске (мультираскраске) графа сцепления, при которой смежным вершинам сопоставляют спектры красок, отличные друг от друга в каждой компоненте.
Разложение графа переходов в частичное декартово произведение не выводит результирующий граф из класса графов перехода. Запрещенными фигурами этой семантики являются квазиполные графы.
Теорема 5.4. Если граф сцепления, построенный для каждого из подавтоматов, не содержит квазиполного графа квазиплотности q + 1, то соответствующий автомат разложим {декомпозируем) в частичное декартово произведение функционально не связанных между собой сомножителей — подавтоматов, число состояний каждого из которых не превышает q.
Таким образом, квазиполные графы — запрещенные фигуры, характеризующие достаточное условие функциональной несвязности подавтоматов при поиске параллельной декомпозиции управляющего автомата. В дальнейшем этот класс запрещенных фигур будем обозначать Q*. При этом граф сцепления для первого рассматриваемого подавтомата представляет собой граф сцепления, построенный по графу переходов согласно его определению. Граф сцепления t-го подавтомата представляет собой граф сцепления первого подавтомата, в который добавлены ребра, соединяющие вершины с одинаковым спектром красок. Добавление этих ребер необходимо для однозначной идентификации состояний автомата.
Рассмотрим построение абстрактной параллельной декомпозиции автомата на основе найденной семантики на следующем примере.
Автомат имеет три входных канала. Граф переходов изображен на рис. 5.29, а. Входные векторы обозначены десятичными эквивалентами соответствующих двоичных наборов. Найдем параллельную декомпозицию автомата в виде двух автоматов с числом внутренних состояний соответственно 3 н 4.
Граф сцепления первого подавтомата приведен на рнс. 5.30, а. Он не содержит запрещенных фигур; следовательно, возможна раскраска тремя цветами: {О, 1, 2}. Каждый цвет соответствует состоянию первого подавтомата. Построим его граф переходов Gi = (И, (Г/i, X)). В результате раскраски графа Gco множество состояний исходного автомата разбивается иа три соцветных множества, каждое из которых соответствует состоянию первого подавтомата. Обозначим их соответственно S[q, 5ц, 5{2. Имеем
{S<, Si, Sa, Su} = Sjo, {S2, St, S», Sio} = 5ц, {5i, S3, St, Si2) = Si2 .
Отсюда условиями перехода из состояния в состояние S',j {i,j = О, 1, 2) первого блока являются условия перехода из состояния Sa € 5ц в состояние
432
Гл. 5. Прикладная теория алгоритмов
Sfl € S'a, определяемые исходным графом переходов:
<Ро-»о = О, ф1-»1 = 3 V 5, <р2-»2 = 1 V3V5,
<Po-+i = 1 V 5, Ф1-+0 = 2 V 5, <Р2-+о = 6,
<Ро-»2 = 2 V 3 V 4, ф1-»2 = 4 V 7, V2-H = О V 5.
Граф сцепления, соответствующий второму блоку, изображен на рис. 5.30, б. Он не содержит запрещенных фигур; следовательно, исходный автомат реализуем в виде параллельно работающих функционально несвязных подавтоматов.
Рис. 5.30
Раскраска второго графа сцепления разбивает множество состояний исходного автомата на следующие четыре множества:
S20 = {Si, Sic, SnS21 = {<Ss, Se, S7}, S22 = {S2, S3, S<},	S23 = {Sg, Sg, S12}.
Функции перехода для состояний второго подавтомата имеют следующий вид:
^о-»о = 2,	<Ро-*2	= 0,	<ро-»з =	3,	<Pi-+i	= 1	V 7,
Vi-»o = 3,	<Ро-»2	= 4,	<Р1-*з	=	5,	<Р2-+2	= 4	V 6,
<Р2-»о = 2 V 5, <Р2-и	= О V 7, <рз-*з =	6,	<Рз-»о	= 2	V 5,
V3-*i = 7,	<рз-*2	= 4.
§ 5.5. Характеризация разложения графа переходов
433
Разложение заданного графа переходов иа функционально несвязные сомножители приведены на рис. 5.29, б.
Построим абстрактную декомпозицию автомата, используя семантику разложения графа переходов в произведение сомножителей. Пусть задан граф переходов G (рис. 5.31, а), который необ-
Рис. 5.31
ходимо разложить в произведение G = Gi X G?, где Gi и Gi — графы переходов, мощность носителя каждого из которых не превышает 3.
Построим граф сцепления Ссц и произведем его раскраску по первой компоненте (рис. 5.31,6). Для этого выделим все пустые подграфы {S2, S4, S6}> {S3, S4}, {Sb S6}, {Si, S3, S5}, {Si, S2, S7}, {S2, S5}, {S2, S6, S8}, {S7, S8} графа сцепления.
Таблица 5.12
Носители пустых подграфов	Вершины							
	5i	s2	s3	s6	Sb	Si	S3	Si
{S1,S5,S7}	1	0	0	0	1	0	0	1
{Si,S3,S5}	1	0	1	0	1	0	0	0
{Si.Se}	1	0	0	1	0	0	0	0
{Si, st, Se}	0	1	0	1	0	1	0	0
{S2,S6,Ss}	0	1	0	1	0	0	1	0
{S2,S5}	0	1	0	0	1	0	0	0
{S3, Si}	0	0	1	0	0	1	0	0
{Si,St}	0	0	0	0	0	0	1	1
Покрываем столбцы строками таблицы (табл. 5.12), в которой каждой строке взаимно однозначно соответствует пустой подграф, столбцу — вершина, а на пересечении г-й строки и у-го столбца стоит 1, если у-я вершина содержится в носителе г-го пустого подграфа, и 0 в противном случае. Число допустимых состояний графа Gi ие превышает 3; следовательно, мощность покрытия этой таблицы также не должна быть больше 3. Запрещенных фигур по первой компоненте (квазиполных графов квазиплотнос
434
Гл. 5. Прикладная теория алгоритмов
ти 4) граф сцепления не содержит; следовательно, такие покрытия существуют, поскольку хроматическое число графа равно его квазиплотности. Эти покрытия имеют следующий вид:
7П{{52, S4, S6}, {Sb S3, S5}, {S7, S8}}, ^{{Sn S4, S7}, {S2, S6, S8}, {S3, S4}}.
Для определенности выберем первое покрытие. Ему соответствуют раскраска графа сцепления, представленная на рис. 5.32, а. Согласно этой раскраске функции переходов ipijk, где i — номер
компоненты разложения, j — состояние (краска), из которого осуществляется переход, к — состояние (краска), в которое осуществляется переход первого сомножителя графа переходов Gi, имеют следующий вид:
<Pioo = О VI,	^xoi — 2 V 3 V 4 V 5 V 6, <ph>2 = 9V10,
¥*110 — 1V3V7V8V0,	= 5 V 10,	Pin = 4 V 9,
¥’120 = 6,	<Pi2i = 2V5V7,	¥’122 = 8.
Для того чтобы произведение графов удовлетворяло условию автоматности, перед раскраской графа сцепления по второй компоненте необходимо соединить ребрами вершины, соцветные по первой компоненте (рис. 5.32,6). Чтобы установить, содержит
§ 5.5. Характеризация разложения графа переходов
435
ли полученный граф (рис. 5.32, в) запрещенные фигуры, выделим полные подграфы плотности 4. Опять воспользуемся приведенным выше алгоритмом, который модифицируем так, чтобы в ярусе располагались несмежные вершины, причем взвешивались вершинами, смежными с ними. Пути, длина которых меньше 4, обрываем (рис. 5.32,г).
Кроме выделенных полных подграфов плотности 4, носители которых имеют соответственно вид {Si, S3, S5, Se}, {Si, S4, S5, •S'»}, {S-2, S3, S6, S7}, {S2, S4, S6, S7}, граф сцепления при раскраске по второй компоненте содержит еще шесть запрещенных фигур — квазиполных графов квазиплотности 4 (рис. 5.33).
Таблица 5.13
Ребра	Квазиполные графы квазиплотности 4									
{Sx.SJ	1	0	1	0	1	0	1	1	0	0
{Si, S5}	1	0	1	0	1	1	0	0	0	1
{Si, Se}	1	0	0	1	0	0	0	1	0	1
{s<, s.}	1	0	1	1	0	0	0	0	0	0
{S<,ss}	1	0	1	0	1	1	0	0	0	0
{S5,S3}	1	0	1	0	0	1	0	0	0	1
{S2,St}	0	1	1	0	1	1	1	0	1	0
{s2,s3}	0	1	0	0	1	1	1	1	0	0
{s2,s6}	0	1	1	1	0	0	1	1	1	0
{S3, St}	0	1	0	1	0	1	0	0	0	0
{Se,S7}	0	1	0	1	1	0	1	1	1	0
{S3,S6}	0	1	1	1	1	0	1	1	0	0
{S2,S4}	0	0	1	1	0	1	1	1	1	0
{S3,S3}	0	0	0	1	0	1	0	1	0	1
{S3,S5}	0	0	1	0	1	0	0	0	0	1
{S5,Se}	0	0	1	0	1	0	0	0	0	0
{Si.St}	0	0	1	1	1	1	1	1	1	0
{SbS3}	0	0	1	1	1	1	1	1	0	1
{St,S3}	0	. 0	1	1	0	1	0	1	0	0
{S!,S2}	0	0	0	1	1	1	1	1	0	0
{S<,Se}	0	0	0	0	0	0	0	0	1	0
Построим семантическую таблицу (табл. 5.13). Каждой ее строке взаимно однозначно соответствует ребро запрещенной фигуры, столбцу — запрещенная фигура и
,. ... _ fl, если г-е ребро содержится в у-й фигуре, { О в противном случае.
Третья и седьмая строки образуют минимальное покрытие. Следовательно, при удалении из графа сцепления соответствующих им ребер {Si, Se} и {S2, S7} возможна раскраска графа тремя цветами (см. рис. 5.32,6). В результате получаем двухкомпонент
436
Гл. 5. Прикладная теория алгоритмов
ную раскраску графа сцепления (см. рис. 5.32, а,б):
5i — (1, 1), S2 - (0, 0), 53 — (1, 2), 54 — (О, 2), 55-(1,О), 56-(О, 1), S7 - (2, 0), 58-(2, 1).
Удаление ребер {5i, Se} и {52, 5?} означает, что состояния 51 и 58 исходного графа переходов не должны быть сцеплены входным вектором 8 (см. рис. 5.32, а), а состояния S2 и S7 — вектором 2. Для расцепления этих векторов введем в соответствующих че-
Рис. 5.33
тырех переходах дополнительные разряды, по которым эти векторы будут отличаться. Это возможно осуществить, используя связи между компонентами (в данном случае состояние первой компоненты) либо организуя специальный развязывающий блок памяти.
В первой компоненте спектра состояниям Si и 58 сопоставлены соответственно краски 1 и 2. Для расцепления этих состояний вектор 8, взвешивающий переход из состояния 51, расширяем до вектора 8Z = 8 -5ц; вектор 8, взвешивающий переход из состояния 58, расширяем до вектора 8" = 8 • 512, где 5ц, 512 — значения разрядов, в которых отличаются коды красок 1 и 2 первой компоненты спектра (рис. 5.34, а). Для расцепления состояний S2 и S7 соответственно имеем 2' = 2 • 5ю, 2" = 2  512-
Специальный блок памяти в данном случае представляет один элемент памяти а (рис. 5.34,6), в котором одно из состояний (например, нулевое) сопоставляется состояниям 51 и S2, другое — состояниям 58 и S7. В этом случае 8' = 8а, 8" = 8а, 2' = 2а, 2" = 2а. Значение специального развязывающего блока памяти
§ 5.5. Характеризация разложения графа переходов 437
фиксируется при переходе в состояние, однозначность выхода из которого определяется состоянием этого блока.
В результате получаем следующие функции возбуждения графа переходов, определяющего второй сомножитель разложения:
<Р200 = 1 V 6 V 10,	<^201	= 2' V 7 V 9,	<р202 =	2" V 3 V 8,
^210 = 0 V 5 V 8/z V 9,	^211	= 6,	^212 =	3 V 4 V 8Z,
<^220 — 7,	^221	= 1 V 4 V 6,	<Р222 —	О V 5.
Полученная абстрактная параллельная декомпозиция заданного автомата со связными сомножителями приведена на рис. 5.35.
Рис. 5.35
438
Гл. 5. Прикладная теория алгоритмов
Для выяснения, возможно ли разложение рассматриваемого автомата и частичное декартово произведение несвязных между собой сомножителей, рассмотрим раскраску графа сцепления с учетом характера переходов сцепленных состояний. Такой учет позволяет не принимать во внимание связь в графе сцепления, если из соответствующих сцепленных состояний переход осуществляется в соцветные вершины. Следовательно, перед расширением входного вектора для расцепления внутренних состояний необходимо проверить возможность устранения этой связи одинаковой раскраской тех состояний, в которые сцепленные состояния переходят.
Построим таблицу переходов заданного автомата (табл. 5.14), каждой строке которой взаимно однозначно соответствует значение входного вектора, столбцу — внутреннее состояние, а в клетке (г, j) таблицы находится идентификатор внутреннего состояния, в которое автомат переходит из у-го состояния под воздействием г-го входного вектора.	_
Таблица 5.14
	St	Si	S3	Si	S3	S3	St	S3
0	s2			Si				
1		Si	s6					
2		St					S3	
3	s<	S3		S3				
4						S3		
5			S3					S3
6				St		St	Si	
7			Si			St	Si	
8	St				Si		St	
9					S3			
10				S3	S3			
Несвязное разложение имеет место, если (согласно покрытию семантической таблицы) связность пар {Si, Se} и {Sj, S7} не учитывается из-за возможностей соцветности пар вершин {S4, S7} и {Si, S3}. Состояния S4 и St сцеплены, и чтобы они были соцветны, необходима соцветность вершин Si и S2, в которые эти состояния переходят. Соцветия Si, S? сцеплены, и чтобы они были соцветны, необходима соцветность вершин S3 и S4. Состояния S3, S4 не сцеплены, следовательно, могут быть соцветны. Раскрашиваем вершины S3, S4 в один цвет. Тогда согласно свойству транзитивности отношения соцветности получаем, что каждое из подмножеств Ко = {Si, S2, S8}, KY - {S3, S4, S7}> K2 = {S5, S6} состоит из соцветных вершин.
При найденной раскраске графа сцепления второй компоненты разложения состояния S2, S7 являются несоцветными. Следовательно, и второе противоречие, обуславливающее недетерминиро
$5.6. Семантическое ослабление функциональной связности 439
ванность графа переходов второго сомножителя, также устранено. Окончательно получаем следующие функции возбуждения второй компоненты разложения:
$0200 —	0 v	1 V	2,	$0201	=	3 V	8,	$0202	=	5,
$0210 =	6 V	7 V	10,	^211	—	О V	2 V	5,	^212	—	1,
$0220 =	6 V	9,	$0221	=	4 V	8,	$0222	=	Ю.
Таким образом, имеем несвязное разложение заданного автомата, определяемое полученными системами и двухкомпоиеитной раскраской вида
Si —(1,0), 54 — (О, 1), 57-(2, 1), 52 -(0,0),
55 -(1,2), 5g—(2,0), 53 -(1, 1), 56 — (0, 2).
В общем случае для построения параллельной абстрактной декомпозиции абсолютно минимальной связности необходимо оценить каждую раскраску по первой компоненте раскрасками по второй и выбрать многокомпонентную раскраску, удовлетворяющую заданным количествам вершин графов сомножителей и их условиям связности. Разложение графа переходов на п компонент аналогично.
§ 5.6. Семантическое ослабление функциональной связности памяти автомата
Рассмотрим предельную параллельную абстрактную декомпозицию автоматов, когда подавтоматом является элемент памяти. Семантика этой декомпозиции будет семантикой функциональной связности элементов памяти. С учетом структуры квазиполных графов и двузначности булевой логики рефлексивная семантика функциональной связности элементов памяти автомата определяется следующим утверждением.
Теорема 5.5. Графы сцепления, не содержащие циклов нечетной длины, определяют кодирование, при котором элементы памяти функционально несвязны.
Этот критерий позволяет последовательно определять значения разрядов в кодах внутренних состояний аналогично тому, как это делалось при поиске параллельной абстрактной декомпозиции.
Рассмотрим семантическое кодирование внутренних состояний автомата, заданного графом переходов G (см. рис. 5.29,а). Граф сцепления Gcui для первой внутренней переменной Zi, представленный на рис. 5.23, а, не содержит запрещенных фигур — циклов нечетной длины. Кодирование по первой переменной Zy заключается в раскраске двумя цветами, 0 и 1, вершин графа сцепления Gcui (рис. 5.36, а). Строим граф сцепления <7СЦ2 для второй переменной z%, для чего соединяем ребром соцветные вершины графа сцепления (рис. 5.36, б}.
440
Гл. 5. Прикладная теория алгоритмов
Запрещенными фигурами в графе (7СЦ2 будут циклы нечетной длины, содержащие один путь, составленный из ребер графа <7Сц1-Циклы нечетной длины, не содержащие таких ребер, не являются запрещенными фигурами, так как эта цикличность образовалась
а	б
Рис: 5.36
из-за условия однозначного кодирования состояний, а не из-за условия недетерминированности переходов.
Запрещенными фигурами в графе Gcuj являются циклы нечетной длины с носителями:
4Ф {Si,S4, Sio), <=> {5'1, Se, Sii}, о {52,5s, S?}, Фж4 4Ф {Sj, S7, S9}, б?ж5 4=^ {S4, Sio, S12}, Qm6 4=^ {Si, S4,Se), 4?ж7 4Ф {Si, S4, Se, Sio, Si2}<
Запрещенные фигуры фж1- позволяют последовательным кодированием минимизировать функциональную связность элементов памяти.
Рассмотрим другой, более быстрый (параллельный) способ определения минимально связных кодов внутренних состояний, для чего введем понятие предквазиполных графов квазиплотности К + 1.
Граф Q3 называется предквазиполным графом квазиплотности К + 1, если после раскраски его в х цветов и соединения одноцветных вершин он преобразуется в квазиполный граф квазиплотности К'+ 1; при этом К + х является минимальной величиной при различных раскрасках G3 и это преобразование не выполняется при удалении из G3 хотя бы одного ребра.
Теорема 5.6. Запрещенной фигурой функциональной несвязности элементов памяти является предквазиполный граф квазиплотности К + 1 в графе сцепления (К — значностъ логики, в которой описывается поведение автомата).
Для случая булевой логики запрещенной фигурой является цепь длины 2, обозначим ее Q3.
§ 5.6. Семантическое ослабление функциональной связности 441
Рассмотрим кодирование внутренних состояний автомата на основе использования найденных запрещенных фигур и Q3, которые соответствуют последовательному и параллельному методам кодирования.
Последовательный метод проиллюстрируем кодированием графа переходов G, представленного на рис. 5.29, а. Выше было найдено кодирование по внутренней переменной z\. Для определения кодов по второй переменной строим семантическую таблицу. Столбцам первой подтаблицы взаимно однозначно соответствуют запрещенные фигуры — циклы нечетной длины, строкам — пара сцепленных состояний (ребро графа сцепления ССц1) и на пересечении (», у) ставится 1, если i-e ребро входит в у-й цикл, 0 — в противном случае. Представим эту подтаблицу в виде следующей матрицы:
Qxl Q»2 Qx3			Qx4 Q*5		9жв		
1	0	0	0	0	1	1	{51, S<}
1	0	0	0	1	0	1	{S«, Sio}
0	1	0	0	0	1	1	{51, Se}
0	1	0	0	0	0	0	{Se, Sn}.
0	0	1	0	0	0	0	{52, Ss}
0	0	1	1	0	0	0	{52, Sr}
0	0	0	1	0	0	0	{St, S9}
0	0	0	0	1	0	1	{Sio, S12}
Минимальным покрытием является {{S4, Sio}, {Si, Se}, {S2, S7}}.
Строкам второй подтаблицы взаимно однозначно соответствуют пары сцепленных состояний, столбцам — входные векторы, которыми они сцеплены, и на пересечении (i, у) ставится 1, если i-я пара сцеплена у’-м входным вектором, и 0 в противном случае. Представим эту подтаблицу в виде следующей матрицы:
1 1 О О О О О О О
2 3 4 5
0 0 0 0
0 10 0
0 0 10
0 0 10
10 0 0
0 0 0 1
0 0 0 1
0 10 0
{51, S<} {S«, S10} {51, Se} {Se, Sii}. {Sj, Se} {S2, St} {St, s9} {Sio, S12}
Покрытие {{S4, Sio}, {Si, Se}, {S2, S7}} столбцами элементов покрытия первой подтаблицы указывает, какие входные векторы необходимо расширить для устранения недетерминированности при кодировании внутренних состояний по второй переменной. Такими входными векторами являются 2, 3, 5. После их расширения, которое отметим штриховкой, исходный граф сцепления <7cui
442 Гл. 5. Прикладная теория алгоритмов
преобразуется в граф, представленный на рис. 5.37, а. Раскрашивая этот граф двумя цветами, кодируем состояния по второй переменной (рис. 5.37, а). После соединения ребром вершин, имею-
щих одинаковые спектры красок, запрещенные фигуры в данном случае образоваться не могут. Следовательно, существует кодирование по третьей и четвертой переменным Z3, Z4 (рис. 5.37,6). Окончательно коды с минимальной функциональной связностью элементов памяти имеют следующий вид:
51 — 0001, S2 — ОНО, 53 — 0010, 54 — 1110,
5s — 1001, 56 — 1010, St — 1100, 58 — 1101,
5Э — ООН, 5ю — 0111, 5ц — 0101, 5П — 1000.
Построим функции возбуждения элементов памяти (для определенности — триггеров с раздельными входами) с соответствующей минимальной функциональной связностью.
Разбиение всего множества внутренних состояний на два подмножества согласно значениям внутренних переменных сведем в табл. 5.15.
Таблица 5.15
1	=0	z+ = 1
1	Si, S2, S3, Sa, S10, S11	St, Ss, Se, St, Sg, S12
2	Si, S3, Ss, Se, Sa, S12	S2, St, St, Sg, Sio, Su
3	Si, Ss, Sy, Se, Su,S12	Sj, S3, St, Se, Sa, S10
4	S2, S3, S«, S6, Sr, S121	Si,Ss,Se,S9,Sio,Su
Согласно построенной таблице функции возбуждения единичных входов имеют вид
¥>и(Х, zf} = г?(хгх2хз V Х]_х2х3 М Х!Х2х3),
§5.6. Семантическое ослабление функциональной связности 443
<Рп(Х, zf, z+) =_____
= Z? (Х1Х2Х3 V Х1Х2Х3 v Ж1Ж2®3 v Il«2®3-2:1’ V X1X2X3),
<Р1з(Х, zj") = Z^(X!X2X3 V Z1Z2Z3 V XiX2X3 V XiX2X3),
¥>14(X, Z*) = 7^’(х1Х2Хз V XiX2X3 V XiX2®3 V XiX2X3).
Функции возбуждения нулевых входов имеют вид
¥>oizt) — Z1(X1X2X3 V XiX2X3 V Х1Х2Х3 V Х1Х2Х3),
¥’02 PC 4> Zl) =
= zf (Х1Х2Х3 V Х1Х2Х3 v XiX2X3zf V Х1Х2Х3 V Х1Х2Х3),
¥>оз(А’, Z3+) = Z^(X!X2X3 V 2:12:22:3 V 2:12:22:3),
¥304(X, zt) = zf (X1X2X3 V ХхХ2Хз v 2:12:22:3 V Х^Хз).
Введем понятие противоположных кодов. Два кода называются противоположными, если они отличны в каждом разряде.
Очевидно, что если сцепленным состояниям соответствуют противоположные коды, то элементы памяти являются функционально несвязными.
Рассмотрим противоположное кодирование на следующих при
мерах.
Пусть граф переходов G задан своей таблицей переходов (табл. 5.16), каждой строке которой взаимно однозначно соответствует входной вектор Xi, столб-	Таблица 5.16
цу — внутреннее состояние Sj и в клетке (i, у) указывается внутреннее состояние, в которое автомат переходит при входном воздействии X, из состояния Si.
Внутренние состояния Si, 5^;
S2, S5; S3, S5; S3, S6; S5, Se и S4, Se сцеплены соответственно входными векторами 1, 1, 3, 4, 4
xi	Si	s2	S3	s<	Ss	Se
0	S2	Si	Si			
1	Si	S3			Sj	
2				Si		Ss
3			Ss		s<	
4			Ss		Ss	S<
и 2. Матрица смежности графа
сцепления для заданного случая имеет вид, представленный в табл. 5.17. Клетка (», у) таблицы содержит значения входных век-
торов, которыми соответствующие состояния сцеплены. Таблица 5.17
Внутренние состояния	Si	s2	S3	Si	Ss	s«
S1		1				
s2	1				1	
S3					3	4
Si						2
S5		1	3			4
s6			4	2	4	
444
Гл. 5. Прикладная теория алгоритмов
Строим семантическую таблицу, состоящую из двух подтаблиц. Столбцам первой подтаблицы взаимно однозначно соответствуют запрещенные фигуры Q3 — пути длины 2 графа сцепления, строкам — ребра и в клетке (г, у) стоит 1, если г-е ребро содержится в j-м пути, и 0 в противном случае. Строкам второй подтаблицы взаимно однозначно соответствуют ребра, столбцам — входные векторы, взвешивающие эти ребра, и в клетке (г, j) стоит 1, если j-й входной вектор взвешивает t-е ребро, и 0 в противном случае.
Для устранения недетерминированности переходов необходимо расширить входные векторы, вошедшие в покрытие семантической таблицы. Для этого необходимо покрыть столбцы строками в первой подтаблице и найденное покрытие покрыть столбцами во второй подтаблице.
Таблица 5.18
Q31	Q32	Q33	Q34	Qss	Q36	Q37	Q3e	Ребра	1	2	3	4
1	0	0	0	0	0	0	0	{5!,S2}	1	0	0	0
1	1	1	0	0	0	0	0	{52,5з}	1	0	0	0
0	0	1	1	1	0	0	0	{$3, $з}	0	0	1	0
0	1	0	1	0	1	1	0	{S5, Se}	0	0	0	1
0	0	0	0	1	1	0	1	{S3, Se}	0	0	0	1
0	0	0	0	0	0	1	1	{Se.Se}	0	1	0	0
Для рассматриваемого примера семантическая таблица (табл. 5.18) содержит запрещенные фигуры, имеющие следующий вид:
Qai = {{Si, S2}, {S2, S5}}, Qs3 = {{S2, S5}, {•S's, S3}}, <?Э5 = {{S5, S3}, {5з, S6}}, <?э7={{55,56), {S6, S4}},
Q32 = {{S2,S5},{S5,S6}}, Сэ4 = {{53, S5}, {S5,S6}}, Q36 = {{-$5, Se}, {*$3, Se}}, Qrf = {{53, S6}, {S6,S4}}.
В данном случае покрытие цервой подтаблицы образуют вторая, четвертая и пятая строки; покрытие этих строк во второй подтаблице образуют первый и четвертый столбцы. Следовательно, для противоположного кодирования внутренних состояний необходимо на графе сцепления удалить ребра {S2, 5s), {S5, Se}, {S3, Se}. После такого сужения сигнатуры графа сцепления он не содержит запрещенных фигур и, следовательно, возможно противоположное кодирование:
Si — 011,
S4 — 001,
S2 — 100,
S5 — 010,
S3 — 101
S6 — НО
Ребра из графа сцепления удаляются путем расцепления соответствующих внутренних состояний расширением сцепляющего их входного вектора. Расширение осуществляется приписыванием минимального количества внутренних переменных, которыми от-
§ 5.6. Семантическое ослабление функциональной связности 445 личаются расцепляемые состояния, соответствующему входному вектору.
Для получения покрытия семантической таблицы состояния S?, S5 необходимо расцепить расширением входного вектора состояния S5, Se и S3, Se — расширением вектора Х1Х2Х3.
Первое расцепление можно осуществить двумя способами: приписать ко входному вектору iii2®3 либо первую внутреннюю переменную z+, либо вторую г+, т. е. переход из состояния S2 в S3 взвешивается соответственно вектором х^ХзХзг^ либо вектором iii2®3^' Для определенности выберем первый способ расширения входного вектора xix2X3. Обозначим 1112^3^1’ через 1', а Х1Х2Х3Х1 — через 1". Расцепление состояний S5 и S$ осуществляется приписыванием первой внутренней переменной zf ко входному вектору Жх^г^з- Переход из состояния S5 в S5 осуществляется под воздействием х1х2хзг^ (обозначим его 4'), переход ИЗ состояния Se в S4 — под воздействием вектора Х1Х2хзг^ (обозначим его 4").
Расцепляемые пары внутренних состояний, пересечение которых не пусто, называются связными, если они сцеплены одним и тем же значением входного вектора. Расцепление связных пар производится совместно.
Коды состояний третьей сцепленной пары S3, Se отличаются Двумя переменными, следовательно, расцепление этих состояний можно провести двумя способами, используя вторую или третью переменную.
При первом способе переход из состояния S3 в S5 осуществляется под воздействием вектора X1X2X3Z2 , переход из Se в S4 — под воздействием X1X2X3Z2 • При втором способе приращениями ректора ii®2®3 являются соответственно zt, z^. Пары S3, Se и S5, Se связаны входным вектором Следовательно, необходимо произвести их совместное расцепление, которое заключается в логическом умножении условий расцепления для состояния, вошедшего в пересечение связных пар. В нашем случае таким состоянием является Se-
Согласно условию расцепления связных пар внутренних состояний переход из состояния Se в S4 осуществляется под воздействием вектора X1X2X3Z+z+:
XiX2X3Z^ & X1X2X3Z2 = X1X2X3Z/ z/, либо вектора цхзхзг^г^:
Xl®2®3^1’ &Xll2^3^3’ = X1X2X3Z^"Z^.
Для определенности выбираем первый способ расцепления, обозначив при этом вектор хх^г^з^как 4"'. Окончательно полу-
446
Гл. 5. Прикладная теория алгоритмов
чаем следующую систему функций возбуждения:
Л(х, 4, z+) =
= 7/11X2^3 V zf (XiXiXsZ^ V X!X2X3zfzf V XiX2X3), f2(X, zf,zf) = Z^(X!X2X3 V V 111213^2") V
V zf (X1X2X3 V Z1Z2Z3 V Z1Z2Z3-Z1’z/),
f3(X, z+, zf, 2^) = tf(x1X2X3Z? V ®1X2X3^^ V Z1Z2Z3 v
V X1X2®3^’') V Z? (X!X2X3 V X1X2X3 V X!X2X3Z^),
которой соответствует функционал <p(G), равный 4.
Здесь и ниже для определенности в качестве элементов памяти
взяты триггеры со счетным входом.
Найденные запрещенные фигуры определяют достаточные условия функциональной несвязности элементов памяти. Следовательно, после кодирования возможно уменьшение значения <p(G)
Таблица 5.19
z+	0	1
zl	Si, S4, S3	Si, S3, S3
zi	S2, S3, St	S\, S3, S3
Z3	S2, S3, S3	Si, S3, S3
путем анализа таблиц смены состояний элементов памяти. Каждый элемент памяти своим значением разбивает все множество внутренних состояний на два класса.
Для рассматриваемого примера это разбиение представлено в виде табл. 5.19.
Таблицы смены состояний для графов переходов элементов памяти приведены в табл. 5.20.
Таблица 5.20
zi	0	1	0	1	0	1
	I =	= 1	t =	= 2	I =	= 3
zf =0	1 V 2 V 3V V4' V 1"	0	ovi'	2 V 3 V 4"	0 V 2 V 4'	1'V l"v v3 v 4"'
z? = 1	2 V 4"V V4'"	OV1'V3	0 V 3 V 4"'	1 V4'v VI" V 2	0 V 3 V 4"	1 V2
В результате анализа таблиц смены состояний на детерминированность получаем, что штриховка входных векторов может быть снята везде, кроме векторов 4' и 4"', которые устраняют недетерминированность при переходе из единичного состояния второго элемента памяти и нулевого состояния третьего элемента памяти. При этом для отличия вектора 4"' от 4' достаточно взять его в виде х 1X2^3^.
Теперь функции возбуждения памяти окончательно имеют вид fl(X, Z?) = Z^X1X2X3 V Z?(X!X2X3 V Х1Х2®з),
§ 5.6. Семантическое ослабление функциональной связности 447
/2(^, zf,zf) = x^(xix2x3 V X!X2X3 V Х1Х2Х3) V
V Z% (Х1Х2Х3 V	V XiX2X3zf),
/з(Х, zf, z%) = z3+ (Z1Z2Z3 v Z1Z2Z3 v ж^хз-г^) V
V z£(X1X2X3 V X1X2X3 V Z1Z2S3) и v(G) = 2. .
Таким образом, минимизация перекрестных связей между элементами памяти сводится к выполнению трех этапов.
1.	Устранение запрещенных фигур путем расширения входных векторов и противоположное кодирование внутренних состояний.
2.	Анализ полученного кодирования с целью ликвидации избыточного расширения входных векторов.
3.	Выписывание функций возбуждения элементов памяти и определение значения <p(G).
В случае автоматов, для которых коэффициент плотности соответствующего графа сцепления велик и которые имеют большую размерность, трудоемкость покрытия семантической таблицы увеличивается, и если для ее реализации проектировщик не обладает соответствующими вычислительными мощностями, то первый пункт можно выполнить с меньшими вычислительными затратами, для чего предложим следующий алгоритм реализации п. 1.
1.	Выделяем в граф сцепления частичные подграфы, ребра каждого из которых взвешены одним и тем же входным вектором.
2.	Производим раскраску вершин каждого из этих графов, нумеруя краски 1, 2, ..., п. При этом номер краски указывает количество штрихов у входного вектора на соответствующем переходе.
3.	Штриховка входных векторов физически реализуется различными состояниями элементов памяти. Раскраска (см. п. 2) порождает разбиение множества внутренних состояний, которое определяет коды внутренних состояний.
Проиллюстрируем расширение входных векторов. Таблица переходов автомата — в табл. 5.21.
Таблица 5.21
X	S1	s3	S3	St	S3
а Ь с	Ss S3 St	s< s2 s<	S3 S3 S3	Si St St	Si S3 St
Таблица 5.22
	Si	Si	S3	St	S3
Si		a,b	atc	a,b	
Si	a,b		a,c		a,b
S3	atc	a,c		a,c	a, c
St	a,b		a,c		a,b
S3		a,b	a’c	a,b	
Таблица переходов автомата определяет матрицу смежности графа сцепления (табл. 5.22) и матрицы смежности частичных
448 Гл. 5. Прикладная теория алгоритмов
подграфов сцепления Gca, Gcb, Gcc (табл. 5.23, а, б, в) по входным векторам а, Ь, с соответственно.
Таблица 5.23а Таблица 5.236	Таблица 5.23е
Квазиплотность графов Gca, Gcb, Gcc равна соответственно 3, 2, 2. Следовательно, их хроматические числа равны соответственно 3, 2, 2. Раскрашивая эти графы, получаем разбиение вершин графов
Gca - Ки = {$i, S5}, К2а = {S2, S4}, К3а = {S3},
Gcb ~ Ku = {S2, S4}, K2b = {Sb S5}, GCc — Kic = {•З’з}, K2c = {Si, S2, S4, S5}.
Раскраска Gca, Gcb, Gcc порождает разбиение множества внутренних состояний, которому соответствует кодирующее дерево
{S1,S2,S3,S4,S5J -% {S3}
4.1
{S1,S2,S4,S5} -%{SbS5}
J.1
{S2,s4}
в котором на ребрах указаны соответствующие значения внутренних переменных.
Согласно кодирующему дереву штриховка, соответствующая полученной раскраске, будет реализована, если внутренние состояния будут иметь коды
S3 — 0aia2, Si — Юаз, S5 — 10а4,
S2 — lid's, S4 — Пае, где а, = 0, 1 (г=1-6), причем для однозначности кодирования полагаем, что аз = а4, as = а^. Конкретизируя а,, окончательно получаем коды
S3 — Oil, Si — 100, S5 — 101,
S2 — 110, S4 — 111.
После получения кодов переходим к п. 2 первого алгоритма: устраняем избыточную штриховку входных векторов. В результате получаем, что для расцепления оставшихся пар {S3, S4}, {S3, S5}, сцепленных вектором а, пар {Si, S2}, {Si, S4}, {S2, S5},
§5.6. Семантическое ослабление функциональной связности 449
{54, 5s}, сцепленных вектором Ь, и пар {5г, 5з), {5з, S4}, сцепленных вектором с, достаточно вектор а расширить переменной г* до а' = az+ и а" = az+, так как краска Кза отличается от красок .Kia, К?а этой переменной; аналогично вектор b нужно расширить переменной z% до b' = bzf, b" = bz^; вектор с расширить переменной z+ до d — cz +, с" = cz+.
С учетом проведенных расширений входных векторов первоначальная таблица переходов семантически эквивалентируется табл. 5.24, в которой около расширяемого вектора в круглых скоб-
Таблица 5.24
Внутренние состояния	sr	St	S3	St	St
St			*("-")	c	a
St					
St			□(—'). b		c
St		«(—")		TT	
St	«(—")			c	
ках указан способ расширения при вычислении каждой внутренней переменной (zi, Z2, Z3); при этом прочерк означает, что со-
ответствующая переменная вычисляется без учета расширения входного вектора, т. е. не зависит от других внутренних переменных.
Полученные коды разбивают все множество состояний согласно табл. 5.25.
Таблица 5.25
zt	0	1
zt	S3	Si, S2, S4, S5
zt	Si,Ss	Sa, S31S4
zt	S1,S2	S3, S4, Ss
Эти разбиения определяют таблицу смены состояний элементов памяти (табл. 5.26).	Таблица 5.26
	0	1	0	1	0	1
	I =	= 1	1 =	= 2	I =	= 3
zt =0	a Vb	c	a	bV c	b'	a V b" V c
zt = 1	b"	aVb'Vc	c'	aVbVc"	a"	a' V bV c
Табл. 5.26 задает функции возбуждения элементов памяти вида /1(Х, z+, z+) = Z? cVz+bz*,
/2(Х,	z+) = z + (bVc)V 4cz + ,
/3(X, z+, z+, z+) = z£(a V bz+ V с) V z£az+, для которых <p(G) = 4.
IS В. А. Горбатов
450
Гл. 5. Прикладная теория алгоритмов
Рассмотрим этот пример с учетом характера переходов, анализируя при этом возможность раскраски сцепленных состояний одной краской при их переходах под воздействием сцепляющего входного вектора в соцветные состояния.
Граф сцепления (табл. 5.22) содержит циклы нечетной длины
Cl = {{51, 5з}, {5з, S4}, {Si, S4}},
С2 = {{Si, 53), {S2, 53), {Si, S2}}, Сз = {{S2, S3}, {S3,S5}, {S2,S5}}, C4={{S3,S4}, {S4,S5}, {S3,S5}}.
Покрывая семантическую таблицу (табл. 5.27), отметим, что для получения первого разряда кодов внутренних состояний необ-
Таблица 5.27
Ci	Рз							
	{51, S3}	{s3.s,}	{Si, S,}	{Sj, S3}	{S1,S2}	{53,Ss}	{Sj, S5}	{S<,Ss}
Ci	1	1	1					
Сз	1			1	1			
Сз				1		1	1	
ct		1				1		1
ходимо расцепить внутренние состояния {Si, S3} и {S3, S5}. Перед тем как производить это расцепление путем расширения входных векторов, которыми эти состояния сцеплены, рассмотрим условия их соцветной окраски. Для того чтобы вершины {Si, S3} были соцветны, необходима соцветность вершин {S4, S5} и {S3, S5}:
fc(Si) = *(S3)	(*(S4) = fc(S5)) & (fc(S3) = *(S5)).
Состояния {S4, S5} сцеплены, следовательно, для того чтобы они были соцветны, необходима соцветность состояний {Si, S2} и {S3, S4}:
*	(S4) = fc(S5) <- (Ar(Si) = fc(S2)) & (*(S3) = *(S4)).
Состояния {Si, S2} сцеплены, следовательно, для их соцветности необходима соцветность состояний {S2, S3} и {S4, S5}:
*	(51) = *(S2) <- (ОД) = fc(S3)) & (*(S4) = ед)).
То же самое имеем и для вершин {S2, S3} и {S3, S4} соответ-
*	(S2) = *(S3) <- (*(S4) = fc(S5)) & (fc(S3) = *(S4)), fc(S3) = *(S4) 4- (fc(S4) = fc(S5)) & (fc(S2) = *(S3)).
§5.6. Семантическое ослабление функциональной связности 451
Аналогично, рассматривая остальные сцепленные пары внутренних состояний, получаем граф Gp (рис. 5.38, а), показываю-
щий условия соцветности сцепленных состояний. В этом графе каждая вершина взаимно однозначно соответствует паре сцепленных состояний, которая играет роль веса соответствующей вершины, дуги графа показывают условия соцветности сцепленных пар. Отношение соцветности обладает свойством транзитивности. Расширим сигнатуру этого графа добавле
нием транзитивно замыкаю-
щих дуг. Согласно свойству транзитивности полученный граф в дальнейшем будем называть графом расцепления. Условия, при
которых сцепленные вершины могут быть окрашены в один цвет,
определяются следующим утверждением.
Утверждение. Если вершина v(Si, Sj) графа расцепления соединена путем с полным подграфом, объединение весов вершин которого равно носителю графа сцепления, то для вершин Si, Sj не существует условия, при котором эти вершины соцветны.
В рассматриваемом случае ни одна пара сцепленных вершин не может быть соцветна, так как каждая вершина графа расцепления соединена путем с вершинами {из, щ, v5, v6}> которые после добавления транзитивно замыкающих дуг образуют полный подграф, объединение весов вершин которого равно носителю графа
сцепления.
Производим расцепление сцепленных состояний {Si, S3} и {S3, Sg} расширением входных векторов а и с. В результате заданная таблица переходов автомата эквивалентируется табл. 5.28.
Матрица смежности (см. табл. 5.22) преобразуется в матрицу смежности, представленную в табл. 5.29.
Таблица 5.28
Xt	Si	St	S3	s4	Ss
a		S4		St	
	S5				Si
a"			S3		
b	s3	St	S3	s4	S3
c		s4		s4	
~г~~	s<				s4
-т7-			Ss		
Таблица 5.29
	Si	St	S3	s4	S5
S1		a,b		a,b	
St	a,b		a,c		a,b
S3		a,c		a, c	
s4	a,b		atc		a,b
ss		a, b		a,b	
452
Гл. 5. Прикладная теория алгоритмов
После удаления ребер {Si, S3} и {S3, S5} хроматическое число графа сцепления равно 2:
Ko = {SbS3,S8}, Ki = {S2,S4}.
Соединяя соцветные вершины ребром, получаем граф сцепления для определения значений второго разряда кодов внутренних состояний. Граф сцепления для второго разряда представляет собой полный граф на пяти вершинах {Si, S2, S3, S4, S5}. Этот граф содержит запрещенные фигуры — циклы нечетной длины:
С1 = {{Si, S2}, {S2, S3}, {S3, S4}, {S4, S5}, {Si, S5}}, C2 = {{Si, S3}, {S3, S5}, {S2, S5}, {S2, S4}, {Si, S4}}, Сз ={{S1,S2},{S2,S3}, {S1,S3}}, c4 = {{S2, S3}, {S3, S4}, {S2, S4}}, c5 = {{S3, S4}, {S4, S5}, {S3, S5}}, C6 = {{Si, S4}, {Si, S5}, {S4, S5}}, c7 ={{S1,S2},{S1,S5}, {S2,S5}}, Сз = {{Si, S2}, {Si, S4}, {S2, S4}}, C9 = {{S2, S3}, {S2, S5}, {S3, S5}}, C10 = {{Si, S3}, {S1,S4}, {S3,S4}}, Cn = {{S2, S4}, {S2, S5}, {S4, S5}}, C12 = {{Si, S3}, {Si, s5}, {S3, S5}}.
Семантическая таблица — табл. 5.30.
Таблица 5.30
Pi	Ci	c2	c3	Cl	cs	Ce	C7	c3	c9	Сю	Cn	Ci2
{5i, S2}	1		1				1	1				0
{5i, S3}		1	1							1		1
{51,51}		1				1		1		1		
{Si, S5}	1					1	1					1
{S2,S3}	1		1	1					1			
{52,Si}		1		1				1			1	
{52,5s}		1					1		1		1	
{53,Si}	1			1	1					1		
{53, S5]		1			1 .				1			1
{Si, S5}	1				1	1					1	
Очевидно, что граф расцепления, соответствующий второму разряду, получается из графа расцепления первого разряда путем удаления вершин, взвешенных расцепленными состояниями, и инцидентных им дуг. После удаления вершин и v2 получаем,
§ 5.6. Семантическое ослабление функциональной связности 453 что ни одна пара сцепленных вершин не может быть соцветна. Поэтому расцепление пар {Si, S2}, {S2, S5}, {S3, S4}, вошедших в минимальное покрытие {{Si, S2}, {Si, S5}, {S2, S5}, {S3, S4}} табл. 5.30, производим расширением входных векторов а, Ь, с.
После удаления ребер {Si, S2}, {Si, S5}, {S2, S5}, {S3, S4}, вошедших в покрытие, раскрашиваем граф сцепления в две краски:
Ко = {Si, S2, S5}, Ki = {S3, S4}.
В результате расширения входных векторов таблица переходов (см. табл. 5.28) эквивалентируется табл. 5.31.
Таблица 5.31	Таблица 5.32
Xi	Si	S1	S3	Si	S3
а'	S3				Si
			S3		
а'"		Si		Si	
5			S3	Si	
	S3				S3
~1Г~		s2			
С		Si			
с'	Si				Si
~77~			S3		
“7”“				Si	
Внутренние состояния	S1	S2	S3	Si	s5
S1				ь	
S2			С		
S3		С			
Si	5				
S3				ь	
.Матрица смежности (см. табл. 5.29) преобразуется в матрицу смежности, представленную в табл. 5.32.
После двухкомпонентной раскраски вершины Si и S5 соцвет-ны — им соответствует краска 00. Соединяя эти вершины ребром, получаем, что граф сцепления, соответствующий третьему разряду кодов, представляет собой треугольник с носителем {Si, S4, S5} и двуугольник на вершинах {S2, S3}. Граф расцепления для этого разряда представлен на рис. 5.38,6 Согласно этому графу если вершины {S3, S4} соцветны, то вершины {Si, S4} или вершины {S4, S5}, {S2, S3} могут быть соцветны. Вершины {Si, S5} не могут быть соцветны из-за однозначной идентификации внутренних состояний кодами. Отсюда получаем две раскраски графа сцепления:
Ко = {Si, S3, S4}, Кг = {S2, S5}
Или
tf0={S2,S3, S4, S5}, Ki = {Si}.
Для определенности выбираем первую раскраску. Окончательно получаем следующие коды внутренних состояний:
Si — ООО, S2 — 101, S3 — 010, S4 — ПО, S5 — 001.
454
Гл. 5. Прикладная теория алгоритмов
После замены штрихов у входных векторов а, Ь, с соответствующим расширением этих векторов внутренними переменными получаем условия переходов элементов памяти, представленные в табл. 5.33.	m _ „„
Таблица 5.33
Z?	0	1	0	1	0	1
z/ =0	i = 1		i-2		i = 3	
	a VbV Vcz}	cz +	azfv Vbzf	az/'V Vbz/ V c	azj+z/ V bV Vcfz/z/V Vz+z+)	a(z+ ©z2+)V Vcz/z^
z+ = 1	—	a VbVc	az+v Vczf	azj+ V bV Vcz/	a V bz j+ V c	bz/
Функционал как и в предыдущем решении, равен 4.
§ 5.7. Решение проблемы повторной функциональной декомпозиции в булевой логике
В гл. 2 (§2.2) было введено понятие функциональной декомпозиции. Рассмотрим проблему синтеза функциональной декомпозиции для общего случая, когда переменные, соответствующие строкам и столбцам, в матрице Вейча пересекаются. Представим заданное булево пространство Р(Х) в виде декартова произведения Р(Ха) х Р(ХЬ) пространств Р(Ха), Р(ХЬ), {Ха} U {Хь) = {X}, {Ха} П {Хь) = 0.
Каждой точке пространства Р(Ха) взаимо однозначно сопоставим вершину va € Va графа Ga = (V^,0), а точке пространства Р(Хь) — вершину Vb G Уь графа Gb = (Рь> 0). Тогда граф
G = (VoUVb,tZ1,t70), G = Ga + Gb,
определит исходное пространство Р(Х). При этом если булева функция /(X) в этом пространстве принимает единичное значение в точке Х{, то вершины va< € Va и иь( G Vb, соответствующие этой точке, соединены неинверсным ребром {vaj, 1>ь,} € Ui; если /(X) принимает нулевое значение, то вершины иа, и иь, соединены инверсным ребром {vai, иь,} € Uq; если же функция /(X) в точке X,- = Xa, Хь, (вектор Xi есть результат конкатенации векторов Ха, и Хь,) не определена, то {vai, иь,} £ Ui, Uq. Полученный граф К(f) является графом Кёнига и имеет два сорта ребер: неинверсные и инверсные. Очевидно, что каждая вершина va, 6 Va взаимно однозначно соответствует остаточной булевой функции /(<тв1,	Хь), а вершина иь{ G Vb — остаточной функции
/(Хд, <ть(*+1), стЬ(*+2) > • • •> стьп) в разложении Шеннона по строчным
§ 5.7. Решение проблемы повторной декомпозиции
455
и столбцевым переменным соответственно:
/(Xa,Xb)=V &. ^./(Е5,Хь), ^^aaiaai...aak,
f (-^a, %b) = yY & xi' "f(Xa, Sj), Sj О	• • •%>•
Рассмотрим, например, булеву функцию
f(x. х. хЛ-Р на 0,1,4,17,18,26,30, Л*1, *2, •••,*51 - |0 на 2,3,11,19,29.
В качестве Ха выберем переменные Х1, х2; в качестве Хь — переменные хз, х4, Х5. Тогда граф Кёнига K(f), определяющий эту функцию, имеет вид, представленный на рис. 5.39, а. При этом
01234567	0	1	2	3
0	1	2	3	0	1	2	3
{0,1,4,5} {2. 6}	{3}
а	б
Рис. 5.39
вершине верхнего яруса, которая взвешена вектором Ха = 0, соответствует остаточная функция вида
/(0, х3, х4, х5) = |0 на 2’з’
вершине нижнего яруса, взвешенной вектором 2, соответствует остаточная функция
zz	Г1 ня 2, 3,
f(xi, х2, 2) - |0 на 0
Очевидно, что поиск декомпозиции функции f(xi, х2, ...,2:5) можно свести к нахождению склеивания вершин внутри яруса, при котором не образуется цикл длины 2, состоящий из инверсного и неинверсного ребер. В данном случае в нижнем ярусе склеиваются вершины {0, 1, 4, 5} и {3, 6} (рис. 5.39,6).
Закодировав полученные множества {0, 1, 4, 5), {3, 6} и {2} в пространстве P(<pi, <р2) значениями 0, 1 и 2 соответственно, получаем декомпозицию исходной функции /(xi, х2, ..., х5) в виде
/(Ж1, х2, ..., х5) = F(xlf х2, <Р1(х3, х4, х5), <р2(х3, х4, Хз)),
456
Гл. 5. Прикладная теория алгоритмов
ч Г1 на 0, 8, 10, 13, 14,
F(ii, х2, <pi, <р2) - |0 на 2, 5, 9, 12,
,	ч (1 на 2,
х4, х5) - на 0) 3, 4) 5) 6)
,	ч (1 на 3, 6,
^2(1з> хь х5) - у о на О, 1, 2, 4, 5.
Для поиска объективных причин, определяющих декомпозицию булевых функций в общем случае, предложим теоретико-графовую интерпретацию этой задачи.
Для построения декомпозиции функции f(X) определим понятие графа противоречивости.
Строчным графом противоречивости Gnp(Xa) = (К, ЛР), называется граф, каждая вершина и, которого взаимно однозначно соответствует вектору Xai:
{Xa.J^K, tfnpCK2,
{v.a, v.>} е ипр » (3Xb.)(f(xia, xb]) * f{xip, ХЬ})).
Столбцевым графом противоречивости Gnp(Xj) = (Рь, J7np) называется граф, каждая вершина Vj которого взаимно однозначно соответствует вектору Xbj:
{Xbj}^Vb, unpcvb,
v»} е tfnp <-> (3XOj)(/(xOj, xja) / f(xai, x,-,)).
Названия графов противоречивости <7пр(Ха) и <7пр(Хь) соответственно «строчной» и «столбцевой» указывают на возможность задания графа Кёнига K(f) = (Va U Vb-, Ui, Uq), определяющего булеву функцию /(^i, x2, • •., zn)> в виде соответствующей двумерной таблицы Вейча, в которой каждая строка (столбец) задает соответствующую остаточную функцию в разложении Шеннона.
Теорема 5.7 (А.В.Горбатов). Булева функция f(X) декомпозируема в виде F(<pi(Xa), ¥’2(^’0), •. .,<pk(Xa), Хь) тогда и только тогда, когда ближайшее большее целое двоичного логарифма хроматического числа Л(бгпр(Ха)) графа противоречивости Gnp(Xa) — {Va, Unp) меньше |ЛГв|:
/(X) = F(^i(Xo), ^(Xa), ..,^(Xa), ХЬ) О
^[log2A(Gnp(Xa))]<|Xa|, (5.3)
где k — [log2 ft(Gnp(Xa))], [ ] — знак ближайшего большого целого.
§5.7. Решение проблемы повторной декомпозиции
457
Рассмотрим функцию
.	/1 на 1,4,9,11, 13,14,17,19,20,28,
у(zi, х2, ..., х5) - 0 на 0) б) 12) 15) 1б) 18) 22) 23) 24) 2б) 29
Граф Кёнига, соответствующий разложению заданного пространства
Р(Х1, х2, ..., х5) = P(xi, Х2, Х3) X Р(х4, х5),
имеет вид, представленный на рис. 5.40.
Построим граф противоречивости для строчных остаточных
функций Gnp(Xa) (рис. 5.41, а); при его построении учитываем,
Рис. 5.41
что две вершины, v,(Xaj) и Vj(Xa>), {v,(Xai), Vj(XaJ} е Unp, смежны, если найдется вершина vt(Xj) другого яруса, которая соединена с вершиной v,(Xai) неинверсным ребром, а с вершиной Vy(Xa.) — инверсным (рис. 5.41,6). Граф бгпр(Ха) содержит квазиполный подграф Q(3, 0):
V(Q(3, 0)) = {1, 3, 4}.
Согласно характеризационному анализу минимальное число красок равно трем:
a = {0,2, 4, 6), Ь = {1,5,7}, с={3}.
Теорема 5.7 справедлива. После кодирования красок с помощью символов (а — 00, b — 01, с — 10) получаем декомпозицию заданной функции /(а?1, х2, .. .,х$) вида
/(«1, х2, ...,х5) = F(</?i(xi, х2, х3), <р2(Х!, х2, хз), х4, х5),
х2, х3) i = V(3),
<p2(xi, х2, Хз) = У(1, 5, 7).
Функция <f>2, х4, is) , определяется матрицей Вейча (табл. 5.34), полученной в результате соответствующего раскраске-
458
Гл. 5. Прикладная теория алгоритмов
склеиванию строк матрицы Вейча, определяемой по выбранному
Таблица 5.34	________________Таблица 5.35
X1X2X3	ЦХ5			
	0	1	2	3
0	0	1		
1	1		0	
2		1		1
3	0	1	1	0
4	0	1	0	1
5	1		0	0
6	0		0	
7	1	0		
¥>1¥>2	Z4Z5			
	0	1	2	3
0	0	1	0	1
1	1	0	0	
2	0	1	1	0
3				
разложению пространства P(xi, х2, •••, Х5) (табл. 5.35):
„z	vf 1 на 1,3, 4, 9, 10,
F(<pi, <р2, х4, х5) - | 0 на 0; 2, 5) б, 8, п
В дальнейшем функции y>i, <р2 будем называть внутренними, а функцию F — внешней; множества переменных, вошедших в различные сомножители при разложении заданного пространства, назовем взаимно дополняющими до полного множества.
В рассматриваемом случае множества Ха = {xj, х2, хз} и Хь = = {х4, Х5} являются взаимно дополняющими друг друга до полного множества X = {xi, х2,..., Х5}.
Очевидно, что условия декомпозируемости по столбцевым переменным будут аналогичными (5.3).
Булева функция f(X) декомпозируема в виде
f(X) = F(Xa, т(Хь), т/2(Хь), ...,т/,(Хь))
тогда и только тогда, когда [log2h(G
пр (Хь))] < |Хь|:
f(X) = F(Xa, т/i(Хь), т^(Хь), .., т/,(Хь)) н-
н- [log2h(Gnp(Xb))] <|Хь|, (5.4)
где s = [log2 /г(Спр(Хь))].
Рассмотрим булеву функцию
,,	v Г1 на 0, 4, 12, 16, 17, 19, 21, 26, 30,
f (xi, х2, ..., х5) - 0 на 1; 3 5; 6; 9 10; 23, 24, 28, 31.
Представим исходное пространство P(xlt х2, ...,Х5) в виде декартова произведения пространств Р(Ха) х Р(Хь), где Ха = {xi, х2}, Хь = {хз, х4, Х5}. Тогда получим граф Кёнига и матрицу
§ 5,7. Решение проблемы повторной декомпозиции
459
Вейча соответственно в виде рис. 5.42, а и табл. 5.36.
Таблица 5.36
XI хз	Х3Х4Х3							
	0	1	2	3	4	5	6	7
0	1	0		0	1	0	0	
1		0	0		1			
2	1	1		1		1		0
3	0		1		0		1	0
Таблица 5.37
Х1Х2	*71%			
	0	1	2	3
0	1	0		
1	1	0		
2	1	1	0	
3	0	1	0	
Минимальная раскраска графа противоречивости Gnp(Xb) (рис. 5.42, б) а = {0, 4}, b = {1, 2, 3, 5, 6}, с = 7 определяет соответствующее склеивание столбцов (табл. 5.37); при этом коды красок имеют следующие значения:
а —00, Ь — 01, с—10.
Утверждение (5.4) справедливо. Получаем декомпозицию вида f(Xl, х2, ..., х5) = F(xi, х2, т?1(х3, х4, х5), т]2(х3, х4, х5)), где
771(2:3, х4, ®5)| = V(7),
772(2:3, х4, Xs)^ = У(1, 2, 3, 5, 6).
Внешняя функция F(xi, х2, rji, т/2) определяется матрицей Вейча (см. табл. 5.37)
F(xa хч пл ть) — 11 на 0, 4, 8, 9, 13, Х2’ 7/11 W “ {о на 1, 5, 10, 12, 14.
Теорема 5.8 (А.В.Горбатов). Булева функция /(X) декомпозируема в виде f(X) = FfatXalwIXJ,.. .,^(Xa),J7i(Xj), 772(Хь), ..., г)3(Хь)) тогда и только тогда, когда
([log2 Л(Спр(Хо))] < |Xa|)&([log2 Л(С7пр(Хь))] < |ХЬ|) :
460
Гл. 5. Прикладная теория алгоритмов
f(X) = F(^1(X), <Р2(Х),. •<Pk(Xa), гц(Хь),П2(Хь),...
о ([log2ft(Gnp(Xe))] < |Ха|)& &([log2/i(Gnp(Xb))] <|ХЬ|) (5.5) при совместной раскраске графов Gnp(Xa) и Gnp(Xb)] при этом vanvb = 0.
Рассмотрим булеву функцию
на 0,4,12,16,17,19,21,24,26,28,30, Дхь х2, ...» х5)-|0 на 1,3,5,6,9,10,23,31.
Представление исходного пространства P(xi, х2, ...,Xg) выберем в виде
Р(х!, Х2, . . ., Х5) = Р(хъ Х2) X Р(х3, ®4, Х5).
Таблица Вейча, соответствующая этому разбиению, имеет вид табл. 5.38.
Таблица 5.38
Г1Г2	> ХЗХ4Г5							
	0	1	2	3	4	5	6	7
0	1	0		0	1	0	0	
1		0	0		1			
2	1	1		1		1		0
3	1		1		1		1	0
Граф противоречивости Gnp(Xb) = ({0,1,2,..., 7}, (7Пр)> соответствующий табл. 5.38, представлен на рис. 5.43, a; Gnp(Xb) 3
а	б
Рис. 5.43
D Q(3, 0), следовательно, h(Gnp(Xb)) = 3:
а = {0,4}, Ь = {1, 2, 3, 5, 6}, с={7}, а, 6, с — краски.
Кодируем краски: а — 00, Ь — 01, с — 10, и соответственно раскраске склеиваем столбцы в табл. 5.38; получаем табл. 5.39.
§5.7. Решение проблемы повторной декомпозиции 461
Внутренние функции 2:4, arg), 772(23, 14, 15) имеют соответственно вид
*71(®3, 24, 25)| = V(7),
*72(23, 24, 25)^ = V(l, 2, 3, 5, 6).
Для склеивания строк строим граф противоречивости Gnp(Xi) (рис. 5.43, б); анализируя табл. 5.39, получаем
h(Gnp(Xa)) = 2, а = {0,1}, Ъ ={2,3}.
Склеиваем строки в табл. 5.39 согласно раскраске графа
Gnp(A'a); получаем матрицу Вейча (табл. 5.40), определяющую
Таблица 5.40
Таблица 5.39
Х1Х2	П1772			
	0	1	2	3
0	1	0		
1	1	0		
2	1	1	0	
3	1	1	0	
Ч>1	П1Т72			
	0	1	2	3
0	1	0		
1	1	1	0	
внешнюю функцию F(q>i, 771, 772); при этом краска а кодируется символом 0, краска b — символом 1. Получаем
¥>1(21, 22)^ = V(2, 3), F(¥>i, т/i, 772) = { J на1^б’5’
Теорема 5.7 справедлива; получаем декомпозицию вида
/(«1, 22, ...,25) = F(<pi(x!, I2), »71(Z3, 24, 25), 772(23, 24, 25)).
Утверждения (5.3)-(5.5) являются теоретико-графовым развитием теоремы Шеннона о разложении булевой функции по заданным переменным и определяют построение бесповторной декомпозиции (случай, когда Va Г) Vb = 0; на практике же этому ограничению, как правило, булевы функции не удовлетворяют).
Предложим характеризационный подход, позволивший впервые решить проблему, поставленную К. Шенноном в 1936г. — проблему синтеза оптимальных повторных декомпозиций системы булевых функций заданной размерности. Подход основан на сведении поиска декомпозиции к раскраске введенных графов противоречивости заданным числом красок.
Согласно характеризационному анализу запрещенными фигурами раскраски графа G в q красок является квазиполный граф квазиплотности q + 1. Отсюда нетрудно доказать теорему 5.9.
462
Гл. 5. Прикладная теория алгоритмов
Теорема 5.9. Запрещенными фигурами бесповторной декомпозиции булевой функции f(xi, х2, ..., хп) являются квазиполные графы Qa(qi), Qa(qi) С Gn₽(Xi), u Qb(qj), Qb(qj) C C Gnp(X(>)) для которых
[l°g2 9<(Qa)] + [log2 9j(Qb)] = n	(5.6)
при совместной раскраске соответствующих графов противоречивости.
Рассмотрим булеву функцию
f(xt хг,	на 0, 5, 7, 9, 10, 14, 20, 21, 25, 27,
Х2' • • •’ Х5> ~ 10 на 1, 4, 8, 11, 12, 13, 22, 31
и разложение пространства P(xi, х2, ...,15) в виде P(xi, х2, ... ..., х5) = P(xi,x2, хз) х Р(х4, х5). Граф Кёнига, соответствующий этому разложению, имеет вид, представленный на рис. 5.44, а.
Строчный граф противоречивости Gnp(Xa) (рис. 5.44, б) имеет хроматическое число, равное 5, так как вершины, соответствующие точкам пространства 0, 1, 2, 3, 5, образуют носитель пол-
а	б	в
Рис. 5.44
ного подграфа плотности 5, а столбцевой граф противоречивости Gnp(-Xb) — хроматическое число, равное 4 (рис. 5.44, в). Следовательно,
[log2 5] + [log2 4] = 5,
и согласно утверждению (5.6) рассматриваемая функция не имеет бесповторной декомпозиции.
Предложим стратегию построения повторных декомпозиций, т. е. когда VaQVb 0. Стратегия основана на редукции хроматических чисел графов противоречивости Gnp(A'a), Qnp(A'b) с целью выполнения соотношения
[log2 9.(Qa)] + [log2 (Qb)] < n.	(5.7)
Это неравенство осуществляется при сужении сигнатуры графов противоречивости, которое в свою очередь осуществляется на основе расширения носителя графа противоречивости сопряженного
§5.7. Решение проблемы повторной декомпозиции 463
подпространства за счет увеличения его размерности. Увеличение размерности осуществляется с помощью «заема» переменных из другого сопряженного пространства. Продолжим рассмотрение примера. Синтезируем повторную декомпозицию, и в конце параграфа оформим эту стратегию в виде соответствующих процедур.
Для выполнения соотношения (5.7) понизим хроматическое число h(Gnp(Xa)) удалением одного из ребер полного подграфа с носителем {0, 1, 2, 3, 5} (рис. 5.45, а). Каждое ребро на этом
а	б
Рис. 5.45
подграфе взвешено векторами сопряженного пространства Р(Хъ), которыми соответствующие точки рассматриваемого пространства Р(Ха) сцеплены. Очевидно, что при оптимальном решении необходимо удалить ребро с минимальным по мощности весом. Для определенности удаляем ребро {1, 5}, расщепляя сцепляющий их вектор 0 в сопряженном пространстве Р(Хь) (рис. 5.45, б) на О' и О". Вектор 0' есть результат конкатенации О и xi (О' = Ozi), а вектор 0" — результат конкатенации,0 и (0" = Ожх). Векторы 1 и 5 в подпространстве Р(Ха) отличаются переменной xi: 1— а^г^З) 5 — г1®2®з- Следовательно, инверсное ребро {1, 0} в графе Кёнига (см. рис. 5.44, а) после расщепления преобразуется в инверсное ребро {1, 0'}, ребро {5, 0}— в ребро {5, 0"} (см. рис. 5.45, б). Такое удаление
реализуется расщеплением ребра {1, 5} в графе Gnp(A'a). Размерность пространства Р(Хь) увеличилась на единицу: Р(х4, ®s) -> -» P(xi, Х4, Х5). Хроматическое число /i(Gnp(Xa)) уменьшилось на единицу (рис. 5.46): а = {0, 4}, b = {2, 7}, с = {3}, d = = {1, 5, 6} (a, b, с, d — краски), и соотношение (5.7) стало выполняться:
[log2 4] + [log2 4] < 5.
Рассмотрим функциональную декомпозицию в подпространстве Р(Хь), Хъ — {xi, Х4, а:5}. Столбцевой граф противоречивости
61
CJ3
5&
4@
Рис. 5.46
>2
464
Гл. 5. Прикладная теория алгоритмов
GnP(-X^b) имеет вид, представленный на рис. 5.47, а. Уменьшаем хроматическое число h(Gnp(Xb)) ДО 2. Запрещенными фигурами
Рис. 5.47
являются циклы нечетной длины:
{Q,} = {{О', 1, 3}, {О7, 1, 2}, {О', 2, 3}, {1, 2, 3}}.
Строим семантическую таблицу (табл. 5.41).
Таблица 5.41
0,1,2,3,5 € Р(Ха)	О', 1,2,3 € Р(Хь)					
	{О', 1}	{О', 2}	{О',3}	{1,2}	{1,3}	{2,3}
{О', 1,3}	1		1		1	
{О', 1,2}	1	1		1		
{О', 2,3}		1	1			1
{1,2,3}				1	1	1
Х<		1	1	1	1	
XS	1		1	1		1
0	1					
1	1		1			
2	1	1			1	1
3		1		1		
5				1		
Первая лодтаблица показывает распределение ребер графа Gnp(-Xb) п0 запрещенным фигурам. Покрытие строк столбцами по-
§5.7. Решение проблемы повторной декомпозиции
465
называет, какие ребра необходимо удалить. Имеем три покрытия:
*1 = {{О', 1}, {2, 3}}, ^2= {{О', 2}, {1,3}}, = {{О', з}, {1,2}}.
Вторая подтаблица показывает, какими переменными отличаются точки пространства Р(Хь), образующие ребро в графе Gnp(ATb), взвешенное сцепляющими векторами Ха (третья подтаблица). Покрытие столбцов, составляющих покрытие первой подтаблицы, строками второй подтаблицы состоит из переменных, с помощью которых расщепляются точки пространства Р(Ха), соответствующие векторы которых сцепляют векторы пространства Р(Хь). В рассматриваемом случае пространство Р(Ха), Ха = = Х1Х2Х3, расширяется:
—	для первого покрытия jtj — переменной х5, с помощью которой расщепляются точки 0, 1, 2 пространства Р(Ха)\
—	для второго покрытия JT2 — переменной Х4, с помощью которой расщепляются точки 2, 3 € Р(АГа);
—	для третьего покрытия лз — одной из переменной z4 или х5, которой расщепляются точки 1, 3, 5 € Р(Ха).
Выбираем покрытие тг2 как оптимальное, так как при этом расщепляется минимальное количество точек пространства Р(Ха) (рис. 5.47, б, в, г). В результате размерность пространства Р(АГа), Ха = {®i, i2) х3}, увеличилась на 1:
Р(Ха) -> Р(Х'а), Х; = {х1,х2, х3,х4},
размерность пространства Р(Хь}, Хь = {х4, х3}, — также на 1:
р(Хь)->рт, ^ = {г1,х4,15}.
Пространству Р(Х'а) соответствует граф противоречивости Gnp(Xi) (рис. 5.48, а), пространству F(A^) — граф Gnp(Xb)
1
Ь = {1,2',5,6}
2; 3", 7}	с={з')
St ©	j2) *₽i*₽2

0
a = {0,
ЧУ *3 a={0',2} ₽={0",l,3}
5(bT
a
Рис. 5.48
6
466
Гл. 5. Прикладная теория алгоритмов
(рис. 5.47, в), хроматические числа которых равны h(Gnp(X'a)) = = 3, ft(G„p(X0) = 2.
Соотношение (5.7) справедливо:
[log2 4Gnp(*a))] + [log2GnP(*fc)] < 5, следовательно, функциональная декомпозиция существует. Для ее построения раскрашиваем вершины графа GnpfX'):
а = {0, 2", 3", 7), i^{l, 2',5, 6}, с={3'}, и вершины графа Gnp(X'b):
а' = {0',2}, Д = {0", 1, 3}.
Кодируем краски: а — 01, о — 10, с — 11, используя функциональные символы и при кодировании а — 0, Д — 1 — символ <рз. Склеивая соцветные вершины, получаем внешнюю функцию F(<pi, у>2> ¥>з) (рис. 5.48, б). В результате получим функциональную декомпозицию вида f(xi, х2, ...,х5) =
= F(<pi(a;1, х2, х3, г4), ^2(xi, х2, х3, ®4), <p3(®i,	zs)),
^1(2:1,22,2:3,2:4) - |0 на о, 2", 3", 7,
(	,	/1 на 0, 2", 3', 3", 7,
^(И, ?2, ХЗ, 2:4) - | (j на 2Z) 5) б)
/	,	/1 на 0", 1, 3,
^(zi,34,2:5) - |0 на ()/, 2) ^(¥>1, ¥>2, ¥>з) = { о на 3, t 6, 7.
Таблица 5.42
Г1Х2ХЗХ4	Xj Х4 Xi				
	ООО	100	-01	-10	-11
ООО-	1		0		
001-	0		1		1
0100	0		1		
0101				1	0
оно	0		0		
0111				1	
100-					
101-		1	1	0	
по-			1		1
111-					0
Матрица Вейча, соответствующая этой декомпозиции, имеет вид табл. 5.42.
§5.8. Синтез функциональной декомпозиции в k-значной логике 467
§ 5.8. Синтез функциональной декомпозиции в к-значной логике
Обобщим найденные критерии функциональной декомпозиции на случай fc-значной логики.
Теорема 5.10. Функция k-значной логики f(X) декомпозируема в виде
у>2(Хв),..., <ра(Ха), ХЬ)
тогда и только тогда, когда
logfcft(Gnp(Xe))]< |Хв|, ХвиХь = Х, ХаГ)Хь = 0; (5.8) [ — знак ближайшего целого числа; Gnp(Xa) — граф противоречивости, соответствующий пространству Р(Ха), Р(Х) = = Р(Ха) х Р(ХЬ}.
Теорема 5.11 (А.В. Горбатов). Функция k-значной логики f(X) декомпозируема в виде
F(<M ?2(Ха),...,<р,(Ха), тц(Хь), ^(Хь), ...,^(Хь)) тогда и только тогда, когда
([logfcЛ(Спр(Хв))] < |Х|)&([logfch(Gnp(Xb))] < |ХЬ|) (5.9) при совместной раскраске строчного графа противоречивости G„o(Xa) и столбцевого графа противоречивости Gnp(Xb), XaU Ль — X, Ха(~]Хь = 0, при представлении пространства F(X) в виде Р(Ха) х Р(ХЬ).
Теорема 5.12 (А.В. Горбатов). Функция k-значной логики f(X) декомпозируема в виде
F(y>i(X.), ч>2(Ха), ...,<ра(Ха), т(Хь), г]2(Хь), ..,ъ(*ь)), XaUXb = X, ХаГ\Хь^0, тогда и только тогда, когда после редукции хроматических чисел Л(<7пр(Х)) « h(Gnp(Xb))
[logfc g(Q«)] + [logjt g(Qfe)] <|X|,	(5.10)
где q(Qa) — квазиплотность редуцированного строчного графа противоречивости Gnp(Aa); q(Qb) — квазиплотность редуцированного столбцевого графа противоречивости Gnp(Xb).
Рассмотрим функцию трехзначной логики
'2 на 0,2,3,23,38,43,67,68, < 1 на 10,27,29,35,50,53,57,60,61,79, 0 на 4,8,21,33,45,51,78,80.
f(xl, х2, х3, xi) —
Представим исходное пространство Р(Х) в виде произведения двух сопряженных подпространств Р(Ха), Р(ХЬ), Р(Х) = = Р(Ха) х Р(ХЬ), Ха = {xi, х2}, Хь = {х3, xi}; тогда матрица Вейча имеет вид табл. 5.43.
468
Гл. 5. Прикладная теория алгоритмов
Таблица 5.43
Z1X2	X3X4								
	00	01	02	10	11	12	20	21	22
00	2		2	2	0				0
01		1							
02				0		2			
10	1		1				0		1
11			2					2	
12	0					1	0		1
20				1			1	1	
21					2				
22							0	1	0
Таблица Вейча (табл. 5.43) определяет граф Кёнига (рис. 5.49), и строчный граф противоречивости Спр(АГа) (рис. 5.50), ребра
О
Рис. 5.49	Рис. 5.50
которого взвешены сцепляющими векторами сопряженного пространства Р(Хь)-
Размерность пространства Р(Ха) равна 2: r(P(Xa)) = 2. Следовательно, чтобы по переменным Xi, х2 существовала декомпозиция, необходимо и достаточно, чтобы хроматическое число h(Gnp(Xa)) было равно 3; тогда одним троичным символом можно
Q.	{Х.4, XaJ € P(Xa)								
	{0,2}	{0,3}	{0,5}	{0,6}	{0,7}	{2,5}	{2,6}	{3,4}	{3,5}
<21	1		1	1		1	1		
«2		1	1	1					1
«3									1
Qa								1	
Qs	1	1	1			1	1		1
Qe	1		1	1		1	1	1	1
§ 5.8. Синтез функциональной декомпозиции в k-значной логике 469
закодировать краски вершин графа Gnp(Xa)'- Зг(р(х°)) Отсюда, запрещенными фигурами при поиске этой декомпозиции будут
Рис. 5.51
квазиполные графы квазиплотности 4: Q(4). Граф Gnp(ATa) содержит шесть квазиполных подграфов квазиплотности 4
Qi(4, 0) =	{{0,	2},	{0,	5}, {0,	6}, {2,	5},	{2,	6},	{5, 6}},
Q2(4, 0) =	{{0,	3},	{0,	5}, {0,	6}, {3,	5},	{3,	6},	{5, 6}},
Q3(4, 0) =	{{3,	5},	{3,	6}, {3,	8}, {5,	6},	{5,	8},	{6, 8}},
Q4(4, 0) =	{{3,	4},	{3,	6}, {3,	8}, {4,	6},	{4,	8},	{6, 8}},
Q5(3, 1) = {{о, 2}, {0, 3}, {0, 5}, {2, 5}, {2, 6}, {3, 5},
{3,8}, {5, 6}, {5, 8}, {6, 8}},
Qe(3, 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
{*□,, Xaj} € Р(ха)								
{3,6}	{3,8}	{4,6}	{4,8}	{5,6}	{5,7}	{5,8}	{6,8}	{7,8}
				1				
1				1				
1	1			1		1	1	
1	1	1	1				1	
	1			. 1		1	1	
	1	1	1				1	
470
Гл. 5. Прикладная теория алгоритмов
Минимальным покрытием строк столбцами является {{0, 5}, {3, 6}}; после соответствующего сужения сигнатуры графа противоречивости Gnp(A'a) его минимальная раскраска имеет вид a = {0,4, 5}, Ь = {1, 2, 8}, с = {3, 6, 7}.
Склеивая соцветные вершины графа Gnp(Xa) и расширяя сопряженное пространство Р(Хь) до пространства Р(Х'Ь), Х'ь = {xj, хз, Х4}, штриховкой векторов 0, 6, 8 € Р(Хь), которыми сцеплены удаленные из графа Gnp(Xa) ребра, получаем граф Кёнига (рис. 5.52). Верхний ярус графа Кёнига соответствует введенной
функции </?i(xi, Х2), полученной после кодирования красок а, Ь, с графа Gnp(Xa) значениями соответственно 0, 1,2:
'0 на 0, 4, 5, < 1 на 1, 2, 8, 2 на 3, 6, 7.
¥>1(Х!, х2) =
Строим граф противоречивости <7пр(Аь) для вершин нижней доли графа Кёнига (рис. 5.52). Этот граф имеет вид, представленный на рис. 5.53. Редуцируем хроматическое число h(G„p(Xb)) до 3, чтобы
б'
Рис. 5.53
согласно (5.10) можно было синтезировать внутреннюю функцию искомой декомпозиции в пространстве Р(А7). Запрещенными фигурами при этом поиске будут квазиполные графы квазиплотности 4.
Читателю предлагается найти эти подграфы и на основе распределения ребер в них определить оптимальное сужение сигнатуры графа
§ 5.8. Синтез функциональной декомпозиции в k-значной логике 471
Gnp(X'b). Одним из таких сужений будет удаление семи ребер: {4,6'}, {О", 5}, {О", 7}, {О",8"}, {1, 5}, {5,7}, {7,8"}
(рис. 5.54), в результате чего хроматическое число ^((тпррф)
|*1|ХЗ|Х4|
а = {4, б', 8'}
4—11
6—20
-х3,х4
5 = {О', 2,3, б’, 8”}-	0
О” 5
с = {О’, 1, 5, 7, 8"} - О-^-О
0’-100 5--12
-Х3.*4
Рис. 5.54
О’-1ОО 7--21
-х3.*4
О’-ЮО 8’-122
-х3, х4
1 —-01 5—12
5—12 7—21
*х3,х4
7—21 8’-122
-»3.*4
становится равным 3 (рис. 5.55):
а = {4, 6', 8'}, b = {О', 2, 3, 6", 8'"}, с = {О", 1, 5, 7, 8"}.
При удалении ребер необходимо учитывать, что нельзя удалять ребро, вершины которого взвешены одним и тем же вектором
рассматриваемого пространства, например, в нашем случае ребро {8', 8'3 (см. рис. 5.53), так как векторы 8', 8" € Р(Х'ь) не отличаются переменными подпространства Р(Х'Ь), и, следовательно, штриховка сцепляющего их вектора 0 (0 €
Рис. 5.55
€ Р(<Р1)) физически не реализуема: отсутствуют переменные подпространства Р(Х^), которыми отличаются векторы 8' и 8" и которые могли быть «делегированы» в сопряженное подпространство для штриховки сцепляющего их вектора.
472
Гл. 5. Прикладная теория алгоритмов
В рассматриваемом случае (см. рис. 5.54) для соцветности вершин 4, 6', 8' необходимо было удалить ребро {4, 6'}) для чего расширить сопряженное подпространство до P(<f>i, хз) или Р(<^1, х4) переменной хз или х4, которыми отличаются векторы 4 и 6'. Вершины О', 2, 3, 6", 8'" образуют пустой подграф, и удаления ребер не требуется. Для соцветности вершин 0 ", 1, 5, 7, 8" необходимо удалить шесть ребер При этом векторы, соответствующие вершинам ребер {0", 5}, (0", 7}, {0", 8"}, {1, 5}, {5, 7} отличаются как переменной хз, так и х4. Векторы, соответствующие ребру {7, 8"}, отличаются переменной х4. Следовательно, при расширении переменной х4 сопряженного подпространства P(<Pi) ~xi) реализуема штриховка всех векторов подпространства P(<pi), порождающих семь удаляемых ребер в пространстве Р(Х'Ь). Склеиваем соцветные вершины, окрашенные красками а, Ь, с (рис. 5.56); кодируем эти краски соответственно как
Рис! 5.56
О, 1, 2. В результате полученный граф Кёнига определяет внешнюю функцию F(y>i, х4, <£2) искомой декомпозиции:
/(®1, ®2, хз, х4) = F(y>i(xi, х2), х4, <р2(х!, хз, х4)).
Здесь функция трехзначной логики от четырех переменных представлена в виде оптимальной повторной декомпозиции одной функции <pi от двух переменных и двух функций и F от трех переменных. Вид функции <pi был представлен выше.
Функция <p2(xi, х2, х3) имеет вид (см. рис. 5.52)
(О на -11,120,022,
1 на ООО, -02, -10, 220, 222,
2 на 100, -01, -12, -21, 122.
Функция х4, <р2) имеет вид (рис. 5.56)
(0 на 000, 002, 010, 020, 101, 121, 200,
1 на 022, 112, 201, 202, 211, 212, 221, 222,
2 на 001, 011, 012, 021, 122, 210.
§5.9. Синтез функциональной декомпозиции
473
Таким образом, стратегия синтеза оптимальной функциональной декомпозиции в fc-значной логике заключается в выполнении следующих этапов:
— разбиение исходного пространства Р(Х) на два сопряженных, Р(Ха\ и Р{ХЬ}\ Р(Ха) х Р(ХЬ} = Р(Х), Ха О Хь = 0, Ха U Хь = X;
— построение графа противоречивости Gnp(Xa), его раскраска и, если это необходимо для выполнения соотношения (5.8), осуществление редукции его хроматического числа путем расширения подпространства Р(Хъ) до Р(Х'Ь), Х'ь = ХъУ ДХа;
— склеивание соцветных вершин графа Gnp(Xa), кодирование красок и построение соответствующих внутренних функций в подпространстве Р(Ха}\
— построение графа противоречивости Gnp(X^), его раскраска и, если это необходимо для выполнения соотношения (5.9), осуществление редукции его хроматического числа на основе расширения подпространства Р(Ф) до Р(Ф'), Ф* = ФД-Хб?
— склеивание соцветных вершин графа Gnp(Xj), кодирование красок и построение соответствующих внутренних функций в подпространстве Р(Х'^\
— при необходимости дальнейшая декомпозиция полученных внутренних функций на основе этой стратегии и в результате построение внешней функции F искомой декомпозиции.
§5.9. Синтез функциональной декомпозиции заданной размерности
Многие практические задачи сводятся к синтезу функциональной декомпозиции булевой функции, в которой полученные внутренние и внешняя функции имеют заданную размерность.
Рассмотрим синтез функциональной декомпозиции булевой функции /(xi, Х2, ..., хп) через функции от четырех переменных. Тогда в выражении (5.5) параметры к и з удовлетворяют неравенству к 4- s < 4. При этом возможны два случая: к = s = 2 и k(s) = 3, s(k) = 1.
В первом случае запрещенными фигурами построения декомпозиции булевой функции вида
/(X) = F(^(Xe), <p2(Xe), 77i(Xb), т?2(ХЬ)) являются квазиполные графы квазиплотности 5 Q(pi, к{) С С Gnp(Xa), Gnp(X(,) (р,- — плотность, fc, — порядок квазиплотного графа О):
Q(5,0), 0(4,1), 0(3,2), 0(2,3).
Минимальные ресурсы — вершинный, реберный, локальнотопологический (степени вершин графа), — определяющие запрещенные фигуры 0(5), приведены в табл. 5.45.
474
Гл. 5. Прикладная теория алгоритмов
Таблица 5.45
Тип запрещенной фигуры Q(t, j)	Плотность t	Порядок J	Минимальная структура Q(iJ)	Минимальное значение		
				Мощности		Степени вершины графа
				носителя	сигнатуры	
<2(5), квази- полные графы квазиплотности 5, i-f-J = 5	5	0	<2(5,0)	5	10	4
	4	1	<2(2,1)+ + <2(2,0)	7	16	4
	3	2	<2(2,2)+ + <2(1,0)	12	31	4
	2	3	<2(2,3)	23	71	4
Во втором/случае при k = 3, s = 1 запрещенными фигурами являются квазиполные графы квазиплотности 9:
0(9) = {0(9, 0), 0(8, 1), 0(7, 2), 0(6, 3), 0(5, 4),
0(4, 5), 0(3, 6), 0(2, 7)}, 0(9) С Gnp(Xe);
и квазиполные графы квазиплотности 3:
0(3) = {0(3,0), 0(2,1)}, 0(3) С Gnp(Xb).
При k — 1, s = 3 запрещенные фигуры 0(9) принадлежат графу Gnp(A'b): 0(9) С Gnp(Xb); а запрещенные фигуры 0(3) принадлежат Gnp(-Va): 0(3) С Gnp(Xa).
Минимальные ресурсы, при наличии которых возможно существование запрещенных фигур 0(9) и 0(3) в графах противоречивости Gnp(Xa) и Gnppfk), представлены в табл. 5.46 и табл. 5.47 соответственно.
Разбиваем исходное пространство Р(Х) на два подпространства, Р(Ха) и Р(ХЬ), так, что
Р(Х) = Р(Ха) х Р(ХЬ), ХаГ\Хь = 0,
|Хв| = [0,5|Х|], |ХЬ| = |Х|-[0,5|Хв|],
где |Х| = п.
Оцениваем каждое из С(п, [0,5п]) разбиений пространства Р(Х) суммой двоичных логарифмов верхних оценок хроматических чисел h(Gnp(Xi)), h(Gnp(Xj)):
R(P) = [log2 h (Gnp(X,))] + [log2 ft(Gnp(Xj))],	(5.12)
§5.9. Синтез функциональной декомпозиции
475
Таблица 5.46
Тип запрещенной фигуры	Плотность t	Порядок	Минимальная структура QUJ)	Минимальное значение		
				Мощности		Степени вершины графа
				носителя	сигнатуры	
<2(9), квази- полные графы квазиплотности 9, t-f-j = 9	9	0	<2(9,0)	9	36	8
	8	1	<2(2,1)+ + <2(6,0)	11	50	8
	7	2	<2(2,2)+ + <2(5,0)	16	85	8
			<2(2,1)+ +<2(2,1)+ +<2(з, о)	13	68	10
	6	3	<2(2,3)+ + <2(4,0)	27	169	8
			<2(2,2)+ +Q(2,1)+ +<2(2,0)	18	113	10
			<2(2,1)+ +<2(2,1)+ +<2(2,1)	15	90	12
	5	4	<2(2,4)+ + <2(3,0)	50	380	8
			<2(2, з)+ +<2(2,1)+ +<2(1, о)	29	507	10
			<2(2,2)+ +<2(2,2)+ +<2(1,0)	23	183	15
	4	5	<2(2,5)+ + <2(2,0)	97	946	8
			<2(2,4)+ + <2(2,1)	52	476	10
			(2(2,3)+ + <2(2,2)	34	344	15
	3	6	<2(2,6)+ + <2(1,0)	192	2551	8
	2	7	<2(2,7)	383	7271	8
476
Гл. 5. Прикладная теория алгоритмов
Таблица 5.47
Тип запрещенной фигуры	Плотность !	Порядок	Минимальная структура	Минимальное значение		
				Мощности		Степени вершины графа
				носителя	сигнатуры	
<2(3), квази- полные графы квазиплотности 3, i+j = 3	3	0	<2(з,о)	3	3	2
	2	1	<2(2,1)	5	5	2
где С(п, [0,5п]) — число сочетаний из п по [0,5n]; G(X,) — строчный граф противоречивости; G(Xj) — столбцевой граф противоречивости, используя верхние семантические оценки хроматического числа графа
h(G) < ] (smin + 1 + ((«min + I)2 +
+ 8|(7| - 4|V| • smin)1/2) -2-1[, (5.13) где smin — минимальная степень вершины графа G = (V, U), ] [ — целая часть числа.
Выражение (5.13) более точно определяет оценку хроматического числа, если известна плотность p(G) графа G. В этом случае вместо графа G необходимо рассмотреть частичный подграф G' — {V, U’), G' С G, полученный после удаления вершин и, со степенями, меньшими, чем p(G) — 1: s(vj) < p(G) — 1.
Кроме оценки (5.13), можно использовать и другие оценки хроматического числа, рассмотренные в гл. 3, например, оценку, учитывающую отклонение степеней вершин графа от среднего значения:
h(G) < (scp + 1) • 2-1 + (((scp + 1) • 2-1)2 +
+ (52 —s(v*)i) •2-1)1 [> (5-14) t
где scp — среднее значение степени вершин графа G = (V, (7), равное |(7| • (2  |V|)-1; s(v;) — степень г-й вершины.
Оценку (5.14) получаем более точной, если вместо графа рассматриваем его частичный подграф G' = (V7, U'), G' С G, полученный после удаления вершин и,- со степенью, меньшей, чем p(G) - 1.
§5.9. Синтез функциональной декомпозиции
477
Разбиение вида (5.11) определяется использованием субмикронной технологии, так как в этом случае дебаланс активизируемых цепей в нейронной сети будет оптимальным. Исследование такого разбиения показало, что оценки (5.12), с помощью которых выбирается оптимальное разбиение, близки друг к другу.
Действительно, порождение различных разбиений переменных булевой функции /(xi, х2, ..., хп) эквивалентно применению преобразований Джевонса к этой функции. Все соответствующие графы Кёнига определяют функции, принадлежащие одному и тому же типу (в смысле Джевонса), но все однотипные булевы функции имеют одни и те же теоретико-структурные свойства, которые в конечном счете объективно определяют декомпозиционные свойства функции.
Рассмотрим синтез функциональной декомпозиции, реализующей булеву функцию /(хх, Х2, .. ., х6), описывающую функционирование одного из узлов машины логического вывода, при заданных ограничениях k + 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.
В результате оценки разбиений согласно (5-12) было выбрано разбиение вида
P(xi, х2, ..., х6) = Р(хь х2, х3) X Р(х4, х5, х6);
соответствующая таблица Вейча представлена в виде табл. 5.48 и граф Кёнига — на рис. 5.57.
Таблица 5.48
Г1Г2ХЗ	Г4Г5Г6							
	0	1	2	3	4	5	6	7
0	0		0	1	1			1
1		1			0	0		
2	1		1	0			1	0
3	1	1	1		0			0
4			1		1	1		
5	0			0	0	0	0	
6	1	0	1			1		0
7			1	1			1	1
Строчный граф противоречивости Gnp(Xe) представлен на рис. 5.58, а; он содержит запрещенную фигуру Q(5, 0) — полный подграф плотности 5 (рис. 5.58,6). Для определения минимального сужения сигнатуры графа противоречивости и его оп-
478
Гл. 5. Прикладная теория алгоритмов
тимальной f 0	еализ 1 4	ации по 2 0,2,3	строим ма 3 0,2,4,7	трицу 4	смеж 5 3,4	«ости S 6 0,2,7	(Спр(Л 7 2	"«)): 0 1 2 3. 4 5 6 7 ЮТО-
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 У] указ ;кторы .	аны векто Ха,-, Xaj Л	ры пр ростр	3,6 остра! анствг	7 яства Р Р(Ха)	(Хь), в	
а	б
а, р, у, 6, е — краски графа Gnp(X4)
Рис. 5.58
Для устранения запрещенной фигуры Q(5, 0) выбираем ребро, которому соответствует минимальное количество сцепляющих векторов. В данном случае выбираем ребро {v(0), и(7)}, так как векторы Ха, равные 0 и 7, сцеплены одним вектором Хь, Хь = 2. Штрихуем вектор 2 пространства Р(Хь):
2' = 2-13, 2" = 2-13, что эквивалентно удалению ребра {и(0), и (7)} из строчного графа противоречивости Gnp(A'a); при этом хроматическое число
§5.9. Синтез функциональной декомпозиции
479
h(Gnp(Xa)) понижается до 4 (рис. 5.59):
пространство
&
6
а, Д. у. 4 — краски графа Gnp(X„)
Рис. 5.59
а = {0,7}, /7 = {1,5}, 7 = {2,3}, 5 = {4, 6}.
В результате проведенного преобразования Хь = {®4> Хб}> расширилось до пространства Р(х3, Х4, xs, х6) размерности 4 (рис. 5.60, а). После склеивания соцветных вершин в графе Gnp(Xa) и кодирования красок в пространстве Р(у>1, <^2) получили первую компоненту искомой декомпозиции (рис. 5.60, б):
9?i(xi, х2, x3)|i = У(2, 3, 4, 6),
<Р2(а=1, а=2, ®з)| = V(l, 5, 4, 6).
Синтезируем внутренние функции в со
пряженном пространстве Р(Хь). Граф противоречивости Gtlp(X^, Х(, = Хь U ЛХа, Хь = {хл, Х5> ®б}> ДХа = {т3} (рис. 5.61, а), со
б
Рис. 5.60
держит запрещенную фигуру Q(5, 0) (рис. 5.61,6), следовательно, его хроматическое число /i(Gnp(X^)) равно 5:
а = {1,2*}, /3 = {0,2',5}, 7 ={3,7}, <5 = {6}, е = {4}.
480
Гл. 5. Прикладная теория алгоритмов
у Для редукции хроматического числа достаточно удаления одного из ребер графа Q(5, 0).
Для нахождения оптимального сужения сигнатуры графа противоречивости Gnp(Xj) строим матрицу смежности S(Gnp(X^)) с
₽
а, р> 7,6, е — краски графа противоречивости СПр(Х(,)
Рис. 5.61
указанием сцепляющих векторов пространства Р(Фа), Фа = {<£>1, у>г} (табл. 5.49). Удаляем ребро {и(1), и(6)}, взвешенное сцепляю-
Таблица 5.49
—	0	1	2'	2"	3	4	5	6	7
0	—	1, з		0	0, 2	0, 2		0	0, 2, 3
1	1, з	—	3		1, 2	1, 2, 3	1, з	1	2
		3	—	0	0, 2	0, 2		0	0, 2, 3
2"	0		0	—	2	2			2
3	0, 2	1, 2	о, 2	2	—			2	
4	0, 2	1, 2, 3	0, 2	2		—		2	3
5		1, з					—		3
6	0	1	0		2	2		—	2
7	0, 2, 3	2	0, 2, 3	2		3	3	2	—
щим вектором 1, (1 <4 xix2x3) (рис. 5.62, а). В результате число красок графа противоречивости Gnp(X^) уменьшается до 4 (рис. 5.62, б):
«={1,2", 6}, /? = {0,2'}, у ={3,7}, <5 = {4,5}.
Склеиваем соцветные вершины и кодируем краски а, (3, у, 5 соответственно векторами 0, 1, 2, 3 пространства Р(у>з, уч). Получаем, что внешняя функция определяется пятью переменными, У>2, У>з, <Р4, Х4 (рис. 5.63):
/(Х1, х2, ...,Х6) = F(y>i(a>i, Х2, Х3), y>2(a>i, х2, а?3),
У’З^З, ^4> 3<5> ^б)> ^4(^3, Х4, Х5, Xg), 24),
§ 5.9. Синтез функциональной декомпозиции
481
т. е. получили декомпозицию исходной функции от шести переменных в виде системы одной функции от пяти переменных, двух функций от четырех переменных и двух функций от трех переменных Внешняя функция F не удовлетворяет введенным ограни-
₽
Рис. 5.62
{1,5} Ф«: '₽1'₽2*4	1'= 1*4 1"= 1*4
 Ф3Ч>4 {1. 2", 6} {О, 2'} {3, 7} {4, 5}
Рис. 5.63
чениям и ее необходимо декомпозировать дальше. Такой результат получен при последовательном способе поиска декомпозиции. Более оптимальное решение получим при параллельном способе поиска. Для этого расширение пространства P(<pi, у>г) до пространства P(y>i> Ч>2, Х4) спроектируем на расширение пространства P(a?i, а?2> хз) до пространства P(a?i, х2, х3, х4) (рис. 5.64). Граф Кёнига К(/) (рис. 5.64) определяет таблицу Вейча (табл. 5.50)
16 В. А. Горбатов
482
Гл. 5. Прикладная теория алгоритмов
Таблица 5.50
11X2X3X4		X3X4XSX6								
		0	1	2		3	4	5	6	7
				2' = 2хз	2" = 2хз					
0		0		0		1	1			1
1	1' = 1X4		1							
	1" = 1X4						0	0		
2		1		1		0			1	0
3		1	1		1		0			0
4				1			1	1		
5	5' = 5X4	0				0				
	5" = 5X4						0	0	0	
6		1	0	1				1		0
7					1	1			1	1
Таблица 5.51
Х1Х2Х3Х4		<Рз<р*			
		0	1	2	3
		{1.2", 6}	{0,2'}	{3,7}	{4,5}
0			0	1	1
1	1' = 1X4	1			
	1" = 1X4				0
2		1	1	0	
3		1	1	0	0
4			1		1
5	5' = 5X4		0	0	
	5" = 5X4	0			0
6		0	1	0	1
7		1		1	
Таблица 5.52
V’lV’z		<рз<р*			
		0	1	2	3
		{1,2", 6}	{0,2'}	{3,7}	{4,5}
0	{0, г, 7}	1	0	1	1
1	{1",5',5"} = {1'>,5}	0	0	0	0
2	{2,3}	1	1	0	
3	{4,6}	0	1	0	1
Здесь 1' =	1" = li4, 2' = 2хз, 2" = 2хз.
§5.10. Семантическое проектирование нейронных сетей 483
с учетом расширения пространств Р(Ха), Р(Хъ), при котором гарантируется размерность функций, декомпозирующих исходную функцию, равная 4; результат сжатия таблицы Вейча по столбцам приведен в табл. 5.51, по строкам — в табл. 5.52 и на рис. 5.65.
d 4
Рис. 5.65
Ч>1
О 0-{0, 1',7} = а
0 1-{1",5,,5"} = Л
1 0-{2,3} = с
1 1-{4, 6} = d
Таблица 5.53
Связь десятичных эквивалентов с х| ( i = 1,..., 4	Функции	Области определении	
		Единичная	Нулевая
определяет десятичный эквивалент	<pi (х 1, Х2, Хз )	2,3,4,6	0,1,5,7
	^2(*1,Х2,Хз,Х4)	1" = 114,4,5,6	0,1' = 1X4, 2,3,7
(х4,Х5,Хб) определяет десятичный эквивалент	<Рз(х4,хз,х6)	3,4,5,7	0,1,2,6
	<Pi(x4,xs, хе,хз)	0, 2' = 2хз,4,5	1,2" =2хз, 3,6, 7
	F(4>i,V2,<P3,<P4)	0,2,3,8,9,13,15	1,4,5,6,7,10,12,14
Окончательно получаем оптимальную повторную декомпозицию f(xi, х2, ..., яе) в виде
/(®1, х2, ...,хб) = F(y>i(a>i, х2, х3), <p2(xi, х2, х3, х4),
®5> ®б)> ^4(^3, ®4, ®5> ®б))
(табл. 5.53), т. е. в виде суперпозиции системы трех функций от четырех переменных и двух функций от трех переменных.
§ 5.10. Семантическое проектирование нейронных сетей
В современных нейротехнологиях можно выделить два класса технологий: soft-нейротехнологии и hard-нейротехнологии. В технологиях первого класса основной проблемой является разработка
484
Гл. 5. Прикладная теория алгоритмов
стратегий обучения и самообучения нейронных сетей, включающих в себя синтез сценариев обучения. Эти технологии особенно важны при решении неформализованных задач при наличии зашумленной, противоречивой, неполной входной информации. Такими задачами являются задачи распознавания, классификации, прогнозирования, краткосрочного предсказания, которыми изобилуют финансовая и оборонная области деятельности человека.
В hard-технологиях, реализованных в виде нейроБИС, нейро-платакселераторов и работающих, как правило, в субмикронном диапазоне, одной из главных проблем является проблема разложения произвольной булевой функции /(a?i, а?2> • • •> ®п) в декомпозицию функций от четырех-пяти переменных. Современный уровень технологий в электронной промышленности России и США позволяет выпускать четырехсинаптические нейроны, а в Японии — пятисинаптические нейроны при их цифровой реализации.
Рассмотрим проектирование четырехсинаптической нейронной сети на однородных нейронах гексагональной структуры, реализующей булеву функцию /(a?i, х2, ...,а?в) (табл. 5.54).
Таблица 5.54
Единичная область функции	Нулевая область функции f(xi,X2,...,X6)
-00100,	000- 11 0 - 1001, 010 - 10 01 - 010, -10010 01100-,	0110-0 1 - 0010, 10010-1100 - 0, 00- 111 -11010,	1-0101 11-010, 11101-111-11, 11111-	0000 - 0, -0110-0-1100, 010-11 101 - 00, 1011 - 0 01 - 111, 110001 101011,	-10111
Представим исходной пространство Р(х4, х2, . ., а?в) в виде декартова произведения пространства размерности 3:
P(a?i, а?2,	= Pa(xi, х2, х3) X Рь(х4, а?5, хб),
и зададим исходную функцию в виде графа Кёнига K(f) (рис. 5.66).
Столбцевой граф противоречивости Grrmnp(JV()) имеет вид рис. 5.67. Граф Grmnp(-Xb) содержит квазиполный подграф Q(4,0):
Grmnp(Xb) Э Q(4, 0), Q(4, 0) = ({1, 2, 4, 7}, UF).
Следовательно, его хроматическое число равно 4 и минимальная раскраска имеет вид а = {1}, Ь = {4, 5), с = {3, 7), d = {0, 2, 6).
§5.10. Семантическое проектирование нейронных сетей 485
Кодируя краски двумя символами г]Г, г]2-
а — 00, Ь — 01, с — 10, d — 11, получаем внутренние функции тц, т)2 вида
*71(^4, ®5,	= V(0, 2, 3, 6, 7),
ri2(x4, х5,	= V(0, 2, 4, 5, 6).
После соответствующего раскраске склеивания столбцов получаем граф Кёнига вида K(xi,X2,x3,T)i,rj2) (рис. 5.68). Строчный граф
Рис. 5.69
противоречивости Gnp = (Р(Ха), U„p) и его минимальная раскраска представлены на рис. 5.69, а.
Краски а, 6, с, d, е окрашивают вершины следующим образом: а = {0}, 6 = {1,7}, с = {2,3}, d={4, 6}, е = {5}.
Раскраска минимальная, так как <7пр(Ха) содержит квазиполный граф Q(5, 0) = <{0, 1, 3, 4, 5}, UF).
486
Гл. 5. Прикладная теория алгоритмов
Хроматическое число, равное 5, редуцируем до 4, устраняя запрещенную фигуру Q(5, 0) сужением сигнатуры с помощью уда-3'=ЗХ! з'-з*! ления ребра {3, 5}. Векторы 3 и 5 пространства zzS z4,	Х2, хз) находятся в отношении противоре-
М-—чивости {3, 5} € t7np. обусловленном вектором 3
[	f	пространства P(r}i, %)• Удаление ребра {3, 5} в
О О*1***з графе Gnp(X’a) обеспечивается штриховкой век-3	5	тора 3 в пространстве Р(т}1, %)• Векторы 3 и 5
Рис. 5.70 отличаются друг от друга переменными a?i и а?2-Для определенности выбираем a?i; тогда вектор 3 в пространстве P(qi, ’Уг) после штриховки имеет вид 3' = 3 • xi, 3" = 3 • xi, при этом 3' соответствует вектору 3 <-> xix2x3; 3"— вектору 5 О xix2x3 (рис. 5.70).
В результате сужения сигнатуры граф Gnp(A'a) красится в четыре краски (см. рис. 5.69,6):
а = {0), 6 = {1,7}, с = {3,5}, d={2, 4, 6}.
Кодируем краски, вводя символы
а — 00, 6 — 01, с — 10, d — И.
После склеивания соцветных вершин получаем граф Кёнига K(F)
Рис. 5.71
(рис. 5.71), определяющий внешнюю ФУНКЦИЮ	Т]2, xi).
Полученная внешняя функция Р&ь ^2,1J1) xi) зависит от пяти переменных, следовательно, необходимо далее либо декомпозировать ее, либо редуцировать хроматическое число столбцевого графа противоречивости Gnp(-Xfc) (рис. 5.67) до 2. При
этом запрещенными фигурами являются циклы нечетной длины.
Q.(3)	Ребра					
	{0,1}	{0,4}	{1,4}	{0.7}	{1,7}	{1,2}
{0,1,4}	1	1	1			
{0,1,7}	1		1	1		
{1,2,4}			1			1
{1,2,7}					1	1
{1,5,7}					1	
{2,4,7}						
{1,4,7}			1		1	
{0,4,7}		1		1		
{0,1,2,4, 7}	1			1		1
{1,2,3,6,7}					1	1
§5.10. Семантическое проектирование нейронных сетей 487
Построим семантическую таблицу (табл. 5.55), каждой строке которой взаимно однозначно соответствует запрещенная фигура, столбцу — ребро, и в клетке (i, j) находится 1, если j-e ребро входит в г-ю запрещенную фигуру.
Покрытие строк столбцами определяет искомое сужение сигнатуры графа <7Пр(Хь). Минимальное покрытие образуют столбцы {1, 4} {1, 7), {4, 7). В результате удаления соответствующих ребер граф Gnp(Xb) преобразуется в бихроматический (рис. 5.72):
а = {0,2, 5, 6), Ь = {1,3, 4, 7).
Для определения переменных, которыми расширяется сопряженное пространство, рассматриваем вторую часть семантической таблицы (табл. 5.56; первой частью является табл. 5.55)
Покрывая столбцы строками в табл. 5.56, определяем переменные, расширяющие пространство Р(Ха); покрытиями являются {а?4, а?5}, {а?4, а?6}, {^5, ®б}- Размерность пространства Р(Ха) увеличивается на 2. Более оптимальным будет покрытие табл. 5.55, имеющее вид {{2, 4), {0, 4), {1, 7}}. Действительно, мощность минимального покрытия {а?4} табл. 5.57, аналогичной табл. 5.56, равна 1. Сужение сигнатуры графа Gnp(Xb) (см. рис. 5.68), соот-
Таблица 5.55
Ребра							
{2,4}	{2,7}	{1,5}	{5,7}	{4,7}	{2,3}	{3,6}	{6,7}
							
							
1							
	1						
		1	1				
1	1			1			
				1			
				1			
1				1			
					1	1	1
488
Гл. 5. Прикладная теория алгоритмов
ветствующее покрытию я = {{2,4), {0,4}, {1,7}}, обеспечивает редуцирование его хроматического числа h(Gnp(Xb)) до 2 (рис. 5.73).
л	_	Таблица 5.57
Xi	Ребра		
	<2, 4)	{0, 4}	{1, 7}
Xi	1	1	1
xs	1		1
хе			
В результате штриховки векторов О, 3 пространства P(a?i, а?2, а>з) (рис. 5.74) раскраска графа Спр(Хь) имеет вид
а = {1,3, 7), Ь ={0,2, 4, 5, 6).
Кодируя краски:
а—1, 5 — 0, получаем внутреннюю функцию вида
*?(®4, ®5, ®б)|^ — ^(1> 3, 7).
Для построения внутренних функций в подпространстве Р(Ха) склеиваем соцветные вершины графа Спр(Хь); в результате получаем граф Кёнига (рис. 5.75).
в-{0, 2, 4,5, 6}	*={1,3,7}
Рис. 5.75
Строчный граф противоречивости Gnp(X'a), Х'а = XaD АХъ, Ха = {a?i, х2, а?з), Д-Хь = {^4} (рис. 5.76), содержит квазиполный подграф максимальной квазиплотности, равной 4:
<?п₽(*а) Э Q(4, 0), Q(-4, 0) = <{0', 0", 2-, 5-}, lZnp).
Следовательно, A(Gnp(X')) = 4, поэтому достаточно введения двух внутренних функций, V’lfci, г2, ^з, а^) и 4>2<xi,x2,x3,x4):
§5.10. Семантическое проектирование нейронных сетей 489
[log2 Л(Спр(Х'))] = 2. Кодируем краски а, b, с, d (табл. 5.58) и получаем
y>(zi, х2, х3, х4) = < J
Х2, Х3, Х4) — < д
на О', 3', 3", 5-, 7-, на 0", 1-, 2-, 4-, 6-,
на 2-, 4-, 3', 5-, 6-, на О', 0", 1-, 3", 7 - .
Согласно проведенной раскраске Gnp(^) (см. рис. 5.76) склеиваем соцветные вершины; в результате получаем табл. 5.59, определяю-
Рис. 5.76
Таблица 5.58
Краски	V3V4
а = {0", 1-}	00
Ь = {2—, 4-, 6-}	01
с = {О', 7-, 3"}	10
</={3', 5-}	11
Таблица 5.59
V1V2	п	
	0	1
0	0	1
1	1	0
2	1	1
3	0	0
щую внешнюю функцию F оптимальной повторной декомпозиции исходной функции /(a?i, х2, ..., а?в):
f(xi, х2, ...,а?б) =
= F(<pi(xi, х2, х3, х4),<р2(х!, х2, Хз, х4), Т](х4, х5, а?6)),
{a?i, а?2, х3, а;4} П {14, а?5, а?6} = {а^}-
Внешняя функция F(y>i, у?2>»?) имеет вид
^1,^2, ^[ = ^(1,2, 4, 5).
В результате исходная булева функция от шести переменных представлена в виде повторной декомпозиции двух функций (y?i и у>2) от четырех переменных и двух функций (F и т]) от трех переменных.
Вторым способом штриховки является способ, основанный на введении специальных переменных штриховки {а?Шт,}- Выше были найдены два покрытия tti и ir2 (см. табл. 5.55):
*1 = {{1,4}, {1,7}, {4,7}}, ir2 = {{2,4}, {0,4}, {1,7}}.
490
Гл. 5. Прикладная теория алгоритмов
Для определения размерности вектора штриховки строим граф зацепления (7эац = {V, излц, X)), являющийся подграфом соот-
Рис. 5.77
ветствующего графа противоречивости. Для покрытия 7Г1 граф зацепления (рис. 5.77, а) имеет вид
С^зац = (V, (CU, *)),
V = {1, 4, 7), {7эац = {{1, 4), {1, 7), {4, 7}}, для покрытия ir2 — вид (рис. 5.77,6)
Сзац = ({0, 1,2,4, 7), (CU, *)), CU = {{0, 4}, {2, 4}, {1,7}}.
Двоичный логарифм хроматического числа графа зацепления определяет минимальное значение размерности вектора штриховки Хшт, значение которого для тгх равно 2:
|ХШТ| = [log2 Л(Сэац(я'1))] = [log2 3] = 2,
а для тг2 — 1. Выбираем второе покрытие.
Минимальная раскраска вершин графа Сэац^г) имеет вид а ={0,2, 7}, Ь = {1,4}.
Кодируя краски а — 0, Ь — 1, получаем значение вектора штриховки Хшт, задаваемого функцией
<^шт(*4, Х5, Хб) = | 0 на 0’ 2’ 7
Векторы 0, 1, 3 пространства Р(х\, х2, Хз)> определяющие зацепления векторов 0, 1, 2, 4, 7 пространства Р(х4, а?5, а?6), штрихуются согласно раскраске (^„(л^), как показано в табл. 5.60, табл. 5.61).
Таблица 5.60
Х1Х2*3^шт		Х4Х5Х6				
		0	1	2	4	7
0	0' = 0 •				1	
	О II о 4	0		0		
§5.10, Семантическое проектирование нейронных сетей 491 Таблица 5.61
		xtxsxe				
		0	1	2	4	7
3	3' = 0 • <^ШТ		1		0	0
	н 19? О II со	1		1		0
Если первый способ основан на разложении исходного пространства Р(Х) в виде
Р(Х) = Р(Ха) х Р(ХЬ)
и расширении одного подпространства с помощью заема переменных в сопряженном ему подпространстве, то второй способ основан на представлении Р(Х) в виде
Р(Х) С Р(Ха) х Р(ХЬ) х Р(Хпр)
и расширении подпространств Р(Ха) и Р(Хъ) в случае повторной декомпозиции переменными штриховки а;шт € Р(ХШТ), определенными отношением противоречивости 17пр между подпространствами Р(Ха) и Р(Хъ). Реализуем найденные функции у, у>2> F в виде соответствующих нейронов гексагональной структуры.
Рассмотрим функцию
®5> З'б)|^ —
Системы уравнений для определения синаптических весов и квазипорогов имеют соответственно вид
W6 = 7i,	Ро = 0,
w5 + w6 = T2,	w5 =	Pi,
w4 + w5 + w6 = T3;	w4 — P2,
w4 + w6 = Рз,
w4 + w5 = P4.
Решая уравнения, определяем синаптические веса и квазипороги нейрона (табл. 5.62), реализующего т](х4, х$, а?б) (рис. 5.78, а); при
Рис. 5.78
этом используем граф неравенства весов (рис. 5.78,6).
492
Гл. 5. Прикладная теория алгоритмов
Рассмотрим функцию
,	f 1 на 0001, Oil-, 101-, 111-,
Х2, Х3, Х4) - | 0 на. 0000) 001_, 01(>_, 10(>_, 11() Системы уравнений, определяющие синаптические веса и квазипороги, имеют соответственно вид W4 = Т1, W2 + W3 = Т2, w2 + w3 + w4 = Тз, W1 + W3 = Т4, W1 + W3 + w4 = Т$, W1 + W2 + w3 = Те, wi + w2 + w3 + w4 = T7;
Po = 0, w3 + W4 = Pl, W3 = p2, w2 = Рз, W2 + w4 = P4, Wl = P5, Wi + w4 = P6, Wi + W2 = P7, wi + w2 + w4 = P8.
Используя граф неравенства синаптических весов (рис. 5.79, а), определяем веса и квазипороги (табл. 5.63). Соответствующий нейрон имеет вид, представленный на рис. 5.79, б’.
Таблица 5.62
W4	Ws	We	Ti
2	3	1	1, 4, 6
Таблица 5.63
W1	W2	W3	U>4	Ti
1	1	2	4	3, 4, 7, 8
Рис. 5.79
Рассмотрим функцию
,	к Г1 на 2-, 4-, 3', 5-, 6-,
¥>2(11, х2, х3, х4) - 10 на 0_,	3„ 7 _
Системы уравнений, определяющие синаптические веса и квазипороги, имеют вид
W2 = Ti,	Po = 0,
w2 + w4 = T2,	W4 = Pl,
w2 + W3 + W4 = T3,	W3 = P2,
wi = T4,	w3 + w4 = P3,
Wi + w4 = T5,	W2 + W3 = P4,
wi + w3 = T6,	Wl + W2 + w3 = P5
W1 + W3 + W4 = Т7,
Wi + w2 = Т8, wi + w2 + w4 = Т9;
§5.10. Семантическое проектирование нейронных сетей 493
Граф неравенства синаптических весов является полным (рис. 5.80, а), следовательно, веса попарно не равны друг другу. Решая эти системы, получаем табл. 5.64. Нейрон, реализующий функцию y>2(zi> Х2, хз, х4), имеет вид, представленный на рис. 5.80,6
Таблица 5.64
Wi	W2	W3		Ti
1	3	2	6	1, 3, 4, 7, 9, 10, 11
а
Рис. 5.80
б
Рис. 5.81
Рассмотрим функцию
F(<P!,<P2, ^ = ^(1,2, 4, 6).
Граф неравенства синаптических весов GHep имеет вид (рис. 5.81, а). Решая системы равенств
w7 = Ti,	w6 + w7 = Pi,
we = T2,	W5 4- w7 = P2;
w5 = T3,
w5 + w6 = T4;
w5 = w(y>3), w6 = w(y>4), w7 = w(t?3),
494
Гл. 5. Прикладная теория алгоритмов
Рис. 5.82
и зная, что щ?5 = we, получаем табл. 5.65, определяющую нейронную реализацию функции F (рис. 5.81,6). Окончательно получаем нейронную сеть, представленную на рис. 5.82.
Таблица 5.65
WS	W6	W7	Tt
1	1	2	1, 2
§5.11. Оценка динамики логических структур
Для описания функционирования автомата во времени с помощью булевых функций положим, что все поступающие сигналы могут изменяться во времени только дискретно. Выбрав доста-
точно короткие интервалы времени, считаем, что сигнал изменя-
ется только на границе временных интервалов и не изменяется
внутри самого интервала.
Длительность интервала выбираем, исходя из следующих со-
ображений. Разложим временной булев ряд x(t) в сумму эталонных функций вида
ж(£) = Va,e,(£). i
Наиболее простые эталонные функции До, oi, 02» • • • приведены на рис. 5.83, где ТЬ — время, в течение которого анализируется работа автомата; при этом
Ti = То/2’’,	(5.15)
где Т, — период эталонной функции а,. Согласно (4.7) длитель-
 §5.11. Оценка динамики логических структур 495
ность минимального интервала
Tfc = To/27+1, где у — глубина временного квантования.
Для любого автомата существует минимальное время Тмкн между двумя соседними переходами. Для того чтобы описать работу автомата во времени с достаточной степенью точности, необходимо, чтобы выполнялось соотношение Тмин 3> Tjt, или
7 » [log2 (То/Тмин)].	(5-16)
Таким образом, для аналитического задания временных булевых рядов с данной степенью точности необходима глубина временного квантирования 7 3> [Iog2 (2Ь/ТМИи)]-
Минимальный временной интервал Тк будем называть временным квантом. Тогда каждому кванту соответствует консти-туента единицы булевой временной функции <р(а0, ai, 03, ..., ау), переменными которой являются эталонные функции а0, а^, аз, ... ..., ау. Следовательно, любой временной булев ряд с заданной степенью точности можно задавать как булеву функцию от а0, ai, ... ..., ау и применять ее как обычную булеву функцию. Например, временной булев ряд х(1) (см. рис. 5.83) можно представить в виде a;(t) = ао(«1 V аг) V Oo(aia2 V а\аз).
Каждый реальный элемент, входящий в синтезируемую логическую схему, обладает постоянной времени. Следовательно, в практических логических схемах имеют место переходные процессы, которые необходимо учитывать. Рассмотрим применение понятия производной для исследования переходных процессов в схемах.
Временной производной dx/dt от булевой переменной x(t) называется выражение
dx/dt = a;(i) ф x(t 1),	(5-17)
где x(t) — временная булева последовательность, принимающая значения 0, 1 в моменты времени 0, 1,2 ... Для определенности возьмем в (5.17) знак минус. Временная производная показывает изменение сигнала во времени. Будем рассматривать периодические булевы ряды.
Проиллюстрируем понятие временной производной иа следующем примере. Если переменная x(t) по времени t = 0, 1, 2, 3, 4, 5 имеет соответственно значения r(t) = 0, 1, 0, 1, 1, 1, то временная производная изменяется как dxjdt = = 1, 1, 1, 1, 0, 0.
Рассмотрим логическую схему с двумя входами, которые одновременно переключаются. Для определенности будем рассматривать переход (0, 0) —> (1, 1). Условие одновременного переключения входных каналов a?i и а?2 является идеальным. На самом деле
496
Гл. 5. Прикладная теория алгоритмов
с вероятностью, близкой к 1, изменяется сначала один, а через некоторое время другой вход. В зависимости от порядка их переключения путь от (0, 0) к (1, 1) может пройти через (1, 0) или через (0, 1). Рассмотрим два случая.
1. Функции /(0, 0) и /(1, 1) не равны. Выходные сигналы до и после перехода различны. Тогда в промежуточных состояниях может иметь место либо “старое” значение сигнала, либо “новое”. Если в схеме отсутствуют всплески, то никаких ложных сигналов не может быть.
2. Функции /(0, 0) и /(1, 1) равны. Выходные сигналы до и после перехода одинаковы, т. е. переход на выходе “не чувствуется”. Но если выходной сигнал во время промежуточных состояний отличается от /(0, 0) и /(1, 1), то во время переключения может появиться ложный сигнал, и переход критический. Это явление будем называть риском в логической схеме. Путь, по которому сигнал перейдет из состояния (0, 0) в состояние (1, 1), зависит от физических параметров сигналов и имеет статистический характер.
Следуя Бохману, приведем необходимые и достаточные условия критического перехода. Для того чтобы переход из состояния (<?!, <т2) в состояние (tfi, ст2) , <т2 = 0, 1) был критическим, необходимо и достаточно, чтобы:
а)	/(<П, <*?) = №1, а2);
б)	/(*1, <Т2) /	<Т2) ИЛИ /(<Т1, ст2) / /(*1, ^)-
Эти условия легко сформулировать с помощью производных.
В случае критического перехода имеем:
а)	одновременное переключение обоих входов, т. е.
дх^дх2 _ ~dr~dt~ ~1;
б)	значения выходного сигнала до и после переходов одинаковые, т. е.
-^- = 0-
в)	переключение только одного из входов ведет к переключению выхода, т. е.
«£v^ = l.
9a?i дх2
Следовательно, ошибка выражается следующим образом:
дХ1 дх2 / df df \ дЧ
dt dt \dXl dx2) d(X1,x2y 1	'
где Д/ — функция ошибки.
S5.ll. Оценка динамики логических структур
497
В выражении (5.18) конъюнкция (дх^/dt)(dx2/dt) определяет свойства сигнала; в дальнейшем будем называть ее сигнальной частью. Конъюнкция (df/dx\ V df/dx2)d2f/d(x\, xf) определяет свойства реализуемой функции; далее будем называть ее функциональной частью формулы, определяющей ошибку.
Одним из способов повышения производительности ЭВМ является увеличение рабочей частоты применяемых элементов. Современные молектронические элементы имеют рабочую частоту тысячи мегагерц. При работе логических схем задержка в цепи элементов становится сравнимой с периодом функционирования схемы, что приводит к необходимости учитывать ложные сигналы, определяемые выражением (5.18).
Ошибки не возникает, если Д/ = 0; для этого необходимо наложить ограничения на сигнальную или на функциональную часть формулы.
Рассмотрим случай логических схем, у которых одновременно переключаются три выходных канала. Согласно (5.18) ошибка имеет место при переключении двух произвольных входов. Следовательно, в функции ошибок при переключении трех входов, ха, ц, хс, содержатся следующие члены:	____
дхадх^ / df df\ d2f dxad^c (df df\ d2/ dt dt \dxa^ dib) d(xa,xb)' dt dt \dxa^ dxc) d(xa,xc)' dxbdxc fdf_ v $/\ ay dt dt \dxb dxc) d(xb,xc)'
В формуле, определяющей условия возникновения ошибок при переключении трех входов, содержится еще один член, который и учитывает одновременное переключение трех входов:
dxtdxbdxc / d2f v d2f v d2f \ &f
dt dt dt \d(xa,Xb) d(xa,xc) d(xb,xc)J d(xa,xb,xc)' Следовательно, функция ошибкй при переключении трех входов имеет вид
д , _	d2f v
dt dt \dxa dxb) d(xa,xb) dxadxc/df df\ &*f v dt dt \dxa dxc) d(xa,xc) dxbdxc(df df\ dt dt \dxb dxc) d(xb,xc)
v dx^dxbdx. / d2f v d2f v d2f \ &f
dt dt dt \d(xa,ib) d(xa,xc) d(xb,xc)f d(xa,xb,xc)' (5.19)
498
Гл. 5. Прикладная теория алгоритмов
Обозначим функциональную часть функции ошибок, которая входит в одну и ту же конъюнкцию с (dxai/dt)(dxa2/dt)... .. ,(dxak/dt), как F(xai, ха2, ..., xak). Тогда (5.19) можно переписать в виде
. , дха дхь . дха дхс
~ ~dil)tF^Xa'v ~di~diF^a'Хс) v
v^^F(x. x]v^^<^F(x X.X) dt dt 1 *’ c) dt dt dt^x^x<)-
Обобщая функцию ошибок на случай переключения п входов в логической схеме, получаем
Хд2> • • •> -^Оп) =
/ dn~lf \ d*f
= (V---------—---------т)я7------—-------------------V’ (5-2°)
\	^(х>1i х>2 > • • •> xin-i) / ^(^ai> ха2 > • • •> хап)
ХЧ > ®»2> • • ч = Ха11 ХЯ2) • • •> хап‘> *1	*2> • • •> in—2	1п—1>
и функция ошибок имеет вид
. , дх{, dxi-	, dii, dxi, dx;,
- ~dT~dTF^Xi^ v ~дГ~дГ~^Гр^'Xi” v • • •
....x.„), (5.21)
. ih »2> .. • = ai, «2> • • •> On-
Из формулы (5.21) следует, что при увеличении числа переключаемых входных каналов вероятность критического перехода увеличивается. При переключении трех каналов на входе схемы вероятность риска не меньше 75%. Функция ошибок Д/ носит статистический характер.
Функция ошибок Д/ позволяет выяснить, возможна ли ложная информация, и в каких временных квантах при подаче на входные каналы логической структуры заданной сигнальной части. Более сложной и важной задачей является синтез сигнальной части, гарантирующей 100-процентное выявление аномалий динамического поведения логической структуры. Рассмотрим эту задачу при реализации логической структуры в виде нейронной сети из четырехсинаптических нейронов, используя при этом теорию трасс.
В §2.10 было показано, что распределение трасс объективно определяет качество переходного процесса, а именно при переключении логической структуры по трассе может возникнуть ложная информация в выходном канале логической структуры. Другими словами, ложная информация проявляется на выходном канале выходного элемента логической структуры из-за неодновременного переключения входных каналов этого элемента.
§5.11. Оценка динамики логических структур
499
С учетом вероятной фильтрации ошибок невыходными элементами логической структуры предложим модель ИС (рис. 5.84), представляющую собой граф Gm = (Ум, Um), гомеоморфный гра-
Рис. 5.84
ФУ Gue (каждая вершина Gnc взаимно однозначно соответствует элементу логической структуры, дуга — соответствующему каналу) и отличающийся от него наличием вершин и7,- (г = 1, 2, ..kBX-, квх — входной коэффициент выходного элемента), (v7i, цВых.эл.) в Um- Каждая вершина и7,- соответствует минимальной задержке, “приведенной” к входным каналам у-го выходного элемента:
'min — V — 'max, где
rmin — минимальное время задержки прохождения сигнала (переключения) от входного канала ИС до г-го входного канала у-го выходного элемента, определяемой соответствующей активируемой цепью;
Tmax — максимальное время задержки аналогичного характера, что и r^in.
Значение носит статистический характер.
Разность Д(г, у) = т^ах — называется временным деба-лансом г-го входного канала у-го выходного элемента. Пара входных векторов, Ха, Хь, соответствующих трассе Т(Ха, Хь) для выходного элемента, может быть нереализуема, если цикломати-ческое число графа Guc = (Vhc, I/ис) больше нуля и найдется элемент va с кВых(^а) > 2 (fcBlK — выходной коэффициент элемента иа) и ортогональными функциями возбуждения <pai, <paj входных каналов смежных с ним элементов и,, Vj:
(Va, Vi) € C4lC, («a, Vj) € 17иС> Vai&Vaj = 0.
500
Гл. 5. Прикладная теория алгоритмов
Для построения распределения трасс для выходного канала выходного элемента логической структуры, реализующего булеву функцию У(®1, х2, • • •> xk„ ), необходимо рассмотреть (*“) + ( *“ )+•••+( 1“)=Е( *Г)
»=2 переключений входных векторов X = (xi, х2, • • •> хк„)> где kBX — /(х<, х2, х3, х«) входной .коэффициент элемента, равный । । । । । i 7 х количеству его входных каналов.
1,1.1,1.1‘1 Hr	Рассмотрим это распределение для ней-
J'J,.1' ,Г,Г , Р рона (рис- 5.85), реализующего булеву функцию
/(xi, х2, х3, х4)|1= V(0, 1, 2, 12, 13).
0 1 2 3 4 5	IT	I	Е от
U1 |о| 116111о|\	Дерево распределения трасс (рис. 5.86)
имеет 11 поддеревьев (24 — 4 — 1 = 11), Рис. 5.85	каждое и которых соответствует фиксиро-
ванному переключению входных каналов.
В силу (2.24) справедливо условие (5.22) (М.В. Горбатова) порождения всех трасс при переключении входных каналов х01, ха2, ..., xajk: о/	\	f (	\/ df ft
R\^a\ j i • • •>	“ а/	\ I ’ а &
d(xai, xajl..., xaJ	\V(6i,Ьз,	дх/ц
d2f
&(xbi> хЪз) &(xbi, хЬз> хЬз)
дк-г/ d(xbi, хЬз , • • •> З-Ь*-!)

(51, Ъ2, ..., bjfe-i) С (bi, Ь2, ..., bjt), (51, 52, • •., 5fc) € P(ai, а2, ..., ак),
(5.22)
§5.11. Оценка динамики логических структур
501
где P(ai, аг, ..ojt) — множество перестановок из к элементов. Переключение входных каналов *i *2 :
f(xu х2, х2, Х4) = Х1Х2Х3Х4УХ1Х2Х3Х4У
V Х1Х2Хзх4VХ]Х2Хзх4V Х]Х2хзХ4, Й f
— = /(1, Х2, Хз, Х4) ф /(О, Х2, Хз, х4) =
= (г2*3*4 V Х2*3*4) Ф (*2*3*4 V Z2*3*4 V 12*3*4) = *3 V ^2*4, df _ __
— = Хз V Z1Z4
UX2
(так как переменные ц, х2 являются симметричной парой для функции f(Xi, х2, х3, х4)),
d2f	д (df\	д	v__.
а—( яГ~ I =	(z3 V *1*4) = *3*4-
0x1 дх2	dxi \ох2/	dxi
Для порождения трасс при переключении ц, х2 согласно формуле (5.22) построим табл. 5.66. Получим пять решетчатых ин-
Таблица 5.66
Х1Х2Я73Я4	8f	8f 8*2	_2it_ 8x\8*2	a3f	°3f	
0000	1	1	0	0	1	1
0001	1	1	0	0	1	1
0010	1	1	1	1	0	0
ООН	0	0	0	0	1	0
0100	1	1	0	0	1	1
0101	1	1	0	0	1	1
оно	0	1	1	0	1	1
0111	0	0	0	0	1	0
1000	1	1	0	0	1	1
1001	1	1	0	0	1	1
1010	1	0	1	0	1	1
1011	0	0	0	0	1	0
1100	1	1	0	0	1	1
1101	1	1	0	0	1	1
1110	0	0	1	1	0	0
1111	0	0	0	0	1	0
тервалов, из которых [0, 12], [1, 13], [4, 8], [5, 9] содержат по две трассы длины 2, а интервал [6, 10] — одну трассу той же длины (рис. 5.87):
и(0) < и(4)	<	и(12),	и(0)	< и(8) < и(12),	и(1)	< и(5) < и(13),
v(l) < v(9)	<	и(13),	и(4)	< и(0) < v(8),	v(4)	< vf 12) < и(8),
v(5) < v(l)	< v(9),	v(5)	<	v(13)	< v(9),	и(6)	< и(2) < и(10).
502
Гл. 5. Прикладная теория алгоритмов
Вычисление трасс для ц, х3 и для других переключений двух каналов оставляем для самостоятельной работы читателю, здесь же приведем только результаты этих вычислений.
При переключении хг х3 имеется три трассы:
v(3) < v(l) < v(9), v(4) < и(12) < v(14), v(5) < v(13) < v(15).
Множество трасс при переключении | a?i |а?4 и(3) < и(2) < и(10).
Множество трасс при переключении x2|x3 :
v(3) < и(1) < v(5), v(8) < v(12) < v(14), v(9) < v(13) < v(15).
Множество трасс при переключении |х2|х41:
v(3) < v(2) < и(б).
Множество трасс при переключении х3 х4 :
и(1) < и(3) < и(2).
Решетчатый интервал, содержащий хотя бы одну трассу, называется критическим.
При переключении двух входных каналов нейрона получили 14 критических решетчатых интервалов:
Ji =[0,12],
Л = [6,10],
Л =[3,ю], ^13 = [3,6], Вычислим трассы рона:
(а?!, Х2, Хз),
J2 =[1,13], J3 =[4,8], J4 =[5,9], J6 =[3,9], J7 =[4,14], J8 =[5,15], Jw = [3, 5], Jn = [8,14], Jl2 = [9,15], Ju = [1,2].
при переключении трех входных каналов ней-
(«1, х2, х4), (хъ х3, х4),	(х2, х3, х4).
§5.11. Оценка динамики логических структур
503
Переключение входных каналов |xi|хг|*з • Согласно формуле (5.22) имеем
о/ > _ d3f , (df , d2f
x2, x3) - a(xi) Жз) & {dxi k a(xi) X2) V
dxy d(xi} X3) dx2 d(xlt X2) dx2 d(x2, X3) df ’g2/ „ df d2f \ dx3 d(xi, x3) dx3 d(x2,x3)J'
Производные df/дхх, df /dx2, d2f/d(x\, x2) были вычислены выше. Вычислим остальные производные, входящие в формулу Я(*1, х2, х3):
df________ч
--- = Х1Х2Х4 Ф (*1*2 V ХХХ2) = Х1Х2Х4 V Х1Х2, ох3
d2f d / df\ d	ч
a^3 = aT3 (ajJ “ v *>’ “1211 ®1 =12 v x>’
d2f ____________
—-------- = (x3 V x2x4) ф (x2 V x4) ф (xix2 V X1X2),
<Л*1>*з)
d2f d (df\ d
= o~ I ) = a—(*1*2*4 V Z1Z2) = *1 V X4,
UX2 UX^	0X2 \ OX3 /	OX2
d3f d f d2f \ d 4
Я Л Я — Я \Л Я ) — Я	V — 1 Ф *4 — *4>
dx\ dx2 dx3 dx\ \dx2dx3J dx\
d3f	df	df	df d2f
ы-------=	Ф я я~ ®
“(*1>*2>*з)	dxi dx2	dx3	dxidx2
a’f ЭЧ	=
dxxdx3 dx2dx3 dxi dx2 dx3
= (*з V x2x4) ф (x3 V X1X4) ф (xia:2i4 V XiX2) ф
ф X3X4 ф (Z2 V X4) Ф (Xi V X4) ф X4.
Подставляя найденные выражения производных в (5.23), получаем шесть трасс:
v(2) < v(6)	<	v(14) < v(12),	и(2)	<	и(10) < и(14) < и(12),
и(2) < и(6)	<	и(4) < и(12),	и(2)	<	и(Ю) < и(8) < и(12),
v(4) < v(0)	<	v(2) < v(10),	v(6)	<	v(2) < v(0) < и(8),
504
Гл. 5. Прикладная теория алгоритмов
и(0) < и(8) < и(9) < и(13), и(4) < и(0) < и(1) < и(9), v(5) < v(l) < v(0) < v(8),
содержащихся в трех критических интервалах
Лб = [2, 12], Ji6 = [4,10], J17 = [6, 8].
Поиск трасс при переключении переменных (ii, xi, ац), (®t, х3, 14), (®2> ®з> а^) оставляем читателю для самостоятельной работы. Приведем результаты вычислений.
При переключении (arj, Х2, х4) получаем семь трасс:
v(0) < v(4) < v(5) < v(13),
v(l) < v(9) < v(8) < v(12),
v(4) < v(12) < v(13) < v(9),
v(5) < v(13) < v(12) < v(8),
содержащихся в четырех критических интервалах
Ла = [0, 13], Лэ = [1,12], Ло = [4, 9], Л1 = [5, 8].
При переключении каналов (a?i, Х3, х4) получаем четыре трассы:
v(3) < v(l) < v(0) < v(8),	v(3) < v(2) < v(0) < v(8),
v(4) < v(12) < v(13) < v(15), v(5) < v(13) < v(12) < v(14), содержащиеся в трех критических интервалах
Лг = [3, 8], Лз = [4, 15], Л4 = [5, 14].
При переключении входных каналов (хг, хз, х4) получаем четыре трассы:
v(3) < v(l) < v(0) < v(4),	v(3) < v(2) < v(0) < v(4),
v(8) < v(12) < v(13) < v(15), v(9) < v(13) < v(12) < v(14), содержащиеся в трех критических интервалах
Л5 = [3,4], Лв = [8, 15], Л7 = [9, 14].
Переключение входных каналов | Х1|жа|я?з|д?41- Согласно (5.22) имеем
д3/
Я(х1,х2,:сзгЯ4) =
=_______Н________о2! k -- v
d(xltX2,X3,x4) \дх! д(х1,х2)	д{х1,х2,х3')
у »Lk. .fc w у S2I fe ?! у dxi d(xltX2) d(xi,x2,x4) dx4 d(xi,x3) d(x4, x2, x3)
§5.11. Оценка динамики логических структур
505
Г		 a(xi,z4) Э(х1э ж2, х4)
&2f к &1
д(х2,х3}'*' d(x2,x3,xt)
9а/ &
д(х2, Z4) d(Z2,®3,®4)
а7 & 97
d(zi,z2) д(®1,Я2>*з)
#7 & d3f
д(х3,х4) 0(xi,x3,x4)
к
d(xi,x3) д(х1,х3,х4)
02f &	a3/
д(х2, х3) д(х2,х3,х4)
02f &	03f
d(zi,z4) d(xi, х2, х4)
О2/ &	О3!
0{х2,х4) d(xi,x2,x4)
07 &	О3!
d(z3,®4) d(zi,z3)a:4)

V
V
V
V
V
V
V
V
V
V
dxi
дх\ v?Lk
0X2 vfu
0X2
0X2
v2-k
дхз
ох3
v°Lk
Охз
v°Lk
0X4 V°L&.
0X4 <
г	_			 'd(xi,x3) 0(х1,х3,х4)
S2f к 8>f
d(xi,x4) 0(xi,x3,x4)
g2f к
д(х2,х3) 0(xi,x2,x3)
s2f к
д(х2,х4) d(xi,x2,x4)
92f ь В3!
0(Х1,Х2} д{Х1,ХЪХ^
02f & я3/
д(я3,®4) д(®2,®3,®4)
97 к а3/
d(zi,z3) 3(х1,х2,гз)
97 к tPf
d(x2tx3) 0(xi,x2,x3)
97 fc а3/
д{х1,х^ 0{xi,x3,x4)
а7 ,. а3/ _ /	\ Ob' л/	\
v^-k 0X1
v*Lk ох2
vg-k 0X2
ч”к ох2
vg-k дх3
v°Lk 0х3
v°Lk ох3
V л ос 0X4
V^Lk ОХ4
,Х3,Х4)	0х4 i
v°Lk 0X4
Истинное значение /t(xi, х2, х3, z4) показывает, что при переключении четырех каналов (a?i, х2, х3, х4) получаем 14 трасс (рис. 5.88):
и(2)<	С и(Ю)	< и(8) <	v(9) <	v(13),
и(2) <	С и(10) < и(11)		< v(15)	< «(13),
и(2) <	С и(Ю)	< и(14)	< v(15)	< v(13),
и(2) <	: и(Ю)	< v(ll)	< v(9) <	: v(13),
и(2)<	С и(6) <	: v(7) <	v(15) <	v(13),
и(2)<	: и(б) <	: v(4) <	v(5) < t	.(13),
и(2) <	: и(б) <	: v(i4) <	C v(15) <	: «(13),
и(2) <	: и(б) <	: «(7) <	v(5) < t	-(13),
и(2) <	С и(3) <	:v(ii)<	C v(15)<	: «(13),
506
Гл. 5. Прикладная теория алгоритмов
v(2) < v(3) < v(7) < v(15) < v(13), v(2) < v(3) < v(7) < v(5) < v(13), v(2) < v(3) < v(ll) < v(9) < v(13), v(5) < v(l) < v(0) < v(2) < v(10), v(6) < v(2) < v(0) < v(l) < v(9), содержащихся в трех критических интервалах J28 = [2, 13], J29 = [5, 10], /зо = [6,9].
2	[2,3,11.9,13] [2,10,8,9,13]
[2,3,11,15,13] [2,10,11,9,13]
[2,6,4,5,13]	[2,10,11,15,13]
[2,6,7,5,13]	[2,10,14,15,13]
Риск сбоя
Рис. 5.88
Каждому решетчатому интервалу J = [Хо, Хь] с расстоянием по Хеммингу между экстремальными элементами Н(Ха, Хь) = к соответствует fc-куб. Найдем количество fc-кубов в n-кубе, п> к\ к-кубу соответствует трехзначный вектор
в котором к разрядов имеют прочерки, п — к разрядов имеют О или 1. Число двоичных векторов длины п — к равно 2n-fc. Число способов индивидуализации п - к значащих разрядов в п-мерном векторе равно (п2к) • Следовательно, количество fc-кубов в п-кубе равно 2П“* • (n2fc), Число пар точек, отстоящих по Хеммингу друг от друга на расстояние, равное к в fc-кубе, равно 2*-1. Каждая
§5.11. Оценка динамики логических структур
507
пара точек соответствует возможному переключению к каналов; при этом фактическое переключение возможно по одной из kl цепей.
Следовательно, число цепей длины к в одном к-кубе равно 2*-1  kl Отсюда получаем, что возможное количество цепей Nn длины к, каждая из которых может быть трассой, в n-кубе равно
Nn = 2”-*• ( П , )•2*"1 •kl = 2П-1 \n-kj
п
п — к
kl
Для рассматриваемого нейрона:
из 96 цепей длины 2 образуют трассы 14 цепей;
из 192 цепей длины 3 — 13 цепей;
из 192 цепей длины 4 — трассы 3 цепи.
Если допустить что переключения каналов равновероятны, то: с вероятностью 0,15 возможна ложная информация при переключении двух каналов;
с вероятностью 0,07 — при переключении трех каналов;
с вероятностью 0,01 — при переключении четырех каналов.
Из 480 цепей трассами являются 30; наиболее “опасным” в случае порождения ложной информации является переключение (0010) <4 (1101).
Порождение трасс для выходных элементов составляет первый этап синтеза “наихудшей” в смысле переходных процессов сигнальной части — входной сигнальной программы при моделировании аномалий динамических свойств логической структуры. Вторым этапом является отображение найденных в пространстве P(zh z2, • • •> zk,x) критических решетчатых интервалов в пространство P(xi, х2,’..., хп), где Zi (г = 1, 2, ..., квж) — входные каналы выходного элемента; xi, х2, ..., хп — входные каналы логической структуры.
Рассмотрим логическую структуру в виде нейронной сети (рис. 5.89), состоящей из нейронов гексагональной структуры, реализующих булевы функции:
Л(/г, ®2, хз, /3)^= V(0, 1, 2, 12, 13) (ее реализация в виде нейрона гексагональной структуры представлена на рис. 5.85, где xi — fa, х4 = /з);
/г(®1о, ®и, ®12, Л)li= V(5, 7, 9, 10, 11, 13) (рис. 5.90);
/з(®1, х4, х5, fa) г= V(3, 4, 6, 11) (рис. 5.91);
fa(x6, х7, х8, *э) t= V(0, 3, 7, 8, 15). (рис. 5.92);
Учитывая, что невыходные элементы нейронной сети имеют свойство “фильтрации”, каждый критический интервал пространства Рк„ будем отображать в соответствующий критический интервал пространства Рп (для рассматриваемого случая квж = 4, п = 12) с максимальным расстоянием по Хеммингу в пределе так,
508
Гл. 5. Прикладная теория алгоритмов
чтобы экстремальные элементы интервала соответствовали двойственным векторам.
Рис. 5.89
5 6 7 8 9 \|0|1|0|1|1|1|0Л
Регистр квазипорогов
Рис. 5.90
Рис. 5.91
Д(х6, хъ х8, х9)
тгт Г I I'1 ГГ I1 I' Г 0123456789 10 . \|1|0|1|1|0|0| о|1|о|о|1|/
Рис. 5.92
§5.11. Оценка динамики логических структур
509
Для критического интервала Ji = [0, 12] в пространстве P(fi, х2,х3, /3) имеем рис. 5.93).
Рис. 5.93
Окончательно получаем табл. 5.67.
Таблица 5.67
	х\	Х2	Хз	х«	Хь	хв	Х2	хь	Хь	Хю	Хц	
хл	1	0	0	1	1	1	1	0	0	0	1	0
Хь	0	1	0	0	0	0	0	1	1	1	0	1
Критическому интервалу Ji = [0, 12] в пространстве соответствует критический интервал J[ = [2530, 1053] в пространстве Р12, в котором определено функционирование исследуемой нейронной сети.
Интервал J{ на выходном элементе определяет переходный процесс, “эквивалентный” переходному процессу, соответствующему интервалу Ji.
Эффективность оэфф предлагаемого подхода к вычислению критических интервалов можно оценить отношением количества всевозможных пар входных векторов (X,-, Ху), X, / Ху, в Р\2 к количеству критических интервалов определенных по (5.22) для выходного элемента нейронной сети:
_ /2Л . дг _ 2” • (2П - 1).
О'эфф — I 2 I • ^*кр.инт —
1	лП—1 (п
О'эфф — дг *2	• (2
‘’кр.нит
2 • ^Укр.инт
|П 1 \
510
Гл. 5. Прикладная теория алгоритмов
Для рассматриваемого случая /212\	8 386560
<*эфф — ( 9 ) : 30 —	—	— 279 552.
\ Z /	ои
Выполняя аналогично отображение остальных 13 критических
интервалов при переключении двух каналов выходного элемента,
получаем
72(1, 13)	->	74(0306,	3229),	73(4,	8)	74(3554,	0029),
71(5, 9)	74(1381,	2205),	75(6,	10)	->	7'(4066,	0541),
76(3, 9)	->	74(0866,	2205 ,	77(4,	14)	->	74(3554,	1565),
78(5, 15)	->	74(1378,	3741),	79(3,	10)	->	74(0994,2588),
7ю(3, 5) -> 7?о(0870, 3225), 7ц(8, 14) -> 7{1(0229, 3866), 712(9, 15) -> 7'2(0357, 3738), 7i3(3, 6)	7{3(0998, 3605),
714(1,2) -> 7[4(0486, 2585).
Найдем отображение критических интервалов при переключении трех каналов выходного элемента: 7is(2, 12), 7ie(4, 10), 7i7(6, 8), 7is(0, 13), 71э(1, 12), 72о(4, 9), 72i(5, 8), 722(3, 8), 7гз(4, 15), 724(5, 14), 725(3, 4), 726(8, 15), 727(9, 14).
Отображение 7is(2,12) ->7{5(0738,3357) показано на рис. 5.94.



[6ГОТ1|О|1|1|1|О|О|О 1 о
I1I1|о|1|о[о|о|1I1]1|оТТ]
Рис. 5.94
Аналогично отображаем остальные 12 интервалов:
71в(4, 10) -> 7'6(1250, 2845), 718(0, 13) -> 7?8 (2402, 1181), 7го(4, 9) -4- 74О(3426, 0157), 722 (3 , 8)	742 0994, 2077),
724(5, 14)	744(15О6,	3613),
726(8, 15)	726(2405,	1690),
717(6, 8) -> 7{7(1762,2333), 719(1, 12) -> 7{9(0482, 3101), 721(5,8) -> 741 1506, 2077), 723 4, 15) -> 743(3426, 1693), 725(3 , 4) -> 745(0998, 3097), 727(9, 14) -> 727(0485, 3610).
§5.11. Оценка динамики, логических структур
511
Определим отображение критических интервалов J?s(2, 13), /29(6, 10), /зо(6, 9) в пространство входных векторов нейронной сети — в пространство Р12.
Отображение *7as(2, 3) -> J£g(2914, 1181) показано на рис. 5.95.
Аналогично получаем
*729(5, 10) -> /39(1506, 2589), /зо(6, 9) -> 7^(3938, 0157).
Входные векторы Ха, Хь в пространстве Рп, являющиеся экстремальными элементами проекции критического решетчатого интервала пространства Рк„, образуют критическую пару входных векторов {Ха, Хь}.
При отображении
Для каждого входного канала элемента Ввых строили антисиндром, состоящий из элементов, входящих в активируемые цепи [хвх, хвых]; хвх — входной канал нейронной сети, хвых — входной канал выходного элемента; состояния цепей обеспечивали соответствующую си-
туацию на рассматриваемом входном	рис. 5.95
канале элемента Ввых. Если при этом
находился элемент В,, не обеспечивающий согласованное функционирование цепей (условия поведения элемента В, противоречивы), то соответствующий интервал пространства Рк„ являлся нереализуемым и в дальнейшем не рассматривался.
Для оптимального по времени выявления всех аномалий динамических свойств введем граф связности
GCB = ({X,}, U),
в котором каждая вершина взаимно однозначно соответствует вектору Х{ пространства Рп, ребро {X,, Xj} G U — критическому решетчатому интервалу J(X,-, Xj), где X,-, Xj — концы соответствующей трассы.
Для выявления всех аномалий при логическом моделировании нейронной сети, не повторяя ни одну из трасс, необходим однократный обход всех ребер графа связности GCB, следовательно, граф GCB должен быть эйлеровым.
512
Гл. 5. Прикладная теория алгоритмов
Для минимизации времени формирования входных векторов Xi необходимо отсутствие их повторения, следовательно, граф GCB должен быть гамильтоновым.
Используя характеризационный анализ, можно показать, что граф связности GCB эйлеров и гамильтонов тогда и только тогда, когда его цикломатическое число v(GCB) равно нулю и его степень S(GCB) не превышает двух:
(v(GCB)=0)&(S(GCB)<2).
При этих условиях граф GCB является линейно упорядочиваемым. Запрещенными фигурами исследуемого свойства графа связности являются циклы и вершины со степенью, превышающей 2.
Если граф Gee не является эйлеровым и гамильтоновым, то расширением носителя {ДХ,} устраняем циклы и вершины X,-со степенью 5(Х,) > 3 и линейно упорядочиваем граф GCB.
Линейно упорядоченный граф GCB = ({X,- U ДХ,}, U) определяет входную сигнальную программу выявления аномалий динамических свойств нейронных сетей.
Анализ графов связности для реальных сетей показал их малую связность. Учитывая это свойство, предложим следующий эффективный алгоритм расширения носителя графа GCB и его линейного упорядочивания:
1)	GCB :=G,;
2)	S(Gi) < 2 ? Если да, то переходим к п. 3), если нет — к п.4);
3)	V(G^ > 0 ? Если да, переходим к п. 4), если нет — к п. 6);
4)	определяем цепь максимальной длины 7rmax (в пределе — остов, графа) G,-;
5)	Gi \ 7ГщаХ := Gi, в результирующем графе штрихуем повторяющиеся векторы X,-. Переход.к п. 2);
6)	линейно упорядочиваем граф ({Х, иДХ,}, U)',
7)	конец.
Пусть граф связности GCB = ({X,}, U} (рис. 5.96, а) имеет вид {X,/ i = а, Ь, с, d, е, k, т],
U = {{Хо, Хь}, {Хо, Хс}, {Xa, Xd}, {Xb, Хс}, {ХЬ, Хе},
{Хь, Хт}, {Хс, Хе}, {Хс, Xd}, {Хс, Хк}, {Хе, Xfc},
{Хе, Хт}, {Xd, Хк}, {Xd, Хт}, {Хк, Хт}}.
Имеем запрещенные фигуры графа связности
X,	Ха	Хь	Хс	xd	Хе	хк	хт
sm-	3	4	5	4	4	4	4
§5.11. Оценка динамики логических структур 513
и восемь базисных циклов (рис. 5.96,6):
«(Сев) = М - |{х,}| + 1 = 14 - 7 + 1 = 8, о((7Св) — цикломатическое число графа.
Ха	xd	хт
Ха	Xd Xd	Хт
б
Рис. 5.96
Выделяем остов тгтах, состоящий из шести ребер (рис. 5.97, а): ^тах = {{Ха, Хь}, {Хь, Хт), {Хт, Хе), {Хе, Хс),
{Хс, Xd), {Xs, Xfc}}.
GCB \ 7Tmax = {{X'a, X'c), {X'c, Xi), {Xi, Xi), {Xi, Xi), {Xi, Xi), {X{, X^), {X^, Xi), {Xi, Xi)}.
Степень графа GCB \ ’’’max равна 3:
S(GCB \ Ктлх) = 3.
Следовательно, выделяем остов 7ГгПах, (рис. 5.97,6):
= {«. X’.}, {*;, Х'ь}, {Х'„ хз, {Х'„ ХЗ, {х;,хз, {x'd, x'm}},
17 В. А. Горбатов
514
Гл. 5. Прикладная теория алгоритмов
Рис. 5.97 и производим его удаление:
(<5» \ *.») \ <„ = {{%;, x't}, {Х(, X?}}.
Линейно упорядочиваем граф связности с учетом расширения его носителя (рис. 5.97, в):
Сев = ({Xi и ДХ,}, и'),
{X, и ДХ,} = {Хо, X', Хь, Х'ь, Хе, Х'с, X”,
Xrf, X’d, Хе, X’, Xk, X'k, хт, Х'т}, |Х,- U ДХ,| = 15.
Рис. 5.98
§5.11. Оценка дина-кики логических структур 515
При реализации линейно упорядоченного графа связности GCB = = ({X,- U ДХ,}, U') имеем 14 ребер, 15 вершин, 7 из которых соответствуют повторениям входных векторов.
Функционалом качества <рклч решения этой задачи будем считать число, равное количеству повторений входных векторов, т. е.
У’кач = тт|{ДХ,},|.
При <ркач = 0 граф связности является как эйлеровым, так и гамильтоновым.
Если эйлеровость графа характеризуется наличием и распределением вершин с нечетными степенями, то эффективное определение гамильтоновости графа является открытой проблемой. Поэтому предложим приближенное, но с практической точки зрения оптимальное решение этой задачи.
Линейно упорядоченный граф связности определяет как объем памяти Vn, так и время выполнения Тп входной сигнальной программы при моделировании аномалий динамических свойств ИС:
Уп=(|х,идх,|-1).*ВХ,
Тп=(|Х,иДХ,|-1).Тмод.1,
где Тмод.1 — время моделирования одного переключения X,- -> Xj.
Линейное упорядочение графа связности является третьим (завершающим) этапом синтеза входной сигнальной программы (ВС-программы). Синтезированная ВС-программа для нейронной сети (см. рис. 5.89) и построенных решетчатых интервалов
— J'3O представлена на рис. 5.98.
Для оценки переходного процесса в ИС предложим числовую характеристику в виде соответствующего функционала <£>(TS(X,, Xj)), учитывающего распределение трасс, функциональ-
Продолжение рис. 5.98
516 Гл. 5. Прикладная теория алгоритмов
ные и топологические свойства ИС и временной дебаланс переключаемых цепей в ИС:
^(ТДХ,-, Xj)) = maxfig f £/(Т(Х,-, Xj)) X
V V ij
x (H(Xit Xj)!)-1 • Armax(J(X,-, Xj)))) , (5.24) s = 1, 2, ..m.
Здесь:
f(T(Xi, Xj)) — частота (количество) цепей (X,, Xj) решетчатого интервала J = [X,-, Xj], для которого функция риска сбоя s-го выходного канала 7?,(Х,, Xj) = 1 — количество трасс;
Н(X,-, Xj) — расстояние по Хеммингу между точками X,- и Xj в булевом &ВХ1-мерном пространстве;
A7-max(J(X,-, Х,-)) — максимальный временной дебаланс цепей при переключении векторов X,- о Ху для s-го выходного элемента ИС,
Armax(J(X,-, Ху)) = max(rmax(Tfc(X,-, Xj)) - rmin(Tfc(X,-, Xj))), где
Ттах(П(Х,-, Xj)) — максимальное время задержки переключения входного канала ттах = тахтэад(га), а = 1, 2, ..., Авх>;
Тз&л(ха) — время задержки канала ха s-го выходного элемента для k-Й трассы решетчатого интервала J(X,-, Xj);
rmin(Tjt(X,) Xj)) — минимальное время задержки переключения входного канала ттт = пйптзад(х/?), /3 = 1, 2, ..., fcBXj, s-го выходного элемента для А-й трассы решетчатого интервала J(X,-, Xj);
т — количество выходных каналов логической структуры.
В функционале (5.24) частота трасс и соответствующие им расстояния по Хеммингу определяют функциональные свойства выходных элементов, дебаланс цепей — топологические свойства всей логической структуры.
Значение функционала (5.24) мажорирует относительную задержку на входных каналах выходных элементов ИС. Для нормального функционирования время смены входных векторов (реактивность ИС) не должно превышать тах(Дттах(/(Х,, Xj))) , ь»	’
т. е. временную задержку для наихудшего случая переключений.
Предложенный функционал (5.24) позволяет оценить переходные процессы на этапе логического проектирования.
§5.11. Оценка динамики логических структур
517
Чем меньше значение функционала (5.24), тем меньше переходной процесс влияет на функционирование логической структуры.
На основе предложенного функционала оценки качества логического проекта (5.24), оценим переходной процесс в нейронной сети (см. рис. 5.85, 5.89-5.92).
Сведем вычисление функционала (5.24) в табл. 5.68.
Таблица 5.68
NN Крит. реш. интервала					/(Т(Х<,Х0)Агш., Я(Х;,ХД)!
1	[0,12]	2	2	20	20,0
2	11,13]	2	2	20	20,0
3	4,8]	2	2	20	20,0
4	[5,9]	2	2	20	20,0
5	[6,Ю]	1	2	20	10,0
6	[3,9]	1	2	20	10,0
7	[4,14]	1	2	20	10,0
8	[5,15]	1	2	20	10,0
9	[3,10]	1	2	2	1,0
10	[3,5]	1	2	0	0,0
11	[8,14]	1	2	0	0,0
12	[9,15]	1	2	0	0,0
13	[3,6]	1	2	22	11,0
14	[1,2]	1	2	22	11,0
15	[2,12]	4	6	20	13,3
16	[4, Ю]	1	6	20	3,3
17	[6,8]	1	6	20	3,3
18	[0,13]	2	6	22	7,3
19	[И, 12]	1	6	22	3,7
20	[4,9]	2	6	22	7,3
. 21	[5,8]	2	6	22	7,3
22	[3,8]	2	6	22	7,3
23	[4,15]	1	6	22	3,7
24	[5,14]	1	6	22	3,7
25	[3,4]	2	6	22	7,3
26	[8,15]	1	6	22	3,7
27	[9,14]	1	6	22	3,7
28	[2,13]	12	24	22	11,0
29	[5,10]	1	24	22	0,9
30	[6,9]	1	24	22	0,9
*) За единицу задержки принята задержка иа одном ключе.					
518
Гл. 5. Прикладная теория алгоритмов
Суммируем элементы последнего столбца и, логарифмируя сумму, получаем
¥>™($) = maxfig	XJ) • (Я(Х,-, XJ!)^
x 4rmax • T(X.-, Xj)) ) = 1g 230, 7 « 2,2.
Минимизация функционала (5.24) осуществляется с помощью уменьшения дебаланса активизируемых цепей. Для нейронных сетей гексагональной структуры, работающих в условиях субмикронной технологии, нулевой дебаланс активизируемых цепей достигается совместным решением систем уравнений для разрешенных и запрещенных квазипорогов всех нейронов сети путем соответствующего согласования весов синапсов: суммы весов синапсов нейронов, образующих активизируемую цепь, должны быть равными для каждой цепи.
§ 5.12.	Семантическое проектирование скоростной транспортной сети большого города
Повышение пропускной способности, увеличение скорости сообщения и безопасности движения транспорта и пешеходов в больших городах является важной и острой проблемой в современном градостроительстве. Ее решение связано не только с большими капитальными затратами, но и с проблемой сохранения исторических памятников и памятников культуры. При этом ввод магистралей с большой пропускной способностью ставит проблему разработки принципа оптимальной трассировки скоростных дорог.
Дорога называется скоростной, если мощность транспортного потока, который она реализует, не меньше одного экипажа в секунду в одном направлении. Такой поток называется скоростным.
Идеальным принципом управления скоростными потоками является принцип непрерывного движения на магистралях типа скоростной дороги, т. е. управление “без управления”, когда потоки не пересекаются, а “вливаются” и “разливаются”. Исходной информацией синтеза сети скоростного движения является граф корреспонденций Gc = (ус, Uc), каждая вершина которого взаимо однозначно соответствует транспортному району и вершины и,-, Vj связаны ребром {«j, vj} € Uc, если плотность транспортного потока в “час пик” не меньше 3600 экипажей в одном направлении. Транспортные потоки прогнозируются на основе использования парной и множественной регрессии.
Рассмотрим проектирование транспортной сети скоростного движения, представив транспортную сеть большого города как объединение сети, реализующей скоростные потоки и построенной на
$ 5.12. Семантическое проектирование скоростной
519
основе частичного квазиупорядочения, и сети, реализующей остальные потоки и построенной на основе кратчайших остовов. При этом скоростное движение является свободным движением, скоростные потоки не пересекаются (друг с другом и с пешеходными потоками). Управление во второй сети осуществляется, как обычно, с помощью светофоров.
Преобразование графа скоростных потоков Gc = (К> Uc) в сеть скоростного движения Sc = (К> <) заключается в частичном квазиупорядочении графа Gc, Gc —> Sc- Если при частичном упорядочении некоторое подмножество преобразуется в путь, а все такие подмножества — в диаграмму Хассе, го при частичном квазиупорядочении они преобразуются соответственно в гамильтонов контур и цунг.
При этом очевидно, что запрещенные фигуры относительно предиката частичного упорядочения Р0(Фа, Фь) являются запрещенными фигурами относительно предиката частичного квазиупорядочения Po(Gc, Sc), и наоборот. Поэтому методы частичного упорядочения с успехом могут быть использованы и при транспортной интерпретации.
Временные затраты, отведенные в данном городе в “час пик” (обычно это время равно 45 мин) определяют ограничения, которые рассматриваемое преобразование Gc —> Sc сводят к преобразованию вида Фо —> Sc-
Va = (M,S2,...,Sn), M = Vc-
Сигнатура модели Фо представляет собой полные подграфы Fi = (V,, Ui) графа Gc, удовлетворяющие следующему условию: время езды от произвольной вершины v G V, до середины каждого гамильтонова контура любого из этих подграфов Fi не превышает предельных временных затрат, отведенных в “час пик”.
Семантика этого преобразования также определяется предикатом частичного упорядочения.
Для проектирования сетей скоростного движения предложим следующую стратегию.
1.	В графе корреспонденций Gc = (V, {U, Р)), матрица смежности которого имеет вид [s»j]|vqx|vr|«
Sij = <
с, 1, О,
если P(v,-, Uy) > 3600 эк./ч,
если 150 эк./ч < P(v,-, Vj) < 3600 эк./ч,
если P(v,-, vj) < 150 эк./ч,
P(v„ Vj) — плотность транспортного потока между t-м и у-м транспортными районами.
2.	Формируем сигнатуру модели Фо выделением всех полных подграфов Fi = (VJ, Ui) графа Gc, удовлетворяющих временному
520
Гл. 5. Прикладная теория алгоритмов
ограничению (время езды от произвольной вершины v € V, до середины каждого гамильтонова контура подграфа F, не превышает времени, отведенного на езду в “час пик”).
3.	Упрощением модели Фа Фа -> Фа (Ро(Фа, Фь) = 1), определяются запрещаемые потоки, которые реализуются транзитно через другие транспортные районы. В результате упрощения модели Фа ее функциональная связность уменьшается настолько, что возможно частичное квазиупорядочение модели Фа.
4.	Частично квазиупорядочиваем модель Фа. Удаляем все замыкающие дуги. Полученные гамильтоновы контуры, соответствующие словам модели Фа, сопоставляем скоростному кольцу, на котором не стоит ни один светофор и который не пересекает ни один поток. Полученная модель Фь определяет сеть скоростного движения S.
Маршрут из одной вершины в другую вершину сети Sc реализуется набором соответствующих отрезков полученных колец непрерывного движения. Съезд с одного кольца на другое осуществляется стандартным образом.
Проиллюстрируем предложенную методику построением транспортной сети крупного города. Пусть в транспортном разделе генерального плана города имеется граф корреспонденций, ребра которого взвешены плотностью транспортных потоков. Матрица смежности этого графа имеет вид
1
с с с с с с 0 0 0 0 0 0 0 0 0 0
2	3	4	5	6	7	8	9	10	11	12	13	14	15	16	17	
С	с	с	с	с	с	0	0	0	0	0	0	0	0	0	0	1
—	с	с	0	1	1	0	0	0	1	1	0	0	0	0	0	2
С	—	с	с	0	1	с	0	0	0	0	0	0	0	1	1	3
с	с	—	0	0	0	0	0	0	0	1	1	1	0	0	0	4
0	с	0	—	с	с	с	0	0	0	0	0	0	0	0	0	5
1	0	0	с	—	с	1	0	1	0	0	0	0	0	0	0	6
1	1	0	с	с	—	1	0	0	0	0	0	1	1	0	0	7
0	с	0	с	1	1	—	1	0	0	0	0	0	0	0	0	8
0	0	0	0	0	0	1	—'	0	0	0	0	0	0	0	1	9 '
0	0	0	0	1	0	0	0	—	1	0	0	0	0	0	0	10
1	0	0	0	0	0	0	0	1	—	0	0	0	0	0	0	11
1	0	1	0	0	0	0	0	0	0	—	1	0	0	0	0	12
0	0	1	0	0	0	0	0	0	0	1	—	0	0	0	0	13
0	0	1	0	0	1	0	0	0	0	0	0	—	1	0	0	14
0	0	0	0	0	1	0	0	0	0	0	0	1	—	1	0	15
0	1	0	0	0	0	0	0	0	0	0	0	0	1	—	0	16
0	1	0	0	0	0	0	1	0	0	0	0	0	0	0	—	17
Согласно предложенной стратегии выделяем частичный подграф, соответствующий скоростным потокам. Матрица смежности
§5.12. Семантическое проектирование скоростной
521
графа Gc имеет вид	
1	2	3	4	5	
	-1111
	1-110
	11-11
	111-0
	10 10-
	1 0 0 0 1
	1 0 0 0 1
	0 0 10 1
6 7 1 1 О О О О О О 1 1 - 1 1 -О О
8 О о 1 о 1 о о
1 2
3 4
5
6
7 8
Граф корреспонденций, задающий транспортные потоки рассматриваемого города, приведен на рис. 5.99. Дуги, соответствующие скоростным потокам, отмечены толстыми линиями. В графе выделяем полные подграфы, удовлетворяющие временным огра-
В результате получаем модель
Фа = (М, S3, S4), М = {1,2, ...,8},
S4 = {{1ЛМ}}, S3 = {{1Л6}, {1Л7}, {ЗЛ8}, {1Л7}};
i	п ш iv v
соответствующий ей мограф представлен на рис. 5.100. Отсюда получаем, что модель Фа содержит запрещенные фигуры Фр вида:
Ф?(2, 1) = {1(1,11), 3(1,IV), 5(11,IV)},
Ф?(2, 1) = {1(1, V), 3(1,IV), 5(IV, V)},
Ф?(2, 1) = {5(11, V), 7(Ш, V), 6(11,III)},
Ф?(2, 1) = {1(1, V), 3(1,IV), 5(11,IV), 6(11,III), 7(Ш, V)}.
522
Гл. 5. Прикладная теория алгоритмов
В результате выделения запрещенных фигур формируется решетчатая таблица (табл. 5.69), столбцы которой взаимно однозначно соответствуют запрещенным фигурам, строки — соответственно их компонентам 1(1, V), 1(1,11), 3(1,IV), 5(11,IV), 5(1, V), 7(Ш, V), 6(11, III). Покрытие рассматриваемой таблицы образуют строки 3 и 7. Оно является минимальным. Эти строки
Таблица 5.69
	(2,1)			
	V-?(2,l)	V-?(2,l)	^(2,1)	V-?(2,l)
1(1,V)		1		1
1(1,11)	1			
3(1,IV)	1	1		1
5(11,IV)	1			1
5(П,V)		1	1	
7(III,V)			1	1
6(11,III)			1	1
соответствуют компонентам 3(1, IV) и 7(Ш, V). Для упрощения модели Фа необходимо вычеркнуть букву 3 из слова I или IV и букву 7 из слова III или V. Соответственно этим вычеркиваниям имеем четыре способа упрощения модели Фа, а следовательно, и четыре частично квазиупорядочиваемых модели Фа, (Ро(Фа.Ль) = 1):
Фа1 = (М,S3), $з = {{1Л4}, {1Л6}, {ЗЛ8}, {1Л7}}
I	II IV V
при вычеркивании буквы 3 из слова I и буквы 7 из слова III;
Фа2 = (М, S2, 53, S4), S4 = {{WV4}},
I
53={{1ЛЛ}, {W}}, S2 = {{M}}
II in	IV
при вычеркивании буквы 3 из слова IV и буквы 7 из слова III;
Фаз = (М,S3>, S3 = {{1Д4},{1Л6}, {1Л7}, {ЗД8}}
I II ш IV
при вычеркивании буквы 3 из слова I и буквы 7 из слова V;
К = (M,s2,s3,s4>, S4 = {{1ДД4}},
I
53={{1Л6},{1Л7}}, ^ = {{5^8}} п ш	IV
при вычеркивании буквы 3 из слова IV и буквы 7 из слова V.
§5.12. Семантическое проектирование скоростной 523
В моделях Фа1 и Фа2 слово {1, 6}, а в моделях Фаз и Фа< слово {1,5} поглощается словом {1, 5, 6}.
Каждый способ упрощения порождает запрещаемые транспортные потоки, которые соответствуют удаляемым дугам в графе корреспонденций при соответствующем упрощении модели Фа. Например, вычеркивание 3 из I и 7 из III означает запрещение потоков между следующими парами транспортных районов: (2, 3), (1, 3), (3, 4), (6, 7).
Модель корреспонденций Фа после удаления дуг, соответствующих этим потокам, преобразуется в частично квазиупорядочива-емую модель Фа1, мограф которой представлен на рис. 5.101, а. Этому мографу соответствует цунг (рис. 5.101,6). При этом обратное направление движения реализуется цунгом, полученным обратной ориентацией дуг. Цунгу (рис. 5.101, б) соответствует транспортная сеть, представленная на рис. 5.102).
Рис. 5.102
Каждый способ упрощения оценим величиной капитальных затрат, необходимых для реализации этого способа при проектировании транспортной скоростной сети. Расчеты сведем в табл. 5.70.
Кроме рассмотренного минимального покрытия имеем еще одно минимальное покрытие {3(1, IV), 6(11, III)}; этому покрытию соответствуют четыре варианта скоростной сети (табл. 5.71).
Минимальные капитальные затраты соответствуют первому варианту скоростной сети (рис. 5.102).
524
Гл. 5. Прикладная теория алгоритмов
Таблица 5.70
N	Вычеркивание букв на слов	Транспортная сеть S	Число скрещиваний	Число развязок	Длина скоростных дорог (км)	Капитальные затраты (млн. долл.)
1	3 из I, 7 из III	рис. 5.102	0	2	40	300
2	3 из IV, 7 из III	рис. 5.103	1	2	51	380
3	3 из I, 7 из V	рис. 5.104	1	3	42	327
4	3 из I, 7 из V	рис. 5.105	4	3	58	448
Таблица 5.71
N	Вычеркивание букв на слов	Транспортная сеть S	Число скрещиваний	Число развязок	Длина скоростных дорог (км)	Капитальные затраты (млн. долл.)
5	3 из I, 6 из II	рис. 5.106	1	3	42	327
6	3 из IV, 6 из II	рис. 5.107	3	3	53	410
7	3 из I, 6 из III	рис. 5.102	0	2	40	300
8	3 из IV, 6 из III	рис. 5.103	1	2	51	380
Реализация скоростной сети непосредственно по графу корреспонденций (см. рис. 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]. Модель объекта обычно представляется в виде графа
G = (V,U), каждая вершина которого взаимно однозначно соответствует этой компоненте объекта, а дуга
(и,, vj) е и указывает на причинно-следственную связь между компонентами г, у; например, выход г-го элемента связан со входом у-го элемента или г-й параметр входит как аргумент при вычислении j-го параметра.
Процесс нахождения неисправностей элементов системы можно разбить на два этапа.
Первый этап — приведение модели объекта к диагностируемому виду. При произвольном числе отказавших элементов для функциональных моделей без обратных связей существует такая последовательность проверок, которая позволяет выявить любую комбинацию отказавших элементов [11]. Но система без обратных связей может быть частично упорядочена, т. е. представлена как предметная интерпретация частично упорядоченных систем. Следовательно, первая проблема — диагностируемость объекта — сводится к семантическому эквивалентированию функциональной модели моделью, являющейся частично упорядоченным множеством.
При решении этой задачи необходимо найти те дуги графа G, разрыв которых устраняет все сильно связные подграфы исследуемого графа, причем суммарная стоимость всех разрывов должна быть минимальной (обычно под суммарной стоимостью понимают количество разрываемых дуг). Технически это осуществляется, как показано П.П.. Пархоменко [11], организацией управляемых разрывов обратных связей.
При проектировании программ проверки систем естественно стремление к получению минимального числа управляемых обратных связей. Решение проблемы определения минимального числа управляемых разрывов позволит значительно снизить временные затраты при диагностировании объекта и упростить аппаратуру проверки.
Второй этап — диагностирование частично упорядоченной модели объекта. После устранения всех контуров в графе функциональной модели, т. е. после приведения модели объекта к
§5.13. Техническая диагностика симносвяэных объектов 527 частично упорядоченному виду согласно [11], имеется такая последовательность проверок, которая позволит выявить любую комбинацию отказавших компонент системы. Решение задач этого этапа не содержит принципиальных трудностей, он достаточно хорошо изучен, имеется ряд программ диагностирования объектов этого класса [11].
Решение задач первого этапа особенно трудоемко при диагностировании попарно взаимозависимых (сильносвязных) объектов, к которым относятся автоматные сети управления химическими процессами, энергетическими комплексами, в том числе атомными электростанциями, и вообще объектами, включающими в свой состав ряд агрегатов, в которых происходят процессы, описываемые сложными системами нелинейных дифференциальных уравнений, и параметры элементов каждого агрегата попарно связаны между собой: изменение режима работы одного из них влияет на работу всего агрегата.
Функциональная модель объекта этого класса систем, имеющая большое значение в промышленной автоматике, представляет собой граф
G=(V,U},
для которого,
если (и,, Vj) G U, то (и,-, и,) G U.
Графы этого класса содержат большое количество контуров.
Для определения оптимального числа разрывов дуг при устранении контуров в графе G можно воспользоваться методами динамического программирования, что для практических объектов, граф которых содержит в среднем 40-45 вершин, не реализуемо даже на современных вычислительных машинах.
Сведение задачи первого этапа к другой модели — к задаче покрытия двоичных таблиц, в которых каждая строка взаимно однозначно соответствует дуге, столбец — контуру графа G, и покрытие столбцов строками определяет искомые разрывы, — также практически не реализуемо из-за больших размеров покрываемых таблиц. Графы этого класса для практических объектов содержат десятки и сотни тысяч контуров.
Для определения оптимального числа управляемых разрывов предложим следующий метод, учитывающий временные ограничения на проведение технического диагностирования объекта. Обычно эти временные ограничения задают максимальную длину пути в графе функциональной модели, приведенной к частично упорядоченному виду.
Предлагаемый метод проиллюстрируем диагностированием автоматной сети управления баковой системой, предназначенной для уменьшения солесодержания в исходном продукте [11].
528
Гл, 5. Прикладная теория алгоритмов
Автоматная сеть G — (X, U), управляющая баковой системой, определена матрицей смежности S(G):
x.i		Х.2	XI	Х2	Хз	х<	Xs	Хе	Хт	Хе	Хз	Х1О		
	0	0	0	0	1	0	0	0	0	0	0	0	0	х.1
	0	0	0	0	0	0	0	0	0	0	0	1	0	Хя2
	0	0	0	0	1	0	1	0	0	0	0	1	0	Х1
	0	0	0	0	1	0	1	0	0	0	1	0	0	Х2
	0	0	1	1	0	0	1	0	0	0	1	0	0	Хз
	0	0	0	0	0	0	0	1	1	1	0	1	1	Х«
5(G) =	0	0	1	1	1	0	0	0	0	0	0	1	1	хе
	0	0	0	0	0	1	0	0	0	1	0	1		хе
	0	0	0	0	0	1	0	0	0	0	0	1	v	хт
	0	0	0	0	0	1	0	1	0	0	0	1	0	ха
	0	0	0	1	1	0	0	0	0	0	0	0	1	Хз
	0	0	1	0	0	1	1	1	1	1	0	0	0	Х10
	0	0	0	0	0	0	0	0	0	0	0	0	0	Хк
Сеть содержит 13 автоматов: два на входе сети, xHi, хН2, устанавливают в начальное состояние два входных контура системы, финальный автомат хк управляет спуском готового продукта, остальные десять автоматов, идентифицируемые как хх, х2) ..., х10, управляют непосредственно самим процессом уменьшения соле-содержания.
В качестве исходной информации предлагаемого метода выберем граф функциональной модели и время диагностирования объекта, которое определяет длину путей графа частично упорядоченной функциональной модели. В рассматриваемом случае автоматная сеть является графом функциональной модели, при этом компонентой модели является диагностируемый автомат. Из графа функциональной модели удалим два начальных и финальный автоматы, которые не влияют на результат первого этапа, и каждый контур длины 2 представим в виде ребра. Окончательно полученный граф автоматной сети определяется матрицей смежности, полученной из матрицы S(G) путем вычеркивания первых двух и последнего столбцов (строк).
Пусть время диагностирования автоматной сети равно 5 единицам времени (ед. вр.); при времени функционирования при однократном возбуждении автомата х,- (i = 1, 2, 3, 5, 7-10) — 1 ед. вр.; автоматов х<, хе, начальных и финального — по 0,5 ед. вр. Ребро графа автоматной сети указывает на наличие причинно-следственной связи между автоматами, соответствующими концам ребра.
Предлагаемый метод состоит из двух преобразований.
Первое преобразование состоит из выделения полных подграфов в графе G, устанавливающем причинно-следственные связи объекта. Объединение выделенных полных подграфов образует граф G, и суммарное время всех вершин каждого полного подграфа
§ 5.13. Техническая диагностика симносвязных объектов 529
не превышает заданного времени диагностирования. Выделенное множество полных подграфов определяет модель
Фа = {Ма, S3, S4),
Ма = {х,/ г = 1, 2, .... 10},
5з = {{^2, 33> Дэ}, {^2> хз, Х5}, {хг, Хз, Х5},
12	3
{^i> х5, а?1о}, {х4, хг, хю}},
4	5
<	$4 — { {®4>®6> X(j, Xjg} }.
6
Вторым преобразованием является частичное упорядочение модели Фа. Модель Фа не содержит запрещенных фигур этого преобразования, следовательно, предикат функциональной эмерджен-тности Ро(Фа, Фь) истинен: Ро(Фа, Фь) = 1, где Фь = {Мь, <}, Мь = Ма. В рассматриваемом случае модель Фь определяет линейно упорядоченные подмножества (цепи) вида
Жн1 < ®з < хз < х9 < хк,
•	Гн1 < Х3 Х2 < Х$ < Хк,
*	н1 < Хз < Xi < х5 < хк,
•Гн2 — -TlO <	< ®5 < Хк,
хн2 < -TlO Xf < Х4 < Хк,
жн2 < Ж1О < Хз < Хе < Х4 < Хк.
После построения диаграммы Хассе проводим следующие преобразования.
1.	Проводим сечение, делящее диаграмму Хассе пополам, и подаем в места разрывов расчетные сигналы. На выходе объекта производим измерение выходных величин. Если измеряемая величина правильна, то соответствующему выходу сопоставляем 1, в противном случае — 0.
2.	Если всем выходам объекта сопоставлены 1, то рассматриваем диаграмму, расположенную ниже сечения. Если хотя бы одному выходу сопоставлен 0, то рассматриваем диаграмму, расположенную выше сечения, для которой выходы, помеченные 0, являются максимальными элементами, т. е. рассматриваем антисиндром элементов, помеченных 0.
3.	Если рассматриваемая диаграмма Хассе имеет носитель мощности более 1, то переходим к п. 1; в противном случае компонента, соответствующая полученной вершине, неисправна.
530
Гл. 5. Прикладная теория алгоритмов
Проиллюстрируем решение этого этапа. Рассмотрим автоматную сеть, полученную после приведения ее к диагностируемому виду. Проводим сечение по дугам
(*2, *э), (х2, х5), (хЪ Х5), (х6, Х&), (х7, Х4).
На выходах автоматов х^, х5, х9 получаем правильные значения: Х4 = 15 = х9 = 1. Проводим второе сечение по дугам
(ж3, *2), (®3, ®1), (®10, *1), (х10, Хб), (х10, х7).
На выходах автоматов х2, х1( хе, х7 получаем значения, соответствующие х2 = 0: xj = хе = х7 = 1. Следовательно, неисправен автомат х2, так как х3 < хх, и, следовательно, третье сечение, разрывающее дугу (х3, х7), реализовывать нет необходимости.
В случае, если модель Фа содержит запрещенные фигуры, их устранение осуществляется путем сужения ее сигнатуры.
Использование предлагаемого метода в практических разработках значительно уменьшает время диагностирования и упрощает контрольную аппаратуру.
§ 5.14.	Задачи и упражнения
5.1.	Определить трудоемкость и емкостную сложность алгоритма синтаксического эквивалентирования неориентированного графа в двудольный путем удаления ребер, если функционалом качества является минимум удаленных ребер.
5.2.	Проверить выполнение принципа локальности для характеризационной задачи преобразования графа в двудольный и отношения подчинения “быть подграфом” (напомним, что подграф отличается от частичного подграфа тем, что если в ием нет какой-либо вершины графа, то иет и всех инцидентных ей в графе ребер). Образуют ли циклы нечетной длины множество запрещенных фигур?
5.3.	Определить отношение подчинения, удовлетворяющее принципу локальности для проблемы характеризации гамильтоновых графов.
5.4.	Определить отношение подчинения, удовлетворяющее принципу локальности для проблемы характеризации эйлеровых графов.
5.5.	Предложить алгоритмы синтаксического, эвристического и семантического эквивалентирования неориентированных графов в эйлеровы. Сравнить трудоемкость и емкостную сложность алгоритмов.
5.5.	Выполнить семантическое эквивалентирование графа Gi, который является дополнением графа, изображенного иа рис. 5.4,6, в двудольный граф Gj = (Ц, Ui} для следующих способов преобразований запрещенных фигур в разрешенные и функционалов качества: а) удаление из нечетного цикла ребра, ¥>(G2) = max |tZa|; б) расщепление вершины нечетного цикла, ¥>(G2) = min \Ui |.
5.7.	Доказать, что при удалении поглощающихся строп и столбцов (см. § 5.2), применяемом для сокращения трудоемкости нахождения покрытия семантической таблицы, минимальное решение остается.
5.8.	Определить, являются ли неустойчивыми запрещенные фигуры типов А и Б, присутствующие в мографе, приведенном иа рис. 5.10, а.
5.9.	Доказать, что решение задачи теоретико-структурной минимизации функции
/(xi, и, хз, х«)|1 = V(2, 3, 4, 5, 8, 9, 11, 12, 14, 15)
предложенным в § 5.4 методом, который основан иа функционале (5.1), абсолютно минимально.
§5.14, Задачи и упражнения
531
5.10.	Доказать, что решение задачи теоретико-структурной минимизации системы булевых функций, задаваемой табл. 5.12 предложенным в § 5.4 методом, который осиоваи на функционале (5.2), абсолютно минимально.
5.11.	Определить абстрактную параллельную декомпозицию автомата (см. рис. 5.28, а), начиная с построения второго подавтомата (имеющего четыре состояния). Изменится ли результат декомпозиции?
5.12.	Выполнить семантическое эквивалентирование мографа Фа (см. рис. 5.30, в) в циклический Фь с функционалом качества (минимум расщеплений) и следующими способами преобразования запрещенных фигур в разрешенные: а) расщепление элемента носителя; б) расщепление слова.
5.13.	Минимизировать с учетом теоретико-структурных свойств булеву функцию
/(ц, х2, х3, х<)|1 = V(2, 3,. 4, 5, 8, 9, 11, 12, 13, 14, 15).
5.14.	Минимизировать с учетом теоретико-структурных свойств булеву функцию
,,	. _ / 1 на 1, 3, 4, 7, 9, 12, 14, 28, 31,
/(xi, х2, ..., х5) - иа 0,2,5,10,16,28.
5.15.	Синтезировать диаграмму Хассе минимальной сложности, реализующую систему булевых функций вида
/1(ц, хз, хз, n)|i = V(l, 3, 4, 5, 6, 7, 9, 11, 13, 15),
Х2, хз, Х4)|i = V(l, 3, 5, 7, 9, 11, 12, 13, 14, 15),
/3(Х1, х2, х3, x*)|i =V(1, 3, 5, 7, 8, 9, 10, 11, 13, 15),
/4(ц, х2, хз, n)|i =V(1, 2, 3, 5, 7, 9, 10, 11, 13, 15), /s(xi, Х2, хз, xi)|i = V(l, 2, 3, 5, 6, 7, 9, 11, 13, 15).
5.15.	Разложить автомат G, переходы которого заданы матрицей смежности
иа два несвязных параллельно функционирующих автомата.
5.17.	Найти предельное разложение автомата, заданного в упр. 5.16.
5.18.	Синтезировать функциональную декомпозицию булевой функции
,,	,	fl на О, 2, 4, 7, 11, 14, 16, 21, 29, 30,
f(xi, х2, ..., xs) - m 5) 6> э, 17) 18, 28.
5.19.	Синтезировать функциональную декомпозицию трехзиачной функции f 0	иа	1,	2, 11,	14,	86, 117,	240,
f(xi, Х2, ..., хз) =	{ 1	иа	3,	5, 17,	27,	39, 181,	222,
(2	на	7,	9, 43,	51,	64, 201.
5.20.	Синтезировать нейрон, реализующий булеву функцию
f(xi, хз, хз, Х4)|i = V(0, 1, 2, 7, 11).
532 Гл. 5. Прикладная теория алгоритмов
5.21.	Синтезировать нейрон, реализующий булеву функцию
f(xi, xt, хз, X4)|i = V(0, 1, 2, 4, 9, 14).
5.22.	Вычислить трассы булевой функции
f(xi, х2, Хз, Х<)| 1 = V(o, 1, 2, 4, 9).
5.23.	Вычислить аномальную область функционирования логической структуры, реализующей булеву функцию
/(xi, xt, хз, X4)|i = V(0, 1, 2, 7, 13).
5.24.	Вычислить трассы булевой функции
f(xi, хз, хз, i4)|i = V(o, 1, 2, 9, 15).
5.25.	Вычислить трассы булевой функции
f(xi, Xt, Хз, Х4)|1 = V(0, 1, 2, 4, 7, 8, 11).
§ 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.	Зыков А.А. О некоторых свойствах линейных комплексов/Мат. сборник.—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 hipergraphes/ Ann. V.Y. Acad. Sci.—1975. 36, К» 1.
35.	Birkhoff G., 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. [Pyc. nep.: Kpu-стофидес H. Теория графов. Алгоритмический подход.—М.: Мир, 1978.]
37.	Descartes В. Solution to advanced problem № 4526 / Amer. Math. Monthly.—1954—№ 61.—P. 352.
38.	Dirac G.A. On the structure of /Y-chromatic graphs/Proc. Cambridge Philos. Soc.—1967.—№ 63.—P. 683-691.
Список литературы
535
39.	Dirac G.A. The structure of A-chromatic graphs/Fund. Math.— 1953.—№ 40—P. 42-55.
40.	Goldberg D.E. Genetic Algorithms.—Addison-Wesley, 1989.
41.	Hardwiger H. Uber eine Klassifekation der Strecken Komp-lexe // Vierteljschr. Naturforsch. Ges. Zurich.—1943.—№ 88.—P. 133-142.
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
-------монотонных ПО
-------самодвойственных ПО
-------, сохраняющих константу 0(1) 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
— ^-клеточная 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
-----симметричное (S-отношение) 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
— k-го порядка 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
Предметный указатель
Функция булева -----остаточная 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
Учебное издание
Горбатов Вячеслав Афанасьевич
ФУНДАМЕНТАЛЬНЫЕ ОСНОВЫ ДИСКРЕТНОЙ МАТЕМАТИКИ. ИНФОРМАЦИОННАЯ МАТЕМАТИКА
Редактор Е.Ю, Ходан Компьютерный набор н верстка А.Л. Носова, А.С. Фурсова Компьютерная графика М.В. Ивановского
Подписано в печать с готовых диапозитивов 15.12.99.
Формат 60Х90’/|6. Бумага офсетная. Печать офсетная. Усл. печ. л. 34,0. Уч.-изд. л. 40,8. Тираж 2000 экз.
Заказ 4130. С-002.
Издательская фирма «Физико-математическая литература» РАН ЛР № 020297 от 23.06.1997.
117071, Москва В-71, Ленинский проспект, 15.
При участии ООО «Харвест». Лицензия ЛВ № 32 от 27.08.97. 220013, Минск, ул. Я. Коласа, 35-305.
Ордена Трудового Красного Знамени полиграфкомбинат ППП им. Я. Коласа. 220005, Минск, ул. Красная, 23.