
- •6.050102 “ Комп’ютерна інженерія” та 6.050101 “Комп’ютерні науки”
- •1. Графи. Основні поняття та визначення
- •1.1. Визначення графа
- •1.2. Типи скінченних графів
- •1.3. Суміжність та інцидентність
- •1.4. Способи задання графів
- •1.5. Маршрути і підграфи
- •На орграфі рис. 1.4, а маршрут (е1, е2, е5) – простий шлях, що є контуром, а маршрут (е1, е2, е3) – простий неконтурний шлях.
- •1.6. Зв'язність і роздільність
- •1.7. Характеристики графів
- •1.8. Дерева і ліс
- •1.9. Приклади задач, які використовують зважені графи
- •2.1. Логіка висловів. Загальні поняття
- •2.2. Формули алгебри висловів
- •2.3. Розв'язання «логічних» задач
- •2.4. Застосування алгебри логіки в теорії автоматів. Схеми перемикачів
- •2.5. Логіка першого порядку (логіка предикатів). Загальні поняття
- •2.6. Інтерпретація формул логіки предикатів
- •2.7. Передуюча нормальна форма
- •2.8. Логіка реляційна
- •2.9. Нечітка логіка. Загальні поняття
- •2.10. Нечітка алгебра
- •2.11. Нечітке числення
- •3. Булеві функції. Основні закони алгебри логіки
- •3.1. Цифрові автомати в схемотехніці та програмуванні
- •3.2. Висловлювання, предикати, булеві функції
- •3.3. Схемні реалізації булевих функцій
- •3.4. Найбільш поширені булеві функції
- •3.5. Основні закони алгебри логіки
- •4. Аналітичне подання булевих функцій. Функціонально повні системи булевих функцій
- •4.1. Досконала диз’юнктивна нормальна форма
- •4.2. Досконала кон’юнктивна нормальна форма
- •4.3. Досконала Шефферівська нормальна форма
- •4.4. Досконала Пірсівська нормальна форма
- •4.5. Функціонально повні системи булевих функцій
- •5. Мінімізація булевих функцій
- •5.1. Карти Карно
- •5.2. Мінімальна диз’юнктивна нормальна форма
- •5.3. Мінімальна кон’юнктивна нормальна форма
- •5.4. Мінімальна Шефферівська нормальна форма
- •5.5. Мінімальна Пірсівська нормальна форма
- •6. Абстрактні цифрові автомати
- •6.1. Основні поняття, пов’язані з абстрактними автоматами
- •6.2. Способи задання абстрактних автоматів
- •6.3. Приклади синтезу абстрактних автоматів
- •7. Синтез структурного автомата
- •7.1. Етапи канонічного методу структурного синтезу автоматів
- •7.2. Кодування станів
- •7.3. Побудова канонічної таблиці структурного автомата
- •7.4. Вибір елементів пам’яті автомата
- •7.5. Побудова таблиці збудження тригера
- •7.6. Побудова рівнянь функцій збудження і виходів автомата
- •7.7. Побудова функціональної схеми автомата
- •8. Проектування комбінаційних схем на дешифраторах і мультиплексорах
- •8.1. Синтез схем на дешифраторах
- •8.2. Синтез схем на мультиплексорах
- •9. Синтез мікропрограмного автомата за схемою алгоритму
- •9.1. Послідовність дій, необхідних для побудови управляючого пристрою
- •9.2. Синтез автомата Мілі
- •9.3. Синтез автомата Мура
- •10. Формальні мови і граматики
- •10.1. Визначення формальних мов і граматик
- •10.2. Приклади, що ілюструють первинні поняття
- •10.3. Порожня мова
- •10.4. Типи формальних мов і граматик
- •10.5. Виведення у кв-граматиках і правила побудови дерева виведення
- •10.6. Неоднозначні та еквівалентні граматики
- •10.7. Способи задання схем граматик
- •11. Контекстно-вільні граматики і автомати
- •11.1. Приведені граматики
- •11.2. Виключення ліворекурсивних правил
- •11.3. Виключення ланцюгових правил
- •11.4. Магазинні автомати
- •12. Спадні розпізнавачі
- •12.1. Розділені граматики
- •12.2. Побудова детермінованого спадного розпізнавача
- •12.3. Слаборозділені граматики
- •12.5. Побудова магазинного автомата
- •12.6. Приклади побудови спадного розпізнавача
- •4. Аналітичне подання булевих функцій.
- •8. Проектування комбінаційних схем на
- •9. Синтез мікропрограмного автомата за схемою
- •Теорія цифрових автоматів та формальних мов. Вступний курс
- •6.050101 “Комп’ютерні науки”
4.1. Досконала диз’юнктивна нормальна форма
Оскільки між множиною аналітичного подавання і множиною схем, які реалізують булеву функцію, існує взаємно однозначна відповідність, відшукування канонічної форми подання булевої функції є початковим етапом синтезу схеми, що її реалізує. Найбільше поширення отримала досконала диз’юнктивна нормальна форма (ДДНФ). Наведемо визначення конституенти одиниці – поняття, яке буде далі широко використовуватись.
Визначення. Конституентою одиниці називається функція f (x1, x2, …, xn), яка приймає значення 1 тільки на одному наборі.
Конституента
одиниці записується у вигляді терма,
тобто у вигляді логічного множення п
різних булевих змінних, деякі з яких
можуть бути з використанням заперечення.
Наприклад,
f =
– елементарний
логічний добуток, який являється
конституентою одиниці змінних x1,
x2,
x3
і x4,
приймає значення
1 тільки
на одному наборі
1001. Зрозуміло,
що на решті
15 наборах
ця функція приймає значення 0.
Якщо згадати, що диз’юнкція приймає значення 1, коли хоча б одна зі змінних приймає значення 1, то можна легко виразити будь-яку булеву функцію як диз’юнкцію конституент одиниці, які відповідають тим наборам, на яких функція приймає значення 1. У більш загальному вигляді це можна записати таким чином (4.1):
,
де
і
.
(4.1)
Ц
Таблиця 4.1 – Таблиця істинності
x1
x
2
x3
f1
f2
0
0
0
0
0
0
0
1
1
0
0
1
0
1
0
0
1
1
0
1
1
0
0
1
0
1
0
1
0
1
1
1
0
0
1
1
1
1
1
1
Приклад 1. Випишемо ДДНФ для функцій, заданих таблицею істинності (табл. 4.1).
.
4.2. Досконала кон’юнктивна нормальна форма
Друга відома форма носить назву досконалої кон’юнктивної нормальної форми (ДКНФ). Вона будується аналогічно ДДНФ, але при цьому використовуються конституенти нуля.
Визначення. Конституентою нуля називається функція, яка приймає значення 0 тільки на одному наборі.
Конституента
нуля записується у вигляді елементарної
диз’юнкції всіх змінних даної функції.
Кожному набору відповідає своя
конституента нуля.
Наприклад, набору
0110 змінних
х1,
х2,
x3
і
x4
відповідає конституента нуля
.
ДКНФ представляється як кон’юнкція
конституент нуля, які відповідають тим
наборам, на яких функція приймає значення
0. У більш
загальному вигляді це можна записати
таким чином
(4.2):
,
де
і
.
(4.2)
Приклад 2. Для розглянутої вище функції f1 (див. табл. 4.1) побудуємо ДКНФ
.