Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Минимизация функций. Метод минимизации по картам Карно




Минимизация функций в классе ДНФ

Дизъюнктивные нормальные формы

Введём понятие степени булевой переменной. Будем считать, что x 1= x, x0 =` x.

Из определения следует, что х a=1, если х = a, и хa =0, если х ¹ a. В справедливости этого можно убедиться простым перебором значений.

Конъюнкция x1 a1 x2 a2 ...xn an называется элементарной, если в ней каждая переменная встречается не более одного раза.

Рангом элементарной конъюнкции называется число букв, образующих эту конъюнкцию.

Дизъюнктивной нормальной формой (ДНФ) называется дизъюнкция элементарных конъюнкций.

Длиной ДНФназывается число элементарных конъюнкций, образующих эту ДНФ. Длину ДНФбудем обозначать буквой L.

Дизъюнктивная нормальная форма, имеющая наименьшую длину по сравнению со всеми другими ДНФ, эквивалентными данной функции, называется кратчайшей ДНФ (КДНФ).

Дизъюнктивная нормальная форма, содержащая наименьшее число букв xi a i по сравнению со всеми другими ДНФ, эквивалентными данной функции, называется минимальной ДНФ (МДНФ).

Совершенная дизъюнктивная нормальная форма состоит из элементарных конъюнкций ранга n, т.е. конъюнкций наибольшего возможного для данной функции ранга, поэтому с этой точки зрения СДНФ является наиболее сложной.

Любую функцию можно представить в виде СДНФи это представление единственно, так как оно однозначно сопоставляется таблице истинности функции.

Пример. Найдём разложение функции f =(a Å b` ac по переменной а:
F=a×f(a=1)
Ú `a×f (a=0) =a ×((1 Å b) ® 0`a× ((0 Å b)® c) =a× (`b®0)Ú` a (b®c). Здесь мы учли, что (1Å х)= , (0 Å х)= х. Если ещё учесть, что (х®0) =`х, что следует из таблицы истинности импликации, то получим окончательную формулу для функции f = a×b Ú` (b®c).

Таблица 1.5
х у х®у
     
     
     
     

 

Пример. Представим функцию импликации в виде СДНФ, для чего запишем её табличное представление (табл.1.5). Здесь в множестве Т 1 три набора 000, 001 и 111, поэтому в СДНФ будет три конъюнкции х ® у =` х ×` у Ú` х × у Ú х×у

 

 

Проблема простейшего представления функций в заданном базисе связана с изучением свойств функций этого базиса. В настоящее время существенные результаты получены для базиса, состоящего из отрицания, конъюнкции и дизъюнкции. Именно этот базис и будет рассматриваться в дальнейшем.

Любая функция алгебры логики может быть записана в виде СДНФ. То, что запись в СДНФ часто является неэкономной, видно из примера.

Пример 1. Пусть задана СДНФ

` x 2 (x 1, x 2, x 3)= x 1 x 2 x 3Ú x 1 x 2` x 3 Ú x 1` x 2 x 3Ú x 1` x 2` x 3 Ú` x 1 x 2 x 3.

Преобразуем эту СДНФ. Добавим еще один конъюнктивный член x1x2x3. Это добавление не меняет данной функции, так как x Ú x = x,

f (x 1, x 2, x 3)= x 1 x 2 x 3Ú x 1 x 2` x 3Ú x 1` x 2 x 3Ú x 1` x 2` x 3Ú x 1 x 2 x 3Ú` x 1 x 2 x 3.

Преобразуем это выражение, используя равенства: a ` b Ú ab = a (операция склеивания) и a × b Ú a = a, a × b Ú` a = b Ú` a (операция поглощения).

Получим:

f (x 1, x 2, x 3)= x 1 x 2(x 3Ú` x 3x 1` x 2(x 3Ú` x 3x 2 x 3(x 1Ú` x 1)= x 1 x 2Ú x 1` x 2Ú x 2 x 3.

Аналогично предыдущему делаем дальнейшие преобразования:

f (x 1, x 23)= x 1(x 2Ú` x 2x 2 x 3= x 1Ú x 2 x 3.

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

Данный метод минимизации применим для функций с числом переменных не более 6 и удобен для ручной минимизации, когда человек видит те комбинации, которые можно объединить вместе. Рассмотрим его на конкретном примере.

Пример 2. Рассмотрим функцию

f 1(x 1, x 2, x 3)= x 1 x 2 x 3Ú x 1 x 2` x 3Ú x 1` x 2 x 3Ú x 1` x 2` x 3Ú` x 1 x 2 x 3.

Множество переменных разобьем на две группы. Одной группе сопоставим строки таблицы, второй — столбцы, так чтобы каждой клетке соответствовала комбинация переменных из этих групп. Карта Карно для нее имеет вид табл. 1.6.

Таблица 1.6
x1x2/x3    
00    
01   15
11 12 11
10 14 13

При составлении карты Карно строки именуются всевозможными комбинациями значений переменных первой группы так, чтобы расстояние между соседними комбинациями было равно 1.

Для нашего случая 0 0 ® 0 1®1 1 ®10 (при каждом последующем переходе изменяется только подчеркнутый символ). Аналогично именуются столбцы таблицы.

Заполнение карты производится по таблице соответствия исходной функции. В примере конъюнкции x1x2x3 соответствует клетка 11/1, а x1x2`x3 клетка 11/0 и т.д. В данной таблице каждая единица имеет порядковый индекс, который соответствует порядковому номеру данной компоненты в исходной функции (расстановка этих индексов совершенно не обязательна и здесь приведена для лучшего понимания).

Для минимизации необходимо попарно “склеить” рядом стоящие единицы, имеющие хотя бы одну общую компоненту. При этом надо стремиться “склеить” в один набор как можно больше клеток. В данном примере мы можем “склеить” 11,12,13,14 вместе. Это запишется как x1, так как содержимое всех этих клеток зависит только от x1 и не меняется при изменении x2 или x3. На следующем шаге склеим 11 и 15. В результате получим x2x3. Рассуждения аналогичны: при изменении x1 изменения ячеек с 11 и 15 не происходит.

Результирующей минимальной записью исходной функции будет

f(x1,x2,x3)=x1Úx2x3.

Пример 3. Минимизируем функцию пяти переменных:

f 2(x 1, x 2, x 3, x 4, x 5)= x 1` x 2` x 3` xx 1` x 2` x 3 x 4Ú` x 1 x 2 x 3 x 4Ú` x 2 x 1` x 5.

Карта Карно для нее приведена в табл.1.7.

Таблица 1.7

x 4 x 5 \x 1 x 2 x 3                
              14 11,4
                11
      13         12
      13       14 12,4

 

Если в конъюнкции переменная не присутствует, то 1 ставится во все клетки, удовлетворяющие присутствующим переменным. Так, например, первой конъюнкции соответствует две клетки: 100/00 и 100/01.

Минимизация приводит к формуле

f 2(x 1, x 2, x 3, x 4, x 5)= x 1` x 2` x 3Ú` x 1 x 2 x 3 x 4Ú` x 2 x 1` x 5.

Пример 4. Рассмотрим функцию

f 3(x 1, x 2, x 3)= x 1 x 2` x 3Ú x 1` x 2 x 3Ú x 1` x 2` x 3Ú` x 1 x 2 x 3Ú` x 1 x 2` x 3Ú` x 1` x 2 x 3.

Таблица 1.8
x 1 x 2/ x 3    
     
     
     
     

 

По карте Карно табл.1.8 видно, что для данной функции существует две минимальных формы:

f (x 1, x 2, x 3)=` x 1 x 3Ú x 2` x 3Ú x 1` x 2,

f (x 1, x 2, x 3)=` x 1 x 2Ú` x 2 x 3Ú x 1` x 3.




Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 446; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




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