Задания для самостоятельной работы к разд.4.1.1

1. Весом набора называется число единиц в данном наборе. Сколько существует наборов веса k?

2. Найти номера наборов (1001), (01101), (110010).

3. Найти вектор длины 6, являющийся двоичным разложением числа 19.

4. Восстановить таблицу истинности функции =41.

5. Частичная функция не определена на k наборах. Сколько существует различных доопределений данной функции?

6. Выяснить, какие из ниже перечисленных выражений являются формулами над множеством связок {ù,&,Ú,®}:

1) x ® y; 4) (x ® y)®ù x; 7) (ù x ® z);

2) (x &)ù z; 5) (x & yyy; 8) (x ®(y &(ù x)));

3) (x ® yx; 6) y &(z ®(x Úù y)).

7. Проверить справедливость формул (4.1) и (4.2).

8. Построить таблицу функций, реализуемых следующими формулами:

1) 3)

2) 4)

9. Эквивалентны ли формулы и ?

1)

2)

3)

4)

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

Указание. Необходимо организовать подсчет единичных разрядов в машинном слове. Это можно сделать, выполнив n раз сдвиг влево (вправо) и анализ (n -1)-го (0-го) бита слова, где n - длина слова. Число шагов такого алгоритма всегда равно n и не зависит от веса двоичного набора. Более оригинальный алгоритм подсчета числа единичных разрядов в слове всегда делает k шагов, где k – число единиц в слове. Он основан на том, что операция b:= b and (b -1) уничтожает в b самую правую единицу, т.о., после того, как указанная операция будет выполнена k раз, слово станет нулевым (b =0).

4.1.2 Булева алгебра. Эквивалентные преобразования формул.
Двойственные и самодвойственные функции. Алгебра жегалкина

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

Операции алгебры А называют булевыми операциями. Формулы над множеством {Ú,&,ù} также называют булевыми формулами. Тот факт, что любая логическая функция может быть представлена в виде формулы над {Ú,&,ù}, будет доказан ниже.

Рассмотрим основные свойства булевых операций.

Ассоциативность:

а) ; б) . (4.3)

Коммутативность:

а) ; б) . (4.4)

Дистрибутивность конъюнкции относительно дизъюнкции:

. (4.5)

Дистрибутивность дизъюнкции относительно конъюнкции:

. (4.6)

Идемпотентность:

а) ; б) . (4.7)

Двойное отрицание:

. (4.8)

Свойства констант:

а) x &1= x; б) x &0=0; в) x Ú1=1;

г) x Ú0= x; д) =1; е) =0. (4.9)

Правила де Моргана:

а) ; б) . (4.10)

Закон противоречия:

. (4.11)

Закон "исключения третьего":

. (4.12)

Соотношения (4.3) – (4.12) можно проверить указанным ранее стандартным методом – вычислением обеих частей равенств на всех наборах значений переменных. Очевидно, что результат вычисления не зависит от того, как получены значения переменных, входящих в эти равенства, то есть, от того, являются ли эти переменные независимыми, или, в свою очередь, получены в результате каких-то вычислений.

Поэтому равенства (4.3) - (4.12) остаются справедливыми при подстановке вместо переменных любых логических функций и, следовательно, любых формул, представляющих эти функции. Важно лишь соблюдать следующее правило подстановки формулы вместо переменной: при подстановке формулы F вместо переменной x все вхождения переменной x в исходное соотношение должны быть одновременно заменены формулой F.

Сформулируем также правило замены подформул, которое позволяет, используя эквивалентные соотношения, получать формулы, эквивалентные данной. Пусть , тогда, если какая-либо формула F содержит в качестве подформулы, то замена на не изменяет F.

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

Такие преобразования, использующие эквивалентные соотношения и правило замены, называются эквивалентными преобразованиями.

Запас эквивалентных соотношений можно расширить с помощью правила подстановки.

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

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

Правила поглощения:

а) ; б) . (4.13)

Для доказательства первого равенства используются последовательно соотношения (4.9а), (4.5), (4.9в), (4.9а): . Второе равенство доказывается с помощью (4.5), (4.7а) и первого равенства: .

Правило склеивания:

. (4.14)

Доказательство: .

Правило обобщенного склеивания:

. (4.15)

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

Правило вычеркивания:

а) ; б) ; (4.16)

Доказательство: ;

.

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

Пример 4.2. Эквивалентны ли формулы и ?

; .

Используя последовательно (4.18), (4.15), (4.14) и (4.13а), получаем

= = = = .

Теперь преобразуем с помощью соотношений (4.10а), (4.10б) и (4.4б):

= .

Т.о., формулы и эквивалентны.

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

Функция называется двойственной к функции , если = .

Может оказаться, что функция двойственна самой себе, т.е., = . В этом случае она называется самодвойственной функцией.

Принцип двойственности заключается в следующем: если в формуле F, представляющей функцию f, все знаки функций заменить соответственно на знаки двойственных функций, то полученная формула F* будет представлять функцию f*, двойственную f.

Для формул над множеством {0,1,ù,&,Ú} принцип двойственности может быть сформулирован так: для получения формулы F *, двойственной формуле F, достаточно в формуле F всюду заменить 0 на 1, 1 на 0, & на Ú, Ú на &.

Например, из соотношения применением принципа двойственности получается соотношение .

Пример 4.3. Является ли функция двойственной к функции ?

Проверку двойственности и самодвойственности функций можно производить непосредственно по их таблицам истинности или с помощью эквивалентных преобразований. Проведем проверку по таблицам истинности (табл. 4.6, , ). Имеем . Т.о. функция f двойственна к функции g.

Пример 4.4. Является ли функция самодвойственной?

Для ответа на поставленный вопрос с помощью эквивалентных преобразований докажем, что = .

=

Заметим, что тот же результат можно было получить, используя принцип двойственности, сформулированный для формул над множеством {0,1,ù,&,Ú}. Продолжим эквивалентные преобразования:

= = = = .

Т.о., = , следовательно, функция f самодвойственная. Рассмотрим еще одну алгебру над множеством логических функций. Алгебра над множеством логических функций с двумя бинарными операциями & и Å называется алгеброй Жегалкина. В алгебре Жегалкина выполняются следующие соотношения:

; (4.17)

; (4.18)

; (4.19)

, (4.20)

а также соотношения булевой алгебры, относящиеся к конъюнкции и константам (4.3а), (4.4а), (4.7а), (4.9а), (4.9б).

Отрицание и дизъюнкция выражаются так:

; (4.21)

. (4.22)

Любая булева функция может быть представлена формулой над множеством . Это следует из того, что любая булева функция может быть представлена формулой над множеством {ù,&,Ú} (см. разд. 4.2) и того, что функции {ù, &, Ú} выражаются через функции {&,Å,1} (см. (4.21), (4.22)).

Пример 4.5. Эквивалентны ли формулы и ?

Преобразуем . Используя соотношение (4.22), получаем

.

Далее, с помощью соотношения (4.21) избавимся от отрицаний и раскроем скобки (4.18):

.

Используя соотношения (4.19) и (4.20), окончательно получаем:

.

Т.о., формула эквивалентна формуле .


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: