Алгоритм Куайна
Входными данными для работы алгоритма является задание сокращенного покрытия функции или СокрДНФ.
1) На каждом шаге 1-го этапа для очередного максимального интервала (простой импликанты) строится окрестность 1-го порядка: S1(NКi)={NКi, NКi1, NКi2,…,NКim}, где NКi1, NКi2,…,NКim – это максимальные интервалы функции f, имеющие непустое пересечение с интервалом NКi.
Затем проверяется включение NКi NКi1 NКi2 … NКim.
Если это включение не имеет места, то конъюнкция Ki отмечается некоторым способом, как входящая во все МДНФ или как ядровая конъюнкция, а интервал NКi – как ядровой интервал. Объединение всех ядровых интервалов называется ядром сокращенного покрытия.
2) Пусть на первом этапе множество максимальных интервалов функции f разбилось на два подмножества: Я={Я1,Я2,…,Яр} – все ядровые интервалы и В={В1,В2,…,Вq} – все остальные интервалы (или что то же самое – конъюнкции).
Для каждого интервала из множества В проверяется включение в ядро, т.е. ВiЯ1 Я2 … Яр. Об интервалах, для которых это включение выполняется, говорят, что они покрываются ядром. Соответствующие им простые импликанты не входят ни в одну МДНФ, они удаляются из СокрДНФ.
ДНФ, полученная в результате работы этого алгоритма, носит название ДНФ Куайна. Важным свойством этой ДНФ является её единственность для каждой функции алгебры логики, которая вытекает из её построения.
Пример.
Пусть функция задана в виде СокрДНФ: = К1 К2 К3
Или, что то же самое, в виде сокращенного покрытия:
Nf = {(0,0,0),(0,0,1)} {(0,0,0),(1,0,0)} {(1,0,0),(1,1,0)}= N1 N2 N3, где N1, N2, N3 – максимальные интервалы для f.
На первом этапе строим окрестности 1-го порядка для каждого максимального интервала
S1(N1)={N1, N2} и т.к. N1N2 N1 – ядровой интервал;
S1(N2)={N2, N1, N3} и т.к. N2 N1 N3 N2 – не ядровой интервал;
S1(N3)={N3, N2} и т.к. N3N2 N3 – ядровой интервал;
На втором этапе имеем множество ядровых интервалов: Я={N1, N3} и один не ядровой интервал N2 и, т.к. N2 N1 N3, – покрывается ядром, то конъюнкцию, соответствующую интервалу N2, можно удалить. В результате ДНФ Куайна имеет вид: f(x, y, z) =
В данном случае ДНФ Куайна совпадает с МДНФ функции f.
Построение ДНФ Куайна может быть оформлено в виде таблицы Куайна. В этой таблице по горизонтали выписывают все элементарные конъюнкции СДНФ, а по вертикали – простые импликанты сокращенной ДНФ. На пересечении столбцов и строк проставляют единицы в тех местах, где импликанта «накрывает» элементарную конъюнкцию (т.е. все символы импликанты имеются в элементарной конъюнкции). Если в некотором столбце имеется только одна единица, то соответствующая импликанта является ядровой. Определив таким способом все ядровые конъюнкции, далее нетрудно выявить те импликанты, которые покрываются ядром, – все единицы таких импликант имеются среди единиц ядра. Удалив эти импликанты, получим ДНФ Куайна.
По такой таблице можно также построить и МДНФ. Заметим, что в каждом столбце может быть проставлено несколько единиц, в то время как достаточно иметь только одну. Поэтому избыточные единицы можно исключить. Выбор единиц выполняется из соображений минимальности общего числа букв и с тем, чтобы выбранное подмножество импликант (единиц) «накрывало» все элементарные конъюнкции исходной СДНФ (т.е. чтобы в каждом столбце была бы выбрана по крайней мере одна единица). При этом решений может быть несколько.
Пример:
Пусть функция задана в виде СДНФ: .
Построим её СокрДНФ:
|
|
|
|
| xyz | |
| 1 |
| 1 |
|
| |
yz |
| 1 |
|
| 1 | |
|
|
| 1 | 1 |
| |
xy |
|
|
| 1 | 1 | |
| Таблица 25 |
- Часть II
- Алгебра двузначной логики
- Функции алгебры логики
- Способы задания функций алгебры логики
- Эквивалентность функций
- Реализация функций формулами
- Эквивалентность формул и тождества
- Упрощение формул
- Двойственные функции и принцип двойственности
- Применение принципа двойственности
- Аналитическая запись функций алгебры логики
- Аналитическое построение сднф и скнф
- Теорема о тройке связок
- Полные системы функций и полиномы Жегалкина
- Замыкание систем функций алгебры логики
- Важнейшие замкнутые классы
- Теорема Поста о полноте
- Минимизация булевых функций
- Основные понятия
- Метод неопределенных коэффициентов
- Тупиковые днф и алгоритм наискорейшего спуска
- Геометрическое представление функций алгебры логики
- Аналитическое построение сокращенной днф
- Локальные алгоритмы
- Алгоритм Куайна
- Диаграммы Вейча–Карно
- Построение днф по карте Карно
- Задачи и упражнения
- Список литературы
- Часть II
- 400131, Волгоград, просп. Им. В.И.Ленина, 28
- 400131, Волгоград, ул. Советская, 35