48
С. Б. Гашков, А. Б. Фролов ДИСКРЕТНАЯ МАТЕМАТИКА УЧЕБНИК И ПРАКТИКУМ ДЛЯ ВУЗОВ 3-е издание, исправленное и дополненное Рекомендовано Учебно-методическим отделом высшего образования в качестве учебника и практикума для студентов высших учебных заведений, обучающихся по естественнонаучным направлениям Москва Юрайт 2019 Книга доступна в электронной библиотеке biblio-online.ru, а также в мобильном приложении «Юрайт.Библиотека»

ДИСКРЕТНАЯ МАТЕМАТИКА · 2019. 8. 30. · Минимизация булевых функций ..... 38 2.5. Геометрическая интерпретация

  • Upload
    others

  • View
    41

  • Download
    4

Embed Size (px)

Citation preview

Page 1: ДИСКРЕТНАЯ МАТЕМАТИКА · 2019. 8. 30. · Минимизация булевых функций ..... 38 2.5. Геометрическая интерпретация

С. Б. Гашков, А. Б. Фролов

ДИСКРЕТНАЯ МАТЕМАТИКА

УЧЕБНИК И ПРАКТИКУМ ДЛЯ ВУЗОВ

3-е издание, исправленное и дополненное

Рекомендовано Учебно-методическим отделом высшего образования в качестве учебника и практикума для студентов высших учебных заведений,

обучающихся по естественнонаучным направлениям

Москва Юрайт 2019

Книга доступна в электронной библиотеке biblio-online.ru, а также в мобильном приложении «Юрайт.Библиотека»

Page 2: ДИСКРЕТНАЯ МАТЕМАТИКА · 2019. 8. 30. · Минимизация булевых функций ..... 38 2.5. Геометрическая интерпретация

ISBN 978-5-534-11613-7

© Гашков С. Б., Фролов А. Б., 2017© Гашков С. Б., Фролов А. Б., 2019,

с изменениями© ООО «Издательство Юрайт», 2019

Все права защищены. Никакая часть данной книги не может быть воспроизведена в какой бы то ни было форме без письменного разрешения владельцев авторских прав.Правовую поддержку издательства обеспечивает юридическая компания «Дельфи».

УДК 51(075.8)ББК 22.176я73 Г24

Авторы:Гашков Сергей Борисович — доктор физико-математических наук, профес-

сор кафедры дискретной математики отделения математики механико-мате-матического факультета Московского государственного университета имени М. В. Ломоносова;

Фролов Александр Борисович — профессор, доктор технических наук, про-фессор кафедры математического моделирования Института автоматики и вычи-слительной техники Национального исследовательского университета «Москов-ский энергетический институт».

Рецензенты:Бабаш А. В. — профессор, доктор физико-математических наук, профессор

кафедры информационной безопасности Национального исследовательского университета «Высшая школа экономики»;

Вагин В. Н. — профессор, доктор технических наук, профессор кафедры при-кладной математики Национального исследовательского университета «Москов-ский энергетический институт».

Г24 Гашков, С. Б.

Дискретная математика : учебник и практикум для вузов / С. Б. Гашков, А. Б. Фролов. — 3-е изд., испр. и доп. — Москва : Издательство Юрайт, 2019. — 483 с. — (Высшее образование). — Текст : непосредственный.

ISBN 978-5-534-11613-7

В книге отражены разделы дискретной математики, предусматриваемые учебными программами классических, национальных исследовательских и тех-нических университетов. При соблюдении необходимого уровня доказатель-ности рассматриваются задачи, встречающиеся в инженерной практике, для формализации которых необходимы математические модели дискретной мате-матики — теоретико-множественные, комбинаторно-логические, автоматные, графовые, функциональные, алгебраические и др. Существенное внимание уде-лено принципам построения алгоритмов решения задач дискретной математики на базе известных моделей вычислений (рекурсия, ветвления и ограничения и т. п.) и оценкам их сложности в контексте общей теории сложности алгорит-мов. По каждой главе даны задачи и теоретические упражнения.

Соответствует актуальным требованиям Федерального государственного образовательного стандарта высшего образования.

Для студентов, слушателей факультетов повышения квалификации, специ-алистов, преподавателей и программистов, использующих методы дискретной математики.

УДК 51(075.8)ББК 22.176я73

Page 3: ДИСКРЕТНАЯ МАТЕМАТИКА · 2019. 8. 30. · Минимизация булевых функций ..... 38 2.5. Геометрическая интерпретация

3

Оглавление

Предисловие ........................................................................................ 7

Глава 1. Множества и отношения ......................................................101.1. Множества и булеаны ..............................................................................101.2. Отношения ..............................................................................................14

1.2.1. Соответствия ..................................................................................151.2.2. Гомоморфизм и изоморфизм .........................................................171.2.3. Однородные бинарные отношения ...............................................19

Задачи .............................................................................................................20

Глава 2. Функции алгебры логики .................................................... 212.1. Основные определения ...........................................................................212.2. Разложение булевых функций по переменным ......................................272.3. Теорема о полноте ...................................................................................332.4. Минимизация булевых функций ............................................................382.5. Геометрическая интерпретация дизъюнктивной нормальной

формы ......................................................................................................432.6. Минимизация систем функций алгебры логики ...................................49Задачи .............................................................................................................53

Глава 3. Алгебры высказываний, предикатов и множеств ............. 553.1. Алгебра высказываний ...........................................................................553.2. Алгебра предикатов ...............................................................................593.3. Алгебра множеств ...................................................................................61Задачи ............................................................................................................62

Глава 4. Отношения эквивалентности и частичного порядка ...... 644.1. Отношения эквивалентности .................................................................644.2. Ядерная эквивалентность и каноническое разложение ........................664.3. Отношения частичного порядка .............................................................674.4. Многокритериальная оптимизация .......................................................704.5. Решетки ..................................................................................................714.6. Булевы решетки .......................................................................................73Задачи .............................................................................................................76

Глава 5. Комбинаторика .................................................................... 775.1. Основные принципы комбинаторики ....................................................775.2. Упорядоченные разбиения и сочетания с повторениями .....................825.3. Формула включения-исключения и числа Стирлинга ...........................835.4. Числа Фибоначчи ....................................................................................93

Page 4: ДИСКРЕТНАЯ МАТЕМАТИКА · 2019. 8. 30. · Минимизация булевых функций ..... 38 2.5. Геометрическая интерпретация

4

5.5. Рекуррентные последовательности ........................................................955.6. Производящие функции ........................................................................1055.7. Числа Стирлинга и взаимно-обратные преобразования .....................1095.8. Задача Эйлера о размене монет и разбиение чисел на слагаемые ......1125.9. Числа Каталана .....................................................................................1195.10. Линейные рекуррентные последовательности

и производящие функции ......................................................................1235.11. Шары в ящиках: 12 вариантов задачи ................................................1315.12. Статистики перестановок ...................................................................1335.13. Производящие функции множеств и языков ......................................1375.14. Формула обращения Мёбиуса .............................................................1395.15. Теория перечисления Пойа .................................................................141Задачи ...........................................................................................................146

Глава 6. Графы ...................................................................................1526.1. Основные понятия .................................................................................1526.2. Операции над графами. Подграфы .......................................................1586.3. Фундаментальные циклы и разрезы графа ..........................................1616.4. Обходы графа и орграфа .......................................................................1656.5. Связность графов и орграфов ...............................................................1726.6. Множества внешней и внутренней устойчивости ...............................1776.7. Раскраска графов ...................................................................................1816.8. Паросочетания в двудольных графах ...................................................1866.9. Плоские графы. Критерии планарности графа ....................................1946.10. Потоки в сетях .....................................................................................1996.11. Задача о минимальном остовном дереве ...........................................205Задачи ...........................................................................................................207

Глава 7. Логика предикатов .............................................................2107.1. Формулы логики предикатов ................................................................2107.2. Преобразование предикатов .................................................................2157.3. Эквивалентные преобразования формул .............................................2177.4. Общезначимые и противоречивые формулы .......................................2217.5. Логические следствия ............................................................................226Задачи ...........................................................................................................227

Глава 8. Логические схемы .............................................................. 2298.1. Схемы из функциональных элементов и логические схемы ...............2298.2. Сложность схемы. Минимальные схемы .............................................2358.3. Некоторые элементарные методы синтеза ..........................................2398.4. Функция Шеннона. Оценки Шеннона — Лупанова ............................2418.5. Синтез схем методом каскадов .............................................................2458.6. Декомпозиционные методы синтеза ....................................................248

8.6.1. Понятие декомпозиции ...............................................................2488.6.2. Использование нетривиальной декомпозиции ..........................2528.6.3. Использование программируемых логических матриц .............256

8.7. Контактные схемы .................................................................................259

Page 5: ДИСКРЕТНАЯ МАТЕМАТИКА · 2019. 8. 30. · Минимизация булевых функций ..... 38 2.5. Геометрическая интерпретация

5

8.8. Тестирование логических схем .............................................................265Задачи ...........................................................................................................269

Глава 9. Конечные автоматы ...........................................................2709.1. Основные понятия .................................................................................2709.2. Эквивалентность автоматов ................................................................2779.3. Изоморфизм автоматов ........................................................................2799.4. Минимизация автоматов ......................................................................2819.5. Регулярные события и регулярные выражения ...................................2869.6. Регулярность событий, представимых автоматами .............................2879.7. Представление регулярного события автоматом .................................2899.8. Схемы с обратной связью ......................................................................293Задачи ...........................................................................................................298

Глава 10. Теория алгоритмов и вычислимых функций ................. 30010.1. Машины Тьюринга .............................................................................30010.2. Тьюрингово программирование и тьюринговы диаграммы .............30510.3. Алгоритмически неразрешимые проблемы .......................................30810.4. Вычисления на абаке ...........................................................................31110.5. Рекурсивные функции .........................................................................31310.6. Универсальные функции .....................................................................31710.7. Разрешимые и перечислимые множества и предикаты .....................31910.8. Формальные системы и алгорифмы Маркова ....................................322

10.8.1. Формальные системы .................................................................32210.8.2. Нормальные алгорифмы Маркова ............................................328

Задачи ...........................................................................................................330

Глава 11. NP-полные задачи ............................................................ 33211.1. Схемы, предикаты и конъюнктивные нормальные формы ...............33211.2. Моделирование машин Тьюринга булевыми схемами ......................33711.3. Классы P и NP. Теорема Кука ...............................................................34011.4. NP-полные задачи ...............................................................................34311.5. Частные случаи NP-полных задач .......................................................35211.6. Алгоритмы для точного решения некоторых NP-полных задач .......360

11.6.1. Динамическое программирование ...........................................36011.6.2. Псевдополиномиальные алгоритмы .........................................36411.6.3. Метод ветвей и границ...............................................................366

11.7. Приближенные алгоритмы решения NP-полных задач .....................37411.7.1. Жадные алгоритмы ....................................................................37411.7.2. Полиномиальные алгоритмы с ограниченной погрешностью ........................................................................................37911.7.3. Алгоритмы локальной минимизации .......................................382

Задачи ...........................................................................................................385

Глава 12. Конечные поля и эллиптические кривые ...................... 39012.1. Группы, кольца, поля и многочлены ...................................................39012.2. Конечные поля ....................................................................................404

12.2.1. Мультипликативная группа поля ..............................................406

Page 6: ДИСКРЕТНАЯ МАТЕМАТИКА · 2019. 8. 30. · Минимизация булевых функций ..... 38 2.5. Геометрическая интерпретация

12.2.2. Подполя и их расширения .........................................................40712.2.3. Неприводимые и примитивные многочлены ...........................412

12.3. Эллиптические кривые .......................................................................414Задачи ...........................................................................................................424

Глава 13. Теория кодов, исправляющих ошибки .......................... 42613.1. Основные понятия ...............................................................................426

13.1.1. Двоичные коды ...........................................................................42613.1.2. q-Ичные коды и границы сферической упаковки .....................43013.1.3. Линейные коды. Порождающие и проверочные матрицы .......432

13.2. Коды Хемминга ...................................................................................43513.2.1. Коды Хемминга как циклические коды .....................................43813.2.2. q-Ичные коды Хемминга ...........................................................443

13.3. Коды Рида — Соломона .......................................................................44513.4. Коды Боуза — Чоудхури — Хоквингема .............................................44813.5. Матричное определение кодов Боуза — Чоудхури —

Хоквингема и Рида — Соломона ...........................................................44913.6. Исправление двух ошибок ..................................................................45213.7. Определение позиций ошибок в общем случае методом

Питерсона ..............................................................................................453 Задачи ..........................................................................................................457

Глава 14. Криптографические приложения .................................. 45914.1. Линейная рекуррентная последовательность

и ее характеристический многочлен ....................................................45914.1.1. Основные понятия .....................................................................45914.1.2. Автоматная интерпретация линейной рекуррентной последовательности ..............................................................................46014.1.3. Статистические свойства линейной рекуррентной последовательности ..............................................................................46214.1.4. След элемента конечного поля ..................................................46314.1.5. Формула общего члена линейной рекуррентной последовательности ..............................................................................464

14.2. Электронная цифровая подпись ........................................................46714.2.1. Понятие, назначение и свойства цифровой подписи ...............46714.2.2. О российском стандарте цифровой подписи 2012 года ............469

14.3. Предварительное распределение ключей в компьютерной сети ......47014.3.1 Схемы предварительного распределения ключей. (k, m)-Схема Блома ...............................................................................47014.3.2. Многочлены в (k, m)-схеме Блома.............................................47114.3.3. Условия вскрытия и безопасности (k, m)-схемы Блома............473

Задачи ...........................................................................................................478

Литература ....................................................................................... 480Новые издания по дисциплине «Дискретная математика» и смежным дисциплинам ............................................................... 482

Page 7: ДИСКРЕТНАЯ МАТЕМАТИКА · 2019. 8. 30. · Минимизация булевых функций ..... 38 2.5. Геометрическая интерпретация

7

Предисловие

Книга основана на лекциях по дискретной математике, читавшихся авторами в течение многих лет соответственно в МГУ имени М. В. Ло-моносова и НИУ «МЭИ». Курсы дискретной математики в классических, национальных исследовательских и технических университетах имеют свои особенности. В технических вузах в курсы дискретной математики включают обычно элементы общей алгебры, логики и теории чисел, а в классических университетах — нет, так как в них читаются отдель-ные курсы по этим темам. Мы хотели написать книгу, равно пригодную для изучения дискретной математики студентами и технических вузов, и университетов, поэтому первая глава посвящена элементам теории множеств, в третьей главе, наряду с алгеброй множеств, появляются высказывания и предикаты, в четвертой главе — частично-упорядочен-ные множества и их наиболее важный класс — решетки, и заканчива-ется она установлением тесной связи одного из видов решеток с буле-выми алгебрами.

Мы старались сделать изложение максимально простым, поэтому не выдвигали на первый план абстрактное понятие булевой алгебры, а вместо него разбирали конкретные его разновидности, а именно ал-гебры высказываний, множеств, предикатов и один из видов решеток. Вторая глава посвящена функциям алгебры логики, технически она, по-видимому, сложнее третьей и четвертой, но поставлена она на вто-рое место потому, что рассматриваемые в ней объекты более просты и менее абстрактны в сравнении с третьей и четвертой главами. Кро-ме того, обычно именно с функций алгебры логики начинаются курсы дискретной математики в университетах. Ввиду ограничения на объем книги эта глава не имеет продолжения, посвященного функциям мно-гозначных логик, хотя в университетах их обычно изучают.

Пятая глава содержит элементы комбинаторики. Она является одной из наиболее технически трудных глав и ее объем превышает обычно отводимый комбинаторике в курсах дискретной математики. Шестая глава посвящена теории графов. В ней ощутим уклон в прикладную те-матику, а некоторые затронутые в ней вопросы рассматриваются потом в десятой главе. В седьмой главе, довольно абстрактной по содержанию (чем и объясняется ее позиция в книге), излагаются элементы логи-ки предикатов с кванторами по предметным переменным. Эта тема в университетах входит в курсы логики, но в технических вузах часто попадает в дискретную математику. Вопросы, связанные с аксиомати-

Page 8: ДИСКРЕТНАЯ МАТЕМАТИКА · 2019. 8. 30. · Минимизация булевых функций ..... 38 2.5. Геометрическая интерпретация

8

зацией исчисления предикатов и теорией логического вывода, в этой главе не рассматриваются.

Восьмая глава посвящена сложности булевых функций (в техниче-ской терминологии — синтезу логических схем и их тестированию). Ее изучение предполагает знание второй главы и знакомство с пятой и шестой. В ней приведены не самые сильные из известных результа-тов, а только те, которые имеют достаточно простые доказательства. В девятой главе излагаются элементы теории автоматов. Ее изучение предполагает знакомство в той или иной степени со всеми предыдущи-ми главами книги, кроме седьмой.

В десятой главе дается краткое введение в теорию алгоритмов, ко-торой в университетах обычно посвящаются отдельные курсы. Она продолжается одиннадцатой главой, посвященной теории NP-полных задач. Во многих учебниках дискретной математики эта тема почти не затрагивается, и мы посчитали уместным дать ее сравнительно раз-вернутое изложение.

Двенадцатая глава содержит очень краткое введение в общую алге-бру и сравнительно подробное — в теорию конечных полей (которой обычно в курсах алгебры уделяется мало внимания), также в ней изла-гаются простейшие факты об эллиптических кривых над конечными полями. Знакомство с конечными полями полезно при чтении тринад-цатой главы, посвященной теории самокорректирующихся кодов, в ко-торой подробно рассматриваются наиболее популярные в приложениях коды (Хемминга, Рида — Соломона и Боуза — Чоудхури — Хоквинге-ма). Из-за ограничения объема за рамками книги осталось алфавитное кодирование (но оно подробно изложено во многих учебниках дискрет-ной математики).

При изучении последней, четырнадцатой главы, посвященной крипто графическим приложениям, читатель также может восполь-зоваться знаниями, полученными в двенадцатой главе. В ее первой половине разъясняются основные принципы работы автоматов, гене-рирующих линейные рекуррентные последовательности (эта тема про-должает линии, начатые в пятой и девятой главах). В заключительной части главы описаны системы цифровой подписи, основанные на ис-пользовании эллиптических кривых, принятые недавно в качестве стандарта в России.

Каждая из глав дает лишь краткое введение в соответствующую те-матику. Все они могли бы иметь существенно бо`льшие размеры, если бы не ограничение на объем книги (и на продолжительность реально читаемого курса). Некоторые из включаемых в курсы дискретной ма-тематики тем нам пришлось по упомянутой причине оставить за рам-ками изложения. Желающих глубже ознакомиться с вопросами, не за-тронутыми в книге, мы направляем к списку литературы в ее конце. Большинство книг из этого списка мы использовали, не указывая, как принято в учебной литературе, явно ссылок на них внутри текста. На-ибольшее влияние на наше изложение оказали книги [13, 33] — на из-

Page 9: ДИСКРЕТНАЯ МАТЕМАТИКА · 2019. 8. 30. · Минимизация булевых функций ..... 38 2.5. Геометрическая интерпретация

ложение функций алгебры логики во второй главе; [20] — на изложе-ние теоретических основ сложности таких функций в связи с анализом и синтезом логических схем в восьмой главе, а также на изложение логики высказываний и логики предикатов в седьмой главе; первое из-дание книги [17] — на изложение теории конечных автоматов в девя-той главе. Первое издание учебника [3], развитием которого является настоящее издание, использовано при изложении теории отношений и теории графов. На изложение алгебраических вопросов в двенадца-той главе оказали влияние книги [9, 23], а комбинаторики — [27].

С целью облегчения понимания излагаемого материала и несмотря на ограничения на объем, в книгу помещено большое количество ри-сунков и иллюстрирующих примеров. В конце каждой главы имеется список задач (иногда короткий, а иногда и довольно длинный), среди которых есть как легкие, так и трудные. Желающих глубже изучить дискретную математику и потренироваться в решении задач мы на-правляем к соответствующим сборникам задач, один из которых [28] параллельно нашей книге вышел в издательстве «Юрайт».

В настоящем издании устранены замеченные авторами неточности первого издания. Для придания учебнику внутренней завершенности добавлены разделы по алгоритмам, упоминаемым в одиннадцатой гла-ве в первом издании. Кроме того, данная глава дополнена примерами и упражнениями, как и пятая глава, в которую также включен параг-раф по теории перечисления Пойа. Добавлен ряд ссылок на используе-мые источники.

Авторы признательны А. В. Бабашу, В. Н. Вагину и П. А. Макарову за поддержку данного издания и полезные замечания, а также автору задачника [28] Ю. В. Таранникову, участвовавшему в формировании содержания книги и обсуждении путей изложения материала.

Данное издание подготовлено частично при финансовой поддержке РФФИ, проекты № 14-01-00671а, 17-01-00485а и 19-01-00294а.

Page 10: ДИСКРЕТНАЯ МАТЕМАТИКА · 2019. 8. 30. · Минимизация булевых функций ..... 38 2.5. Геометрическая интерпретация

10

Глава 1.

МНОЖЕСТВА И ОТНОШЕНИЯАлфавиты стали более знакомыми, и те-

перь, кроме букв, стали попадаться и циф-ры — в порядках, которые я не сразу узнала.

Т. Скарлетт. «Наваждение Люмаса»

В результате освоения главы 1 студент должен:знать• основные понятия и простейшие результаты теории множеств;уметь• пользоваться языком множеств и отношений для формулировки матема-

тических утверждений;владеть• приемами работы с конечными и счетными множествами и отношениями.

1.1. Множества и булеаны

Понятие множества является исходным понятием, лежащим в осно-ве большинства математических структур.

Определение 1.1. Множество — это совокупность объединенных общим свойством попарно различимых объектов.

Это определение интуитивно ясно и не требует уточнения понятий объекта и объединяющего их общего свойства.

Теорию множеств, основанную на этом определении, называют на-ивной теорией множеств. Ее создателем был уроженец Санкт-Петер-бурга немецкий математик Георг Кантор (1845—1918). Интуитивный характер этого определения привел к появлению парадоксов, самым из-вестным из которых является парадокс Рассела. В занимательной фор-ме он называется парадоксом брадобрея: он решил брить тех и только тех жителей города, которые не бреются самостоятельно. Брить ли ему самого себя? Если брить, то он бреется самостоятельно, значит, брить себя не должен, а если не брить, то он не бреется самостоятельно, зна-чит, брить себя должен. Это обстоятельство вызвало неприятие наив-ной теории множеств многими математиками. Поэтому возникли акси-оматическая теория множеств, в которой аксиоматика построена так,

Page 11: ДИСКРЕТНАЯ МАТЕМАТИКА · 2019. 8. 30. · Минимизация булевых функций ..... 38 2.5. Геометрическая интерпретация

11

чтобы избежать всех известных парадоксов1, и даже такие направления в математике, как интуиционизм2 и конструктивизм3, в которых вооб-ще избегают употребления теоретико-множественных понятий. Но для изучения большинства математических понятий приведенное определе-ние всех вполне устраивает. Упоминаемое в нем объединяющее свойст-во в самом общем понимании — это свойство объектов быть элементом данного множества (или принадлежать множеству): пишут a ∈ A, если объект a является элементом множества A, и a∉A, если не является.

Множества обычно обозначают прописными латинскими буквами, возможно, с индексами. При этом , , , и являются стандар-тными обозначениями множеств натуральных, целых, рациональных, действительных и комплексных чисел.

Конечные множества содержат конечное число элементов. Как пра-вило, они задаются перечислением (в фигурных скобках) обозначений элементов: A = {a1, a2, …, ak}. При этом порядок перечисления элемен-тов не существенен: множества, являющиеся совокупностями одних и тех же элемен тов, считаются равными, данное отношение множеств обозначается знаком равенства: {a1, a2, …, ak} = {ak, a2, …, a1}. Прочие множества являются бесконечными, например бесконечны множества , , , и . Элементами множеств могут быть элементы различ-ных математических структур. Множество, не содержащее элементов, называется пустым множеством и обозначается ∅. Число элементов конечного множества A обозначается |A|. Если |A| = n, то множество A называется n-множеством. Ясно, что |∅| = 0.

Если все элементы множества A являются элементами множества B, то множество A называется подмножеством множества B (обозначение A ⊆B). Таким образом, если A⊆ B и B ⊇ A, то A = B. Если A ⊆ B, A ≠B и A ≠∅, то A называется собственным подмножеством множества B (обозначение A ⊂B), иначе оно называется несобственным подмноже-ством множества B. Всегда ∅⊆A и если A ≠∅, то ∅⊂A. Множество B доминирует над подмножеством A, если A ⊂B и нет подмножества C такого, что A ⊂C и C ⊂B.

Множество всех подмножеств множества A называется булеаном это-го множества и обозначается 2A или (A).

Утверждение 1.1. Число подмножеств n-множества A равно 2n. Доказательство. (Индукцией по n). При n = 1 имеются только не-

собственные подмножества ∅и A = {a}, |2A| = 21 = 2. Пусть число под-множеств (n – 1)-множества равно 2n–1. Исключим из n-множества A один элемент a. Полученное (n – 1)-множество по предположению ин-дукции имеет 2n–1 подмножеств, являющихся также подмножествами исходного n-множества A. 2n–1 остальных его подмножеств получаются

1 Наиболее известные варианты аксиоматики — теория ZF (Цермело — Френкеля) и тео рия NBG (Ноймана — Бернайса — Гёделя).

2 Это направление было создано голландским математиком Л.-Э. Я. Брауэром (1881—1966).

3 Его создателем был советский математик А. А. Марков (1903—1979).

Page 12: ДИСКРЕТНАЯ МАТЕМАТИКА · 2019. 8. 30. · Минимизация булевых функций ..... 38 2.5. Геометрическая интерпретация

12

из этих подмножеств добавлением элемента a. Таким образом, n-мно-жество A имеет 2 × 2n–1 = 2n подмножеств.

Подмножества A n-множества B удобно описывать двоичными набо-рами (i1, …, in) длиной n, элементы ij которых соответствуют элемен-там bj множества B и имеет значение ij = 1, если bj ∈A, или значение ij = 0, если bj∉A. Т акой бинарный набор называется индикатором под-множества n-множества [27]. Например, набор (1, 0, 1, 1) является ин-дикатором подмножества {y1, y3, y4} ⊂{y1, y2, y3, y4}.

Упражнение 1.1. Найдите число двоичных наборов длиной n.

Булеан n-множества наглядно представляется диаграммой Хас-се1, на которой его элементы представляются малыми кружками, по-меченными индикаторами. Индикаторы собственных подмножеств располагаются ниже индикаторов множеств и соединяются линиями с индикаторами доминирующих над ними множеств. По определению доминирования если множество A доминирует над множеством B, то индикаторы этих множеств различаются точно в одной позиции. Такая диаграмма булеана называется также двоичным n-мерным кубом и обозначается n. Его линии называются также ребрами. Двоичные n-мерные кубы n, n = 1, 2, 3, 4, показаны на рис. 1.1. Таким образом, ре-бра двоичного n-мерного куба можно рассматривать как пары вершин

((α1, …, αi–1, 0, αi+1, …, αn), (α1, …, αi–1, 1, αi+1, …, αn))

и считать их параллельными оси координат xi, при этом число i будем называть направлением ребра.

a) б) в)

г)

1

0

001

011

111

101 110

100000

01001

11

0111

0011

0001

0000

0100 1000

1100

1010

1101

1001

1011

1111

1110

01100101

0010

10

00

Рис. 1.1. Одномерный (а), двумерный (б), трехмерный (в) и четырехмерный (г) кубы

1 Хельмут Хассе (Helmut Hasse, 1918—1979) — немецкий математик.

Page 13: ДИСКРЕТНАЯ МАТЕМАТИКА · 2019. 8. 30. · Минимизация булевых функций ..... 38 2.5. Геометрическая интерпретация

13

Таким образом, двоичный n-мерный куб имеет 2n–1 ребер в каждом из направлений 1, …, n. Ребра одного направления называем парал-лельными.

Весом (нормой) вершины α назовем число 1

n

ii=

α = α∑ , равное числу

единиц в наборе α. Множество всех вершин веса k назовем k-м слоем двоичного n-мерного куба и обозначим .n

kОпределение 1.2. Декартовым1 произведением A1 × A2 × … × An мно-

жеств A1, A2, …, An называется множество всех возможных наборов из n элементов, по одному из каждого множества:

A1 × A2 × … × An = {(a1, a2, …, an) : a1 ∈A1, a2 ∈A2, …, an ∈An}.

При этом если A1 = A2 = … = An = A, декартово произведение называ-ется декартовой степенью множества A и обозначается An.

Примером декартовой степени является {0, 1}n — множество всех двоичных наборов длиной n, оно же — множество индикаторов всех подмножеств n-множества.

Отображение ψ : An → A декартовой степени An в множество A назы-вается n-местной операцией на множестве A.

Определение 1.3. Алгеброй называется пара (A, Ω), где A — некото-рое множество (основное множество алгебры), а Ω — множество опе-раций на множестве A (сигнатура алгебры).

Примером является алгебра множеств ( ( ), , , )U ∩ ∪ . Ее основным множеством является булеан (U) некоторого множества U, а операци-ями — пересечение ∩, объединение ∪ и дополнение множеств. На-помним, что пересечением множеств A и B называется множество A ∩ B, элементы которого принадлежат как множеству A, так и множеству B. Если множества не имеют общих элементов, то их пересечение есть пу-стое множество ∅, такие множества называются непересекающимися множествами. Объединение множеств — множество A ∪ B, элементы которого принадлежат множеству A или множеству B. Дополнение A множества A содержит все элементы множества U, не являющиеся эле-ментами множества A.

Эти три основные операции алгебры множеств используются при описании производных операций.

Разность множеств обозначается и определяется как \ .A B A B= ∩Симметрическая разность множеств обозначается и определяется

следующим образом (для нее используются и другие обозначения, на-пример � или ⊕):

( \ ) ( \ ).A B A B B A∪ = ∪

Используя операции пересечения и объединения, можно описать от-ношение вложения множеств: A ⊆B тогда и только тогда, когда A ∩ B = A, а также тогда и только тогда, когда A ∪ B = B.

1 Рене Декарт (Rene Descartes, 1596—1650) — французский математик.

Page 14: ДИСКРЕТНАЯ МАТЕМАТИКА · 2019. 8. 30. · Минимизация булевых функций ..... 38 2.5. Геометрическая интерпретация

14

Операции над множествами, как и отношение включения множеств, принято пояснять диаграммами Венна1, на которых множества изобра-жаются геометрическими фигурами, а результаты операций — объеди-нениями фрагментов этих фигур. Пересечение, объединение, разность, симметрическая разность и дополнение множеств показаны диаграм-мами Венна на рис. 1.2.

A ∩ B A ∪ B A \ B = A ∩ B AA ∪ B

A A A A U

A

B B B B

Рис. 1.2. Теоретико-множественные операции и диаграммы Венна

1.2. Отношения

…Обломовского кучера он любил больше, нежели повара, скотницу Варвару больше их обоих, а Илью Ильича меньше их всех; но все-таки обломовский повар был для него лучше и выше всех поваров в мире, а Илья Ильич выше всех помещиков.

И. А. Гончаров. «Обломов»

Взаимосвязь объектов отражается понятием отношения на их мно-жестве. Теория отношений как один из разделов общей алгебры нахо-дит применение как в дискретной математике, так и в ее приложениях, в частности в теории баз данных.

Пусть A1, A2, …, An — произвольные множества.Определение 1.4. n-Арным (т. е. n-местным) отношением rn на мно-

жествах A1, A2, …, An (или на множестве A, если A1 = A2 = … = An = A) называется подмножество декартова произведения A1 × A2 × … × An, т. е. rn ⊆A1 × A2 × × … × An. Наборы (a1, a2, …, an) ∈rn называются элементами отношения, они обозначаются также rn(a1, a2, …, an).

Отношения, являющиеся конечными множествами, называются ко-нечными, являющиеся пустыми множествами — пустыми, отношения, совпадающие с декартовой степенью множеств, на которых они рас-сматриваются, называются универсальными. Если эти множества оди-наковы, то отношение называется однородным, в этом случае оно есть подмножество декартовой степени множества A: rn ⊆An.

При n  = 1 отношение на множестве A называется унарным, это просто подмножество множества r1 ⊆A.

1 Джон Венн (John Venn, 1834—1923) — английский математик.

Page 15: ДИСКРЕТНАЯ МАТЕМАТИКА · 2019. 8. 30. · Минимизация булевых функций ..... 38 2.5. Геометрическая интерпретация

15

При n = 2 отношение на множествах A и B называется бинарным, это множество некоторых пар (a, b) элементов из первого и второго мно-жеств, например бинарным является отношение порядка на множестве натуральных чисел r2 = {(a, b) : a ≤ b} ⊆× .

Тернарные отношения определяются на трех множествах, например r3 = {(a, b, c) : a + b = c} ⊆3.

Отношения общего вида применяются, например, для описания и анализа операций в базах данных. В настоящем учебнике мы будем иметь дело в основном с унарными и бинарными отношениями.

1.2.1. СоответствияОпределение 1.5. Бинарные отношения r⊆A1 × A2 называются так-

же соответствиями между множествами A1 и A2.Индекс 2 в обозначениях бинарных отношений будем опускать и на-

ряду с обозначением (a, b) ∈r использовать обозначение arb.Определение 1.6. Множество Im(a) = {b  : (a, b)∈r} называется

полным образом элемента a ∈A1 при соответствии r, а множест-во Im–1(b) = {a : (a, b) ∈r} называется полным прообразом элемента b ∈A2 при соответствии r.

Определение 1.7. Образом Im(r) соответствия r⊆A1 × A2 называ-ется объединение полных образов всех элементов из A1, а прообразом Im–1(r) соответствия r⊆A1 × A2 — объединение полных прообразов всех элементов множества A2.

Пример 1.1. Соответствие r⊆{a, b, c, d} × {A, B, C, D, E} представлено на рис. 1.3 в виде двудольного графа (см. гл. 6); некоторые вершины a, b, c, d его левой доли соединены дугами с некоторыми вершинами A, B, C, D, E пра-вой доли, чем и задано соответствие. При этом Im(a) = Im(b) = {B}; Im(c) = = {A, D}; Im(d) = {C, E}; Im–1(A) = Im–1(D) = {c}; Im–1(B) = {a, b}; Im–1(C) = {a, d}; Im–1(E) = {d}; Im(r) = {A, B, C, D, E}, Im–1(r) = {a, b, c, d}.

a

b

c

d

A

B

C

D

E

Рис. 1.3. Изображение соответствия в виде графа [3]

При изучении двудольных графов используются некоторые обобще-ния рассмотренных понятий. Полным образом Im(A) подмножества A ⊆A1 при соответствии r называется объединение

Page 16: ДИСКРЕТНАЯ МАТЕМАТИКА · 2019. 8. 30. · Минимизация булевых функций ..... 38 2.5. Геометрическая интерпретация

16

( ) Im( ) Im( )a A

A A a∈

Γ = = ∪

образов его элементов. При этом Γ(A1) = Im(r). Например, на рис. 1.3 Γ({a, d}) = {B, C, E}.

Аналогично полным прообразом подмножества B ⊆A2 при соответ-ствии r называется объединение прообразов его элементов: Im–1(B) = = Γ–1(B). При этом Γ–1(A2) = Im–1(r). Например, на рис. 1.3 Γ–1({B, C}) = = {a, b, d}.

Определение 1.8. Соответствие j ⊆X  × Y, при котором полный образ Im(x) каждого элемента x содержит единственный элемент, на-зывается отображением.

Отображению j соответствует функция j(x) с областью определе-ния X и областью значений Im(X), значением функции на некотором элементе области значений является элемент его образа.

Для простоты не будем различать обозначения отображений и соот-ветствующих функций: если ajy, {y} = Im(x), то y = j(x).

Если X = X1 × … × Xi × … × Xn, то функция j(x) называется фун-кцией, зависящей от n переменных, и обозначается j(x1, …, xi, …, xn).

Определение 1.9. Отображение j : X → Y называется наложением, или сюръекцией, если Im(j) = Y, т. е. каждый элемент y множества Y имеет прообраз. Такие отображения называют также отображения-ми на.

Определение 1.10. Отображение j : X → Y называется вложением, или инъекцией, если элементы множества X имеют различные полные образы: x1 ≠x2 ⇒ Im(x1) ≠Im(x1). Такие отображения называют также отображениями в.

Определение 1.11. Отображение, являющееся одновременно сюръекцией и инъекцией, называется биекцией.

Определение 1.12. Соответствие ψ–1 ⊆Y × X = {(b, a) : (a, b) ∈ψ ⊆⊆X × Y} называется обратным к соответствию ψ.

Теорема 1.1. Соответствие ψ–1 ⊆Y × X, обратное к отображению ψ ⊆X × Y, является отображением тогда и только тогда, когда ото-бражение ψ является биекцией.

Доказательство. Пусть соответствие ψ–1 является отображением, следовательно, Im(ψ) = Y и ψ есть сюръекция, при этом для любого y∈∈Y имеем |Im(Im–1(y))| = 1 и Im–1(Y) = X, так как ψ есть отображе-ние. Это возможно, только если ψ есть инъекция, т. е. x1 ≠x2 ⇒ Im(x1) ≠≠Im(x2). Таким образом, ψ — сюръекция и инъекция, т. е. ψ является биекцией.

Пусть отображение ψ является биекцией, а обратное соответствие ψ–1 отображением не является, т. е. существует такое y∈Y, что |Im(y)| ≠1. Если |Im–1(y)| = 0, то ψ не является даже отображением, а если |Im–1(y)| > 1, то ψ не является инъекцией.

Следствие 1.1. Отображение ψ–1 ⊆Y × X, обратное к биекции ψ ⊆⊆X × Y, является биекцией.

Page 17: ДИСКРЕТНАЯ МАТЕМАТИКА · 2019. 8. 30. · Минимизация булевых функций ..... 38 2.5. Геометрическая интерпретация

17

Определение 1.13. Отображение, являющееся биекцией, называет-ся взаимно однозначным соответствием. Функция, соответствующая биекции, называется взаимно однозначной функцией.

Определение 1.14. Функция, соответствующая отображению ψ–1, обратному к биекции ψ, называется функцией, обратной к функции, соответствующей отображению ψ.

Функцию, обратную к функции ψ, будем обозначать ψ–1.Такие функции, как и отвечающие им отображения, также называют

биекциями.

Пример 1.2. Если ; , [ 1;1],2 2

X Yπ π = = −

то cosx не является ни наложением,

ни вложением; sinx — биекция, sin2x — наложение, но не вложение.

Пример 1.3 [3]. Обратной к функции j : {1, 2, 3, 4} → {a, b, c, d} на рис. 1.4, а является функция j–1 : {a, b, c, d} → {1, 2, 3, 4} на рис. 1.4, б.

d

d4

4

c

c3

3

b

b2

2

a 1a

a) б)1

Рис. 1.4. К примеру 1.3

На множестве функций можно определить операцию композиции функций: пусть f : A → B и j : C → D — две функции и A′ = Im–1(B ∩ C). Определим функцию ψ : A′ → D такую, что ψ(a) = f(j(a)) (обозначение ψ = j * f). Эта операция есть частный вариант операции свертки двух бинарных отношений.

Пример 1.4. Пусть j — функция из примера 1.3, f = j–1. Тогда j * f = j *j–1 есть тождественная функция ψ : {1, 2, 3, 4} → {1, 2, 3, 4} такая, что ψ(x) = x.

1.2.2. Гомоморфизм и изоморфизм

Гомоморфизм и изоморфизм отношений. Напомним, что n-мест-ное отношение rn ⊆An на множестве A называется однородным.

Пусть σn — однородное n-местное отношение σn ⊆Bn на множестве B.Определение 1.15. Отображение ψ ⊆A  × B множества A на или

в множество B, сохраняющее отношение, т. е. такое, что

(a1, …, an) ∈rn ⇒ (ψ(a1), …, ψ(an)) ∈σn,

Page 18: ДИСКРЕТНАЯ МАТЕМАТИКА · 2019. 8. 30. · Минимизация булевых функций ..... 38 2.5. Геометрическая интерпретация

18

называется гомоморфизмом отношений, а отношение σn — гомомор-фным образом отношения rn. Если это отображение является биекцией, то оно называется изоморфизмом отношений, а отношение σn — изо-морфным образом отношения rn. При этом отношения σn и rn называ-ются изоморфными отношениями.

Пример 1.5. Пусть A есть множество {1, 2, 3, 7, 6, 14, 21, 42} всех делителей числа 42 и arb, если a|b (a делит b). Множество B есть множество индикаторов булеана 2{2, 3, 7} и 1 2 3 1 2 3( , , ) ( , , ),i i i i i i′ ′ ′σ если 1 1 2 2 3 3, , .i i i i i i′ ′ ′≤ ≤ ≤

Тогда отображение ψ:A 1 2 3 7 6 14 21 42B (0, 0, 0) (0, 0, 0) (0, 1, 0) (0, 0, 1) (0, 1, 0) (0, 0, 1) (0, 1, 1) (0, 1, 1)

есть гомоморфизм отношений r и σ, не являющийся изоморфизмом, а биекция ψ′: A 1 2 3 7 6 14 21 42B (0, 0, 0) (1, 0, 0) (0, 1, 0) (0, 0, 1) (1, 1, 0) (1, 0, 1) (0, 1, 1) (1, 1, 1)

является изоморфизмом этих отношений, а сами отношения изоморфны.

Алгебраические гомоморфизм и изоморфизм. Аналогичные поня-тия гомоморфизма и изоморфизма определяются и для алгебр.

Напомним, что алгебра (A, Ω) задается основным множеством A и сигнатурой Ω с операциями различной местности.

Пусть (B, Ω′) — другая алгебра с основным множеством B, сигна-тура Ω′ которой состоит из такого же количества операций, что и сиг-натура Ω, причем местности соответствующих одна другой операций одинаковы.

Определение 1.16. Отображение ψ ⊆A  × B множества A на или в множество B, сохраняющее операции, т. е. такое, что для любой пары соответствующих одна другой операций j и j′

j(a1, …, an) = a ⇒ j′(ψ(a1), …, ψ(an)) = ψ(a),

называется алгебраическим гомоморфизмом, а алгебра (B, Ω′) — гомо-морфным образом алгебры (A, Ω).

Определение 1.17. Биекция ψ ⊆A × B множества A на множество B, сохраняющая операции, т. е. такая, что для любой пары соответствую-щих одна другой операций j и j′

j(a1, …, an) = a ⇒ j′(ψ(a1), …, ψ(an) = ψ(a),

называется алгебраическим изоморфизмом, а алгебра (B, Ω′) — изомор-фным образом алгебры (A, Ω).

Пример 1.6. Пусть A есть множество целочисленных степеней двойки A = = {a : a =2n, n ∈} с операцией умножения, а множество B = с операцией сложения. Тогда отображение ψ : A → B такое, что ψ(a) = log2a, есть изоморфизм. При этом отображение ψ–1 : B → A таково, что ψ–1(b) = 2b, и оно также является изоморфизмом. Таким образом, алгебры (A, {×}) и (B, {+}) изоморфны.

Page 19: ДИСКРЕТНАЯ МАТЕМАТИКА · 2019. 8. 30. · Минимизация булевых функций ..... 38 2.5. Геометрическая интерпретация

19

Пример 1.7. Алгебра (Zmod m, ×mod m), где Zmod m есть множество остатков от деления целых чисел на положительное число m, а ×mod m — операция ум-ножения по модулю m (умножение с последующим взятием остатка от деления на m), является гомоморфным образом алгебры (, ×). Отображение ψ : → →Zmod m такое, что ψ(a) = a mod m, где a mod m есть остаток от деления числа a на число m, является алгебраическим гомоморфизмом.

1.2.3. Однородные бинарные отношенияРассмотрим некоторые свойства однородных бинарных отношений,

по которым они классифицируются.Отношение r называется транзитивным, если оно имеет свойство

транзитивности (Т): для любых a, b, c справедливо утверждение «если выполняются одновременно arb и brc, то выполняется и arc».

Рефлексивное отношение характеризуется свойством рефлексивно-сти (Р): для любого a справедливо ara, а симметричное отношение — свойством симметричности (С): для любых a, b справедливо утвержде-ние «если выполняются arb, то выполняется и bra».

Определяющие свойства антитранзитивных, антирефлексивных и ан-тисимметричных отношений выражаются следующим образом: анти-транзитивность (АТ) — для любых a, b, c справедливо утверждение «если выполняются одновременно arb и brc, то выполняется и a cρ (т. е. не вы-полняется arc)»; антирефлексивность (АР) — для любого a справедливо

;a aρ антисимметричность (АС) — для любых a, b справедливо утвержде-ние «если выполняются одновременно arb и brc, то выполняется a = b».

Для упрощения изложения будем использовать указанные выше аббревиатуры наименований свойств однородных бинарных отноше-ний. Однородное бинарное отношение r⊆A2 на конечном множестве из n элементов удобно задавать бинарной матрицей размером n × n:

если

в противном случае.

, ,

1, ,( ), , 1, 2, ..., ,

0,i j

i j i ja a

i j nρ

ρ = ρ = ρ =

Такая матрица называется матрицей инцидентности однородного бинарного отношения.

В частности, отношение равенства на n-множестве A представляется единичной матрицей δA = (δi, j) размером n × n, где

в противном случ

если

ае.,1, ,0,i j

i j=δ =

Пример 1.8. Отношения, обладающие свойствами Т, АС, АР; Т, Р, АС; С, АР;

АТ, АР, АС; Т, Р, С, имеют следующие матричные представления:

0 1 1 1 1 1 1 1 0 1 1 1 0 1 1 0 1 1 1 10 0 0 1 0 1 0 1 1 0 1 1 0 0 0 1 1 1 1 1

; ; ; ; .0 0 0 1 0 0 1 1 1 1 0 1 0 0 0 1 1 1 1 10 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 1 1 1 1

Последнее из этих отношений — пример универсального отношения.

Page 20: ДИСКРЕТНАЯ МАТЕМАТИКА · 2019. 8. 30. · Минимизация булевых функций ..... 38 2.5. Геометрическая интерпретация

Кроме матричного представления однородных бинарных отношений используют наглядные графические представления в виде ориентиро-ванных псевдографов — геометрических фигур на плоскости, состоя-щих из кружков, обозначающих элементы множества, и соединяющих их линий со стрелками, обозначающих элементы отношения.

Определение 1.18. Однородные бинарные отношения, являющиеся отображениями, называются преобразованиями.

Задачи1.1. Сформулируйте правило, как, используя рисунок куба n, получить ри-

сунок куба n+1, сохраняя следующие особенности рисунков:а) вершины изображаются различными точками на плоскости;б) ребра изображаются отрезками прямых, соединяющих их вершины;в) параллельные ребра изображаются равными и параллельными отрезками

(а непараллельные, т. е. скрещивающиеся, ребра — непараллельными отрезками);г) вершины из одного слоя изображаются точками, лежащими на одной

прямой; вершины в слое /2 1nn + (при четном n) и в слоях ( 1)/2,n

n+ ( 1)/2 1nn+ + (при

нечетном n) располагаются на равных расстояниях;д) вершины меньшего веса располагаются ниже вершин большего веса;е) прямые, на которых лежат слои, параллельны друг другу. 1.2. Определите число элементов декартова произведения A1 × A2 × … ×

× Ai × … × An, |Ai| = ni, i = 1, …, n.1.3. Выразите свойства однородных бинарных отношений на множестве

A с использованием операций над отношениями и отношения теоретико-мно-жественного включения.

Указание. Транзитивность: r*r⊆r; рефлексивность: δA ⊆r; симметрич-ность: r–1 = r; антитранзитивность: r*r⊆ ;ρ антирефлексивность: δA ∩ r= ∅; антисимметричность: r∩r–1 ⊆δA.

1.4. Покажите, как описать операции алгебры конечных множеств с исполь-зованием индикаторов подмножеств и как представляются результаты этих операций над подмножествами n-множества в двоичном n-мерном кубе.

1.5. В n-множестве выбрано 2n–1 подмножеств, из которых любые три пере-секаются. Докажите, что все они пересекаются.

Указание. Индикаторы всех 2n подмножеств n-множества разбейте на 2n–1 пар взаимно дополнительных. Тогда наше семейство не содержит двух наборов ни из одной пары (почему?). Далее заметьте, что пересечение любых двух мно-жеств принадлежит семейству (иначе ему принадлежало бы его дополнение, не пересекающееся одновременно с обоими этими множествами, что по условию задачи невозможно). Наконец, обратите внимание, что если пересечение любых двух множеств принадлежит семейству, то и пересечение всех множеств тоже, и оно не пусто, иначе оно не пересекалось бы ни с одним из других множеств.

Page 21: ДИСКРЕТНАЯ МАТЕМАТИКА · 2019. 8. 30. · Минимизация булевых функций ..... 38 2.5. Геометрическая интерпретация

21

Глава 2.

ФУНКЦИИ АЛГЕБРЫ ЛОГИКИ

В результате освоения главы 2 студент должен:знать • основы теории функций алгебры логики;уметь• применять язык формул алгебры логики; • выполнять эквивалентные преобразования формул; • доказывать полноту систем функций алгебры логики;владеть• простейшими методами минимизации формул алгебры логики.

2.1. Основные определения

Джордж Буль установил истинную связь алгебры и логики.

А. де Морган

Определение 2.1. Функцией алгебры логики, зависящей от n пере-менных, (а также булевой функцией1) называется функция f(x1, …, xn), переменные которой, как и сама функция, могут принимать значения из множества {0, 1}.

Множество всех функций алгебры логики, зависящих от n перемен-ных, обозначается P2(n), а их число |P2(n)| — p2(n). Функция алгебры логики является отображением f : {0, 1}n → {0, 1} множества наборов (a1, …, an) значений ai, i = 1, …, n, ее переменных x1, …, xn в множество {0, 1}. Это отображение представляется таблицей, в левом столбце ко-торой размещаются бинарные наборы значений переменных, упорядо-ченные по возрастанию числовых эквивалентов, а в правом — соответ-ствующие им значения функции. Разные такие отображения являются разными функциями и каждая функция не может быть представлена разными отображениями. При одном и том же порядке переменных та-блицы, представляющие разные функции, различаются столбцами их значений, т. е. при определенном порядке переменных соответствие функций и отображений является биекцией.

1 Джордж Буль (George Boole, 1815—1864) — английский математик и логик.

Page 22: ДИСКРЕТНАЯ МАТЕМАТИКА · 2019. 8. 30. · Минимизация булевых функций ..... 38 2.5. Геометрическая интерпретация

22

Утверждение 2.1. Число двоичных наборов длины n равно 2n. Доказательство. Доказательство данного утверждения предлага-

лось выше в учебнике в качестве упражнения 1.1. Утверждение 2.2. Число p2(n) функций алгебры логики, зависящих

от n переменных, равно 22 .n Доказательство. Число p2(n) — это одновременно и число таблиц

отображений. Эти таблицы различаются столбцами значений функций. Высота этих столбцов равна 2n — числу различных бинарных наборов длины n. Число различных возможных столбцов равно 22 .n

Это число с ростом n быстро растет, так как с увеличением n на еди-ницу очередное число возводится в квадрат: p2(n + 1) = (p2(n))2.

Таким образом, булеву функцию, зависящую от n переменных, мож-но однозначно представить бинарным вектором длины 2n ее значений на перечисляемых в указанном выше порядке бинарных наборах зна-чений ее переменных (это перечисление принимается по умолчанию). Эквивалентными способами задания функции алгебры логики является задание ее перечислением десятичных эквивалентов двоичных набо-ров значений переменных, на которых функция принимает значение 1 или 0 (перечислением прообразов единичных или нулевых значений).

Булевы функции, зависящие от одной переменной, вместе с их обо-значениями и названиями представлены в табл. 2.1.

Таблица 2.1 Булевы функции, зависящие от одной переменной

x Константа 0 Константа 1 Тождественная функция

Отрицание

0 0 1 0 11 0 1 1 0

Обозначение: 0 1 x x

Отрицание обозначают также .x¬ В табл. 2.2 представлены пять фун-кций, зависящих от двух переменных и их обозначения, а в табл. 2.3 — еще пять функций, являющихся отрицаниями функций из табл. 2.2.

Таблица 2.2 Булевы функции, зависящие от двух переменных

x1 x2 Конъюн-кция

Дизъюн-кция

Сумма по модулю два

Имплика-ция

Обратная импликация

0 0 0 0 0 1 1

0 1 0 1 1 1 0

1 0 0 1 1 0 1

1 1 1 1 0 1 1

Обо-значе-ние:

x1 ∧ x2 x1 ∨ x2 x1 ⊕ x2 x1 → x2 x1 ← x2

Page 23: ДИСКРЕТНАЯ МАТЕМАТИКА · 2019. 8. 30. · Минимизация булевых функций ..... 38 2.5. Геометрическая интерпретация

23

Таблица 2.3 Отрицания булевых функций, зависящих от двух переменных

x1 x2 Штрих Шеффера

Стрелка Пирса

Равноз-начность

Отрицание имплика-

ции

Отрицание обратной

импликации

0 0 1 1 1 0 0

0 1 1 0 0 0 1

1 0 1 0 0 1 0

1 1 0 0 1 0 0

Обозначе-ние:

x1 | x2 x1 ↓ x2 x1 ≡ x2 1 2x x→ 1 2x x←

Для обозначения конъюнкции используют также знак & или, по ана-логии с операцией умножения, обозначение вообще опускают: x1 ∧ x2 = = x1 & x2 =x1x2. Далее в книге могут использоваться различные спо-собы обозначения конъюнкции. Для сокращения записей формул с ло-гическими операциями принимают соглашение об опускании скобок, полагая, что по силе связывания логические операции располагаются в таком порядке: , ,|, , , .¬ ↓ ∧ ∨ →

Функции табл. 2.3 могут быть выражены через функции табл. 2.2. Например, штрих Шеффера1 1 2 1 2 1 2|x x x x x x= ∧ = ∨ , а стрелка Пирса2

1 2 1 2 1 2.x x x x x x∨ = ∧↓ =В некоторых случаях одно и то же отображение может представлять

функции, различающиеся порядком следования переменных, например f(x1, x2) = x1 ∨ x2 и j(x1, x2) = f(x2, x1) = x2 ∨ x1, но существуют функции, при разном порядке следования переменных являющиеся различными отображениями, например f(x1, x2) = x1 → x2 и ψ(x1, x2) = f(x2, x1) = x2 → x1.

Функции, являющиеся одинаковыми отображениями при любом по-рядке следования переменных, называются симметричными.

Такие функции при любой перестановке (т. е. однородной биекции) π на множестве номеров переменных сохраняются:

f(xπ(1), …, xπ(i), …, xπ(n)) = f(x1, …, xi, …, xn).

Переменная xi булевой функции f(x1, …, xi–1, xi, xi+1, …, xn) называ-ется существенной, если при некотором наборе (a1, …, ai–1, ai+1, …, an) значений остальных переменных

f(a1, …, ai–1, 0, ai+1, …, an) ≠f(a1, …, ai–1, 1, ai+1, …, an).

Переменная, не являющаяся существенной, называется фиктивной.

1 Генри Морис Шеффер (Henry Maurice Sheffer, 1882—1964) — американский логик.2 Чарльз Сандерс Пирс (Charles Sanders Peirce, 1839—1914) — американский фи-

лософ и логик. О нем можно прочитать в книге: Кирющенко В. В. Чарльз Сандерс Пирс, или Оса в бутылке. Введение в интеллектуальную историю Америки. М. : Территория будущего, 2008.

Page 24: ДИСКРЕТНАЯ МАТЕМАТИКА · 2019. 8. 30. · Минимизация булевых функций ..... 38 2.5. Геометрическая интерпретация

24

Пример 2.1. Рассмотрим табличное представление функции f(x1, x2, x3):

x1 x2 x3 f(x1, x2, x3)

0 0 0 0

0 0 1 1

0 1 0 0

0 1 1 1

1 0 0 1

1 0 1 0

1 1 0 1

1 1 1 0

В данном случае переменная x2 — фиктивная, а переменные x1 и x3 — су-щественные.

Таблицу булевой функции можно упростить, исключив фиктивные пере-менные. Для этого достаточно вычеркнуть столбец значений этой переменной и удалить по одной строке из образовавшихся при этом пар одинаковых строк:

x1 x2 x3 f(x1, x2, x3) x1 x3 f(x1, x2, x3)

0 0 0 0 0 0 0

0 0 1 1 0 1 1 x1 x3 f(x1, x2, x3)

0 1 0 0 0 0 0 0 0 0

0 1 1 1 ⇔ 0 1 1 ⇔ 0 1 1

1 0 0 1 1 0 1 1 0 1

1 0 1 0 1 1 0 1 1 0

1 1 0 1 1 0 1

1 1 1 0 1 1 0

Обратному преобразованию соответствует введение фиктивной пе-ременной.

Определение 2.2. Две булевы функции называются равными, если они одинаковы или если одна из них может быть получена из другой посредством описанных преобразований удаления или введения фик-тивных переменных.

Табличные представления булевых функций при большом числе пе-ременных громоздки. Поэтому, как правило, используются представле-ния функций формулами над некоторой системой функций.

Пусть задана некоторая система функций алгебры логики1.

={f1(x1, …, xn), …, fk(x1, …, xn)}. (2.1)

Дадим индуктивное определение формулы над системой .

1 С учетом возможности введения и исключения фиктивных переменных можно считать, что все функции являются функциями, зависящими от n переменных x1, …, xn.

Page 25: ДИСКРЕТНАЯ МАТЕМАТИКА · 2019. 8. 30. · Минимизация булевых функций ..... 38 2.5. Геометрическая интерпретация

25

Определение 2.3. 1. Отдельная запись fi(x1, …, xn) является форму-лой над системой функций (2.1). 2. Запись вида fi(A1, …, Aj, …, An), где Aj, j = 1, …, n, — формулы над системой (2.1) или переменные, есть формула над этой системой.

При этом если Aj является формулой над системой (2.1), то Aj назы-вается подформулой формулы fi(A1, …, Aj, …, An), в которую она входит. Таким образом, формула имеет иерархическую структуру вложенных одна в другую подформул. Наибольшая длина цепочки вложенных фор-мул называется глубиной формулы.

Формула определяет (вычисляет, реализует) булеву функцию: по ней вычисляются значения функции на любом наборе (a1, …, an) значений переменных. При этом в порядке неубывания глубины подформул вы-числяются их значения как значения переменных (если Aj — перемен-ная) или как значения 1( , ..., )i nf A A� � функций fi на вычисленных к этому моменту наборах значений 1( , ..., )nA A� � .

Такие вычисления значений функции, заданной формулой, соответ-ствуют следующему индуктивному определению функции, реализуе-мой формулой над системой функций.

Определение 2.4. 1. Формула вида fi(x1, …, xn) реализует функцию fi(x1, …, xn). 2. Формула вида fi(A1, …, Aj, …, An), где Aj — формулы или переменные ,

jix реализует функции 1

( , ..., , ..., ),j ni i i if f f f где

jif — функции, реализуемые формулами Aj, или тождественные функции ( ) .

j j ji i if x x=Функция, реализуемая формулой над системой функций (2.1), на-

зывается суперпозицией функций этой системы. В частности, формулы f(xπ(1), …, xπ(n)), f(x, …, x), где π есть перестановка на множестве но-меров переменных, а f(x, …, x) получена подстановкой тождественной функции x вместо каждой переменной функции f(x1, …, xi, …, xn), ре-ализуют суперпозиции функций любой системы, содержащей эту фун-кцию.

Таким образом, функциями системы (2.1) могут порождаться другие функции в результате подстановки в них функций этой системы или переменных, в частности просто перестановкой или заменой перемен-ных.

Множество всех функций, которые можно получить таким образом из функций некоторой системы M, т. е. множество всех суперпозиций этой системы, называется ее замыканием и обозначается [M].

Одну и ту же функцию можно реализовать разными формулами над той или иной системой функций. Две формулы называются эквивален-тными, если они реализуют равные булевы функции. Эквивалентность формул обозначают знаком равенства. Эквивалентные формулы, соеди-ненные знаком равенства, называют также тождеством. Простейшие (базисные) тождества собраны в табл. 2.4.

Из индуктивного определения формулы над системой функций алге-бры логики вытекает следующее утверждение.

Page 26: ДИСКРЕТНАЯ МАТЕМАТИКА · 2019. 8. 30. · Минимизация булевых функций ..... 38 2.5. Геометрическая интерпретация

26

Утверждение 2.3. Справедливы следующие правила эквивалентных преобразований формул: (Э1) замена в двух эквивалентных формулах всех вхождений некоторой переменной одной и той же подформулой приводит к эквивалентным формулам; (Э2) при замене любой подфор-мулы эквивалентной ей подформулой получается формула, эквивален-тная исходной формуле.

Таблица 2.4Простейшие тождества1

Обозначе-ние

Формулы Название

АЛ1 x ∧ x = x; x ∨ x = x Идемпотентность

АЛ2 x1 ∧x2 = x2 ∧x1; x1 ∨x2 = x2 ∨x1 Коммутативность

АЛ3 x1 ∧(x2 ∧x3) = (x1 ∧x2) ∧x3;x1 ∨(x2 ∨x3) = (x1 ∨x2) ∨x3

Ассоциативность

АЛ4 x1 ∧(x1 ∨x2) = x1; x1 ∨(x1 ∧x2) = x1

Тождества поглощения

АЛ5 x1 ∧(x2 ∨(x1 ∧x3)) = (x1 ∧x2) ∨(x1 ∧x3);x1 ∨(x2 ∧(x1 ∨x3)) = (x1 ∨x2) ∧(x1 ∨x2)

Модулярность

АЛ6 x1 ∧(x2 ∨x3) = (x1 ∧x2) ∨(x1 ∧x3);x1 ∨(x2 ∧x3) = (x1 ∨x2) ∧(x1 ∨x3)

Дистрибутивность

АЛ7 x1 ∧ 1 = x1; x1 ∨0 = x1; x1 ∧0= 0; x1 ∨ 1 = 1 Свойства констант

АЛ8 0 11 1 1 1;x x x x∧ = ∨ = Свойства отрицания

АЛ9 x x= Снятие двойного отрицания

АЛ101 2 1 2;x x x x∧ = ∨ 1 2 1 2x x x x∨ = ∧ Тождества Де Моргана1

Согласно правилам Э1 и Э2 из тождеств АЛ1—АЛ10 можно вывести более общие тождества, заменив переменные x1, x2, x3 произвольными формулами Ф1, Ф2 и Ф3, например Ф1 ∨(Ф1 ∧Ф2) = Ф1.

Булева функция *1 1( , ..., ) ( , ..., )n nf x x f x x= называется двойственной

к функции f(x1, …, xn). Справедливо свойство взаимной двойственности: (f*)* = f.

Например, 1 2 1 2,x x x x∧ = ∨ т. е. функция x1 ∧x2 двойственна к фун-кции x1 ∨x2, функция x1 ∨x2 двойственна к функции x1 ∧x2, взаимно двойственны константы 0 и 1.

Если f(x1, …, xn) = f*(x1, …, xn), то функция f(x1, …, xn) называется само двойственной.

Например, самодвойственны функции x, x1x2 ∨x1x3 ∨x2x3.

1 Август де Морган (Augustus de Morgan, 1806—1871) — шотландский математик.

Page 27: ДИСКРЕТНАЯ МАТЕМАТИКА · 2019. 8. 30. · Минимизация булевых функций ..... 38 2.5. Геометрическая интерпретация

27

Упражнение 2.1. Как распознать свойство самодвойственности по таблице булевой функции? Перечислите самодвойственные функции, зависящие от двух переменных.

Указание. Самодвойственные функции имеют противоположные значе-ния на противоположных наборах значений переменных. Из 16 элементар-ных (т. е. зависящих от одной или от двух переменных) функ ций самодвой-ственными являются две тождественные функции и их отрицания.

Утверждение 2.4. Если

f(x1, …, xn) = j(f1(x1, …, xn), …, fm(x1, …, xn)),

то* * * *

1 1 1 1( , ..., ) ( ( , ..., ), ..., ( , ..., )).n n m nf x x f x x f x x= ϕ

Доказательство. Используя определение двойственной функции и свойство АЛ9, получаем

*1 1 1 1 1

* *1 1 1 1 1 1

* * *1 1 1

( , ..., ) ( , ..., ) ( ( , ..., ), ..., ( , ..., ))

( ( , ..., ), ..., ( , ..., )) ( ( , ..., ), ..., ( , ..., ))

( ( , ..., ), ..., ( , ..., )).

n n n m n

n m n n m n

n m n

f x x f x x f x x f x x

f x x f x x f x x f x x

f x x f x x

= = ϕ =

= ϕ = ϕ == ϕ

С помощью этого утверждения индукцией по глубине формулы лег-ко доказывается следующее утверждение

Утверждение 2.5 (принцип двойственности). Если в некоторой формуле Ф заменить все обозначения функций обозначениями двой-ственных функций, то получится формула Ф*, представляющая двойст-венную функцию (т. е. суперпозиция двойственных функций двойст-венна суперпозиции функций).

Сформулируем следствия принципа двойственности.Следствие 2.1. Если в двух эквивалентных формулах заменить все

функции на двойственные, то получатся две эквивалентные формулы. Следствие 2.2. Для любой булевой функции справедливо тождество

*1 1( , ..., ) ( , ..., ).n nf x x f x x=

2.2. Разложение булевых функций по переменным

Если остановить любого из этих прохо-жих, то вряд ли даже один из пятидесяти смо-жет внятно объяснить, что такое электриче-ство, не говоря уже о каком-нибудь булевом логическом выражении.

Т. Фишер. «Идиотам просьба не беспокоиться»

Булевы функции f(σ1, …, σk, xk+1, …, xn), получающиеся при подста-

новке констант σ1, …, σk вместо переменных x1, …, xk функции f(x1, …, xn), называются (σ1, …, σk)-компонентой этой функции. Число k назы-вается рангом этой компоненты функции.

Page 28: ДИСКРЕТНАЯ МАТЕМАТИКА · 2019. 8. 30. · Минимизация булевых функций ..... 38 2.5. Геометрическая интерпретация

28

Замещаться константами могут любые переменные функции, не только первые по порядку их следования. Например, функция f(x1, x2, 0) = x1x2 есть (σ3)-компонента при σ3 = 0 функции f(x1, x2, x3) = x1x2 ∨∨x1x3 ∨x2x3.

Для сравнения всех (σ1, …, σk)-компонент функции удобно исполь-зовать прямоугольные таблицы, в которых столбцы соответствуют на-борам значений переменных x1, …, xk, а строки — наборам значений остальных переменных функции f(x1, …, xk, …, xn). Тогда столбцы пред-ставляют все возможные такие компоненты.

Пример 2.2. Функция f(x1, x2, x3, x4) представлена таблицей(x1, x2)

f(x1, x2, x3, x4) 00 01 10 11

(x3, x4)

00 1 0 0 1

01 0 1 0 0

10 0 0 1 1

11 0 1 1 1

Столбцы представляют (σ1, σ2)-компоненты, например f(0, 1, x3, x4) = x4, а строки являются (σ3, σ4)-компонентами, например f(x1, x2, 1, 1) = x1 ∨x2. Для представления строками или столбцами других (σi, σj)-компонент таблицу сле-дует перестроить перестановкой некоторых подтаблиц. Например, перестанов-кой нижней левой и верхней правой квадратных частей таблицы, содержащих по четыре элемента, столбцы становятся (σ3, σ2)-компонентами, а строки — (σ1, σ4)-компонентами:

(x3, x2)

f(x1, x2, x3, x4) 00 01 10 11

(x1, x4)

00 1 0 0 0

01 0 1 0 1

10 0 1 1 1

11 0 0 1 1

Упражнение 2.2. Какие части таблицы следует переставить, чтобы в строках получить (x2, x4)-компоненты функции f(x1, x2, x3, x4)?

Указание. Таблицу разбейте на две части, в одной — два первых столбца, во второй — третий и четвертый. В этих двух таблицах переставьте две нижние клетки левого столбца и две верхние клетки правого столбца. Например, для функции из последнего примера получится таблица

(x1, x3)

f(x1, x2, x3, x4) 00 01 10 11

00 1 0 0 1

(x2, x4) 01 0 0 0 1

10 0 0 1 1

11 1 1 0 1

Page 29: ДИСКРЕТНАЯ МАТЕМАТИКА · 2019. 8. 30. · Минимизация булевых функций ..... 38 2.5. Геометрическая интерпретация

29

Таблицы можно строить при любом разбиении множеств перемен-ных.

Пример 2.3. Функцию f(x1, x2, x3, x4) из примера 2.2 можно представить та-блицей

(x1, x2, x3)

f(x1, x2, x3, x4) 000 010 100 110 001 011 101 111

(x4) 0 1 0 0 1 0 0 1 1

1 0 1 0 0 0 1 1 1

Строками представлены σ4-компоненты, а столбцами — (σ1, σ2, σ3)-ком по-нен ты функции f(x1, x2, x3, x4) из примера 2.2.

Введем понятия элементарной конъюнкции и элементарной дизъ-юнкции. При этом запись xσ, σ ∈{0, 1}, будем понимать как обозначе-ние переменной x (при σ = 1) или ее отрицания x (если σ = 0). Ясно, что σσ = 1.

Константу 1 назовем элементарной конъюнкцией нулевого ранга, а формулу вида 1

1... ,i ik

ki ix xσ σ∧ ∧ где все переменные различны, — элемен-тарной конъюнкцией ранга k.

Используем сокращенные обозначения 1 11 1

... ,i i i ik kk ki i i ix x x xσ σ σ σ∧ ∧ = �

опуская знаки ∧.Аналогично константа 0 называется элементарной дизъюнкцией ну-

левого ранга, а формула вида 11

,σ σ∨…∨i ikki ix x где все переменные различ-

ны, — элементарной дизъюнкцией ранга k.Эти функции обладают следующими очевидными свойствами:

для любых

в остальных случа

ес и

;

л

ях1

1

1, ,

0,j ji ik

k

i ii i

jaa aσ σ = σ=

для любых

в остальных с

если

.лучаях1

1 ,

0 ,

1

,σ σ σ∨≠

…∨ =

j ji ikk

i ii i

aa

ja

Здесь ,jia j = 1, …, k, — суть значения переменных элементарной

конъюнкции или дизъюнкции.Понятия (σ1, …, σk)-компонент, элементарных конъюнкций и эле-

ментарных дизъюнкций используются в теоремах о конъюнктивном и дизъюнктивном разложении функций алгебры логики.

Теорема 2.1 (теорема Шеннона1 о дизъюнктивном разложении). Всякая функция алгебры логики f(x1, …, xk, …, xn) представима форму-лой

1

11 1 11

( , , ) {0,1}( , ..., ) ( , ..., , , ..., ).k

kkn k k nkf x x x x f x xσ σ

+σ … σ ∈

= σ σ∨ �

1 Клод Эльвуд Шеннон (Claude Elwood Shannon, 1916—2001) — американский инженер и математик.

Page 30: ДИСКРЕТНАЯ МАТЕМАТИКА · 2019. 8. 30. · Минимизация булевых функций ..... 38 2.5. Геометрическая интерпретация

30

Доказательство. Рассмотрим значение этой формулы на произ-вольном двоичном наборе значений переменных (a1, …, an). С учетом указанного свойства элементарных конъюнкций все слагаемые этой дизъюнктивной суммы, кроме одного, а именно 1

11 ( , ..., ),ka anka a f a a� за-

ведомо будут равны нулю, а указанный выделенный член равен значе-нию f(a1, …, an). Такое равенство выполняется для всех таких двоичных наборов.

Пример 2.4. Используя данные о компонентах функции f(x1, x2, x3, x4) из примера 2.2, приведем несколько ее дизъюнктивных разложений:

0 0 0 01 11 2 3 4 3 4 3 4 3 41 2 1 2 1 2

1 13 4 1 2 3 4 1 2 4 1 2 3 1 2 4 31 2

0 0 0 01 1 1 11 2 1 2 1 24 4 4 43 3 3 3

( , , , ) (0, 0, , ) (0,1, , ) (1, 0, , )

(1,1, , ) ( ) ( ) ( ) ( )

( , ,0,0) ( , ,0, 1) ( , ,1, 0) (

f x x x x x x f x x x x f x x x x f x x

x x f x x x x x x x x x x x x x x x x

x x f x x x x f x x x x f x x x x f

= ∨ ∨ ∨

∨ = ∨ ∨ ∨ ∨ → == ∨ ∨ ∨ 1 2

3 4 1 2 3 4 2 1 3 4 1 3 4 1 2

, ,1,1)

( ) ( ) ( ) ( ).

x x

x x x x x x x x x x x x x x x

=

= ⊕ ∨ → ∨ ∨ ∨

Следствие 2.3 (о дизъюнктивном разложении по одной перемен-ной). Всякая функция алгебры логики f(x1, …, xn) реализуется формулой

1 1 2 1 2( , ..., ) (0, , ..., ) (1, , ..., ).n n nf x x x f x x x f x x= ∨

Следствие 2.4 (о дизъюнктивном разложении по всем перемен-ным). Всякая функция алгебры логики f(x1, …, xn), не являющаяся кон-стантой 0, представима формулой

1

1 11 1

( , , ) {0,1} , ( , , ) 1( , ..., ) .n

nn nn n

ff x x x xσσ

σ … σ ∈ σ … σ == ∨ �

Эта формула получается из разложения по теореме 2.1

1

11 11

( , , ) {0,1}( , ..., ) ( , ..., )n

nnn n nf x x x x fσσ

σ … σ ∈= σ σ∨ �

удалением слагаемых, для которых f(σ1, …, σn) = 0.Формула, представляющая функцию по следствию 2.4, называется

совершенной дизъюнктивной нормальной формой функции (сокращенно СДНФ). Это частный случай дизъюнктивной нормальной формы (ДНФ), формулы, представляющей функцию в виде дизъюнкции элементарных конъюнкций.

Пример 2.5. Функция f(x1, x2, x3, x4) из примера 2.2 имеет следующую СДНФ:

1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4x x x x x x x x x x x x x x x x x x x x∨ ∨ ∨ ∨ 1 2 3 4x x x x∨ ∨

1 2 3 4 1 2 3 4.x x x x x x x x∨ ∨

Теорема 2.2 (теорема Шеннона о конъюнктивном разложении). Всякая функция алгебры логики f(x1, …, xk, …, xn) представима формулой

1

11 1 11

( , , ) {0,1}( , ..., ) ( ( , ..., , , ..., )).k

kkn k k nkf x x x x f x xσ σ

+σ … σ ∈

= ∨ ∨ ∨ σ σ∧ �

Page 31: ДИСКРЕТНАЯ МАТЕМАТИКА · 2019. 8. 30. · Минимизация булевых функций ..... 38 2.5. Геометрическая интерпретация

31

Доказательство. Построим по теореме 2.1 дизъюнктивное разло-жение отрицания данной функции f(x1, …, xn):

1

11 1 11

( , , ) {0,1}( , ..., ) ( , ..., , , ..., ).k

kkn k k nkf x x x x f x xσ σ

+σ … σ ∈

= σ σ∨ �

По следствию 2.2, заменив все входящие в эту формулу функции двойственными функциями, а переменные — их отрицаниями, полу-чим формулу, представляющую функцию f(x1, …, xn):

1

1

* * *1 1 11

( , , ) {0,1}( , ..., ) ( ( , ..., , , ..., )).k

kkn k k nkf x x x x f x xσ σ

+σ … σ ∈

= ∨ ∨ σ σ∧ �

Преобразуем подформулы * * *1 1( , ..., , , ..., )k k nf x x+σ σ по определению

двойственной функции, учитывая,что *σ = σ:

1 1 1 1( , ..., , , ..., ) ( , ..., , , ..., ).k k n k k nf x x f x x+ +σ σ = σ σ

Следствие 2.5 (о конъюнктивном разложении по одной перемен-ной). Всякая функция алгебры логики f представима формулой

1 1 1 1

1 1 1

( , ..., ) ( ( , ..., ,1, , ))( (

, ...,, ..., , 0, ,. ))...

n k k k n

k k k n

f x x x f x x x xx f x x x x

− +

− +

= ∨ ∧∧ ∨

Такие разложения можно строить непосредственно по этой форму-ле, используя, например, соответствующие табличные представления функции, или путем преобразования дизъюнктивных разложений от-рицания функции заменой в них переменных отрицаниями перемен-ных, функций ∧ — функциями ∨, а функций ∨ — функциями ∧.

Следствие 2.6 (о конъюнктивном разложении по всем перемен-ным). Всякая функция алгебры логики f(x1, …, xk, …, xn), не равная кон-станте 1, представима формулой

1

1 11 1

( , , ) {0,1} , ( , , ) 0( , ..., , ..., ) ( ).σσ

σ … σ ∈ σ … σ == ∨…∨∧ n

nn nk n k

ff x x x x x

Представление булевой функции, получаемое по этому следствию, называется совершенной конъюнктивной нормальной формой функции (сокращенно СКНФ). Она является частным случаем конъюнктивной нормальной формы (КНФ) — представления функции в виде конъюн-кции элементарных дизъюнкций.

Элементарная конъюнкция, не содержащая отрицаний переменных, называется монотонной конъюнкцией. В частности, монотонной конъ-юнкцией является константа 1.

Определение 2.5. Полиномом Жегалкина1 называется формула, яв-ляющаяся монотонной конъюнкцией или суммой по модулю два раз-личных монотонных конъюнкций, или константой 0.

Теорема 2.3. Всякая функция алгебры логики представима полино-мом Жегалкина, причем единственным образом.

1 Иван Иванович Жегалкин (1869—1947) — профессор Московского университета.

Page 32: ДИСКРЕТНАЯ МАТЕМАТИКА · 2019. 8. 30. · Минимизация булевых функций ..... 38 2.5. Геометрическая интерпретация

32

Доказательство. Полином Жегалкина функции, являющейся кон-стантой, есть эта константа. Булева функция f(x1, …, xn), не равная константе 0, имеет СДНФ. По свойству элементарных конъюнкций на любом наборе значений переменных (a1, …, an) не более чем одна элементарная конъюнкция в этой СДНФ имеет значение 1. Учитывая свойства x ∨0 = x и x ⊕ 0 = x функции сложения по модулю два, все функции ∨ (если они имеются) в СДНФ можно заменить функциями ⊕. Затем в полученной формуле все отрицания переменных ix в элемен-тарных конъюнкциях заменяются эквивалентными формулами xi ⊕ 1. Далее раскрытием скобок по дистрибутивному закону x(y ⊕ 1) = xy ⊕ x и приведением подобных членов по закону x ⊕ x = 0 завершается по-строение полинома. То, что каждая функция алгебры логики представи-ма единственным полиномом Жегалкина, вытекает из того факта, что количество различных полиномов Жегалкина от n переменных равно числу функций алгебры логики, зависящих от n переменных. Действи-тельно, число монотонных конъюнкций, зависящих от не более чем n переменных (включая 1), равно 2n. Каждый полином Жегалкина вклю-чает определенный их набор, всего таких наборов 22 .n

Пример 2.6. Преобразуем СДНФ функции f(x1, x2, x3, x4) из примера 2.5 в полином Жегалкина:

(x1 ⊕1)(x2 ⊕1)(x3 ⊕1)(x4 ⊕1) ⊕x1x2(x3 ⊕1)(x4 ⊕1) ⊕⊕(x1 ⊕1)x2(x3 ⊕1)x4 ⊕x1(x2 ⊕1)x3(x4 ⊕1) ⊕

⊕x1x2x3(x4 ⊕1) ⊕(x1 ⊕1)x2x3x4 ⊕x1(x2 ⊕1)x3x4 ⊕x1x2x3x4 == 1 ⊕x1 ⊕x2 ⊕x3 ⊕x4 ⊕x1x4 ⊕x2x3 ⊕x3x4 ⊕x1x2x3 ⊕x1x3x4 ⊕x2x3x4.

Применим обозначение x(σ) (отличное от xσ, σ ∈{0, 1}):

есл

и

и

есл( )

,, 101, .

xx σ

σ == σ =

Это позволит представлять монотонные конъюнкции, содержащие переменные, которым в двоичном наборе (σ1, …, σn) соответствуют 1, в виде 1 ( )( )

1σσ ∧…∧ n

nx x и записывать полином Жегалкина функции f(x1, …, xn), следующим образом:

11

1

( )( )1 ( , , ) 1

( , , ) {0,1}( , ..., ) .σσ

σ … σσ … σ ∈

= ∧…∧⊕ nnnn

n nf x x a x x

Здесь 1( ,..., ) {0,1}

na σ σ ∈ — двоичные коэффициенты;

1( , ..., ) {0,1}nnσ σ ∈⊕ обо-

значает суммирование по модулю два по всем двоичным наборам.Значения функции на конкретном наборе по этой формуле вычисля-

ются как суммы коэффициентов:

11 1

1 ( , , )( , , ) ( , , )

( , ..., ) .n

n nn

a af a a a σ … σ

σ … σ ≤ …= ⊕

Page 33: ДИСКРЕТНАЯ МАТЕМАТИКА · 2019. 8. 30. · Минимизация булевых функций ..... 38 2.5. Геометрическая интерпретация

33

Здесь 1 1( , , ) ( , , )n na aσ … σ ≤ …

⊕ означает суммирование по всем наборам (σ1,

…, σi, …, σn), таким что σi ≤ ai, i = 1, …, n, т. е. по всем минорантам набора (a1, …, an).

Используя эту формулу, коэффициенты полинома Жегалкина можно представить в виде

1 1

1 1( , , ) 1 ( , , )

( , , ) ( , , )( , ..., ) .

n nn n

na a

a f a a aσ … σ σ … σσ … σ < …

= ⊕ ⊕ (2.2)

Здесь 1 1( , , ) ( , , )n na aσ … σ < …

⊕ означает суммирование по всем минорантам

набора (a1, …, an), не равным этому набору.Отсюда получаем способ вычисления коэффициентов полинома Же-

галкина в лексикографическом порядке их индексов:

a(0, 0, …, 0) = f(0, …, 0),

далее очередные коэффициенты вычисляются по формуле (2.2).Вычисление рассмотренными выше способами трудоемко. Известен

метод быстрого преобразования вектора значений функции в вектор коэффициентов полинома Жегалкина (см. работу [28]).

2.3. Теорема о полноте

Существуют системы функций алгебры логики, позволяющие пред-ставить формулой любую булеву функцию. Примерами таких систем являются: система

1 1 2 1 2{ , , },x x x x x∧ ∨ (2.3)

позволяющая каждую булеву функцию представить либо в СДНФ, либо в СКНФ, и система

{0, 1, x1 ∧x2, x1 ⊕x2}, (2.4)

позволяющая представить любую булеву функцию полиномом Жегал-кина.

Такие системы (С) называются полными. Их замыкания [С] совпада-ют с множеством P2 всех функций алгебры логики: [С] = P2.

Проблема полноты заключается в распознавании свойства полноты данной системы. Известны два подхода к этой проблеме.

Первый состоит в том, что формулами над исследуемой системой пытаются представить функции некоторой полной системы. Справед-лива следующая теорема.

Теорема 2.4. Если функции некоторой полной системы F представи-мы формулами над системой C, то система C также полная.

Доказательство оставляется читателю.

Page 34: ДИСКРЕТНАЯ МАТЕМАТИКА · 2019. 8. 30. · Минимизация булевых функций ..... 38 2.5. Геометрическая интерпретация

34

Пример 2.7. Система 1 1 2{ , }C x x x= ∧ является полной, так как функции пол-ной системы (2.3) можно представить формулами над ней.

При таком подходе для каждой новой системы приходится констру-ировать формулы, выражающие функции некоторой полной системы, с использованием функций из нее.

Второй подход, называемый критериальным, позволяет любую си-стему исследовать универсальным методом. При этом используется по-нятие замкнутого класса.

Замкнутым классом называется система функций F, совпадающая со своим замыканием: F = [F].

Введем обозначения:• T0 — множество функций, сохраняющих константу 0:

T0 ={f(x1, …, xn) : f(0, …, 0) = 0};

• T1 — множество функций, сохраняющих константу 1:

T1 ={f(x1, …, xn) : f(1, …, 1) = 1};

• S — множество самодвойственых функций:

S ={f(x1, …, xn) : f(x1, …, xn) = f *(x1, …, xn)};

• M — множество монотонных функций, т. е. функций f(x1, …, xn), таких что по всем наборам (a1, …, ai, …, an), таким что ai ≤ bi, i =1, …, n, выполняется неравенство f(a1, …, an) ≤ f(b1, …, bn):

M ={f(x1, …, xn) : (a1, …, an) ≤ (b1, …, bn) ⇒ f(a1, …, an) ≤ f(b1, …, bn)};

• L — множество линейных функций:

L ={f(x1, …, xn) : f(x1, …, xn) = a0 ⊕a1x1 ⊕… ⊕anxn, ai ∈{0, 1}}.

Упражнение 2.3. Проверьте, что каждое из пяти множеств T0, T1, S, M, L является замкнутым классом.

Указание. Рассмотрите суперпозицию j(f1(x1, …, xn), …, fm(x1, …, xn)) функ ций j, f1, …, fm из данного множества и докажите, что она принадле-жит этому множеству. Например, если функции j, f1, …, fm линейные, то линейной окажется и их суперпозиция.

Пример 2.8. Функция x1 ∧x2 принадлежит классам T0, T1 и M, но не принад-лежит классам S и L. Стрелка Пирса x1 ↓ x2 не принадлежит ни одному из этих классов. Сумма по модулю два принадлежит классам T0 и L и не принадлежит классам T1, S и M.

С целью краткости произвольные функции, не принадлежащие этим замкнутым классам, будем обозначать следующим образом: 0f — фун-кции, не сохраняющие константу 0, 1f — функции, не сохраняющие

Page 35: ДИСКРЕТНАЯ МАТЕМАТИКА · 2019. 8. 30. · Минимизация булевых функций ..... 38 2.5. Геометрическая интерпретация

35

константу 1, Sf — несамодвойственные функции, Mf — немонотонные функции, Lf — нелинейные функции.

Рассмотрим некоторые свойства функций , , .M LSf f fЛемма 2.1 (о несамодвойстенной функции). Из несамодвойствен-

ной функции подстановками вместо переменных тождественной фун-кции или ее отрицания можно получить некоторую константу.

Доказательство. Пусть f(x1, …, xn) — несамодвойственная фун-кция. Рассмотрим наборы (a1, …, an) и 1( , ..., )na a значений переменных, на которых нарушается самодвойственность: 1 1( , ..., ) ( , ..., ).n nf a a f a a= Рассмотрим функцию 1( ) ( , ..., ).na ax f x xϕ = Ясно, что

1 1(0) (0 ,..., 0 ) ( , ..., ),na anf f a aϕ = = 1 1(1) (1 ,...,1 ) ( , ..., ).na a

nf fϕ = = а а

Таким образом, j(0) = j(1) = c ∈{0, 1}, т. е. j(x) — константа.

Пример 2.9. Подставим тождественную функцию x вместо переменных функции импликации x1 → x2: 1.x x x x→ = ∨ =

Лемма 2.2 (о немонотонной функции). Из немонотонной функции подстановками переменной x и констант 0 и 1 вместо переменных можно получить отрицание x.

Доказательство. Пусть f(x1, …, xn) — немонотонная функция. Тог-да найдутся два набора значений переменных (a1, …, an) и (b1, …, bn), на которых нарушается свойство монотонности, т. е. такие, что (a1, …, an) < (b1, …, bn), а f(a1, …, an) > f(b1, …, bn) (при этом f(a1, …, an) =1, f(b1, …, bn) = 0).

Образуем функцию ψ(x) = f(χ1(x), …, χn(x)), где

если

если

, ,( ) 1,...,, , .

i i i

i i

a a bx i nx a b

=χ = =≠i

Тогда ψ(0) = f(a1, …, an) = 1; ψ(1) = f(b1, …, bn) = 0, так как χi(0) = ai, χi(1) = bi, т. е. ( ) .x xψ =

Лемма 2.3 (о нелинейной функции). Из нелинейной функции под-становками констант 0 и 1 вместо переменных можно получить эле-ментарную конъюнкцию 1 2

1 2x xσ σ∧ или элементарную дизъюнкцию 1 2

1 2 .x xσ σ∨Доказательство. Пусть f(x1, …, xn) — нелинейная функция. Рассмо-

трим ее полином Жегалкина. В нем есть хотя бы одно слагаемое, со-держащее две или более переменных. Не ограничивая общности, будем считать, что в него входят переменные x1 и x2. Рассмотрим такое сла-гаемое, содержащее наименьшее число k переменных, 2 ≤ k ≤ n. Также не ограничивая общности, положим, что оно совпадает с x1⋯xk. Тогда полином Жегалкина функции f(x1, x2, σ3, …, σn), где σ3 = … = σk = 1, σk+1 = … = σn = 0, имеет вид j(x1, x2) = a0 ⊕a1x1 ⊕a2x2 ⊕x1x2.

Page 36: ДИСКРЕТНАЯ МАТЕМАТИКА · 2019. 8. 30. · Минимизация булевых функций ..... 38 2.5. Геометрическая интерпретация

36

Эквивалентными преобразованиями получим

j(x1, x2) = a0 ⊕a1x1 ⊕a2x2 ⊕x1x2 = a0 ⊕a1x1 ⊕a2x2 ⊕x1x2 ⊕a1a2 ⊕a1a2 = = a0 ⊕a1a2 ⊕x1(x2 ⊕a1) ⊕a2(x2 ⊕a1) = a0 ⊕a1a2 ⊕(x2 ⊕a1)(x1 ⊕a2) =

= σ ⊕(x1 ⊕σ1)(x2 ⊕σ2),

где σ = a0 ⊕a1a2, σ1 = a2, σ2 = a1. Учитывая, что x x xσ σ⊕ σ = = , находим:

если

если

1 21 2

1 2

1 21 2 1 2

1 2

, 1,( , )) (

, 0.

x xx x x x

x x

σ σσ σ σ

σ σ

∨ σ =ϕ = ∧ = ∧ σ =

Следствие 2.7. Из нелинейной функции подстановками констант и возможными отрицаниями переменных и самой функции можно по-лучить конъюнкцию.

Действительно, 1 21 2 1 2( , .x x x x

σσ σ = ϕ

Теорема 2.5 (теорема Поста1 о функциональной полноте). Систе-ма функций алгебры логики F является полной тогда и только тогда, когда она не содержится ни в одном из замкнутых классов T0, T1, S, M и L.

Доказательство. Необходимость следует из очевидного свойства замыкания: если F1 ⊆F2 , то [F1] ⊆[F2]. Поэтому полная система F не мо-жет содержаться в замкнутом классе, не являющемся полным, а каж-дый из перечисленных классов полным не является, например функция стрелка Пирса x1 ↓ x2 не принадлежит ни одному из этих классов.

Достаточность. Пусть система F не содержится ни в одном из клас-сов K ∈{T0, T1, S, M, L}. Тогда в F найдутся не обязательно различные функции 0 1, , , MSf f f f и ,Lf не принадлежащие классам T0, T1, S, M и L соответственно.

Подстановкой переменной x в функции 0 1,f f можно получить отри-цание

если

если 0 0

1 1

( , ..., ), (1,...,1) 0,( , ..., ), (0,..., 0) 1

f x x fx

f x x f=

= =или обе константы

если

если 0 0

1 1

1 ( , ..., ), (1,...,1) 1,0 ( , ..., ), (0,..., 0) 0.

f x x fc

f x x f= =

= = =

В первом случае с помощью функции Sf по лемме 2.1 получим кон-станту c и следом — ее отрицание c .

Во втором случае с помощью функции fM по лемме 2.2 получим от-рицание и следом — вторую константу.

Далее с помощью нелинейной функции Lf по лемме 2.3 и следст-вию 2.7 получим конъюнкцию.

1 Эмиль Леон Пост (Emil Leon Post, 1897—1954) — американский математик.

Page 37: ДИСКРЕТНАЯ МАТЕМАТИКА · 2019. 8. 30. · Минимизация булевых функций ..... 38 2.5. Геометрическая интерпретация

37

Таким образом,через функции 0 1, , , MSf f f f и Lf можно выразить от-рицание и конъюнкцию, образующие полную систему, и по теореме 2.4 эти функции составляют полную систему.

Пример 2.10. Система функций {x1x2, 0, x1 ≡ x2} полная, так как x1 ≡ x2∉T0, 0 ∉T1, x1 ≡ x2 ∉S, x1 ≡ x2 ∉M, x1x2 ∉L. Система функций {x1 ⊕x2, x1x2} неполная, так как, например, обе функции содержатся в классе T0.

Полная система называется базисом, если никакая ее собственная (т. е. не совпадающая с ней подсистема) не является полной.

Следствие 2.8. Базис содержит не более четырех функций.Доказательство. Базис содержит функцию 0.f При этом если

0(1,...,1) 0,f = то 0 ,f M∉ а если 0(1,...,1) 1,f = то 0 ,f S∉ т. е. функция 0f яв-ляется одновременно либо функцией типа ,Mf либо функцией типа .Sf

Базис из четырех функций существует. Это система функций {x1x2, 0, 1, x1 ⊕x2 ⊕x3}.

Проверку полноты и базисности системы функций удобно выпол-нять с использованием таблицы. Ее столбцы соответствуют замкнутым классам T0, T1, S, M и L, а строки — функциям данной системы. В полях таблицы ставится знак «минус», если функция не принадлежит классу, и знак «плюс», если принадлежит. Таблица для данного базиса из четы-рех функций имеет вид

0 1

1 2

1 2 3

01

T T S M Lx x

x x x

+ + − + −+ − − + +− + − + +

⊕ ⊕ + + + − +

Ни одна строка не может быть удалена так, чтобы в каждом столбце остался знак «-».

Замкнутый класс F называется предполным, если он не совпадает с классом всех булевых функций P2 и если добавление к нему любой не принадлежащей ему функции приводит к образованию полной си-стемы: F ≠P2, но [F ∪ {f}] = P2, если f∉F.

Упражнение 2.4. Покажите, что

0 2 1 2 2 2 20 1{ } , { } , { } , { } , { } .M LST f P T f P S f P M f P L f P∪ = ∪ = ∪ = ∪ = ∪ =

Упражнение 2.5. Укажите, когда система {f(x, y)} из одной функции является полной.

Следствие 2.9. Существует только пять предполных классов фун-кций алгебры логики — T0, T1, S, M и L.

Доказательство. Каждый из этих классов не совпадает с P2. Любой замкнутый класс, не содержащийся ни в одном из этих классов, — пол-ная система. Любая другая замкнутая система либо совпадает с одним

Page 38: ДИСКРЕТНАЯ МАТЕМАТИКА · 2019. 8. 30. · Минимизация булевых функций ..... 38 2.5. Геометрическая интерпретация

38

из этих классов, либо является его собственной подсистемой, т. е. не яв-ляется предполным классом.

Э. Л. Пост доказал, что множество всех замкнутых классов булевых функций счетно и что каждый из них является конечно порожденным, т. е. имеет конечный базис — конечную систему функций, замыкание которой совпадает с данным классом, а замыкание любой ее собствен-ной подсистемы с ним не совпадает1.

2.4. Минимизация булевых функцийПри чтении популярных книг… наступает

страшный миг, когда страница вдруг зараста-ет математическими формулами, немедля ослепляющими разум читателя.

В. В. Набоков. «Ада, или радости страсти»

Каждая функция алгебры логики может быть представлена различ-ными формулами. Поэтому естественно возникает задача нахождения наиболее простых формул, представляющих данную функцию. Ввиду ее практической неразрешимости в общем виде (вследствие лавино-образного возрастания с ростом числа переменных числа возможных вариантов) ограничивают класс формул, в частности, рассматрива-ют представления функций алгебры логики только в дизъюнктивной (ДНФ) или только в конъюнктивной (КНФ) нормальной форме (см. выше). Булева функция, отличная от нуля, может иметь множество ДНФ, а функция, отличная от единицы, — множество КНФ. Минимиза-ция функций в классах ДНФ и КНФ заключается в нахождении наибо-лее простых таких формул.

ДНФ, содержащие наименьшее число вхожений переменных (т. е. имеющие наименьшую сумму рангов элементарных конъюнкций), на-зываются минимальными ДНФ, а ДНФ, содержащие наименьшее число элементарных конъюнкций — кратчайшими ДНФ. Аналогично опреде-ляются понятия минимальной и кратчайшей КНФ.

Функция j(x1, …, xn) называется импликантой функции f(x1, …, xn), если j→ f = 1, т. е. j(x1, …, xn) = 1 влечет f(x1, …, xn) = 1.

Функция j(x1, …, xn) называется имплициентой2 функции f(x1, …, xn), если f → j= 1, т. е. f(x1, …, xn) = 1 влечет j(x1, …, xn) = 1.

Легко проверить, что j→ f = 1 тогда и только тогда, когда j∨f = f, и f → j = 1 тогда и только тогда, когда j∧f = j.

Импликанты (имплициенты) обладают следующими очевидными свойствами.

1 Упрощенное изложение результатов Поста см. в книге: Яблонский С.  В., Гаври-лов Г. П., Кудрявцев В. Б. Функции алгебры логики и классы Поста. М. : Наука. 1966. Ко-роткое доказательство впоследствии было получено А. Б. Угольниковым (Угольников А. Б. О замкнутых классах Поста // Известия вузов. Математика. 1988. № 7 (314). С. 79—88).

2 Это понятие двойственно импликанте.

Page 39: ДИСКРЕТНАЯ МАТЕМАТИКА · 2019. 8. 30. · Минимизация булевых функций ..... 38 2.5. Геометрическая интерпретация

39

1. а) Дизъюнкция импликант функции f является импликантой функ-ции f;

б) конъюнкция имплициент функции f является имплициентой функ ции f.

2. а) Если j — импликанта функции f и ψ — любая функция алгебры логики, то j∧ψ является импликантой функции f;

б) если j — имплициента функции f и ψ — любая функция алгебры логики, то j∨ψ является имплициентой функции f.

3. Любая функция является импликантой (имплициентой) самой себя.

Ясно, что элементарные конъюнкции СДНФ функции f являются ее импликантами, а элементарные дизъюнкции СКНФ этой функции — ее имплициентами.

Будем использовать операцию склеивания двух элементарных конъюнк-ций 1 1iK x K= ′ и 2 2iK x K= ′, где элементарные конъюнкции 1K ′ и 2K ′ не име-ют переменных, входящих в одну из них с отрицанием, а в другую без отрицания. Такие элементарные конъюнкции будем называть сосед-ними. Результатом склеивания является элементарная конъюнкция

1, 2 1 2 1 2.K K K K K= = ′ ′�Утверждение 2.6. Если элементарные конъюнкции 1 1iK x K= ′ и K2 =

2ix K= ′ являются импликантами функции f, то элементарная конъюн-кция 1 2 1 2K K K K= ′ ′� также является ее импликантой.

Доказательство утверждения оставляется читателю. В соответствии с тождеством поглощения K1 = K1 ∨K1K2 будем го-

ворить, что элементарная конъюнкция K1 поглощает элементарную конъюнкцию K = K1K2.

В соответствии со свойствами импликант используем два правила эквивалентных преобразований ДНФ.

Э1. Неполное склеивание: нахождение двух соседних элементар-ных конъюнкций 1 1iK x K= ′ и 2 2iK x K= ′ и добавление в ДНФ результата

1 2 1 2K K K K= ′ ′� их склеивания.Э2. Поглощение: нахождение в ДНФ двух элементарных конъюн-

кций, одна их которых поглощает другую, и удаление поглощаемой конъюнкции, т. е. замена K1K2 ∨ K1 на K1 (более короткая элементарная конъюнкциям K1 поглощает более длинную K1K2).

Результат применения каждого из этих правил зависит от выбора упомянутых в них пар конъюнкций.

Элементарная конъюнкция K из ДНФ (элементарная дизъюнкция D из КНФ) функции алгебры логики называется простой импликантой (простой имплициентой) этой функции, если из нее нельзя удалить ни одной переменной, сохраняя свойство быть импликантой (импли-циентой).

Утверждение 2.7. Пусть K1 ∨K2 ∨... ∨Kp — минимальная ДНФ фун-кции f(x1, …, xn). Тогда Ki — простые импликанты.

Доказательство. Если это не так, то найдется импликанта Ki, кото-рая удалением одной или нескольких переменных преобразуется в про-

Page 40: ДИСКРЕТНАЯ МАТЕМАТИКА · 2019. 8. 30. · Минимизация булевых функций ..... 38 2.5. Геометрическая интерпретация

40

стую импликанту K′. Тогда по свойствам импликант f(x1, …, xn) = K1 ∨∨...∨Ki–1 ∨ ∨Ki∨Ki+1 ∨… ∨Kp =K1 ∨...∨Ki–1 ∨ Ki∨K′∨Ki+1 ∨… ∨Kp = = K1 ∨...∨Ki–1 ∨K′∨Ki+1 … ∨Kp. Последнее преобразование по пра-вилу Э2 эквивалентных преобразований ДНФ (элементарная конъюн-кция K i поглощается более простой элементарной конъюнкцией K′), т. е. существует ДНФ данной функции, содержащая меньшее число вхождений символов переменных, чем ДНФ K1 ∨K2 ∨ ...∨Kp, так как в конъюнкции Ki больше символов переменных, чем в K′.

Для минимальной КНФ верно двойственное утверждение. Утверждение 2.8. Минимальная ДНФ (КНФ) представляет собой

дизъюнкцию (конъюнкцию) простых импликант (простых имплици-ент).

Утверждение 2.9. Дизъюнкция (конъюнкция) всех простых импли-кант (имплициент) булевой функции равна этой функции.

Дизъюнкция (конъюнкция) всех простых импликант (имплициент) булевой функции называется сокращенной дизъюнктивной нормальной формой — сокр. ДНФ (сокращенной конъюнктивной нормальной фор-мой — сокр. КНФ) этой функции.

Пример 2.11. Сокращенной ДНФ функции f(x1, x2, x3) = S1(0, 2, 3, 4, 5, 7) (здесь перечислены десятичные эквиваленты двоичных наборов, на которых функция принимает значение 1) является ДНФ

1 3 2 3 1 2 1 2 1 3 2 3.x x x x x x x x x x x x∨ ∨ ∨ ∨ ∨

Ее минимальные ДНФ следующие:

1 3 1 2 2 3 2 3 1 2 1 3, .x x x x x x x x x x x x∨ ∨ ∨ ∨

Дизъюнкция (конъюнкция) простых импликант (имплициент) буле-вой функции, равная этой функции, называется тупиковой ДНФ (ту-пиковой КНФ) данной функции, если из нее нельзя удалить ни одной простой импликанты (имплициенты), не нарушая этого ее свойства.

Ясно, что минимальные ДНФ (КНФ) являются тупиковыми.

Пример 2.12. Кроме указанных в предыдущем примере имеется еще три тупиковые ДНФ той же функции:

1 3 2 3 1 3 2 3 1 3 1 2 1 2 1 3 2 3 1 2 1 2 2 3, , .x x x x x x x x x x x x x x x x x x x x x x x x∨ ∨ ∨ ∨ ∨ ∨ ∨ ∨ ∨

Таким образом, минимизация в классе ДНФ (КНФ) сводится к нахо-ждению всех простых импликант (имплициент) и выбору некоторых из них для образования минимальных форм.

Ниже представлен алгоритм Блейка1 — Порецкого2 вычисления со-кращенной ДНФ булевой функции, заданной ее произвольной ДНФ.

1 Blake A. Canonical expression in Boolean algebra : Dissertation. Chicago, 1937.2 Платон Сергеевич Порецкий (1846—1907) — доцент Казанского университета, ас-

троном. Первым в России стал заниматься математической логикой.

Page 41: ДИСКРЕТНАЯ МАТЕМАТИКА · 2019. 8. 30. · Минимизация булевых функций ..... 38 2.5. Геометрическая интерпретация

41

Алгоритм Блейка — Порецкого

Вход: ДНФ булевой функции f(x1, …, xn).Выход: сокращенная ДНФ этой функции.1. Удалить элементарные конъюнкции, поглощаемые хотя бы одной

из остающихся элементарных конъюнкций.2. Пока возможно: выполнять операцию неполного склеивания, вклю-

чать ее результат в ДНФ, если он не поглощается ни одной из ее элемен-тарных конъюнк ций, и затем выполнять операции поглощения с исполь-зованием новой элементарной конъюнкции (если она образовалась).

3. Вернуть полученную ДНФ.

Теорема 2.6. Алгоритм Блейка — Порецкого строит сокращенную ДНФ функции, заданной произвольной ДНФ.

Доказательство основано на леммах 2.4, 2.5, из которых следует, что алгоритм остановится после того, как в ДНФ будут включены все простые импликанты и в ней не будет иных элементарных конъюнкций.

Лемма 2.4. Если 1 2 1 2i iK K K x K x K= = ′ ′� � , то i iK x K x K= ′ ′� , где K′ есть имплициента как 1K ′, так и 2K ′.

Доказательство. Такой имплициентой является элементарная конъюнкция

1 2 i iK K K x K x K= =′ ′ ′ ′ ′� .

Лемма 2.5. Если ДНФ данной функции f(x1, …, xn) не является сокра-щенной, то в ней найдутся две элементарные конъюнкции, склеивани-ем которых получится элементарная конъюнкция, не поглощаемая ни одной из имеющихся в ДНФ.

Доказательство. Поскольку ДНФ не является сокращенной, най-дется не входящая в нее простая импликанта K. Ее ранг меньше, чем n, так как простые импликанты ранга n либо поглощаются некото-рой конъюнкцией в любой ДНФ, либо входят в сокращенную ДНФ. Поэтому некоторая переменная xi в простой импликанте K не пред-ставлена (непосредственно или в виде ее отрицания). Следовательно,

0 1.i i i iK x K x K x K x K K K= ∨ = =� � Если в ДНФ имеются элементарные конъюнкции 0K ′ и 1K ′, являющиеся имплициентами конъюнкций K0 и K1, то по лемме 2.4 их склеиванием и получается элементарная конъ-юнкция 0 1K K K= ′ ′� . Если же хотя бы одна элементарная конъюнкция K0 или K1 не имеет имплициенты в ДНФ, то описанная процедура рекур-сивно применяется к ней как к конъюнкции, не входящей в сокращен-ную ДНФ. В итоге будет получена элементарная конъюнкция, являюща-яся импликантой функции f(x1, …, xn), не входящая в текущую ДНФ.

Таким образом, после каждой итерации второго шага алгоритма Блейка — Порецкого получается ДНФ, не имеющая элементарных конъюнкций, поглощаемых некоторой из имеющихся в ней элементар-ных конъюнкций.

Page 42: ДИСКРЕТНАЯ МАТЕМАТИКА · 2019. 8. 30. · Минимизация булевых функций ..... 38 2.5. Геометрическая интерпретация

42

Пример 2.13. Построим сокращенную ДНФ функции f(x1, x2, x3, x4), задан-ной ДНФ 2 3 4 1 2 3 4 2 3 4 1 2 3 4 1 2 3 1 3 4x x x x x x x x x x x x x x x x x x x x∨ ∨ ∨ ∨ ∨ .

Элементарных конъюнкций, поглощаемых другими элементарными конъюнк циями этой ДНФ, нет. В пяти последовательных итерациях будут полу-чены следующие ДНФ (в каждой добавляется одна элементарная конъюнкция и одна или две, возможно, удаляются):

2 3 4 2 3 4 1 2 3 4 1 2 3 1 3 4 1 2 4 ,x x x x x x x x x x x x x x x x x x x∨ ∨ ∨ ∨ ∨

2 3 4 2 3 4 1 2 3 1 3 4 1 2 4 1 2 4 ,x x x x x x x x x x x x x x x x x x∨ ∨ ∨ ∨ ∨

2 3 4 2 3 4 1 2 3 1 3 4 1 2 4 1 2 4 1 3 4 ,x x x x x x x x x x x x x x x x x x x x x∨ ∨ ∨ ∨ ∨ ∨

2 3 4 2 3 4 1 2 3 1 3 4 1 2 4 1 2 4 1 3 4 1 2 3,x x x x x x x x x x x x x x x x x x x x x x x x∨ ∨ ∨ ∨ ∨ ∨ ∨

2 3 4 2 3 4 1 2 4 1 2 4 1 3.x x x x x x x x x x x x x x∨ ∨ ∨ ∨

Последняя полученная ДНФ и есть сокращенная ДНФ заданной функции.

Получаемая таким алгоритмом ДНФ хотя и называется сокращен-ной, может содержать большое число элементарных конъюнкций и в общем случае может упрощаться удалением некоторых из них. Дело в том, что отдельные элементарные конъюнкции могут быть импликан-тами дизъюнкций некоторых других элементарных конъюнкций и мо-гут быть удалены по соответствующему свойству импликант.

Таким образом, тупиковые (а среди них и минимальные) ДНФ по-лучаются из сокращенной ДНФ удалением некоторых элементарных конъюнкций.

Варианты такого удаления должны отвечать условию равенства по-лучаемой после удаления некоторых элементарных конъюнкций ДНФ исходной функции f(x1, …, xn): на каждом двоичном наборе (a1, …, an) таком, что f(a1, …, an) = 1, хотя бы одна из остающихся элементарных конъюнкций должна иметь значение 1. Такое логическое условие мож-но составить в виде булевой функции j(y1, …, ym), где бинарные пе-ременные yi, i = 1, …, m, соответствуют элементарным конъюнкциям сокращенной ДНФ K1 ∨K2 ∨ ...∨Km и имеют следующий смысл: при yi = 1 элементарная конъюнк ция Ki входит в тупиковую ДНФ.

Такое условие можно составить по так называемой импликантной таблице T. Это двоичная таблица размером m × s, где s — число набо-ров из области единичных значений функции. Столбцы соответствуют таким элементам, а строки — простым импликантам Ki сокращенной ДНФ и в то же время — соответствующим логическим переменным yi. Элемент T(i, j) таблицы равен 1, если на j-м наборе i-я импликанта име-ет значение 1.

В таблице могут быть столбцы, имеющие единицу только в одной строке. Очевидно, что соответствующие таким строкам элементарные конъюнкции обязаны быть в любой тупиковой ДНФ. Дизъюнкция та-ких элементарных конъюнкций образует ядро сокращенной ДНФ (его может и не быть). Тупиковые ДНФ образуются пополнением ядра.

Перед составлением упомянутого логического условия таблицу T следует упростить, удалив столбцы, поглощаемые хотя бы одним из ос-

Page 43: ДИСКРЕТНАЯ МАТЕМАТИКА · 2019. 8. 30. · Минимизация булевых функций ..... 38 2.5. Геометрическая интерпретация

43

тающихся, т. е. имеющие 1 в тех же строках, что и в одном из остаю-щихся столбцов (этим как бы предвосхитим упрощение составляемого логического условия с помощью тождества поглощения АЛ4). В частно-сти, будут удалены столбцы, имеющие единицу в строке, соответствую-щей некоторой элементарной конъюнкции ядра. Теперь можно соста-вить логическое условие упрощения ДНФ. Составляется конъюнкция элементарных дизъюнкций переменных, соответствующих единичным элементам столбцов. Приведением полученной КНФ к дизъюнктивно-му виду получим в виде элементарных конъюнкций варианты тупико-вых ДНФ в виде дизъюнкции простых импликант, соответствующих пе-ременным таких элементарных конъюнкций. Далее можно определить сложность каждого варианта и выбрать минимальные ДНФ.

Пример 2.14. Рассмотрим сокращенную ДНФ 1 3 2 3 1 2 1 3x x x x x x x x∨ ∨ ∨ фун-кции f(x1, x2, x3) = S1(0, 2, 4, 5, 7).

Составим импликантную таблицу:

1 1 3

2 2 3

3 1 2

4 1 3

(0, 0, 0) (0,1, 0) (1, 0, 0) (1, 0,1) (1,1,1)1 1 0 0 01 0 1 0 00 0 1 1 00 0 0 1 1

y x xy x xy x xy x x

Ядро сокращенной ДНФ образуют элементарные конъюнкции 1 3x x , x1x3. Они имеют значение 1 на двоичных наборах (0, 1, 0) и (1, 1, 1). После упроще-ния имеем таблицу

1 1 3

2 2 3

3 1 2

4 1 3

(0,1, 0) (1, 0, 0) (1,1,1)1 0 00 1 00 1 00 0 1

y x xy x xy x xy x x

Логическое условие имеет вид y1(y2 ∨ y3)y4. Приведением к дизъюн-ктивному виду получим y1y2y4 ∨ y1y3y4, отсюда имеем две тупиковые ДНФ

1 3 2 3 1 3x x x x x x∨ ∨ и 1 3 1 2 1 3x x x x x x∨ ∨ .

2.5. Геометрическая интерпретация дизъюнктивной нормальной формы

Миром правит геометрия, ибо геометрия — земное отражение божественного промысла.

Дж. Бэнвилл. «Кеплер»

Рассмотренные в предыдущем параграфе понятия имеют наглядную и удобную для анализа и компьютерной реализации геометрическую интерпретацию с использованием двоичного многомерного куба n

Page 44: ДИСКРЕТНАЯ МАТЕМАТИКА · 2019. 8. 30. · Минимизация булевых функций ..... 38 2.5. Геометрическая интерпретация

44

(см. параграф 1.1). Интервалом I(a, b) двоичного n-мерного куба с вер-хней границей a = (a1, …, an) и нижней границей b = (b1, …, bn) называ-ется множество двоичных наборов c = (c1, …, ci, …, cn), bi ≤ ci ≤ ai, i = 1, …, n.

Интервалы I(a, b) удобно представлять троичными векторами (α1, …, αn), где

если

если

,,, .i i i

ii i

a a ba b

=α = ∗ ≠

Здесь символ * обозначает, что половина двоичных наборов данного интервала в соответствующей позиции имеет значение 0, а в остальных наборах имеется значение 1, т. е. двоичные наборы интервалов (α1, …, αi–1, 0, αi+1, …, αn) и (α1, …, αi–1, 1, αi+1, …, αn) попарно различаются в этой позиции. Поэтому * интерпретируется как двухэлементное мно-жество {0, 1} возможных значений в соответствующей позиции. Тогда значения 0 и 1 интерпретируются как одноэлементные множества {0} и {1}. Соответственно такой интерпретации ниже при описании опе-раций над интервалами применяются теоретико-множественные по-элементные операции 0 1 , 0 0, 1 1∪ = ∩ ∗ = ∩ ∗ =∗ , * ∩ * = * (иные сочетания значений операндов не используются).

Размерностью dim I(a, b) интервала I(a, b) двоичного n-мерно-го куба называется число символов * в его обозначении, а число k = = n – dimI(a, b) называется его рангом (rkI(a, b)). Нульмерными ин-тервалами являются вершины двоичного n-мерного куба, а одномер-ными — его ребра. Сам двоичный n-мерный куб можно рассматривать как n-мерный интервал нулевого ранга.

Два интервала (α1, …, αn) и (β1, …, βn) называются смежными, если имеется ровно одна так называемая контрарная пара значений {αi, βi} = {0, 1}. В векторной нотации удобно описывать две операции над интервалами. Пересечение (∩) двух интервалов, не имеющих контрар-ных пар, образуется покомпонентным пересечением элементов их век-торных представлений:

(α1, …, αi, …, αn) ∩ (β1, …, βi, …, βn) = (α1 ∩ β1, …, αi ∩ βi, …, αn ∩ βn).

Сопряжение (обозначение ∘) соседних интервалов отличается от этой операции тем, что элементы контрарной пары объединяются (т. е. в соответствующей позиции ставится значение *), а элементы в остальных позициях пересекаются. Пересечение соответствует пере-сечению интервалов как множеств двоичных наборов, а сопряжение — объединению интервалов, являющихся подмножествами сопрягаемых интервалов.

Пример 2.15. (1, *, 0, *, 1) ∩ (*, 1, 0, *, 1) = (1, 1, 0, *, 1);(1, *, 0, *, 1) ∘ (*, 1, 1, *, 1) = (1, 1, *, *, 1).

Page 45: ДИСКРЕТНАЯ МАТЕМАТИКА · 2019. 8. 30. · Минимизация булевых функций ..... 38 2.5. Геометрическая интерпретация

45

Функцию алгебры логики удобно представлять отметками вершин куба n, на которых она принимает значение 1. Это множество называ-ют носителем этой функции и обозначают n

f .

Упражнение 2.6. Докажите, что носитель nK любой конъюнкции K =

11

,rri ix xσ σ= … рассматриваемой как функция, зависящая от n переменных x1,

…, xn, есть (n – r)-мерный интервал куба n.

Упражнение 2.7. Докажите, что для любых двух функций f, g, зависящих от одних и тех же n переменных, справедливы тождества

&, , ,nf g f g f g f g ff∨ = ∪ = ∩ =

( ) ( ).f g f g f g g f⊕ = ∪ = ∩

Определение 2.6. Множество интервалов, объединение которых равно носителю функции, называется покрытием носителя функции интервалами (коротко — покрытием).

Покрытие, из которого нельзя удалить ни один из интервалов, на-зывается тупиковым. Сложностью покрытия называется сумма ран-гов входящих в него интервалов. Покрытие минимальной сложности называется минимальным. Интервал, являющийся подмножеством носителя функции, называется ее единичным интервалом. Единичный интервал, не являющийся собственным подмножеством никакого дру-гого единичного интервала, называется максимальным единичным интервалом. Покрытие носителя функции n переменных, образован-ное интервалами ранга n, называется совершенным. Покрытие, содер-жащее все единичные максимальные интервалы, называется сокра-щенным.

Носитель простой импликанты есть максимальный единичный ин-тервал. Совершенной, сокращенной, минимальным и тупиковым ДНФ соответствуют одноименные покрытия. Пересечению элементарных конъюнкций соответствует пересечение интервалов, а склеиванию эле-ментарных конъюнкций — сопряжение интервалов.

Таким образом, всем действиям с ДНФ соответствуют действия с ин-тервалами.

Тупиковые и минимальные ДНФ можно строить с помощью импли-кантных таблиц, строки которых соответствуют максимальным еди-ничным интервалам, а единицы в клетках означают вхождение соот-ветствующего столбцу элемента в интервал. Логические переменные yi имеют следующий смысл: i-й интервал входит в покрытие.

Пример 2.16. Рассмотрим сокращенное покрытие

{I1, I2, I3, I4, I5, I6} = {(0, *, 0), (*, 0, 0), (0, 1, *), (1, 0, *), (*, 1, 1), (1, *, 1)}

множества {(0, 0, 0), (0, 1, 0), (1, 0, 0), (0, 1, 1), (1, 0, 1), (1, 1, 0), (1, 1, 1)} вер-шин трехмерного двоичного куба. Импликантная таблица имеет вид

Page 46: ДИСКРЕТНАЯ МАТЕМАТИКА · 2019. 8. 30. · Минимизация булевых функций ..... 38 2.5. Геометрическая интерпретация

46

1

2

3

4

5

6

(0, 0, 0) (0,1, 0) (1, 0, 0) (0,1,1) (1, 0,1) (1,1,1)(0, ,0) 1 1 0 0 0 0( , 0, 0) 1 0 1 0 0 0(0,1, ) 0 1 0 1 0 0(1, 0, ) 0 0 1 0 1 0( ,1,1) 0 0 0 1 0 1(1, ,1) 0 0 0 0 1 1

yyyyyy

∗∗

∗∗

∗∗

Ядра в данном случае нет, таблицу упростить нельзя. Каждый элемент множества входит в два интервала, и логическое условие покрытия содержит шесть элементарных дизъюнкций:

(y1 ∨y2)(y1 ∨y3)(y2 ∨y4)(y3 ∨y5)(y4 ∨y6)(y5 ∨y6).

Приведением к ДНФ получим пять вариантов тупиковых покрытий, соот-ветсвующих элементарным конъюнкциям этой ДНФ:

y1y4y5 ∨y2y3y6 ∨y1y2y5y6 ∨y2y3y4y5 ∨y1y3y4y6.

В том числе имеем два минимальных покрытия (соответствуют двум пер-вым элементарным конъюнкциям построенной ДНФ):

{I1, I4, I5} = {(0, *, 0), (1, 0, *), (*, 1, 1)}; {I2, I3, I6} = {(*, 0, 0), (0, 1, *), (1, * 1)}.

Пусть заданы покрытиями Π1 и Π2 два множества M1 и M2 двоичных наборов длины n. Следующий алгоритм, получаемый некоторым дополне-нием алгоритма Блейка — Порецкого, определяет, верно ли, что M2 ⊆M1.

Алгоритм сравнения двух покрытий

Вход: Произвольные покрытия Π1 и Π2 подмножеств M1 и M2 единич-ного n-мерного куба.

Выход: M2 ⊆M1?1. Принять 1 1 2 2, .= =′ ′Π Π Π Π2. Пока возможно, удалять все интервалы из 1′Π и 2′Π , покрываемые

отдельными остающимися в 1′Π интервалами, находить в 1′Π два интер-вала, порождающие сопряжением интервал, не покрываемый ни одним из имеющихся в покрытии 1′Π интервалов, и включать его в покрытие 1′Π .

3. Если 2′Π = ∅, вернуть true.4. Вернуть false.

Применяя этот алгоритм сначала к покрытиям Π1, Π2, а затем к ним же, но в обратном порядке, можно установить, в каком из отношений (M1 ⊂M2, M2 ⊂M1, M1 = M2 или M1 и M2 не сравнимы) находится пара множеств.

Исходное покрытие может быть произвольным набором интервалов, таким что каждый элемент покрываемого множества является элемен-том хотя бы одного интервала и, напротив, элементы дополнения это-го множества не входят ни в один из интервалов. Например, исходное покрытие может быть совершенным, т. е. состоять из одноэлементных

Page 47: ДИСКРЕТНАЯ МАТЕМАТИКА · 2019. 8. 30. · Минимизация булевых функций ..... 38 2.5. Геометрическая интерпретация

47

интервалов. Но предпочтительнее использовать по возможности бо-лее «крупные» интервалы. Их можно находить, например, в двоичном n-мерном кубе, на котором выделены элементы покрываемого множе-ства, или по картам Карно1. Карта Карно — это прямоугольная табли-ца, столбцы которой соответствуют переменным x1, …, xk, а строки — переменным xk+1, …, xn. Столбцы и строки карты помечаются наборами значений соответствующих переменных так, что метки соседних стол-бцов или строк (с учетом циклического замыкания от последнего стол-бца к первому и от последней строки к первой) различались в одной позиции. Такое размещение двоичных наборов называется кодом Грея. В клетки таблицы, соответствующие элементам покрываемого мно-жества, заносятся значения 1. Правильным конфигурациям из клеток с единицами — образующим (с учетом замыкания по столбцам и стро-кам) заполненные единицами прямоугольники — и соответствуют ин-тервалы, которые можно использовать в исходном покрытии.

Как правило, число n не превышает четырех. При больших числах n целесообразно использовать 2n–4 карт по числу наборов значений пере-менных x5, …, xn. При внимательном анализе небольших таблиц мож-но сразу найти все максимальные интервалы, тогда исходное покрытие окажется сокращенным и алгоритм его не изменит. Но не всегда уда-ется увидеть в таблице все максимальные интервалы, а при использо-вании нескольких таблиц, представляющих более сложные множества при n > 6, даже если взять максимальные интервалы этих таблиц, они могут в сочетании образовывать более крупные интервалы, но вполне подходят как кандидаты в начальное покрытие, к которому применяет-ся описанный выше алгоритм.

Упражнение 2.8. Постройте исходное покрытие подмножества куба {0, 1}5, заданного двумя картами Карно для x5 = 0 и x5 = 1:

5

3 4

1 2

0( , )

( , ) (0, 0) (0,1) (1,1) (1, 0)(0, 0) 1 0 0 0(0,1) 1 0 0 1(1,1) 1 0 0 1(1,0) 0 0 0 0

xx x

x x

=

5

3 4

1 2

1( , )

( , ) (0, 0) (0,1) (1,1) (1, 0)(0, 0) 1 0 0 0(0,1) 0 0 0 0(1,1) 1 0 0 1(1, 0) 0 0 0 1

xx x

x x

=

и постройте сокращенное покрытие этого множества.

1 Морис Карно (Maurice Karnaugh, род. 1924) — американский физик.

Page 48: ДИСКРЕТНАЯ МАТЕМАТИКА · 2019. 8. 30. · Минимизация булевых функций ..... 38 2.5. Геометрическая интерпретация

48

Указание. По первой карте находим интервалы (0, *, 0, 0, 0), (*, 1, *, 0, 0). По второй карте обнаружим три интервала: (0, 0, 0, 0, 1), (1, 1, *, 0, 1), (1, *, 1, 0, 1).

Если использовать эти пять интервалов в качестве исходного покрытия, алгоритм обнаружит еще один максимальный интервал (0, 0, 0, 0, *). Таким образом, совершенное покрытие состоит из шести интервалов.

Используется также алгоритм Куайна — МакКласки1. Согласно это-му алгоритму для построения сокращенного покрытия, пока возможно, выполняются циклически сначала так называемые неполные склеива-ния, т. е. сопряжения интервалов одного и того же ранга, различаю-щихся только в одной позиции (контрарной паре), а затем все возмож-ные поглощения. Такой алгоритм построит сокращенное покрытие, если он будет применен к совершенному покрытию. Если же исходное покрытие совершенным не является, потребуется сначала его услож-нить, заменив элементарные конъюнкции меньшего ранга дизъюнкци-ями соответствующих конъюнкций большего ранга. Например, по по-крытию (1, 1, 1), (1, *, 0), (0, 0, 0) по алгоритму Блейка — Порецкого сопряжением первого и второго интервалов с последующим поглоще-нием первого получается покрытие (1, 1, *), (1, *, 0), (0, 0, 0), далее сопряжением двух последних интервалов с последующим поглощени-ем получается сокращенное покрытие (1, 1, *), (1, *, 0), (*, 0, 0). Для применения алгоритма Квайна — МакКласки сначала требуется прео-бразовать исходное покрытие в совершенное «расщеплением» второго интервала: (1, 1, 1), (1, 1, 0), (1, 0, 0), (0, 0, 0).

О сложности нахождения минимального покрытия. Описанный ме-тод нахождения тупиковых и минимальных покрытий в общем случае может потребовать экспоненциально возрастающих с числом перемен-ных объемов вычислений и практически оказывается неприемлемым. Поэтому используют приближенные алгоритмы, которые могут приво-дить к решению, отличающемуся от минимального. Такими алгоритма-ми являются, например, различные варианты градиентного алгоритма покрытия двоичной таблицы (см. гл. 11).

О минимизации КНФ. По заданной КНФ по принципу двойственно-сти можно получить ДНФ отрицания той же функции. Построением сокращенных, тупиковых и минимальных ДНФ и последующим прео-бразованием их по тому же принципу двойственности получим сокра-щенную, тупиковые и минимальные КНФ этой же функции.

О минимизации частичных функций алгебры логики. Частичная фун-кция алгебры логики F(x1, …, xn) принимает значение 1 на двоичных наборах из области единичных значений и значение 0 на двоичных на-борах из области нулевых значений. На остальных наборах эта функция не определена. Функции F(x1, …, xn) соответствует множество функций

1 Уиллард Ван Орман Куайн (Willard Van Orman Quine, 1908—2000) — американ-ский логик и философ; Эдвард МакКласки (Edward McCluskey, род. 1929) — американ-ский инженер и математик.