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

Тексты лекций / Текст лекции 3

.pdf
Скачиваний:
0
Добавлен:
12.01.2024
Размер:
714.53 Кб
Скачать

Тема 3 «Булевы функции и способы их задания»

Олейник Т.А., 2020

Глава 2. Функции алгебры логики

§ 2.1. Булевы функции и способы их задания

Булев вектор. Функции алгебры логики (булевы функции). Задание булевых функцийтаблицейистинностиивекторомзначений.Элементарныебулевыфункции одной и двух переменных. Формулы над множеством функций, задание функций формулами, равносильные формулы. Доказательство равносильности формул с использованием таблиц истинности. Основные равносильности над множеством { , ,¬,0,1}. Упрощение формул методом равносильных преобразований. Фиктивные и существенные переменные, равные функции, алгоритм удаления и введения фиктивных переменных.

Базовые понятия и утверждения

1. Булевы векторы и булевы функции от переменных. Булевым вектором называ-

ется упорядоченный набор ( , ,..., ), где принимают значения 0 или 1. Числа называют координатами вектора, число - его длиной.

Для краткого обозначения вектора ( , ,..., ) используют символ .

Например, (0,0), (0,1), (1,0), (1,1) - булевы векторы длины 2; (0,0,0), (0,0,1), (0,1,0), (0,1,1), (1,0,0), (1,0,1), (1,1,0), (1,1,1) - булевы векторы длины 3.

Число булевых векторов длины n равно 2 . Действительно, с точки зрения комбинаторики булев вектор длины n - упорядоченная выборка элементов множества {0,1}, которую можно построить за n шагов (на первом шаге выбрать первую координату, на втором - вторую и т.д.). Для выбора каждой координаты есть два варианта (0 или 1). Следовательно, согласно правилу произведения (см. § 1.2), последовательный выбор n координат можно

сделать 2 2 ... 2 = 2

способами.

 

Множество булевых векторов длины обозначают

и называют единичным -мер-

ным кубом.

 

 

 

Пример

1. Найти

число булевых векторов длины

16, у которых = , =

,..., =

.

 

 

◄ Для подсчета используем правило произведения. Чтобы составить требуемый вектор, нам достаточно последовательно выбрать восемь координат , , ,..., . В качестве каждой из них можно взять одно из двух чисел: 0 или 1. Таким образом, общее число векторов требуемого вида равно 2 2 ... 2 = 2 = 256.►

Упражнение 2.1. Сколько существует булевых векторов длины 8, которые одина-

ково читаются слева направо и справа налево?

 

Число ( ) =

2

+ 2

+...+ 2

+..+ 2 называют номером бу-

лева вектора = (

, ,..., ).

 

 

Пример 2. Вектор = (1,1,1,0,1) имеет номер

( ) = 1 2 +1 2 +1 2 +0 2 +1 2 = 29.

В дальнейшем нам часто придется перечислять булевы векторы от фиксированного числа переменных в порядке возрастания их номеров. Например, для булевых векторов

1

Тема 3 «Булевы функции и способы их задания» Олейник Т.А., 2020

длины 2 этот порядок таков: (0,0), (0,1), (1,0), (1,1). В этом легко убедиться, вычислив номера векторов:

(0,0) = 0 2

+ 0 2

= 0,

(0,1) = 0 2

+1 2

= 1,

(1,0) = 1 2

+ 0 2

= 2,

(1,1) = 1 2

+1 2

= 3.

Упражнение

2.2. Перечислить в порядке возрастания номеров булевы векторы

длины 3.

 

 

 

 

 

Введем понятие функции алгебры логики или булевой функции.

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

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

Чтобы задать булеву функцию от переменных, достаточно указать ее значение (0 или 1) на каждом наборе ( , ,..., ) значений аргументов , ,..., . Для задания булевой функции удобно использовать таблицу истинности (табл. 2.1). В каждой строке такой таблицы вначале идет набор ( , ,..., ) значений переменных , ,..., , а затем значение функции на этом наборе. Булевы векторы перечисляются сверху вниз в порядке возрастания номеров.

 

 

 

 

 

 

Таблица 2.1

 

 

 

 

 

(

, ,...,

, )

0

0

0

0

 

(0,0,...,0,0)

0

0

0

1

 

(0,0,...,0,1)

0

0

1

0

 

(0,0,...,1,0)

 

 

1

1

1

1

 

(1,1,...,1,1)

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

В частности, чтобы задать какую-нибудь булеву функцию от двух переменных, нужно каждому элементумножества = {(0,0),(0,1),(1,0),(1,1)}поставить в соответствие либо

0, либо 1.

 

 

 

 

 

Таблица 2.2

Пример 3. Рассмотрим функцию ( , ) такую, что (0,0) = 1,

 

 

 

(0,1) = 1, (1,0) = 1, (1,1) = 0. Эту же функцию зададим табли-

цей истинности (табл. 2.2).

 

 

0

0

1

 

 

Попоследнемустолбцутаблицывыпишемвекторзначенийфунк-

0

1

1

ции ( , ) = (1,1,1,0).

 

 

1

0

1

 

 

Множество булевых функций

от переменных обозначают

1

1

0

( ), а множество всех булевых функций - .

 

 

 

 

 

Числобулевыхфункцийот переменных | ( )| = 2

.Действительно,каждаябулева

функция от переменных однозначно определяется вектором значений длины 2

, поэтому

булевых функций от переменных столько, сколько булевых векторов длины 2

, т.е. 2 .

2

Тема 3 «Булевы функции и способы их задания»

Олейник Т.А., 2020

В частности, число булевых функций от одной переменной равно 4, от двух переменных - 16, от трех переменных - 256.

2.Элементарныебулевыфункции. В табл.2.3,2.4представлены все булевыфункции от одной и двух переменных.

 

 

Таблица 2.3

 

 

 

 

 

0

0

0

1

1

1

0

1

0

1

 

 

 

 

 

 

 

 

Таблица 2.4

 

 

 

 

 

 

 

 

 

 

0

0

0

0

0

0

0

0

0

0

0

1

0

0

0

0

1

1

1

1

1

0

0

0

1

1

0

0

1

1

1

1

0

1

0

1

0

1

0

1

 

 

 

 

 

 

 

 

 

 

0

0

1

1

1

1

1

1

1

1

0

1

0

0

0

0

1

1

1

1

1

0

0

0

1

1

0

0

1

1

1

1

0

1

0

1

0

1

0

1

Ниже перечислены булевы функции, которые наиболее часто употребляются и потому считаются «элементарными». Эти функции имеют собственные обозначения и названия:

1)называется тождественным нулем и обозначается 0;

2)называется тождественной функцией и обозначается по имени переменной (в нашем случае );

3)называется отрицанием , обозначается ̄или ¬ и читается «не »;

4)называется тождественной единицей и обозначается 1;

5)называется конъюнкцией, обозначается или &, или и читается « и

»;

6)называется сложением по модулю 2, обозначается и читается « плюс »;

7)

называется дизъюнкцией, обозначается и читается

« или »;

8)называется стрелкой Пирса, обозначается ↓ ;

9)называется эквивалентностью, обозначается ↔ и читается « эквивалентно (равносильно) »;

10)называется импликацией, обозначается → и читается « имплицирует (вле-

чет) ».

11)называется штрихом Шеффера и обозначается | .

Символы ¬,  ,  ,  , ↓, ↔, →, |, с помощью которых обозначают элементарные функции, называются логическими связками.

Для удобства дальнейшего изложения приведем таблицы истинности элементарных функций с учетом введенных обозначений (табл. 2.5 и 2.6).

3

Тема 3 «Булевы функции и способы их задания»

 

 

Олейник Т.А., 2020

 

 

 

 

Таблица 2.5

 

 

 

 

 

 

0

1

 

 

 

 

 

 

 

0

0

1

1

0

 

 

 

 

 

1

0

1

0

1

 

 

 

 

 

 

 

 

 

 

Таблица 2.6

 

 

 

 

 

 

|

0

0

0

0

0

 

1

1

1

1

0

1

0

1

1

 

0

0

1

1

1

0

0

1

1

 

0

0

0

1

1

1

1

0

1

 

0

1

1

0

3. Задание булевых функций формулами. Для задания булевых функций, помимо таблиц,используютформулы,которыеобычно строятпо «принципуматрешек»,вкладывая друг в друга символические обозначения функций. Говоря о формуле, часто указывают, с использованием каких функций она строилась. В некоторых случаях нужно указывать и то, какие использовались переменные.

Например, ( ) → | - формула над множеством функций, состоящим из дизъюнкции, импликации и штриха Шеффера с переменными из множества { , , }, а(¬ ) ↔ - формула над множеством функций, состоящим из конъюнкции, от-

рицания и эквивалентности, с переменными из множества { , }.

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

Например, ( ) ↔ (¬ ) - формула над множеством функций, состоящим из отрицания, конъюнкции, дизъюнкции и эквивалентности, с переменными из множества { , }, а ( ), (¬ ), (¬ ) - подформулы этой формулы.

Формула каждому набору значений аргументов ставит в соответствие значение некоторой функции и может служить, наряду с таблицей, способом задания этой функции. При этом говорят, что формула задает (представляет, реализует) функцию. Покажем на при-

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

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

а)(

,

) =

) ↔

;

 

 

б)(

,

, ) =

(

) →

| .

 

 

◄а)Пошаговоепостроениетаблицыистинностифункции(

, ) =

(¬ ) ↔

приведено в табл. 2.7.

4

Тема 3 «Булевы функции и способы их задания»

 

Олейник Т.А., 2020

 

 

 

 

 

 

Таблица 2.7

 

 

¬

 

(¬ )

 

(¬ ) ↔

0

0

1

 

0

 

1

0

1

1

 

1

 

0

1

0

0

 

0

 

0

1

1

0

 

0

 

0

Вектор значений функции (

,

) = (1000).

 

 

б) Пошаговое построение таблицы истинности функции ( , , ) = ( ) →

| приведено в табл. 2.8.

 

 

 

 

 

 

 

 

Таблица 2.8

 

 

 

 

 

 

|

(

) →

|

0

0

0

 

0

 

1

 

1

 

0

0

1

 

0

 

1

 

1

 

0

1

0

 

1

 

1

 

1

 

0

1

1

 

1

 

1

 

1

 

1

0

0

 

1

 

0

 

0

 

1

0

1

 

1

 

1

 

1

 

1

1

0

 

1

 

1

 

1

 

1

1

1

 

1

 

1

 

1

 

Вектор значений функции ( , , ) = (1111 0111). ►

Упражнение 2.3. Построить таблицу истинности и выписать вектор значений функции, заданной формулой:

а)(

,

,

) =

( ↓ )

;

б) (

,

,

) =

(1|( ))

(0 ↓ ) .

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

Для обозначения формулы над множеством функций = { , ,..., }используют запись[ , ,..., ]или[ ].Еслихотятобратить вниманиенато,чтопри написанииформулыиспользовалисьпеременные , ,..., ,топишут( , ,..., ).Запись = [ ] означает, что формула [ ] задает функцию .

Функция , заданнаяформулой над множествомфункций { , ,...}, называется супер-

позицией функций { , ,...}.

Для упрощения записи формул разрешается опускать у формул внешние скобки, вместо ¬ писать ; опускать символ конъюнкции « » («&», « »), т.е. вместо (&, ) писать . Чтобы сократить число скобок в формуле, среди операций вводят «иерархию». Самой «старшей» операцией считают отрицание, следующей за ней - конъюнкцию, затем - дизъюнкцию и, наконец, импликацию и эквивалентность (их не упорядочивают). Если скобки не предписывают противное, операции в формулах выполняют в порядке старшинства.

5

Тема 3 «Булевы функции и способы их задания»

Олейник Т.А., 2020

Например, согласно введенным договоренностям, формулу

(¬ )

можно записать в виде ↔ ̄. Составляя таблицу истинности функции,

заданной этой

формулой, сначала следует найти отрицание , затем конъюнкцию

и ̄и только затем

эквивалентность и ̄.

 

 

Упражнение 2.4. Учитывая договоренности о порядке выполнения операций, опустить «лишние» скобки и знак « » в формулах:

а) ( ̄ ) ;

 

б) ( ) ( )

→ ( ̄ ̄) .

Одну и ту же функцию можно задать разными формулами. Покажем это на примерах. Пример 5. Показать, что формулы ̄ и ̄ задают одну функцию.

◄ Обозначим функцию, заданную первой формулой, , а функцию, заданную второй

формулой, - (табл. 2.9).

 

 

 

 

 

 

 

 

 

 

 

 

 

Таблица 2.9

 

 

 

 

 

=

 

=

0

0

1

0

 

1

 

1

0

1

1

0

 

1

 

1

1

0

0

0

 

0

 

0

1

1

0

1

 

1

 

1

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

Упражнение 2.5. Показать, что формулы → и ̄ задают одну функцию. Если формулы и задают одну функцию, то их называют равносильными и пишут

= .

Например, ̄ = ̄, → = ̄ (см. пример 5 и упражнение 2.5).

Теорема 2.1. Для формул над множеством {0,1, , ,¬} имеют место следующие рав-

носильности:

 

 

 

1.

= ;

2.

= ;

3. ( ) = ( ) ;

4.

( ) = ( ) ;

5. ( ) = ( ) ( );

 

 

6.

( ) = ( ) ( );

 

7.

= ;

8.

= ;

9.

= ;

10.

= ;

11.

0 = ;

12.

0 = 0;

13.

1 =

14.

1 = 1;

15.

( ) = ;

16.

( ) = ;

17. ̄= 0;

18.

̄= 1;

19.

̄= .

 

 

 

Доказательство. Чтобы доказать любую из равносильностей 1 - 19, нужно убедиться в равенстве функций, которые задаются формулами, записанными в ее левой и правой частях. Для этого достаточно построить таблицы истинности этих функций. В качестве примера докажем равносильность под номером 10.

6

Тема 3 «Булевы функции и способы их задания»

Олейник Т.А., 2020

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

 

 

Таблица 2.10

 

 

 

 

Таблица 2.11

 

 

 

 

 

 

 

 

 

0

0

0

1

0

0

1

1

1

0

1

0

1

0

1

1

0

1

1

0

0

1

1

0

0

1

1

1

1

1

0

1

1

0

0

0

В справедливости остальных равносильностей рекомендуем убедиться самостоятельно. ■

Равносильности 1 - 19 характеризуют свойства дизъюнкции, конъюнкции и отрицания: 1 и 2 - коммутативность, 3 и 4 - ассоциативность, 5 - дистрибутивность конъюнкции относительно дизъюнкции, 6 - дистрибутивность дизъюнкции относительно конъюнкции, 7 и 8 - идемпотентность. Равносильности 9 и 10 называют законами де Моргана, 11 и 12 - законами нуля, 13 и 14 - законами единицы, 15 и 16 - законами поглощения, 17 и 18 - законами отрицания, 19 - законом двойного отрицания.

Ассоциативность конъюнкции и дизъюнкции позволяет дополнить договоренности об упрощенной записи формул договоренностью опускать скобки в случае многократного последовательного применения только дизъюнкции или только конъюнкции. Например, формулу ( ) можно записать в виде . В дальнейшем будем также употреблять следующие обозначения:

= ... и = ... .

До сих пор мы доказывали равносильность формул следующим образом: по каждой формуле восстанавливали таблицу функции, после чего полученные таблицы сравнивали. Есть и другой подход - использование равносильных преобразований. Он основан на том, что результат вычисления значения функции по формуле не зависит от того, как получены значения переменных, входящих в формулу (брались они произвольно, как значения неза- висимыхпеременных,илибылиполученыврезультатекаких-товычислений).Вчастности, равносильности 1-19 (см.теорему 2.1)остаютсясправедливымиприподстановкевместо переменных любых формул. Важно лишь соблюдать следующее правило: при подстановке в равносильность вместо некоторой переменной формулы все вхождения этой переменной в исходное равенство должны быть одновременно заменены формулой . Например, используя равносильность ̄ = ̄ (см. пример 5),можно записатьновые равносиль-

ности ̄ = ( заменено на ̄) и ̄ = ( заменено на ̄, а на ), а ис-

пользуя равносильность = - равносильность ̄ ̄= ( заменено на ̄, а

на ̄).

Таким образом, действует принцип: если - подформула формулы , то при замене в формуле любого вхождения на равносильную ей формулу формула переходит в равносильную ей формулу .

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

Пример 6. Применяя равносильные преобразования, упростить формулу:

а) ̄ ̄; б) ( → ) ( → ̄).

7

Тема 3 «Булевы функции и способы их задания» Олейник Т.А., 2020

◄ а) ̄ ̄= ̄( ̄)=

= ̄ ̄= ̄ = ̄ ;

б)( → ) ( → ̄)= ( ̄ ) ( ̄ ̄)= = ̄ ̄ ̄= ( ̄ ̄) ( ̄)= ̄1 = 1. ►

Упражнение 2.6. Применяя равносильные преобразования, упростить формулу:

а) ( → ) ;

б) ( ).

 

Теоретические обоснования

Есть булевы функции, которые не меняют своих значений при изменении значений некоторых своих переменных. Например, на значение функции (см. табл. 2.4) не влияет значение переменной , поскольку (0,0) = (0,1), (1,0) = (1,1), а на значение функции невлияетзначениепеременной ,поскольку (0,0) = (1,0), (0,1) = (1,1).Переменные, значения которых не влияют на значения функции, называют фиктивными. Определим это понятие строго.

 

Определение.

Переменная

 

называется

фиктивной

переменной функции

( ,..., ),

если

на всех наборах

,...,

,

 

,...,

значений

переменных

 

,...,

,

,...,

 

выполняются равенства

 

 

 

 

 

 

 

 

 

 

(

,...,

,0,

,...

) = (

,...,

 

,1,

,... ).

 

 

 

В противном случае переменная

называется существенной, т.е. переменная

назы-

вается существенной

переменной

функции (

,..., ), если

найдется

такой

набор

 

,...,

,

,...,

значений переменных ,...,

,

,..., , что

 

 

 

 

 

(

,...,

,0,

,...

) ≠ (

,...,

 

,1,

,... ).

 

 

 

Чтобы определения фиктивной и существенной переменных легче было усвоить, адап-

тируем их к каким-нибудь частным случаям. Например, определим как фиктивную переменную функции ( , , ): переменная называется фиктивной переменной функции

( , , ), если выполняются четыре равенства: (0,0,0) = (0,1,0), (0,0,1) = (0,1,1),(1,0,0) = (1,1,0), (1,0,1) = (1,1,1).

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

(0,0,0) = (0,1,0), (0,0,1) = (0,1,1), (1,0,0) = (1,1,0), (1,0,1) = (1,1,1) не выпол-

няется.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Фиктивные переменные не влияют на значения функции и с этой точки зрения явля-

ются «лишними», поэтому естественно поставить вопрос об их удалении.

 

 

 

Операция

удаления

(введения)

фиктивных переменных.

Пусть для

функции

(

, ,..., ) переменная

является фиктивной. Возьмем таблицу истинности функции

. Вычеркнем из нее все строки, в которых

= 1, а также вычеркнем столбец переменной

.

Полученная

таким

образом

таблица

будет

задавать

некоторую

функцию

(

,...,

,

,...,

),

причем на любом наборе

,...,

,

,

,...,

значений

переменных

 

,...,

,

,

,...,

для

функций

и

 

выполнено

равенство

(

,...,

, ,

,...,

)

= ( ,...,

,

,...,

). О функции говорят, что она

получена из функции путем удаления фиктивнойпеременной, ао функции говорят, что она получена из функции путем введения фиктивной переменной.

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

8

Тема 3 «Булевы функции и способы их задания»

 

 

 

 

Олейник Т.А., 2020

 

Пример 7. Найти фиктивные переменные функции и удалить их:

 

 

 

 

а) ( , ) =

(0011);

 

б) ( , , ) = (11011101).

 

 

 

 

 

◄ а) Для наглядности рассуждений построим таблицу истинности функции (табл.

2.12).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

: (0,0) ≠ (1,0),

следовательно,

-

 

Таблица

существенная;

 

 

 

: (0,0)

= (0,1)

и

(1,0) = (1,1),

 

 

2.12

следовательно,

 

-

фиктивная.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Чтобы удалить фиктивную переменную ,

нужно

вычеркнуть

из

 

0

0

0

таблицы истинности функции второй столбец,

0

1

0

а также третью и пятую

строки

(они

закрашены

серым

цветом).

В

1

0

1

результате

получим

таблицу

истинности

функции

( ) = (01),

равной функции ( , ) =

1

1

1

(0011).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

б) Построим таблицу истинности функции (табл. 2.13).

 

 

 

 

Таблица 2.13

:

(0,0,0) = (1,0,0),

 

(0,0,1)

= (1,0,1),

(0,1,0)

= (1,1,0),

 

 

 

 

(0,1,1) = (1,1,1), следовательно, - фиктивная;

 

 

 

: (0,0,0) ≠ (0,1,0), следовательно, - существенная;

 

 

0

0

0

1

: (0,0,0) = (0,0,1), (0,1,0) ≠ (0,1,1), значит, - существенная.

 

0

0

1

1

 

Чтобыудалитьфиктивнуюпеременную ,нужновычеркнутьизтаб-

0

1

0

0

 

лицы истинности функции первый столбец и последние четыре строки

0

1

1

1

(они закрашены серым цветом). В результате получим таблицу истинно-

1

0

0

1

стифункции ( , ) = (1101),равнойфункции ( , , ) = (11011101).

1

0

1

1

 

 

 

 

 

 

 

 

 

 

 

1

1

0

0

 

Упражнение 2.7. Найти фиктивные переменные функции и уда-

1

1

1

1

лить их:

 

 

 

 

 

 

 

 

 

 

а) ( , , ) = (01011111);

б) ( , , ) = (00110011).

 

 

 

 

Пример 8. Из функции ( , ) = (0100)путемвведения фиктивнойпеременной по-

лучить функции ( , , ), ( , , ), ( , , ).

 

 

 

 

 

 

 

 

◄ Заготовим шаблон таблицы истинности функции ( , , ) (табл. 2.14), отведя пер-

вый столбец под значения переменной ,

второй - под значения , третий -под значения

, четвертый - под значения самой функции.

 

 

 

 

 

 

 

 

 

Значение функции ( , , )

на каждой паре наборов вида (0, , ) и (1, , ) должны

совпадать со значением функции ( , ) на наборе ( , ). Значит, в строках, соответствующих наборам (0,0,0) и (1,0,0), надо проставить значение (0,0) = 0, в строках, соответствующих наборам (0,0,1) и (1,0,1), - (0,1) = 1, в строках, соответствующих наборам (0,1,0) и (1,1,0), - (1,0) = 0 и, наконец, в строках, соответствующих наборам (0,1,1) и (1,1,1), - (1,1) = 1.

Заготовим шаблон таблицы истинности функции ( , , ) (табл.2.15), отведя первый столбец под значения переменной , второй - под значения , третий - под значения , четвертый - под значения самой функции. Столбец значений функции ( , , ) заполним, исходя из того, что на каждой паре наборов вида ( ,0, ) и ( ,1, ) значение функции должны совпадать со значением функции ( , ) на наборе ( , ).

Заготовим шаблон таблицы истинности функции ( , , ) (табл.2.16), отведя первый столбец под значения переменной , второй - под значения , третий - под значения , четвертый - под значения самой функции. Столбец значений функции ( , , ) заполним,

9

Тема 3 «Булевы функции и способы их задания»

Олейник Т.А., 2020

исходя из того, что на каждой паре наборов вида ( ,,0) и ( ,,1) значение функции должны совпадать со значением функции ( ,) на наборе ( ,). ►

Таблица 2.14

Таблица 2.15

Таблица 2.16

 

 

 

 

 

 

 

 

 

 

 

 

0

0

0

0

0

0

0

0

0

0

0

0

0

0

1

1

0

0

1

1

0

0

1

0

0

1

0

0

0

1

0

0

0

1

0

1

0

1

1

0

0

1

1

1

0

1

1

1

1

0

0

0

1

0

0

0

1

0

0

0

1

0

1

1

1

0

1

0

1

0

1

0

1

1

0

0

1

1

0

0

1

1

0

0

1

1

1

0

1

1

1

0

1

1

1

0

Упражнение 2.8. Из функции ( ,) = (0010) путем введения фиктивной перемен-

ной получить функции ( ,,), ( ,,), ( ,,).

Упражнение 2.9. Найти функцию, зависящую существенным образом от всех своих аргументов и равную функции ( ,,,) = (1100  0011  1100  0011).

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

Имея в виду вышесказанное, будем в дальнейшем придерживаться следующих договоренностей.

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

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

Например, при желании вместо системы

функций ( ) = (10),

( ) = (11),

( ,,) = (10011101) можно рассматривать

систему равных

им функций

f1(x,y,z) (11110000), ( ,,) = (11111111), ( ,,) = (10011101).

 

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

Пусть - некоторое множество булевых функций, - некоторое счетное множество переменных. Используя индукцию, определим множество формул над с переменными из .Одновременнобудемопределятьчисловуюхарактеристику ( )формулы ,называемую ее глубиной, а также множество ее подформул.

Определение. Базис индукции. Каждая переменная из и каждая константа изявляется формулой глубины 0, т.е. ( ) = ( ) = 0. Множество подформул формулы глубины 0 состоит из нее самой.

10

Соседние файлы в папке Тексты лекций