Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
57
Добавлен:
03.03.2016
Размер:
2.33 Mб
Скачать

Основные классы фал

В качестве первого класса таких ФАЛ рассмотрим класс функций, сохраняющих константу нуль,т.е. таких функций, для которых справедливо равенство

f (0, 0, …, 0)=0

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

Аналогично класс функций, сохраняющих константу единица,будет определен, как класс функций, для которых выполняется равенство

f (1, 1,…, 1)=1

Этот класс состоит также из функций.

ОпределениеФункцияf*(x1 ,…,xn)называется двойственной к функцииf (x1 ,…,xn), если выполняется равенство

f*(x1 ,…,xn)= .

Определение Функция . f (x1 ,…,xn)самодвойственный, если она совпадает с двойственной себе функцией, т.е. справедливо равенство

f (x1 ,…,xn )= .

Определение ФАЛ f(x1,…,xn ) называется линейной, если она представима в следующем виде

f (x1 ,…,xn )=с0с1х1 сnхn,

где коэффициент сi{0, 1}.

Число членов этого класса .

Определение ФАЛf(x1,…,xn )называется монотонной, если для любых двух наборовХ1иХ2таких, чтоХ1Х2 выполняется равенство

f (X1)f (X2)

X1=<>

X2=<>.

Определение ФАЛf(x1,…,xn ) называется симметричной, если она не изменяется при произвольной перенумерации аргументов.

f(x1,…,xn )= f(y1,…,yn ),

где (y1,…,yn)– любая перестановка аргументов(x1,…,xn ).

АНАЛИТИЧЕСКАЯ ЗАПИСЬ ФАЛ

Пусть имеется двоичный набор <>. Сопоставим ему число i, определяемое

i=++…+,

число iназывают номером набора<>.

Рассмотрим функцию F(x1,…,xn), определяемую следующим соотношением

(0)

Такую функцию называют характеристической функцией «единицы». Предположим, что удалось построить аналитическое выражение для функцииFi(как это можно сделать описывается ниже). Тогда справедлива следующая теорема.

Теорема.Любая таблично заданная функция ФАЛ может быть задана в следующей аналитической форме

f(x1,…,xn )= =, (1)

где Ti– множество номеров наборов, на которых функция обращается в единицу.

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

В теореме (1) мы воспользовались дизъюнкцией характеристических функций. Выясним, нельзя ли вместо дизъюнкции использовать какую-либо другую ФАЛ. Для того, чтобы выполнялось соотношение, подобное (1), необходимо, чтобы при обращении любой из характеристических функций в «1» все выражение обращалось в «1», а при нулевых значениях (0) все выражение становилось равным 0.

Если обозначить неизвестную операцию значком , то сформулированное нами условие представимо в виде таблицы.

Fi Fj

Fi Fj

0 0

0

0 1

1

1 0

1

1 1

(?)

Искомая функция может быть определена двумя различными способами. Если в ее определяющую таблицу вместо (?) дописать «1», то полученная функция будет дизъюнкцией. Этот случай рассматривается в теореме (1). Если же (?) заменить «0», то мы получим функцию сложения по модулю 2.

Следствие. Любая таблично заданная ФАЛ может быть представлена в следующей аналитической форме

f(x1,…,xn )==.(2)

Представление функции в виде (1) будем называть дизъюнктивным, а представление в виде (2) – полиномиальным.

Для получения представлений другого типа рассмотрим функцию Фi(x1, x2,…,xn).

(3)

такие функции называют характеристическими функциями нуля. Из (1) и (3) следует

Fi(x1,…,xn)=(x1,…,xn).

Теорема.

Любая таблично заданная ФАЛ может быть задана в следующей аналитической форме

f(x1,…,xn )= =, (4)

где T0– множество номеров наборов, на которых функцияf обращается в нуль.

Представление функции в виде (4) называют конъюнктивным представлением.

Перейдем теперь к аналитическому выражению самих характеристических функций.

Условимся о ряде обозначений. Введем в рассмотрение «степень» аргумента х, которую будем обозначать.

Положим, что

Тогда на основании теоремы (1) можно утверждать, что любая функция алгебры логики, кроме нуля, может быть представлена в следующей форме:

f (x1, x2, …, xn )= .(5)

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

Представление ФАЛ в виде (5) называют совершенной дизъюнктивной нормальной формой этой функции(СДНФ).

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

  1. Выбрать в таблице задания функции все наборы аргументов, на которых функция обращается в единицу.

  2. Выписать конъюнкции, соответствующие этим наборам аргументов. При этом, если аргумент xi входит в данный набор как «1», он вписывается вконъюнкцию, соответствующую данному набору, без изменения. Если жеxiвходит в данный набор как «0», то в соответствующую конъюнкцию вписывается егоотрицание.

  3. Все полученные конъюнкции соединяются между собой знаками дизъюнкции.

Пример: пусть задана функцияf(x1, x2, x3)следующей таблицей:

x1

x2

x3

f(x1, x2, x3)

0

0

0

0

0

0

1

0

0

1

0

0

0

1

1

1

1

0

0

1

1

0

1

0

1

1

0

1

1

1

1

0

Требуется получить из нее совершенно дизъюнктивную нормальную форму.

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

x2x3, x1, x1 x2.

Соединяя эти конъюнкции знаками дизъюнкции, окончательно получаем

f(x1, x2, x3)= x2x3x1x3x1x2.

Итак, можно отметить необходимые и достаточные условия совершенной нормальной дизъюнктивной формулы. СДНФ формулы f (x1, x2, …, xn ), содержащиеnразличных переменных, обладают следующими свойствами:

А) в ней нет двух одинаковых слагаемых;

Б) ни одно слагаемое не содержит двух одинаковых множителей;

В) никакое слагаемое не содержит переменную вместе с ее отрицанием;

Г) в каждом слагаемом содержится в качестве множителя либо переменная хi, либо ее отрицание, гдеi=1,2,…,n.

Д) число множителей равно числу n.

Если вместо (1) воспользоваться соотношением (2), получим полиномиальную совершенную нормальную функцию(ПСНФ).

Так для функции, рассмотренной в примере, ПСНФ имеет следующий вид:

f(x1, x2, x3)= x2x3x1x1 x2.

Кроме представления ФАЛ в СДНФ, возможно представление ее в некоторой другой форме, двойственной по отношению к СДНФ.

Теорема.Любая ФАЛ, кроме единицы, может быть представлена в следующей форме:

f(x1, x2, x3)= (). (6)

Символ означает, что конъюнкция берется только по тем наборам, <>, для которых выполняется равенство:

f(x1, x2, x3)=0.

Доказательство теоремы.

Представление ФАЛ в виде (6) носит название совершенной конъюнктивной нормальной формы (СКНФ).

Из теоремы вытекает алгоритм построения КСНФ:

  1. Выбрать в таблице задания функции все наборы аргументов, на которых функция обращается в нуль.

  2. Выписать дизъюнкции, соответствующие этим наборам аргументов. При этом, если аргумент xi входит в данный набор как «0», он вписывается без изменения в дизъюнкцию, соответствующую данному набору. Если жеxiвходит в данный набор как «1», то в соответствующую дизъюнкцию вписывается егоотрицание.

  3. Все полученные дизъюнкции соединяются между собой знаками конъюнкций.

Пример.

Написать СКНФ для функции, заданной следующей таблицей.

x1

x2

x3

f(x1, x2, x3)

0

0

0

0

0

0

1

1

0

1

0

1

0

1

1

0

1

0

0

1

1

0

1

1

1

1

0

1

1

1

1

0

f(x1, x2, x3)= (x1x2x3)&(x1)&( ).

Аналогично СДНФ, можно отметить необходимые и достаточные условия совершенной нормальной конъюнктивной формулы. СКНФ формулы f(x1, x2, …, xn ), содержащиеnразличных переменных, обладают следующими свойствами:

А) в ней нет двух одинаковых множителей;

Б) ни один множитель не содержит двух одинаковых слагаемых;

В) ни один множитель не содержит какой-нибудь переменной вместе с ее отрицанием;

Г) каждый множитель содержит в качестве слагаемого или хi, или ее отрицание, гдеi=1,2,…,n.

Д) число слагаемых равно числу n.

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

Итак, если в каждом члене нормальной формы представлены все переменные (либо в прямом, либо в инверсном виде), то она называется совершенной нормальной формой.

Приведем соотношения эквивалентных преобразований, полезных при упрощении формул:

Законы склеивания

1) ;

2) ;

3) ;

4) .

Законы поглощения

1) ;

2) ;

3) .

Правила:

1. Если слагаемое некоторой суммы входит в другое слагаемое, то это второе слагаемое можно из суммы удалить.

2. Если множитель некоторого произведения входит слагаемым в другой множитель, то второй множитель можно удалить.

3. В каждом слагаемом можно удалить множитель, который равносилен отрицанию другого слагаемого.

4. В каждом множителе можно удалить слагаемое, которое равносильно отрицанию другого множителя.

Пример.

1. Заданную функцию f(x,y,z)=xzx привести к СДНФ:

xzx= xzx(y)= xz xy x;

2. Задана функция f(x,y,z)=(xz). Необходимо привести к СКНФ.

f(x,y,z)=(xz)= (xz)= (xz)(z).

Добавить к каждому члену соответственно y, x,z

==.

Пример 4. Пусть f(x1, x2, x3) = x1 (x2(x3 ~ x1)). Представим ее в виде СКНФ, для этого получим таблицу истинности.

x1

x2

x3

x3~x1

x2 (x3~x1)

f

0

0

0

0

1

1

1

1

0

0

1

1

0

0

1

1

0

1

0

1

0

1

0

1

1

0

1

0

0

1

0

1

1

1

1

0

1

1

0

1

1

1

1

1

1

1

0

1

Функция равна нулю только на наборе (1, 1, 0), поэтому

f(x1 x2 x3)=x1x2x3=x10x20x31=x3.

Полная система функций.

Определение.Система ФАЛ(f1, f1,…, fm)называется полной, если любая функция может быть представлена суперпозицией функцийf1, f1,…, fm.

Система функций { f1, f1,…, fm}, являющаяся полной, называетсябазисом.

Примеры полных систем функций: x1x2; x1x2 ; x1x2 ; x1x2=.

Минимальным базисом называется такой базис, для которого удаление хотя бы одной функции f1, образующей этот базис, превращает систему функций(f1, f1,…, fm)в неполную.

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

(x1, x2,…, xn)=

(x1, x2,…, xn)=.

Верно утверждение о полноте системы, состоящей из трех функций: конъюнкции, отрицания и дизъюнкции.

Минимизация функций алгебры логики

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

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

f(x1, x2, x3)= &x2&x3x1& x2&x1& & x3x1& && x2& x3.

Добавим к функции один конъюнктивный член &x2&x3.Это добавление не меняет данной функции так какxx=x:

f(x1, x2, x3)= x2x3x1 x2x1 x3x1 x2x3x2x3.

Преобразуем это выражение, используя сочетательные и распределительные свойства конъюнкции и дизъюнкции:

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

Используя свойство дизъюнкции, получаем:

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

.

Из примера видна неэкономность совершенных нормальных форм для представления ФАЛ.

Проблема простейшего представления функций сводится к проблеме выбора базиса и проблеме наиболее экономного представления функций в этом базисе.

К настоящему времени существенные результаты в решении задачи минимизации лишь в базисе, состоящем из отрицания, конъюнкции и дизъюнкции.

Приведем ряд определений.

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

Определение. Ранг элементарной конъюнкции — это число элементов, образующих эту конъюнкцию. Ранг — это ''n''.

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

Определение. ДНФ для функции f(x1, x2,…, xn), состоящей из элементарных конъюнкций ранга n, называется дизъюнктивной совершенной нормальной формой.

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

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

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

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

Аналогичные определения можно дать для случая конъюнктивных нормальных форм.

Дизъюнктивная (конъюнктивная) нормальная форма — это дизъюнкция (конъюнкция) конечного числа различных членов, каждый из которых представляет собой конъюнкцию (дизъюнкцию) отдельных переменных или их отрицаний, входящих в данный член не более одного раза.

U1,…Un — элементарные конъюнкции.

,

где все различны; числоr — ранг конъюнкции.