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

7. Формула над классом (множеством) логических функций. Примеры эквивалентных преобразований формул, в частности, правила поглощения, склеивания, вычеркивания. Задание логических функций

1.1.1. Таблицы. Функция f(x1, …,xn) называется логической или (булевой), если она принимает значения 0и 1и ее аргументы также принимают значения 0 и 1.Логическая функция отnаргументов может быть задана таблицей, в которой перечислены всевозможные наборы из 0и 1длины nи для каждого из них указано значение функции. Наборы обычно перечисляются в порядке возрастания чисел, двоичными записями которых они являются. В таблице 1.1приведен пример логической функции от 3аргументов.

Таблица 1.1

x1x2 x

f(x1,x23)

0 0 1

1

0 1 0

0

0 1 1

0

1 0 0

1

1 0 1

1

1 1 0

0

1 1 1

1

Таблицы для функций от nаргументовx1, ...,хnимеют 2nстрок (по числу двоичных наборов длиныn). Различные таблицы отличаются лишь последним столбцом и, поскольку количество различных двоичных столбцов длины 2nсоставляет 22 ,число функций отnаргументовx1, ...,хnравно22 .Заметим, что в это число включены и функции, зависящие от некоторых из аргументовx1, ...,хnфиктивно*), т. е. функции, фактически зависящие от меньшого числа аргументов. Величина 22чрезвычайно быстро растет (так, 22 =4, 2=16, 2= 256. 2 >6•104, 2>4•109).

Приведем примеры функций, которые будут широко использоваться в дальнейшем. При n=1имеются 4 логические функции (см. табл. 1.2).

Таблица 1.2.

x

0

1

X

x

0

1

0

0

1

1

0

1

1

0

Ими являются константы 0и 1,значения которых не зависят от значений аргумента, тождественная функцияx, повторяющая значение аргумента, и функция х, принимающая значение, противоположное значению аргумента. Функцияxносит название отрицания или инверсии. Заметим, что константы 0и 1фактически не зависят от аргумента, и их иногда будем считать «функциями от нуля аргументов

Среди функции от 2аргументов также выделим некоторые функции (табл. 1.3).Они носят соответственно Таблица 1.3.

x1 x2

x1&x2

x1\/x2

x1> x2

x1 x2

x1 ~x2

0 0

0 1

1 0

1 1

0

0

0

1

0

1

1

1

1

1

0

1

0

1

1

0

1

0

0

1

названия конъюнкции, дизъюнкции, импликации, суммыпо модулю 2 (поmod 2)и эквивалентности. Как

можно видеть из таблицы, конъюнкция равна 1лишь в случае, когда оба аргумента обращаются в 1,а дизъюнкция равна 0лишь на нулевом наборе. Конъюнкцию принято также называть логическим умножением а дизъюнкцию —логическим сложением. Импликация обращается в 0только в случае, когда значение второго аргумента меньше значения первого аргумента. Функция эквивалентности равна 1при совпадении значений аргументов, а функция суммы по модулю 2—при несовпадении. Название последней из этих функций объясняется тем, что она принимает значение 1на наборах с нечетным числом единиц и значение и 0—на наборах с четным числом. Перечисленные функции от одного идвух аргументов будем называть элементарными.

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

Пусть имеется некоторое множество В логических функции. Множество В будем называть базисом, а входящие в него функции—базисными. По индукции определим понятие формулы (над В):

—выражение f(x1, ...,хn), где f—базисная функция, есть формула;

—если fo(x1, ...,хm) базисная функций, а выражения Ф1 ...,Фmявляются либо формулами, либо символами переменных, то выражениеf( Ф1 ...,Фm) есть формула.

Все формулы, которые встречались в процессе построения заданной формулы, будем называть ее под формулами. В качестве примера рассмотрим базис B={g( x1,x2), h(x1,x2, x3)),состоящий из двух функций Выражениеh(g(x1,h(x1,x2, x3), x1), h(x1,x2, x3), x1))является формулой надB. Под формулами здесь будут

g( x1,x2), h(x1,g( x1,x2),x1), h(x2,x2,x2),g(x1,h(x2,x2, x2)) и вся формула.

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

—формуле вида f(x1, ...,хn), гдеf—базисная функция, ставится в соответствие функцияf(x1, ...,хn),;

— если формула имеет вид fo(x1, ...,хm), где Фi(i=1,..,m) является либо формулой, либо символом переменнойxj, то ей сопоставляется функцияf(f1, ...,fm) гдеfiявляется соответственно либо функцией, реализуемой под формулой Фi, либо тождественной функциейxj(i).

Функция, реализуемая формулой, зависит от переменных, которые участвовали в ее построении. В качестве примера рассмотрим формулу (x2>x1)&(((x21)&)~ ). Она реализует некоторую функциюf(x1,x2,x3). Пользуясь таблицами для элементарных функций, можно вычислить ее значение на любом наборе (1,2, 3).Проделаем это для набора (0,1,0):

(1 0) & ((( 11 )& )~ )= (1 0) & ((0 & 1)~ 1)= 0 & (0 ~ 1) = 0 & 0 = 0.

Подобным образом можно убедиться, что функция f(x1,x2,x3), задается таблицей 1.1.

1.1.3. Эквивалентные преобразования формул.Формулы Ф и Ψ будем называть эквивалентными и записывать Ф =Ψ,если они реализуют равные функции, т.е. на одинаковых наборах принимают одинаковые значения. Эквивалентность формул может быть установлена путем нахождения табличного задания реализуемых ими функций и сравнения этих таблиц (другой способ проверки эквивалентности будет изложен в следующем параграфе). Очевидно, что замена в формуле некоторой подформулы на эквивалентную дает формулу, эквивалентную исходной. На основании этого можно осуществлять преобразования формул, не изменяющие реализуемых функций.

Дальше в пределах параграфа будем рассматривать формулы над базисом Bo={0,1,,–,&,V, >, , ~}, состоящим из всех элементарных функций.

По таблицам 1.2и 1.3легко проверить, что имеют место эквивалентности

, (1.1)

=( & ) \/ (&), (1.2)

~ =( &)\/ (&). (1.3)

С их использованием формулы над В могут быть заменены эквивалентными формулами над более узким базисом {0,1,, –,&,}

Приведем некоторые важные эквивалентности для базиса {0,1, , –,&,}:

(&)&= &(&), свойства ассоциативности,

(\/)\/= \/( \/)

&= &свойства коммутативности,

\/= \/,

&=свойства идемпотентности,

\/=

&(\/)= (&) \/ (&) свойства дистрибутивности

(&)= (\/) & (\/)

=

законы де Моргана,

Кроме того, справедливы следующие соотношения с участием констант:

&0=0, &1=, &=0,

1=1, 0=, = 1

Из свойства ассоциативности следует, что можно рассматривать многоместную конъюнкцию

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

n =1иn=0.В случае n= 1они означаютx. Пустая конъюнкция (приn=0) полагается равной 1,пустая дизъюнкция— равной 0.Законы де Моргана могут быть обобщены для произвольногоn:

,

При n>2 в этом можно убедиться, представив многоместную функцию с помощью двухместных. Приn=3, например, цепочка преобразований имеет вид

()=

В случае n=0и n=1соотношения (1.4)выполняются очевидным образом.

Соотношения (1.4)допускают дальнейшее обобщение. Пусть функцияfреализуется некоторой формулой в базисе {0,1,-,&,}. Тогда формула, реализующая ее отрицание f,может быть получена по следующему правилу. Все функции &должны быть заменены на , функции —на &,переменные , должны быть заменены их отрицаниями, а константы 0и 1 —противоположными константами 1и 0.Это вытекает из законов де Моргана, на основе которых отрицание над формулой может быть последовательно пронесено вглубь формулы, пока оно не перейдет на переменные и константы.

Для пояснения этого рассмотрим пример. Пусть функция fзадается формулой

f=(( &) ) & Последовательное применение законов де Моргана дает

Тот же результат получается с использованием указанного правила.

1.1.4. Упрощение формул.В дальнейшем с целью сокращения записей условимся знак &иногда заменять точкой или опускать и считать, что операция &связывает сильнеее других операций, т. е. что она выполняется раньше их (если скобки не предписывают другого порядка). Так, вместо записи будем применять .

Укажем некоторые полезные эквивалентности, которые могут быть использованы для упрощения формул:

\/= правила поглощения,

(\/) =

\/=—правило склеивания,

\/= \/ —правило вычеркивания.

Их доказательства проводятся на основе эквивалентностей, приведенных раньше:

При применении указанных правил вместо переменных x1иx2могут подставляться любые формулы.

Применение правил проиллюстрируем на примере ранее рассматривавшейся формулы

Используя соотношения (1.1)—(1.3),осуществим ее перевод в базис {0,1,x,~,&, \/} с одновременным упрощением. Имеем

(здесь мы воспользовались свойством дистрибутивности). Окончательно,