- •Одеса Наука і техніка 2006
- •Розділ 1. Теорія множин і алгебраїчних систем
- •1.1. Основні поняття і завдання множин
- •1.2. Операції над множинами. Формули. Тотожності
- •1.3. Доведення тотожностей. Булева алгебра множин
- •1.4. Узагальнення операцій. Подвійність
- •Спісок літератури: Основна
- •2.1. Рівняння
- •2.2. Покриття і розбивки
- •2.3. Потужність множин. Зчисленні і континуальні множини
- •Список літератури Основна
- •3.1. Упорядковані множини
- •3.2. Графіки
- •Список літератури Основна
- •4.1. Відповідності
- •4.2. Образи і прообрази
- •4.3. Відображення і діаграми
- •Список літератури Основна
- •5.1. Основні поняття відношень
- •5.2. Множинні операції відношень
- •Список літератури Основна
- •6.1. Перестановка, ототожнення, приписування фіктивної координати
- •6.2. Згортка де Моргана, суперпозиція
- •Список літератури Основна
- •7.1. Успадковані властивості відношень
- •7.2. Спеціальні властивості відношень
- •Список літератури Основна
- •8.1. Еквівалентність
- •8.2. Порядок
- •8.3. Толерантність
- •8.4. Квазіпорядок
- •Список літератури Основна
- •9.1. Замикання відношень
- •9.2. Спеціальні функції
- •9.2.1. Підстановки
- •9.2.2. Послідовності
- •9.2.3. Функціонали
- •9.2.4. Функції, що зберігають алгебраїчні властивості
- •9.3. Операції
- •9.3.1. Загальні визначення операцій
- •9.3.2. Властивості операцій
- •Список літератури Основна
- •10.1 Композиція об'єктів
- •10.2. Внутрішній закон композиції
- •11.1 Алгебраїчні системи (моделі)
- •11.2. Групи підстановок і кільце множин
- •Розділ II. Комбінаторика
- •12.1. Вибірка елементів
- •12.2. Правило суми і добутку
- •12.3. Перестановки
- •12.4. Сполучення
- •12.5. Рекурентні співвідношення
- •12.6. Біном Ньютона
- •Список літератури Основна
- •13.1. Поліноміальні твірні функції
- •13.2. Експонентні твірні функції
- •13.3. Принцип включення і виключення
- •13.4. Розбивки
- •Список літератури Основна
- •Розділ III. Графи
- •14.1. Основні визначення
- •14.2. Способи представлення графів
- •Список літератури Основна
- •15.1. Основні визначення (продовження)
- •15.2. Зважені (відзначені) графи
- •Список літератури Основна
- •16.1. Операції над графуми
- •16.2. Властивості базових операцій над графами
- •Список літератури Основна
- •17.1. Чисельні характеристики графів
- •17.1.1. Ступінь вершин
- •17.1.2. Цикломатичне число
- •17.1.3. Хроматичне число
- •17.1.4. Множина внутрішньої стійкості
- •17.1.5. Множина зовнішньої стійкості
- •17.2. Представлення графів у пам'яті еом
- •Список літератури Основна
- •Розділ IV. Скінченні автомати
- •18.1. Абстрактний автомат
- •18.2. Способи завдання автоматів
- •18.2.1. Табличний спосіб
- •18.2.2. Графічний спосіб
- •18.3. Розширення функцій і
- •Список літератури Основна
- •19.1. Синхронні й асинхронні автомати
- •19.2. Асинхронні автомати, що тактуються
- •19.3. Перетворення автоматів Мілі і Мура
- •19.3.1. Перетворення автомата Мура в автомат Мілі
- •19.3.2. Перетворення автомата Мілі в автомат Мура
- •19.4. Сполучена модель автоматів – с-автомат
- •Список літератури Основна
- •20.1. Композиція автоматів
- •20.1.1. Рівнобіжне з'єднання
- •20.1.2. Послідовне з'єднання двох автоматів
- •20.1.3. З'єднання зі зворотним зв'язком
- •20.2. З'єднання автоматів з вихідною функцією
- •Список літератури Основна
- •21.1. Мережі автоматів
- •21.2. Еквівалентні автомати мережі
- •Список літератури Основна
- •Розділ V. Булева алгебра
- •22.1. Логічні функції
- •22.2. Булеві функції
- •22.3. Логічні формули
- •Список літератури Основна
- •23.1. Способи завдання булевих функцій
- •23.1.1. Табличний спосіб
- •23.1.2. Аналітичний спосіб Нормальні форми
- •23.1.3. Геометричний спосіб
- •23.1.4. Чисельний спосіб
- •23.2. Приведення формул булевої алгебри до досконалої форми
- •Список літератури Основна
- •24.1. Булева алгебра
- •24.2. Спрощення запису формул
- •24.3. Подвійність формул булевої алгебри
- •24.4. Булева алгебра множин
- •Список літератури Основна
- •25.1. Алгебра Жегалкіна
- •25.2. Типи булевих функцій
- •25.3. Функціональна повнота
- •25.4. Логічні (перемикальні) схеми
- •25.5. Канонічна задача синтезу логічних схем
- •Список літератури Основна
- •26.1. Графічний метод мінімізації булевих функцій
- •26.2. Табличний метод мінімізації
- •Список літератури Основна
- •27.1. Аналітичні методи мінімізації
- •27.1.1. Комплекс кубів
- •27.1.2. Постановка задачі
- •27.2. Метод Квайна
- •27.3. Алгебраїчний метод одержання мінімального покриття (алгоритм Петрика)
- •Список літератури Основна
- •28.1. Метод Квайна-МакКласкі
- •28.2. Мінімізація частково визначених функцій
- •Список літератури Основна
- •29.1 Основні визначення
- •29.2 Інтервальне представлення в матричній формі
- •29.3. Спрощення днф за матричною формою Закревського
- •30.1. Формулювання алгоритму побудови максимальних інтервалів для точки
- •30.2. Алгоритм для днф
- •30.3. Метод Блейка
- •31.1. Основні визначення
- •32.2. Використання системи булевих функцій для синтезу кс
- •31.3 Точний метод мінімізації систем булевих функцій Барті-Полянського
- •31.4. Інтуїтивний метод спрощення системи днф за матричною формою
- •32.1. Інтервальне представлення в еом
- •32.2. Основні операції над інтервальним представленням
- •33.1. Використання операцій інтервального представлення
- •33.2. Метричні властивості диз'юнктивної нормальної форми
- •34.1 Булеві рівняння
- •34.2. Булеві нерівності
- •34.3. Спільні системи нерівностей і рівнянь
- •35.1. Властивості булевой різниці
- •35.2. Методи знаходження булевой різниці
- •35.3. Подвійна булева різниця
- •35.4. Булеві похідні й диференціали
- •36.1. Висловлення предикатів
- •36.2. Логіка предикатів
- •36.3. Правила застосування кванторів
- •Список літератури Основна
- •Список літератури
- •Вступ 3
- •1. Теорія множин і алгебраїчних систем 4
- •2. Комбінаторика 65 Лекція 12. Комбінаторика. Базові методи 65
- •3. Графи 78
- •4. Скінченні автомати 101
- •5. Булева алгебра 123 Лекція 22. Булеві функції 123
30.2. Алгоритм для днф
Для кожного елемента mM1 розраховується число k сусідніх елементів множини M1Mх.
Вибирається елемент mM1 з меншим значенням k, якщо таких елементів декілька, то для визначеності алгоритму вибирається перший.
Перебувають максимальні інтервали, що містять елемент m, і серед них вибирається один, котрий покриває найбільше число елементів, що залишилися в множині M1 (уточнюючі правила вибору наведені нижче в зауваженнях).
Кон’юнкція, що відповідає обраному максимальному інтервалу, записується в результуючу ДНФ. Всі елементи безлічі M1, покриті обраним інтервалом, переводяться в Mх (заміняються на «×»).
Якщо в матриці ще є елементи множини M1, то виконується п. 2. Інакше виконується пункт 6.
На матрицю наносяться всі інтервали, обрані при побудові спрощеної ДНФ, і якщо хоча б для одного з них усі точки покриті іншими обраними інтервалами, то такий інтервал видаляється й викреслюється відповідна кон’юнкція ДНФ. Перевірка безнадмірності сукупності інтервалів, що залишилася, проводиться доти, поки в кожному інтервалі не виявиться хоча б по одній точки, покритої тільки цим інтервалом. Ця процедура гарантує безнадмірність побудованої ДНФ.
Зауваження до алгоритму для ДНФ:
Про самоперевірку. Процедура п. 6 алгоритму дозволяє перевірити правильність розв’язання, побудована ДНФ повинна представляти функцію, тобто всі елементи множини M1 (або точки) покриті хоча б одним з інтервалів, жоден з елементів множини M0 (або порожні елементи матриці) не покритий жодним з інтервалів.
Про точність. Точний метод Квайна-МакКласки використовує для гарантії побудови оптимальних розв’язань таблицю покриттів.
Алгоритм для КНФ відрізняється від алгоритму для ДНФ тільки у п.п. 4 та 6, які у такому випадку вмають вигляд відповідно 4’ і 6’:
4’. Диз'юнкція, що відповідає обраному максимальному інтервалу, записується в ітогову КНФ. Всі елементи множини M1, що покриті обраним інтервалом, переводяться в Mх (заміняються на «×»).
6’. На матрицю наносяться всі інтервали, обрані при побудові спрощеної КНФ, і якщо хоча б для одного з них усі точки покриті іншими обраними інтервалами, то такий інтервал видаляється й викреслюється відповідна диз'юнкція КНФ. Перевірка безнадмірності сукупності інтервалів, що залишилася, проводиться доти, поки в кожному інтервалі не виявиться хоча б по одній точки, покритій тільки цим інтервалом. Ця процедура гарантує безнадмірність побудованої КНФ.
30.3. Метод Блейка
При мінімізації функції методом Квайна-МакКласки потрібно попередньо представити її в СДНФ, що часто пов'язано з додатковими перетвореннями функції.
Якщо виходити з довільної ДНФ, то для одержання проміжної скороченої ДНФ можна застосувати прямий метод Блейка, заснований на тотожності операцій узагальненого склеювання й поглинання.
acbc = acbcab; (ac)(bc) = (ac)(bc)(ab);
aca=a; (ac)a=a.
Передбачається, що операції виконуються з ліворуч на праворуч. Звичайно на першому етапі виконується операція узагальненого склеювання поки це можна, на другому етапі виконується операція поглинання.
Дійсно, acbc = (acabc)(bcabc) = acbcab(cc) = acbcab. Вхідні в тотожність букви можуть представляти будь-які булевы формули, зокрема кон’юнкції змінних.
Тотожність узагальненого склеювання застосовують доти, поки не перестануть з'являтися нові елементарні кон’юнкції, після цього застосовують тотожність поглинання (порядок виконання тотожностей насправді не дуже суттєвий). Можна показати, що довільна ДНФ приводиться до скороченої ДНФ застосуванням всіх можливих узагальнених склеювань із наступним усуненням мінтермів на основі операції поглинання aab = a. При цьому можливі такі випадки:
Кон’юнкція а містить змінну xj, кон’юнкція b – заперечення цієї ж змінної xj (або навпаки). Тоді ab=0 й у результаті операції узагальненого склеювання не виходять нові мінтерми. Таким чином, слід піддавати цієї операції тільки ті пари мінтермів, у яких загальна змінна представлена як xj і xj.
Кон’юнкція а містить змінні, які входять у кон’юнкцію b (або навпаки), тобто b = ас. Тоді axibxi = axiacxi = axiacxiac = axiac = axib, тобто мінтерм вихідної ДНФ поглинається мінтермом, утвореним у результаті узагальненого склеювання.
Приклад. Нехай функція задана покриттям, що відповідає ДНФ
y=x1x2 x3 x1 x2 x3 x1 x2x3 x1x2 x3 x1 x2 x3.
Після узагальненого склеювання будуть отримані нові мінтерми
y= x1x2 x1x3 x2x3 x1x3.
Після поглинання виходить
y=x1x2 x3 x1 x2 x3 x1 x2x3 x1x2 x3 x1 x2 x3 x1x2 x1x3 x2x3 x1x3 = x1x2 x1x3 x2x3 x1x3.
Отже, скорочена ДНФ дорівнюватимє
y= x1x2 x1x3 x2x3 x1x3.
Представлення прикладу комплексами кубів, що допускають алгоритмічну реалізацію, має такий вигляд:
Кa= 000 Кb= 000 Кс=
001 001
010 010
101 101
111 111
(Нові куби першого кроку )
00 00
00 00
01 01
11 11
Тут Кa – вихідна ДНФ, Кb – вихідна ДНФ плюс нові куби, отримані в результаті узагальненого склеювання, Кс – підсумкова скорочена форма, що складається з кубів {00, 00, 01, 11}, утворена в результаті поглинання. Їй і відповідає скорочена ДНФ
y= x1x2 x1x3 x2x3 x1x3.
Приклад. Нехай функція задана за допомогою ДНФ
y=x2x3x4 x1x2x3x1x2x4x1x2x4x1x2x3x4.
Застосування операції узагальненого склеювання до пар (x2x3x4, x1x2x4), (x1x2x3, x1x2x4), (x1x2,x3 x1x2x4), (x1x2x4, x1x2x3x4) і облік того, що у двох останніх парах відбувається поглинання мінтермів, дає
y=(x2x3x4x1x2x4x1x2x3)(x1x2x3x1x2x4x1x3x4) (x1x2x3x1x2x4x2x3x4)(x1x2x4x2x3x4)(x1x2x4 x1x3x4).
Видалення однакових членів a a=a й угруповання старих і нових мінтермів дозволяє одержати
y=(x2x3x4x1x2x4x1x2x3x1x2x4)(x1x2x3x1x3x4 x2x3x4x2x3x4x1x3x4).
При подальшому узагальненому склеюванні має сенс розглядати тільки пари, утворені новими мінтермами з усіма мінтермами отриманої ДНФ. Такими парами є (x2x3x4, x1x3x4), (x2x3x4, x2x3x4), (x1x2x4, x1x3x4), (x1x2x4, x2x3x4), (x1x2x3, x1x2x3), (x1x2x4, x2x3x4), (x1x2x4, x1x3x4), (x1x2x3, x1x3x4), (x1x2x3, x1x3x4), (x1x3x4, x2x3x4), (x2x3x4, x1x3x4).
Застосування до кожної пари кон’юнкцій операції узагальненого склеювання й поглинання відповідно до наведених правил дає такий вираз:
y=x1x2x4x1x2x4x1x3x4x2x3x4x1x3x4x2x3.
Єдиний новий мінтерм x2x3 у парі з кожним з інших мінтермів не приводить до появи нових мінтермів, тому отримана форма є скороченою ДНФ.
Представлення прикладу модифікованими комплексами кубів має такий вигляд:
Кa= 100 Кb= 100 Кс= 100
110 110 110
101 101 101
011 011 011
0011
(Нові куби першого кроку)
101 101
101 101
011 011
011 011
010 010
(Нові куби другого кроку)
10
У підсумку комплекс Кс утворює скорочене покриття.
Діючи аналогічно, можна застосувати метод Блейка й для одержання скороченої КНФ.
Приклад. Нехай функція задана покриттям, що відповідає КНФ (часткове склеювання Блейка)
y= (x1x2)(x1x2x3).
Після узагальненого склеювання буде отриманий вираз, що має вигляд
y= (x1x2)(x1x2x3)(x2x3).
Після виконання поглинання буде отриманий вираз
y= (x1x2)(x2x3).
Представлення прикладу модифікованими комплексами кубів має такий вигляд:
Кa= 00 Кb= 00 Кс= 00
100 100
(Нові куби першого кроку )
00 00
Комплекс Кс, що складається із двох кубів {00, 00}, утворює скорочене покриття.
Контрольні запитання
Які дії припускає перший крок алгоритму побудови максимальних інтервалів для заданої точки?
Які дії припускає другий крок алгоритму побудови максимальних інтервалів для заданої точки?
Які дії припускає третій крок алгоритму побудови максимальних інтервалів для заданої точки?
Як працює алгоритм побудови максимальних інтервалів для ДНФ?
Які зміни необхідні для алгоритму побудови максимальних інтервалів для КНФ?
Які властивості застосовуються в методі Блейка?
У чому різниця між методами Блейка і Квайна-МакКласкі?
Виконання яких кроків припускає метод Блейка?
Які зміни необхідні для застосування методу Блейка для КНФ?
Список літератури
Основна
Закревский А.Д. Логический синтез каскадных схем, – М.: Наука, 1991. – С.123-130.
Сигорский В.П. Математический аппарат инженера. – К.: Техника, 1975. - С.555.
Додаткова
Новоселов В.Г., Скатков А.В. Прикладная математика для инженеров-системотехников. Дискретная математика в задачах и примерах. – К.: Учебно-методический кабинет высшего образования, 1992. - С.146-183.
Для практичних занять
Методичні вказівки і завдання до контрольних робіт з дисципліни «Основи дискретної математики» для студентів очної та заочної форм навчання фахів 6.0804, 6.0915 / О.М. Мартинюк. – Одеса: ОНПУ, 2001. – С.38-40.
Лекція 31. Мінімізація систем булевих функцій
Вступ
Лекція має за мету дати базові методи мінімізації систем булевих функцій. Розглянуто основні визначення, зокрема нове поняття ярлика кон’юнкції, показана необхідність спільної мінімізації. Наведено точний метод мінімізації Барті-Полянського, що узагальнює метод Квайна-МакКласки й інтуїтивний метод спрощення за матричною формою. Звернено увагу на особливості застосування одного й іншого методів.
У лекції присутні чотири підрозділи:
Основні визначення
Використання системи булевих функцій для синтезу КС
Точний метод Барті-Полянського мінімізації систем булевих функцій
Інтуїтивний метод спрощення системи ДНФ за матричною формою