Разложение булевой функции по переменным
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

 

Обозначим xs=

Посмотрим, чему равно xs при разных значениях x и s (табл. 3.17).

 

Таблица 3.17

x\s 0 1
0 1 0
1 0 1

 

Из табл. 3.17 следует:  тогда и только тогда, когда x= s.

 

Теорема о разложении функции по переменным.
Пусть f(x1, ..., x n) ÎP2. Тогда для любого m: 1 ≤ mn допустимо представление f(x1, ... , x m, x m+1, ..., x n) =

= ,

где , и дизъюнкция берется по всем наборам из 0 и 1, которое называется разложением функции f по переменным x1, ..., .

Прежде чем доказать утверждение, рассмотрим примеры.

Пример 12.  m = 1, запишем разложение по переменной :

f (x1, ..., x n)= = f (0, x2 , …, x n) Úx1f (1, x2, ..., x n).

Пример 13. Рассмотрим функцию и запишем разложение по переменным :

.

 

Если f(x1, x2) = x1 Å x2, то последняя формула дает x1 Å x2 = = x2Ú x1 , так как  и ,  и .

Доказательство теоремы. Для доказательства возьмем произвольный набор (a1, ..., a n) и покажем, что левая и правая части разложения по переменным принимают на этом наборе одинаковые значения. Cлева имеем f(a1, ..., an).

Cправа: .

Дизъюнкция берется по всевозможным наборам (s1, ..., sm). Если в этих наборах хотя бы одно si¹ai(1≤im), то  и , следовательно, ненулевой член будет только на наборе (s1, ... ,sm) = (a1, ... ,am), тогда

= f (a1, ..., an).

 

Следствие 1. Любую функцию f (x1, ..., x n), не равную тождественному нулю, можно представить в виде: . Этот вид называется совершенной дизъюнктивной нормальной формой функции f (x1, ..., x n) и записывается CДНФ.

Замечание.  – элементарная конъюнкция ранга n по числу входящих переменных; предполагается, что при i ¹ j, х i ¹ х j. СДНФ для f (x1, ..., x n) дизъюнкции элементарных конъюнкций ранга n. Если функция представлена в виде дизъюнкции элементарных конъюнкций, где ранг хотя бы одной элементарной конъюнкции меньше n, то такая форма называется дизъюнктивной нормальной формой (ДНФ).

C ледствие 2. Любая функция алгебры логики может быть представлена в виде формулы через отрицание, & и Ú.

а) Если f ≡ 0, то f(x1, ..., x n) = & .

б) Если f(x1, ..., x n) ¹ 0 тождественно, тогда ее можно представить в виде CДНФ, где используются только связки , &, Ú. CДНФ дает алгоритм представления функции в виде формулы через &, Ú, .

 

Пример 14. Пусть функция f (x1, x2, x3) задана таблицей истинности (3.18). Запишем ее в виде CДНФ. Наборов, на которых функция равна 1, три: (0, 1, 0), (1, 0, 0) и (1, 1, 1), поэтому f(x1, x2, x3) = = x10 &x21 &x30 Ú x11 &x20 &x30 Úx11&x21 &x31 .

 

Таблица 3.18

x1

x2

x3

f

 

0

0

0

0

1

1

1

1

0

1

1

1

0

0

1

1

0

1

0

1

0

1

0

1

0

0

1

0

1

0

0

1

               

 

Следствие 3. Мы умеем представлять функцию в виде . Нельзя ли представить ее в виде ? Пусть функция f(x1, ..., x n) ¹ 1 тождественно. Тогда функция f* ¹ 0 тождественно, и ее можно представить в виде СДНФ.

По принципу двойственности заменим & на Ú и наоборот; получим

 называется элементарной дизъюнкцией ранга n. Это представление функции называется совершенной конъюнктивной нормальной формой или в краткой записи – CКНФ. CКНФ для

f(x1, ..., x n) – конъюнкция элементарных дизъюнкций ранга n. КНФ для f(x1, ..., x n) – конъюнкция элементарных дизъюнкций, где ранг хотя бы одной элементарной дизъюнкции меньше n.

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

Функция равна нулю только на наборе (1, 1, 0), поэтому f(x1, x2, x3)=x1 Úx2 Úx3  =x10Úx20Úx31= Ú Úx3.

Таблица 3.19

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

 

3.5. Полнота, примеры полных систем

 

Определение. Cистема функций {f1, f2, ..., f s , ...} P2 называется полной в Р 2 , если любая функция f(x1, ..., x n )ÎP2 может быть записана в виде формулы через функции этой системы.

Полными системами, например, являются само  или множество , так как каждая функция может быть представлена в виде CДНФ или CКНФ, где используются только эти связки. Примерами неполных систем являются  или .

Лемма (достаточное условие полноты).

Пусть система U = {f1, f2, ..., f s, ...} полна в Р2, –диагностическая система. Пусть B = {g1, g2, ..., g k, ...} – некоторая система из Р2, причем любая функция f iÎ U может быть выражена формулой над B, тогда система B полна в Р2.

Доказательство. Пусть h(x1, ..., x nP2; так как U полна в Р2, то

h(x1, ..., x n) = N[f1, ..., f s, ...] = N[L1 [g1, ..., g k, ...], ..., L s[g1,..., g k, ...], ...] = = [g1, ..., g k]. Здесь мы воспользовались тем, что для любого i nf i может быть выражена формулой над B, поэтому f i = L i[g i, ..., g k, ...].

C помощью леммы докажем полноту некоторых важных систем.

1. Cистема  полна в .

Возьмем в качестве полной в Р2 системы U = {x1Úx2, , x1&x2}, B={x1Úx2, }. Надо показать, что x1&x2 представляется формулой над B. Действительно, по правилу Де Моргана получим x1&x2= .

2. Cистема {x1&x2, } полна в Р2.

3. Cистема {x1|x2} полна в Р2. Для доказательства возьмем в качестве полной в Р2 системы  U = {x1&x2, } и выразим х1&х2 и через х1|x2:  = x1 | x1, x1 &x2 = = (x1|x2)|(x1|x2).

4. Cистема {x1 x2} полна в Р2. U = {x1Úx2, }, = x1 x1, x1Úx2 =

=  = (x1 x2) (x1 x2).

5. Cистема {x1&x2, x1Åx2, 0, 1}, U = {x1&x2, }, = x1Å1.

 

Дата: 2019-04-23, просмотров: 229.