Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Algebra_vyskazyvany_i_predikatov.doc
Скачиваний:
40
Добавлен:
02.04.2015
Размер:
527.36 Кб
Скачать

Варианты заданий

  1. Преобразовать формулы к дизъюнктивной и конъюнктивной нормальным формам:

а) ((A  B)  (C  A))  (B  C);

б) ((((A  B)  A)  B)  C)  C;

в) (A  (B  C))  ((A  C)  (A  B)).

2. Привести к СДНФ и СКНФ формулы:

а) (  С  С);

б) ((А 

в)    .

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

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

5. Построить СКНФ и СДНФ, эквивалентные данной формуле, и найти интерпретации, на которых формула истинна и ложна:

а) С С;

б)  )С));

в) С))  С).

6. Для функций g и h, определённых в таблице 1, найти СКН - и СДН – формы и простейшие формулы, реализующие эти функции.

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

x1

x2

e1

e2

1

1

0

1

1

0

0

0

1

0

1

1

0

1

0

0

1

1

1

0

0

0

0

1

1

0

0

0

1

1

0

1

1

1

1

1

0

0

0

0

где x1 и x2 - одноимённые разряды 1-го и 2-го слагаемых; e1 - единица переноса из младшего разряда; e2 – единица переноса в старший разряд суммы;  - результат суммирования.

8. Построить формулу от трёх переменных, которая истинна в том и только в том случае, когда ровно две переменные ложны.

9. Построить формулу от трёх переменных, которая принимает такое же значение, как и большинство (меньшинство) переменных.

10. По СКНФ формулы U построить:

а) СДНФ двойственной формулы U*;

б) СКНФ формулы U;

в) СДНФ формулы U.

11. По СДНФ формулы U и СДНФ формулы B построить:

а) СКНФ и СДНФ формулы (U  B);

б) СКНФ и СДНФ формулы (U  B);

в) СКНФ и СДНФ формулы (U  B).

3. Полные системы операций

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

Так как всякая формула может быть представлена приведенной формулой, то система 0 = {, , } - полна.

Система  сводится к *, обозначается *, если все операции системы * представимы формулами над системой . Если * полна, то и  полна.

Последнее утверждение даёт один из способов доказательства полноты системы операций – сведение её к известной полной системе, например к 0. То есть полной будет система , через операции которой можно выразить конъюнкцию, дизъюнкцию и отрицание.

Задание. Доказать полноту системы 5 = {, }.

Решение. Сведем систему 5 к полной системе 0.

.

Если в произвольной формуле алгебры Жегалкина, реализующей булеву функцию f, раскрыть скобки и произвести все возможные упрощения, то получится формула, имеющая вид суммы произведений, то есть полинома по mod 2. Такая формула называется полиномом Жегалкина для данной функции. Линейной называется функция, полином Жегалкина которой линеен.

Задание. Представить формулу (x1  x2)( x1x3) в виде полинома Жегалкина.

Решение.

(x1  x2)( x1x3) = ( x1x2  x1  x2)( x1x3  x1x3) =

= x1x2x3  x1x3  x1x3  x1 x1x2x3 = x1x3  x1x3 x1= = x1 (x2  1) x3  x1 x3  x1 (x2  1) = x1x2x3  x1x3  x1x3  x1x2   x1 = x1 x2 x3  x1 x2  x1

Полученный полином не является линейным и имеет степень 3.

Сводимость к полной системе операций является необходимым условием полноты системы операций. Необходимое и достаточное условие полноты системы операций формулируется в терминах булевых функций.

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

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

Задание. Доказать полноту системы 0, используя необходимое и достаточное условие полноты.

Решение. Рассмотрим соответствующую 0 систему булевых функций F0 = { f1, f2, f3 }, где f1(x) = x , f2(x1, x2) = x1  x2 , f3(x1, x2) = x1  x2 . Покажем, что в F0 есть хотя бы одна функция (не обязательно одна и та же), не принадлежащая каждому из замкнутых классов.

  1. Класс функций, сохраняющих 0.

f1(0) = 1, f1T0.

  1. Класс функций, сохраняющих 1.

f1(1) = 0, f1T1.

  1. Класс самодвойственных функций.

f1*(x) = () =x = f1(x). Таким образом, f1 T*.

f2*(x1, x2) = x1  x2  f2(x1, x2), т.е. f2 T*.

  1. Класс монотонных функций.

Так как f1(0) = 1, а f1(1) = 0, то  =0 < =1, такие что f1() > f1(). Следовательно, f1T.

  1. Класс линейных функций.

f1(x) = x = x  1, т.е. f1 – линейна.

f2(x1, x2) = x1  x2 = x1x2, а значит f2TL.

Следовательно, в силу теоремы Поста система 0 полна.

Задание. Является ли система операций  ={, } полной?

Решение. Также как и в предыдущей задаче воспользуемся теоремой Поста. Рассмотрим соответствующую  систему булевых функций F = { f1, f2}, где f1(x1, x2) = x1x2 , f2(x1, x2) = x1  x2.

  1. Класс функций, сохраняющих 0.

f1(0, 0) = 1, f1T0.

  1. Класс функций, сохраняющих 1.

f1(1, 1) = 1, f2(1, 1) = 1. Следовательно, f1 T1 и f2 T1, в системе нет булевой функции, не сохраняющей 1, и поэтому она неполна.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]