русс | укр

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

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

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

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


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

Этапы минимизации ДНФ


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


В силу теоремы 6 получение минимальной ДНФ мож­но разбить на два этапа

1. Нахождение сокращенной ДНФ.

2. Нахождение тупиковых ДНФ (таких, из которых нельзя уда­лить ни одного простого импликанта) путём удаления подмно­жества элементарных конъюнкций из сокращённой ДНФ. Вы­бор минимальной из полученных тупиковых ДНФ.

Рассмотрим первый этап получения минимальной ДНФ. Ме­тод получения сокращённой ДНФ функции f(x1, ..., xn) из ее совер­шенной ДНФ состоит в применении следующих эквивалентных преобразо­ваний:

а) операции полного склеивания, которая состоит в замене выражения А х Ú А`х на А, так как

А х Ú А`х º А (х Ú`х) º A • 1 º A;

б) операции неполного склеивания, которая состоит в замене А х Ú А`х на А х Ú А`х Ú А, так как

А х Ú А`х Ú А º А (х Ú`х) Ú А º А1Ú A = A;

в) операции поглощения, которая состоит в замене АВ Ú А на А, так как

АВ Ú А º А (В Ú 1) º А.

Здесь А и В – произвольные элементарные конъ­юнк­ции.

Теорема 7 (без доказательства). Сокращённую ДНФ функ­ции f(x1, ..., xn) можно получить из ее совершенной ДНФ, применяя все возможные операции неполного склеивания, а затем операции поглощения.

Пример 1. Построить сокращённую ДНФ функции
f(x1, x2) = x1 ® х2 из ее СДНФ:

f(x1, x2) =`х12 Ú`х1 х2 Ú х1х2 =`х12 Ú`х1х2 Ú`х1 Ú х1х2 =

=`х12 Ú`х1х2 Ú`х1 Ú х1х2 Ú х2 = `х1 Ú х2.

Теперь перейдем ко второму этапу получения минимальной ДНФ.

Пусть дана сокращённая ДНФ функции f(x1, ..., xn):

N = U1 Ú U2 Ú … Ú Uk. Простой импликант называется ядерным (входящим в ядро функции f(x1, ..., xn)), если

≢ 1.

Эта запись означает, что простой импликант Ui является ядер­ным импликантом функции f(x1, ..., xn), если существует набор a = (a1, ..., an), на котором импликант Ui обращается в 1, а все ос­тальные импликанты сокращённой ДНФ – в ноль.



Пример 2. Найти ядерные импликанты функции
f(x1, ..., xn), заданной своей сокращённой ДНФ:

24 Ú х14 Ú х1 х2 Ú х2 х3 х4 Ú`х1 х3 х4 Ú`х12 х3.

Простой импликант х24 является ядерным, так как на наборе (0,0,0,0) `х24 = 1, а дизъюнкция оставшихся импликантов:

х14 Ú х1 х2 Ú х2 х3 х4 Ú`х1 х3 х4 Ú`х12 х3 = 0.

Простой импликант х14 – неядерный, так как он равен еди­нице на наборах {1,0,0,0}, {1,0,1,0}, {1,1,0,0}, {1,1,1,0}, но на этих же наборах:

24 Ú х1 х2 Ú х2 х3 х4 Ú`х1 х3 х4 Ú`х12 х3 =1,

следовательно

х14 ®`х24 Ú х1 х2 Ú х2 х3 х4 Ú`х1 х3 х4 Ú`х12 х3 º 1.

Простой импликант х1 х2 – ядерный, т.к. на {1,1,0,1}:
х1 х2 = 1, а`х24 Ú х14 Ú х2 х3 х4 Ú`х1 х3 х4 Ú `х12 х3 = 0.

Простой импликант х2 х3 х4 – неядерный, так как на наборах {0,1,1,1}, {1,1,1,1}:

24 Ú х14 Ú х1 х2 Ú`х1 х3 х4 Ú`х12 х3 = 1.

Простой импликант `х1 х3 х4 – неядерный, так как на наборах {0,0,1,1}, {0,1,1,1}:

24 Ú х14 Ú х1 х2 Ú х2 х3 х4 Ú`х12 х3 = 1.

Простой импликант `х12 х3 – неядерный, так как на наборах {0,0,1,0}, {0,0,1,1}:

24 Ú х14 Ú х1 х2 Ú х2 х3 х4 Ú `х1 х3 х4 = 1.

 

Теорема 8 (без доказательства). Простой импликант Ui входит во все тупиковые ДНФ тогда и только тогда, когда Ui входит в ядро функции f(x1, ..., xn), то есть тогда и только тогда, когда он явля­ется ядерным.

Следствие. Пусть ядро f(x1, ..., xn) состоит из импли­кантов Ul1, ... ,Ulm тогда импликант Ul, для которого выпол­нено соотношение: º 1.

То есть, импликант Ul обращается в единицу на тех же набо­рах, что и дизъ­юнкция ядерных импликантов: не входит ни в одну из тупиковых ДНФ функции f(x1, ..., xn).

Возвращаясь к примеру 2, отметим, что:

Импликант х14 удов­летворяет следствию из теоремы 8:

х14 ®`х24 Ú х1 х2 º 1

и по­этому не входит ни в одну тупиковую форму.

Импликант х2 х3 х4, для которого

х2 х3 х4 ®`х24 Ú х1 х2 ≢ 1 не удовлетворяет следствию.

Импликант`х1х3х4, для которого`

1 х3 х4®`х24 Ú х1 х2 ≢ 1, не удовлетворяет следствию.

Импликант`х12х3, для которого

12 х3®`х24 Ú х1 х2 ≢ 1, не удовлетворяет следствию.

Таким образом, последовательность действий при выполнении второго этапа состоит в следующем:

1) для каждого простого импликанта сокращённой ДНФ про­верить, входит он в ядро или нет. Отметить неядерные импликанты;

2) проверить для отмеченных импликантов выполне­ние следствия из теоремы 8. Простые импликанты, для которых выпол­нено следствие, удалить из сокращённой ДНФ;

3) проверить возможность удаления оставшихся отмечен­ных конъюнкций. Из полученных тупиковых ДНФ выбрать минималь­ную ДНФ.

Рассмотрим эту последовательность действий на примере 2.

1) нашли ядро функции f(х1, х2, х3, х4), состоящее из простых импликантов `х24 и х1 х2. Отметим курсивом в сокращённой ДНФ неядерные импликанты:

24 Ú х14 Ú х1 х2 Ú х2 х3 х4 Ú`х1 х3 х4 Ú`х12 х3;

2) среди помеченных импликантов нашли удовлет­воряющий следствию из теоремы 8. Это импликант х14. Удалим его из со­кращённой ДНФ:

24 Ú х1 х2 Ú х2 х3 х4 Ú`х1 х3 х4 Ú`х12 х3;

3) для получения тупиковых ДНФ удаляем подмно­жества от­меченных импликантов. Можно удалить следующие подмножества:

2 х3 х4,`х1 х3 х4,`х12 х3}I, { х2 х3 х4,`х1 х3 х4}II, { х2 х3 х4, `х12 х3}III, {`х1 х3 х4,`х12 х3}IV, {x2 x3 x4 }V, {`х1 х3 х4}VI, {`х12 х3} VII.

При каждом удалении нужно проверять, представляет ли оставшаяся ДНФ функцию f(х1, х2, х3, х4).

Если удалить подмножество I, то получим ДНФ, не представ­ляющую функцию f(х1, х2, х3, х4), так как на наборе {0,1,1,1} функ­ция:

f (х1, х2, х3, х4) = 1, а `х24 Ú х1х2 = 0.

Если удалить подмножество II, то получим ДНФ, не представ­ляющую функцию f(х1, х2, х3, х4), так как на наборе {0,1,1,1} функ­ция

f(х1, х2, х3, х4) = 1, а `х24 Ú х1 х2 Ú `х12 х3 = 0.

Если удалить подмножество III, получим минимальную ДНФ функции f(x1, x2, х3, х4):

24 Ú х1 х2 Ú`х1 х3 х4 – минимальная ДНФ.



<== предыдущая лекция | следующая лекция ==>
Основные определения | Минимизация ДНФ методом Квайна


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


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

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

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


 


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

 
 

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

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