- •Теория Автоматов и Формальных Языков.
- •Булевы аргументы и булевы функции.
- •Булевы функции одного и двух аргументов.
- •Аналитические формы записи булевых функций.
- •Понятие минтерма, импликанты, простой импликанты.
- •Минимизация булевых функций методом карт Вейча.
- •Минимизация методом Мак-Класки.
- •Метод импликантных матриц.
- •Минимальные конъюнктивные нормальные формы булевых функций.
- •Минимальные формы не полностью определённых булевых функций.
- •Синтез схем в базисе функции Шеффера.
- •Синтез схем в базисе функции Пирса.
- •Понятие конечного автомата, его состояния и эквивалентности.
- •Способы задания конечных автоматов.
- •Элементарные конечные автоматы.
- •Синтез асинхронного r-s триггера.
- •Синтез синхронного r-s триггера.
- •Алгоритм синтеза конечного автомата.
- •Проблема риска и гонок в конечных автоматах.
- •Аппаратные способы устранения гонок.
- •Противогоночное кодирование.
- •Риск сбоя в комбинационных схемах.
- •Автоматные языки. Классификация грамматик по н. Хомскому.
- •Детерминированный автомат-распознаватель.
- •Лемма о "накачке".
- •Недетерминированные автоматы распознаватели.
Минимизация методом Мак-Класки.
Основное неудобство метода Квайна состоит в том, что при поиске простых импликант необходимо производить попарные сравнения вначале всех конститутент единицы, затем полученных в результате склеивания произведений.
С целью упрощения этой процедуры Мак – Класки предложил алгоритм, существо которого сводится к следующему:
вводится понятие цифрового эквивалента для каждого произведения по следующему правилу: некоторому произведению ставится в соответствие цифровой эквивалент с использованием цифр 0 и 1 и – (прочерк). Переменной, входящей в произведение в прямом виде ставится в соответствие единица ( 1 ), в инверсном – нуль ( 0 ), отсутствие переменной обозначается прочерком;
в любом произведении переменные располагаются только в одном порядке, а именно – по возрастанию индексов;
склейке подлежат только те произведения, в которых прочерки расположены соответственно, количество нулей (или единиц) отличается на единицу и они расположены так же соответственно.
Пример:
Произведению x1x2x4 для функции, зависящей от пяти переменных нужно поставить в соответствие следующий цифровой набор: x1x2x4: 11-0-
Приведем графическое изображение процесса поиска простых импликант для функции, представленной в следующей СДНФ:
запишем выражение функции в виде дизъюнкции цифровых эквивалентов:
При графическом способе отыскания простых импликант вначале все цифровые наборы разбивают на группы и располагают эти группы в следующем порядке: вначале идет группа цифровых эквивалентов, содержащих только нули (такой набор может быть один), затем следует группа с наборами, содержащими по одной единице, затем по две и т.д. Сравнением наборов соседних групп устанавливается возможность склейки, делается необходимая пометка и пишется результат склейки. Процесс продолжается до тех пор, пока возможны склейки. Все несклеенные наборы, а также конечные результаты склейки дают простые импликанты. Расшифровка полученных цифровых эквивалентов - очевидна.
Для нашего примера это выглядит так:
Итак, простые импликанты:
10-0 и -101, т.е.
Метод импликантных матриц.
Для поиска минимальной формы функции пользуются методом импликантных матриц. Существо метода заключается в следующем: составляется импликантная матрица, колонки которой именуются конституентами единицы, а строки – простыми импликантами. Затем находится минимальное покрытие всех конституент единицы простейшими импликантами. При этом ищется такая минимальная совокупность простых импликант, которые совместно покрывают все конституенты единицы исходной функции. Факт покрытия отмечается в клетке матрицы символом * (звездочка) в случае, когда импликанта покрывает соответствующую конституенту (является ее собственной частью). Из всех простых импликант выбираются вначале только такие, которые только одни покрывают конституенты единицы (в колонке матрицы только один символ покрытия), затем производится перебор.
Пример:
Из матрицы видно, что в минимальную форму функции обязательно войдут импликанты n (покрывает конституенту F ), импликанта r (покрывает конституенту D ). То же справедливо отностительно импликанты p. Что касается остальных, то нужно выбрать минимальную совокупность.
Итак:
Т.е. данная функция имеет две одинаково минимальные формы.
Замечание: важным обстоятельством, усложняющим минимизацию функций, является присутствие перебора различных вариантов при поиске оптимального покрытия.
