
- •Самарский государственный архитектурно-строительный университет
- •Часть 1.
- •Оглавление
- •1. Модели дискретных структур. Комбинационные схемы
- •1.1. Введение
- •1.2. Функции алгебры логики
- •1.3. Булева алгебра. Функциональная полнота
- •Свойства алгебры Жегалкина
- •1.4. Минимизация функции алгебры логики
- •1.5. Функции k-значной логики
- •1.6. Основные понятия трехзначной логики
- •1.7. Представление k-значных функций в виде нормальных форм
- •1.8. Двоичное кодирование переменных и функций трехзначной логики
- •1.9. Элементная база комбинационных схем
- •1.10. Программная реализация логических функций и автоматов
- •2. Формальные языки и грамматики
- •2.1. Введение в теорию формальных языков и грамматик
- •2.2. Выводы цепочек формального языка. Деревья ксг
- •2.3. Основные понятия теории формальных языков и грамматик
- •2.4. Приведение грамматик
- •2.4. Операции над языками
- •2.5. Право-линейная и автоматная грамматики
- •3. Теория автоматов
- •3.1. Введение
- •3.2. Способы представления конечных автоматов
- •3.3. Минимизация числа состояний автомата
- •3.4. Использование сети Петри при переходе от грамматики к автомату
- •3.5. Сети Петри. Маркировка
- •3.6. Классификация сетей Петри
- •Статические ограничения
- •3.7. Синхронные и асинхронные автоматы
- •3.8. Модели автоматов Мили и Мура
- •3.9. Кодирование автомата
- •3.10. Элементная база синтеза комбинационных схем
- •3.11. Структурный синтез автомата
- •4. Отдельные вопросы теории вычислительных процессов
- •4.1. Автоматы с магазинной памятью
- •4.2. Комбинационные схемы обнаружения ошибок
- •4.3. Пространство сообщений. Коды обнаружения и исправления ошибок
- •Контрольные вопросы
1.3. Булева алгебра. Функциональная полнота
Определение. Алгеброй над множеством логических функций с двумя бинарными операциями, обозначаемыми как логическое умножение ‘ & ‘ и логическое сложение ’v ’ и одной унарной операцией (отрицанием)
' ‘ называется булевой алгеброй.
Будем обозначать ее символом B. Рассмотрим свойства булевой алгебры.
Замкнутость
для A и B B
A v B B
A & B B
Коммутативность
A & B = B & A
A v B = B v A
3. Ассоциативность
A v ( B v C) = (A v B) v C
Дистрибутивность
A & ( B v C) = (A & B) v (A & C)
A v ( B & C) = (A v B) & (A v C)
Идемпотентность
A v A = A & A = A.
Булева алгебра содержит элементы 0,1 , такие что для всякого
элемента A B справедливо:
A v 0 = A, A v 1 = 1
A & 0 = 0, A & 1 = A.
7.
Для
каждого элемента A
B
существует
элемент
,
такой что
A
v
=1
A
&
=0.
8. Закон поглощения
A & (A v B) = A v A & B = A.
9. Закон Де Моргана
( A v B ) = A & B
( A & B ) = A v B.
Определение. Система функций f1, f2... fn B называется полной, если любая функция из B представима в виде суперпозиции функций f1, f2... fn.
Определение. Система функций f1, f2... fn B , являющаяся полной, называется базисом.
Определение. Минимальным базисом называется базис, для которого удаление хотя бы одной из функций fi превращает систему функций в неполную.
Можно показать, что системы функций { &, } и { , } - полные. Система функций { &, , } является полной, но избыточной, так как она сохраняет свойства полноты и при удалении из нее & или . За не избыточность системы функций { &, } и { , } приходится платить избыточностью формул (повышением сложности функций).
Определение. Алгебра над множеством логических функций с двумя бинарными операциями & и называется алгеброй Жегалкина.
Свойства алгебры Жегалкина
1. Коммутативность
x y = y x
2. Дистрибутивность
x & (y z)= x & y z & x
3. Идемпотентность
x x = 0
x 0 = x
Для алгебры Жегалкина характерно
=
x
1
x y = x & y x y
Определение. Формула, имеющая вид полинома по модулю 2 называется полиномом Жегалкина для функции алгебры логики.
Замечание. От булевой формулы всегда можно перейти к полиному Жегалкина.
1.4. Минимизация функции алгебры логики
Работа автомата может быть полностью описана с помощью следующей системы функций алгебры логики [2]:
y1= f1 (x1 ... xn )
y2= f2 (x1 ... xn )
...
ym= fm (x1 ... xn ).
Здесь Pi = ( X1, X2, ...,Xn ); Qj = ( y1, y2, ...,ym ) - соответственно входное и выходное слово. Работа автомата может быть задана либо в виде конечных таблиц, либо в виде аналитической записи функций fi .
Проблема полноты системы функций эквивалентна проблеме выбора стандартного набора элементов, из которого будет строиться автомат (блок вычислительной техники), при этом все функции fi должны быть выражены через базисные функции. Уменьшение числа функций в базисе приводит к уменьшению стандартных элементов, на которых строится схема, однако, при этом увеличивается общее число элементов схемы и возникает задача о “простейшем” представлении логических функций через систему базисных функций. Для этого используют методы минимизации:
метод вынесения за скобки;
метод неопределенных коэффициентов;
метод с использованием карт Карно;
метод Мак - Класки;
метод Блэка.
Рассмотрим метод минимизации СДНФ с помощью карт Карно. Карта Карно - это диаграмма, состоящая из 2n квадратов, где n - число переменных. Клетка карты - одна из возможных конъюнкций, входящих в СДНФ. Минимизация на основе карт Карно осуществляется путем локализации на карте прямоугольных областей из числа клеток кратного 2.
Для работы с картой необходимо по таблице истинности составить СДНФ, затем для каждой элементарной конъюнкции проставить 1 в соответствующие клетки карты. Затем единицы объединяются таким образом, чтобы минимизировалось число логических сложений, умножений или отрицаний, что важно для экономного конструирования ЭВМ.
Для двух переменных: Для трех переменных:
a
a
c
b
b
Для четырех переменных:
a
c
c d
d
b
Пример. Для логической функции заданной таблицей
-
x1
x2
x3
f
1
1
1
1
1
1
0
1
1
0
1
1
1
0
0
1
0
1
1
1
построить карту Карно и на ее основе минимизировать функцию.
Решение. Построим карту согласно описанным выше правилам.
x1
1
1 f
= x1
v
x2
& x3
x2 1 1 1
x3
Рассмотрим пример представления простейшей функции картой Карно:
a
c
1 1
c 1 1 d
f
= b
1
1 d
1
1
b