Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Элементарные функции алгебры логики

Поиск

ФУНКЦИИ АЛГЕБРЫ ЛОГИКИ

 

Пример 2.2

Рассмотрим несколько функций двух переменных (табл.2.7).

 

Таблица 2.7

x 1 x 2 (x 1& x 2) f 3 f 15
         

 

Покажем, что (х 1& x 2) существенно зависит от х 1. Рассмотрим наборы (0,1) и (1,1), здесь a 2=1, f (0, a 2)=0 и не равно f (1, a 2)=1. Покажем, что х 2 – тоже существенная переменная. Рассмотрим наборы (1,0) и (1,1). Здесь a 1=1, f (1,0)=0 и не равна f (1,1)=1. Для функции f 3(x 1, x 2) покажем, что х 2 – фиктивная переменная, т.е. надо показать, что не существует наборов (a 1,0) и (a 1,1) таких, что f 3(a 1,0) f 3(a 1,1). Пусть a 1=0, т.е. рассмотрим наборы (0,0) и (0,1), f (0,0)= f (0,1)=0. Пусть a 1=1, но f (1,0)= f (1,1)=1.

Для функции f 15 x 1 и x 2 являются фиктивными переменными. x 1–фиктивная переменная, так как существует набор (0, a 2) и (1, a 2), таких, что f (0, a 2f (1, a 2). Если a 2=0, то f (0,0)= f (1,0)=1, если a 2=1, тогда f (0,1)= f (1,1)=1. Аналогично доказывается, что – тоже фиктивная переменная.

Пусть хi является фиктивной переменной для функции f (x 1,..., xi,..., xn). Тогда ее можно удалить из таблицы истинности, вычеркнув все строки вида (a 1,... ai– 1, 1, ai +1,... an) или, наоборот, все строки вида (a 1,..., ai– 1, 0, ai +1,... an) и столбец для переменной хi. При этом получим таблицу для некоторой функции g (x 1,..., xi –1, xi +1,... xn). Будем говорить, что функция g (x 1,... xi –1, xi +1,... xn) получена из функции f (x 1,..., x i,... xn) путем удаления фиктивной переменной хi или f получена из g путем введения фиктивной переменной хi (табл.2.8).

Определение 2.4. Функции f 1 и f 2 называются равными, если f 2 можно получить из f 1 путем добавления или удаления фиктивной переменной.

 

Пример 2.3

Таблица 2.8

x 1 x 2 f 3
     

 

Вычеркнули строки типа (a,1), т.е. (0,1) и (1,1) и столбец для х 2.

Получили f 3(x 1 x 2) = g (x 1) = x 1.

Пример 2.4

Пусть функция g (x 1 x 2) задана табл. 2.9 и существенно зависит от обеих переменных.

Таблица 2.9

x 1 x 2 g
     

Построим функцию f (x 1, x 2, x 3), которая получается из g (x 1, x 2) введением фиктивной переменной х 3 (табл. 2.10).

Таблица 2.10

x 1 x 2 X 3 F
       

 

К наборам (х 1, х 2) мы добавим х 3=0, получим наборы вида (a 1, a 2,0), на этих наборах функцию f положим равной g (a 1, a 2), затем добавим наборы вида (a 1, a 2,1), функцию f (a 1, a 2,1) положим равной g (a 1, a 2).

Особую роль играют константы 0 и 1, которые не имеют существенных переменных и которые можно рассматривать как функции от пустого множества переменных.

 

2.2. Формульное задание функции алгебры логики

 

Дадим индуктивное определение формулы над множеством. Это определение несколько сложное по форме, но будет полезно в дальнейшем. С индуктивным определением мы встречались в математическом анализе при определении n -го дифференциала dnf (x): было введено понятие первого дифференциала df (x), а затем n -й дифференциал определялся как первый дифференциал от d (n –1) f (x).

 

Определение 2.5. Пусть М Ì P 2, тогда:

1) каждая функция f (x 1,..., x nM называется формулой над M;

2) пусть g (x 1,..., xmM, G 1,..., Gm – либо переменные, либо формулы над M. Тогда выражение g (G 1... Gn) – формула над M.

Формулы будем обозначать заглавными буквами: N [ f 1,..., fs ], имея в виду функции, участвовавшие в построении формулы, или N (х 1,..., xk), имея в виду переменные, вошедшие в формулу. Gi , формулы, участвовавшие в построении g (G 1,..., Gn), называются подформулами.

 

 

Пример 2.5. Пусть N ={(x 1& x 2),(x 1Ú x 2),(` x)}, тогда ((х 1& х 2х 3) – формула над N.

Сопоставим каждой формуле N (x 1,..., xn) функцию f (x 1,..., xnP 2. Сопоставление будем производить в соответствии с индуктивным определением формулы.

1) Пусть N (x 1,..., xn)= f (x 1,..., xn), тогда формуле N (x 1,..., xn) сопоставим функцию f (x 1,..., xn).

2) Пусть N (x 1,..., xn)= g (G 1,..., Gm), где каждое Gi – либо формула над M, либо переменная, тогда по индуктивному предположению каждому Gi сопоставлена либо функция fi Î P 2, либо переменная хi, которую можно считать тождественной функцией. Таким образом, каждой формуле Gi сопоставлена функция fi (), причем { }Í{ x 1,..., x n}, так как в формуле N (x 1,..., xn) перечислены все переменные, участвовавшие в построении формулы. Можно считать, что все функции fi зависят от переменных (x 1,..., xn), причем какие-то переменные могут быть фиктивными. Тогда N (x 1,..., xn) = g (G 1,..., Gm) = g (f 1(x 1,..., xn),..., fm (x 1,.., xn)). Сопоставим этой формуле функцию h (x 1,..., xn) следующим образом: пусть (a 1,..., an) – произвольный набор переменных (x 1,..., xn). Вычислим значение каждой функции fi на этом наборе, пусть (a 1,..., an)= bi, затем найдем значение функции g (x 1,..., xm) на наборе (b 1,..., bm) и положим h (a 1,..., an) = g (b 1,..., bm) = g (f 1(a 1,..., an),..., fm (a 1,..., an)). Так как каждое fi (x 1,..., xn) есть функция, то на любом наборе (a 1,..., an) она определяется однозначно, g (x 1,..., xm) – тоже функция, следовательно, на наборе (b 1,..., bn) она определяется однозначно, h (x 1,..., xn) есть функция, определенная на любом наборе (a 1,..., an).

Множество всех формул над M обозначим через < M >.

 

Определение 2.6. Две формулы N и D из < M > называются равными N = D или эквивалентными N ~ D, если функции, реализуемые ими, равны.

 

Упрощение записи формул

1) внешние скобки можно опускать;

2) приоритет применения связок возрастает в следующем порядке: ~, , Ú,&;

3) связка ־ над одной переменной сильнее всех связок;

4) если связка ־ стоит над формулой, то сначала выполняется формула, затем отрицание;

5) если нет скобок, то операции ~ и выполняются в последнюю очередь.

 

Пример 2.6. Доказать эквивалентность формул (табл. 2.11).

( &(х 2Å x 3))~().

 

Таблица 2.11

x 1 x 2 x 3 x 2Å x 3 & x 2 x 3 x 3 x 2 & Ú x 1
                   

 

Пример 2.7

Упростим формулы:

1. x 2 x 3Ú x 1 2 x 3 = x 3(x 2Ú x 1 2) = x 3((x 2Ú x 1)&(x 2Ú 2)) = (x 1Ú x 2) x 3.

2. x 1Ú 1 x 2Ú 1 2 x 3Ú 1 2 x 3 x 4= x 1Ú 1(x 2Ú 2 3 x 4)= x 1Ú 1

(x 2Ú x 3Ú 2 3 x 4)=(x 1Ú 1)(x 1Ú x 2Ú x 3Ú 2 3 х 4)= x 1Ú(x 2Ú x 3)Ú() x 4= = x 1Ú(x 2Ú х 3Ú())(x 2Ú x 3Ú x 4) = x 1Ú x 2Ú x 3Ú x 4.

 

Принцип двойственности

 

Определение 2.7. Функция f *(x 1,..., xn) называется двойственной к функции f (x 1,..., xn), если f *(x 1,..., xn) = ( 1,..., n).

Пример 2.8. Покажем с помощью таблицы истинности

(табл. 2.13) что константа 0 двойственна к 1.

 

Таблица 2.13

x f f *
     

Функции f (x) = x и g (x) = двойственны сами себе (табл.2.14),

так как f *(0)= (1).

Таблица 2.14

x f f * g g *
         

Определение 2.8. Если f *(x 1,..., xn) = f (x 1,..., xn), то f (x 1,..., xn) называется самодвойственной.

Если f *– самодвойственна, то ( 1,..., n) = f (x 1,..., xn), т.е. на противоположных наборах функция принимает противоположные значения.

 

Пример 2.9. Покажем, что f (x 1, x 2, x 3)= x 1Å x 2Å x 3 – самодвойственна (табл. 2.15).

Таблица 2.15

x 1 x 2 x 3 f f *
         

 

 

Пример 2.10. Покажем, что функция х1Úх2 двойственна к x1&x2, функция х1 х2 двойственна к функции x1|x2 (табл. 2.16).

 

 

Таблица 2.16

x 1 x 2 f = х 1Ú х 2 f * g = x 1| x 2 g *= x 1 x 2
0 0 0 1 1 0 1 1        

 

Теорема 2.1. О двойственных функциях

Если f * двойственна к f, то f двойственна к f *.

Доказательство. f *(x 1,..., xn) = ( 1,..., n). Найдем двойственную функцию к f *, т.е. (f *(x 1,..., xn))* = ( ( 1,..., n))* = ( 1,..., n) = f (x 1,.., xn).

Предположим, что функция задана формулой. Можно ли найти по этой формуле двойственную функцию? Ответ на этот вопрос дает следующая теорема.

 

 

Теорема 2.2. О принципе двойственности

Пусть функция h (x 1,..., xn) реализована формулой h (x 1,..., xn) = = g (G 1,..., Gm) = g (f 1(x 1,..., xn),..., fm (x 1,..., xn)), где какие-то переменные могут быть фиктивными. Тогда h *(x 1,..., xn) = g *(f 1*(x 1,..., xn),..., fm *(x 1, …, xn)), это означает, что если функция задана некоторой формулой, то, чтобы получить двойственную функцию, надо в этой формуле все знаки функций заменить на двойственные: 0 на 1, 1 на 0.

Доказательство. h *(x 1,..., xn) = ( 1,..., n) = (f 1( 1,..., n),..., fm ( 1,..., n)) = ( 1( 1,..., n),..., ( 1,..., n)) = = ((),..., (() = g *(f 1*(x 1,..., xn),..., fm *

(x 1,..., xn)), что и требовалось доказать.

Если функция h (x 1,..., xn) реализуется формулой N [ f 1,..., fn ], то формулу, полученную из N заменой fi, входящих в нее, на fi * и реализующую функцию h *(x 1,..., xn), будем называть двойственной и обозначать N *(x 1,..., xn).

Пример 2.11. Построить формулу, реализующую f *, если f = =((x y) Ú z) (y (x Å yz)). Покажем, что она эквивалентна формуле N = z (x Å y).

Найдем (x Å y)* и (x y)*.

Таблица 2.17

x y x Å y (x Å y)* x y (x y)*
0 0 0 1 1 0 1 1        

Из табл. 2.17 видно, что

(x y)*= x ~ y = = x y 1, x y = y x , (x y)* = y, x y = y.

По принципу двойственности

f *= yz ( (x (y z) 1))= yz z (x (y z) 1)= = z ( y Ú( x Å z Å ))= z ( y Ú (x Å z Å1))= z ( y Ú (x Å ))= = z y Ú(z x Å z ) = z ( y Ú x ) = z (x Å y).

Тогда f = (f *)* = [ z (x Å y)]* = z Ú(x ~ y).

 

Примеры использования теоремы Поста

1.Покажем, что система функций { f 1 = x 1 x 2, f 2 =0, f 3 =1, f 4 = = x 1Å x 2Å x 3} полна в Р 2. Составим табл. 2.23, которая называется критериальной

 

Таблица 2.23

  Т 0 Т 1 L M S
x 1 x 2 + + - + -
  + - + + -
  - + + + -
x 1Å x 2Å x 3 + + + - +

 

Таблица 2.24

x 1 x 2 x 3 x 1Å x 2Å x 3
0 0 0 0 1 1 1 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1  

 

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

Отметим еще одно обстоятельство, касающееся приведенной системы. Какую бы функцию из этой системы мы ни удалили, система станет неполной, действительно, { f 2, f 3, f 4L, { f 1, f 3, f 4T 1, { f 1, f 2, f 4T 0, { f 1, f 2, f 3M.

2. Мы знаем, что система { x 1| x 2} полна в Р 2. Какова для нее критериальная таблица? x 1| x 2= = x 1 x 2Å1 (табл.2.25).

 

Таблица 2.25

  Т 0 Т 1 L M S
x 1| x 2 - - - - -

3. Составим критериальную таблицу для другой полной системы функций из Р2: {0, 1, x 1 x 2, x 1Å x 2} (табл.2.26).

 

Таблица 2.26

  Т 0 Т 1 L M S
  + - + + -
  - + + + -
x 1 x 2 + + - + -
x 1Å x 2 + - + - -

Согласно критериальной таблице, полной является и система {1, x 1 x 2, x 1Å x 2}. Константа 0 введена в эту систему для удобства, тогда мы можем записать полином Жегалкина в виде, где а равны 0, если члены х х ... х в полиноме отсутствуют.

4. Выясним, полна ли система . Составим критериальную таблицу, очевидно, . Чтобы показать, что , достаточно найти одну функцию и . Возьмем , удовлетворяющую требуемым условиям. Если f S \ T 0, то f (0,..., 0) = 1, f (1,..., 1)=0, следовательно, f M, f T 1. Рассмотрим функцию h = x 1 x 2 x 2 x 3 x 1 x 3=1, набор ее значений (11101000), h S \ T 0, но h L. Следовательно, критериальная таблица имеет вид (табл. 2.27) и А – полная система функций.

Таблица 2.27

  Т 0 Т 1 L M S
L T 1 - + + - -
S \ T 0 - - - + -

 

Определение 2.15. Система функций { f 1,..., fs,...} называется базисом в Р 2,если она полна в Р 2, но любая ее подсистема не будет полной. Например, система функций { x 1& x 2, 0, 1, x 1 x 2 x 3} – базис.

 

ФУНКЦИИ АЛГЕБРЫ ЛОГИКИ

 

Элементарные функции алгебры логики

 

Обозначения: E 2={0,1}; Е = E 2´ E 2´...´ E 2 – прямое произведение n сомножителей; (x ,.., xn, | E 2| – мощность E 2, | E 2|=2, тогда | Е |=2 n.

Определение 2.1. Функцией алгебры логики называется отображение Е E 2, причем отображение всюду определено и функционально.

Так как множество Е конечно, то задать отображение Е Þ E 2 означает задать множество наборов из Е и для каждого набора указать его образ в Е 2.

 

Пример 2.1. Пусть n =2, тогда Е ={(0 0),(0 1),(1 0),(1 1)}, отображение Е Þ E 2 задано, например, так: (0 0) Þ0; (0 1) Þ1; (1 0) Þ1; (1 1) Þ1.

Тем самым задана функция, для которой мы будем использовать стандартное обозначение f (x 1, x 2), записывая эту функцию в виде таблицы 2.1.

Таблица 2.1

x 1 x 2 f (x 1, x 2)
     

 

Здесь x 1 и x 2 обозначают названия столбцов, а f – символ, обозначающий отображение. Следует обратить внимание, что функции f (x 1, x 2) и f (y 1, y 2) задают одно и то же отображение и их таблицы отличаются только названиями столбцов.

 

Определение 2.2. Таблица, задающая функцию f (x 1, x 2,..., xn), называется таблицей истинности для этой функции.

Рассмотрим функции одной переменной. Их будет всего 4, они задаются таблицами истинности 2.2–2.5.

 

Таблица 2.2

x f 0(x)
     

Функция называется константой 0, записывается f 0(x) 0.

 

Таблица 2.3

x f 1(x)
   

Функция называется тождественной, записывается f 1(x)= x.

 

Таблица 2.4

x f 2(x)
   

Функция называется «не x» и записывается f 2 (x)= .

 

Таблица 2.5

x f 3(x)
   

 

Функция записывается f 3(x) 1 и называется константой 1. Если стандартным расположением переменной x считать 0 в первой строке и 1 во второй, то функции f 0, f 1, f 2, f 3 определяются однозначно наборами значений: f 0=(0,0), f 1=(0,1), f 2=(1,0) и f 3=(1,1). Наборы значений функций составляют множество E 2´ Е 2, поэтому количество функций одной переменной равно | E 2 E 2|=4. Для удобства функции пронумерованы так, что двоичный код номера совпадает с набором значений функции.

Рассмотрим функции двух переменных f (x 1, x 2). Функции двух переменных определены на множестве Е ={(0 0),(0 1),(1 0),(1 1)}, эти наборы переменных из Е можно тоже рассматривать как двоичные коды чисел 0,1,2,3. Именно такой порядок расположения наборов (x 1, x 2) будем считать стандартным. Тогда функции f (x 1, x 2) определяются однозначно наборами значений (b 1, b 2, b 3, b 4), где каждое bi Î E 2, поэтому (b 1, b 2, b 3, b 4Е . Следовательно, число функций двух переменных равно 24=16, занумеруем их числами от 0 до 15 так, чтобы двоичный код номера совпадал с набором значений функции (табл.2.6).

Таблица 2.6

x 1 x 2 f 0 f 1 f 2 f 3 f 4 f 5 f 6 f 7 f 8 f 9 f 10 f 11 f 12 f 13 f 14 f 15
0 0 0 1 1 0 1 1                                

 

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

1) f 1(x 1, x 2) = (x 1& x 2), читается «конъюнкция х 1 и х 2», иногда вместо знака & употребляют знак или вообще его опускают, пишут (х 1 х 2). (х 1& х 2) совпадает с обычным произведением х 1 х 2 и совпадает с min(x 1, x 2). Эту операцию называют также логическим умножением.

2) f 6(x 1, x 2) = (x 1Å x 2) – сложение х 1 и х 2 по модулю два, иногда пишут (х 1+ х 2) mod 2.

3) f 7(x 1, x 2) = (x 1Ú x 2), читается «х 1 дизъюнкция х 2», она совпадает с max(x 1, x 2), ее называют логическим сложением.

4) f 8(x 1, x 2) = (x 1 x 2), читается «х 1 стрелка Пирса х 2» и совпадает с отрицанием дизъюнкции, другие названия: функция Вебба, функция Даггера.

5) f 9(x 1, x 2) = (x 1~ x 2), читается «х 1 эквивалентно х 2».

6) f 13(x 1, x 2) =(x 1 x 2), читается «х 1 импликация х 2», иногда обозначается , т. е. х 1 влечет х 2.

7) f 14(x 1, x 2) = (x 1| x 2), читается «х 1 штрих Шеффера х 2», она является отрицанием конъюнкции.

Cимволы ,&,Ú, ,~, ,Å,|, участвующие в обозначениях элементарных функций, называются логическими связками или просто связками. Переменные 0 и 1 называются логическими или булевыми переменными, причем 0 соответствует «лжи», а 1 – «истине», а функции алгебры логики называются еще и булевыми функциями.

Рассмотрим функцию f (x 1... xn), где (x 1... xnЕ , тогда число наборов (x 1... xn), где функция f (x 1... xn) должна быть задана, равно | Е |=2 n. Обозначим множество всех функций двузначной алгебры логики Р 2. Обозначим через Р 2(n) число функций, зависящих от n переменных. Очевидно, .

С ростом n число Р 2(n) быстро растет: P 2(1)=4, P 2(2)=16, P 2(3)=256, P 2(4)=65536. При больших n табличный способ задания функций становится неприемлемым, используется формульное задание функций. Но прежде чем ввести понятие формулы, дадим определение существенной переменной.

 

Определение 2.3. Функция f (x 1,..., xi –1, xi, xi +1,..., xn) существенно зависит от хi, если существуют такие значения a 1,... ai –1, ai +1,... an переменных x 1,... xi –1, xi +1,... xn, что

f (a 1,... ai –1, 0, ai +1... anf (a1... ai –1, 1, ai +1... an). Тогда переменная хi называется существенной переменной. В противном случае хi называется фиктивной переменной.

 

Пример 2.2

Рассмотрим несколько функций двух переменных (табл.2.7).

 

Таблица 2.7

x 1 x 2 (x 1& x 2) f 3 f 15
         

 

Покажем, что (х 1& x 2) существенно зависит от х 1. Рассмотрим наборы (0,1) и (1,1), здесь a 2=1, f (0, a 2)=0 и не равно f (1, a 2)=1. Покажем, что х 2 – тоже существенная переменная. Рассмотрим наборы (1,0) и (1,1). Здесь a 1=1, f (1,0)=0 и не равна f (1,1)=1. Для функции f 3(x 1, x 2) покажем, что х 2 – фиктивная переменная, т.е. надо показать, что не существует наборов (a 1,0) и (a 1,1) таких, что f 3(a 1,0) f 3(a 1,1). Пусть a 1=0, т.е. рассмотрим наборы (0,0) и (0,1), f (0,0)= f (0,1)=0. Пусть a 1=1, но f (1,0)= f (1,1)=1.

Для функции f 15 x 1 и x 2 являются фиктивными переменными. x 1–фиктивная переменная, так как существует набор (0, a 2) и (1, a 2), таких, что f (0, a 2f (1, a 2). Если a 2=0, то f (0,0)= f (1,0)=1, если a 2=1, тогда f (0,1)= f (1,1)=1. Аналогично доказывается, что – тоже фиктивная переменная.

Пусть хi является фиктивной переменной для функции f (x 1,..., xi,..., xn). Тогда ее можно удалить из таблицы истинности, вычеркнув все строки вида (a 1,... ai– 1, 1, ai +1,... an) или, наоборот, все строки вида (a 1,..., ai– 1, 0, ai +1,... an) и столбец для переменной хi. При этом получим таблицу для некоторой функции g (x 1,..., xi –1, xi +1,... xn). Будем говорить, что функция g (x 1,... xi –1, xi +1,... xn) получена из функции f (x 1,..., x i,... xn) путем удаления фиктивной переменной хi или f получена из g путем введения фиктивной переменной хi (табл.2.8).

Определение 2.4. Функции f 1 и f 2 называются равными, если f 2 можно получить из f 1 путем добавления или удаления фиктивной переменной.

 

Пример 2.3

Таблица 2.8

x 1 x 2 f 3
    <


Поделиться:


Последнее изменение этой страницы: 2016-07-14; просмотров: 396; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 13.58.211.135 (0.013 с.)