русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Метод Квайна.


Дата добавления: 2015-08-31; просмотров: 621; Нарушение авторских прав


"Метод Квайна основывается на применении двух основных соотношений.

  1. Соотношение склеивания

Ах V А/х = Ах V А/х V А,

где А - любое элементарное произведение.

  1. Соотношение поглощения

А~х V А = А, ~х E {х; /x}.

Справедливость обоих соотношений легко проверяется. Суть метода заключается в последовательном выполнении всех возможных склеиваний и затем всех поглощений, что приводит к сокращенной ДНФ. Метод применим к совершенной ДНФ. Из соотношения поглощения следует, что произвольное элементарное произведение поглощается любой его частью.
Для доказательства достаточно показать, что произвольная простая импликанта р = xi1xi2 ... xin может быть получена. В самом деле, применяя к р операцию развертывания (обратную операции склеивания):

A = A (x v /x) = Ax v A/x

по всем недостающим переменным xi^(k+l), ..., Xi^n исходной функции f, получаем совокупность S конституент единицы. При склеивании всех конституент из S получим импликанту р. Последнее очевидно, поскольку операция склеивания обратна операции развертывания. Множество S конституент обязательно присутствует в совершенной ДНФ функции f поскольку р - ее импликанта.

Таблица 4.1.1  
x4x3x2x1 f
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 0 1 0 1 0 1 0 1 0 0 0 0 0 0 1 1


Пример. Пусть имеется булева функция, заданная таблицей истинности (табл. 9.1.1). Ее СДНФ имеет вид

f = /x1/x2/x3x4 v /x1/x2x3x4 v /x1x2/x3x4 v /x1x2x3x4 v x1x2x3/x4 v x1x2x3x4.


Для удобства изложения пометим каждую конституенту единицы из СДНФ функции f каким-либо десятичным номером (произвольно). Выполняем склеивания. Конституента 1 склеивается только с конституентой 2 (по переменной x3) и с конституентой 3 (по переменной х2), конституента 2 с конституентой 4 и т. д. В результате получаем



1 - 2: /x1/x2x4;
1 - 3: /x1/x3x4;
2 - 4: /x1x3x4;
3 - 4: /x1x2x4;
4 - 6: x2x3x4;
5 - 6: x1x2x3.


Заметим, что результатом склеивания является всегда элементарное произведение, представляющее собой общую часть склеиваемых конституент Далее производим склеивания получаемых элементарных произведений.
Склеиваются только те произведения, которые содержат одинаковые переменные. Имеет место два случая склеивания:

/x1/x2x4 v /x1x2x4 = /x1/x2x4 v /x1x2x4 v /x1x4;
/x1/x3x4 v /x1x3x4 = /x1/x3x4 v /x1x3x4 v /x1x4,


с появлением одного и того же элементарного произведения /x1x4. Дальнейшие склеивания невозможны. Произведя поглощения (из полученной ДНФ вычеркиваем все поглощаемые элементарные произведения), получим сокращенную ДНФ:

x2x3x4 v x1x2x3 v /x1x4.


Переходим ко второму этапу. Для получения минимальной ДНФ необходимо убрать из сокращенной ДНФ все лишние простые импликанты. Это делается с помощью специальной импликантной матрицы Квайна. Строки такой матрицы отмечаются простыми импликантами булевой функции, т. е. членами сокращенной ДНФ, а столбцы - конституентами единицы, т. е. членами СДНФ булевой функции.
Пример(продолжение). Импликантная матрица имеет вид (табл. 4.1.2).

Таблица 4.1.2  
Простые импликанты Конституенты единицы
/x1/x2/x3x4 /x1/x2x3x4 /x1x2/x3x4 /x1x2x3x4 x1x2x3/x4 x1x2x3x4
/x1x4 X X X X    
x2x3x4       X   X
x1x2x3         Х Х


Как уже отмечалось, простая импликанта поглощает некоторую конституенту единицы, если является ее собственной частью. Соответствующая клетка импликантной матрицы на пересечении строки (с рассматриваемой простой импликантой) и столбца (с конституентой единицы) отмечается крестиком (табл. 9.1.2). Минимальные ДНФ строятся по импликантной матрице следующим образом:

  1. ищутся столбцы импликантной матрицы, имеющие только один крестик. Соответствующие этим крестикам простые импликанты называются базисными и составляют так называемое ядро булевой функции. Ядро обязательно входит в минимальную ДНФ.
  2. рассматриваются различные варианты выбора совокупности простых импликант, которые накроют крестиками остальные столбцы импликантной матрицы, и выбираются варианты с минимальным суммарным числом букв в такой совокупности импликант.

Пример (продолжение). Ядром нашей функции являются импликанты x1x2x3; /x1x4. Импликанта x2x3x4 - лишняя, так как ядро накрывает все столбцы импликантной матрицы. Поэтому функция имеет единственную тупиковую и минимальную ДНФ:

f = x1x2x3 v /x1x4


Следует отметить, что число N крестиков в одной строке всегда является степенью 2. Более того, читатель может легко убедиться в том, что

N = 2n-k


где k - число букв, содержащихся в простой импликанте.
Заметим также, что используя различные соотношения, можно расширить область применения метода Квайна за пределы совершенной ДНФ."



<== предыдущая лекция | следующая лекция ==>
Метод Блейка - Порецкого. | 


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.003 сек.