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

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

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

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

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

Индуктивный переход. Пусть ( , ,...,

) - функция из ,

,

,..., - фор-

мулы и { ( ),( ),...,( )} = . Тогда выражение =

(

, ,..., )

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

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

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

сопоставлена некоторая функция. Пусть ( , ,..., ) - произвольная формула глубины

( ) = +1. Следовательно, она имеет вид =

( , ,..., ) , где

- функция из

, , ,...,

- формулы, для которых { (

),( ),...,(

)} = , и, зна-

чит, по предположению индукции этим формулам уже сопоставлены некоторые функции

(

,

,..., ), (

,

,...,

),…,

(

, ,..., ). Тогда

формула задает функцию

(

,

,..., ) = =

 

( ,

,...,

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

, значение

которой на каждом наборе ( , ,...,

) находится как значение функции

на наборе

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

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

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

Убедимся в этом на примерах.

 

 

 

 

 

Пример 9. Указать существенные и фиктивные переменные функции

 

( , , ) =

→ (

)

→ .

 

◄ Вначале упростим формулу, которой задается функция, используя равносильность

→ = ̄:

 

 

 

 

 

( , , ) =

→ (

)

=

 

=

̄ (

)

= (1 ) → = 1 → .

 

Таким образом, значение функции определяется исключительно значением перемен-

ной , причем (1,0,0) = 1 → 1 = 1, (0,0,0) = 0 → 1 = 0.

Значит, - существенная,

 

, - фиктивные.►

 

 

 

 

 

Упражнение 2.10. Указать существенные и фиктивные переменные функции

 

( , , ) = ̄̄̄ ̄̄

̄̄ ̄ .

Задачи повышенной сложности

2.1.Назовем весом булева вектора число его координат, равных 1. Сколько булевых векторов длины n имеет вес k?

2.2.Булевы векторы часто называют вершинами булева куба. Расстоянием (Хэмминга)

между вершинами и куба называют число , , равное числу координат, в

11

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

 

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

которых они различаются, т.е. , = ∑

|

− |. Вершины (векторы) и называют

соседними, если , = 1, и противоположными, если ,

= . Например, расстоя-

ние между векторами (1,0,0,1,0) и (0,0,0,1,1) равно 2. Расстояние между векторами (0,0,1,0) и (1,0,1,0) равно 1 и, значит, они соседние. Расстояние между векторами (1,0,0,1,0,0) и (0,1,1,0,1,1) равно длине этих векторов, и, следовательно, они противоположные.

Найти число неупорядоченных пар вершин булева куба , удаленных друг от друга на расстояние k (0 ≤ ≤ ).

2.3. Показать, что для любых противоположных наборов и выполняется равенство

() + = 2 − 1.

2.4.Подсчитать число функций от переменных, у которых: а) одна переменная фиктивная, остальные существенные;

б) (1 ≤ ≤ ) переменных фиктивные, остальные - существенные.

2.5.Пусть = { ,, }-подмножествобулевыхфункций,причем (1), (2),

(3) и ни одна из функций не является тождественной константой, = { ,,} - алфавит переменных. Определить, является ли выражение формулой над множеством независимо от вида функций ,,:

а) =

,,( ) ;

 

 

б) =

( ( ),0);

 

в) =

( ,),,( )

;

г) =

( ( ,( )),);

 

д) = ( ( ),( ,));

 

е) =

( ( ),( ),1).

 

2.6. По функциям (

, )

и (

,

), заданным векторами значений, построить век-

торы значений функции :

 

 

 

 

 

 

 

а) = (0111), = (0100), (

,

, ) = ( ( , ),

);

б) = (1110), = (0001),

 

 

 

 

 

(

,

, ,

) =

(

, ),(

, ) .

 

2.7. Указать существенные и фиктивные переменные функции

 

( ,..., ) = (

) (

) ... (

) ( ),

где ≥ 3.

 

 

 

 

 

 

 

 

 

 

2.8. Выяснить, на скольких векторах булева куба обращается в нуль функция:

а) (

,

,...,

) =

 

 

 

 

 

;

 

б) (

,

,...,

) =

 

 

 

 

 

.

 

Ответы и указания к упражнениям

2.1. 16. Указание. Вектор, одинаково читающийся слева направо и справа налево, однозначно определяется первой половиной своих координат. Первые четыре его координаты можно выбрать 2 2 2 2 = 16 способами. 2.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). 2.3. а)

= (1101 1011); б) = (0011 0110).

2.4.а) ( ̄ );

б)( ) → ( ̄ ̄). 2.6.

а) ̄ ̄; б) ̄̄. 2.7. а) Переменная - фиктивная, пере-

менные , - существенные. Чтобы удалить фиктивную переменную , нужно вычеркнуть изтаблицыистинностифункции2-ойстолбеци3-,4-,7-,8-юстроки(еслинесчитатьстроку заголовков). В результате получим таблицу истинности функции ( ,) = (0111). б) Переменные ,  - фиктивные, - существенная. После удаления фиктивных переменных по-

лучим функцию ( ) = (01). 2.8. = ), = (00001010), = (00001100). 2.9. ( ,) = ( ).

12

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

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

ями переменной .

 

 

 

 

 

 

 

Такие парыобразуют векторы с номерами 0и 8, 1 и 9,2 и 10, …,

 

 

Таблица 1

7 и 15. Так как сравниваемые значения одинаковы, переменная -

v

 

 

 

 

 

фиктивная. Теперь сравним значения функции на парах векторов,

0

0

0

0

0

1

отличающихся лишь значениями переменной (эти векторы имеют

1

0

0

0

1

1

номера0и4,1и5,2 и6,3и7,8и12,…,11и15).Имеем (0,0,0,0) ≠

2

0

0

1

0

0

(0,1,0,0), следовательно, переменная - существенная. Сравним

3

0

0

1

1

0

значения функции на парах векторов, отличающихся лишь значени-

4

0

1

0

0

0

ями переменной (эти векторы имеют номера 0 и 2, 1 и 3, 4 и 6, 5 и

5

0

1

0

1

0

7, …, 13 и 15). Имеем (0,0,0,0) ≠ (0,0,1,0), следовательно, -

6

0

1

1

0

1

существенная переменная. И, наконец, сравним значения функции

7

0

1

1

1

1

на парах векторов, отличающихся лишь значениями переменной

8

1

0

0

0

1

(они имеют номера 0 и 1, 2 и 3, 4 и 5, …, 14 и 15). Поскольку срав-

9

1

0

0

1

1

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

10

1

0

1

0

0

 

 

 

Теперь удалим фиктивныепеременные, вычерк-

Таблица 2

11

1

0

1

1

0

 

 

 

нув из таблицы истинности функции ( ,,,)

12

1

1

0

0

0

строки истолбцы,закрашенныесерымцветом. В ре-

0

0

1

зультате получим таблицу истинности для функции

13

1

1

0

1

0

0

1

0

( ,) (табл. 2). Функции и равны, и функция

14

1

1

1

0

1

1

0

0

существенно зависит от всех своих аргументов. За-

15

1

1

1

1

1

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

Решение. = ( ̄̄̄ ̄̄ ) ( ̄̄ ̄ ) = = ̄̄( ̄ ) ̄( ̄ ) = ̄̄ 1 ̄ 1 = ̄( ̄ ) = ̄.

13

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