Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Diskretka.doc
Скачиваний:
394
Добавлен:
03.03.2015
Размер:
8.62 Mб
Скачать

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

Каноническое представление логических функций

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

В алгебре логики каноническими формами логических функций является совершенная конъюнктивная нормальная форма (СКНФ) и совершенная дизъюнктивная нормальная форма (СДНФ).

  1. СДНФ (совершенной ДНФ) называется ДНФ, в которой нет равных элементарных конъюнкций и все натуральные конъюнкции, содержащие одни и те же переменные (длина одинакова). Причем каждая переменная входит только один раз, включая вхождение под знак отрицания.

В этой формуле присутствуют элементарные конъюнкции второго ряда (в ВТ называемые минтермами).

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

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

  1. СКНФ – совершенная конъюнктивная нормальная форма, такая форма, в которой нет одинаковых сомножителей и все сомножители содержат одни и те же переменные, причем каждая переменная только 1 раз включает знак вхождения под знак отрицания.

Логическая функция n аргументов не равная тождественно 1 реализуется однозначно СКНФ.

Замечания.

1) Для построения СКНФ логической функции n аргументов, заданной таблицей соответствия, необходимо по каждому кортежу переменных, на которой логическая функция принимает значение 0, записать дизъюнкцию всех n переменных, инвертируя переменные, имеющие значения 1.

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

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

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

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

Элементарные булевы функции (дизъюнкция, конъюнкция и т.д.) в булевых функциях выполняют задание аналогичное элементарным функциям (x, x2, sin, log, и т.п.) в классической математике при изучении анализа.

Определение: булевы функции (функции алгебры логики)

Пусть - исходный алфавит переменных (аргументов). Рассмотрим функции(при), аргументы которых определены на множествеи такие, что, когда(i = 1, 2, …, n) эти функции называются функциями алгебры логики или булевыми функциями (Джордж Буль (1815-1864)).

Другое определение.

Функции f: гденазываютсяфункциями алгебры логики или булевыми функциями. Множество булевых функций от n переменных обозначаем Pn. Булеву функцию от n переменных можно задать таблицей истинности.

Системы булевых функций

Пусть даны булевы функции f(g1, g2, …, gm) и g1(x1, x2, …, xn), g2(x1, x2, …, xn), … , gm(x1, x2, …, xn). Подставим функции gi в функцию f . Получим новую булеву функцию

f(и g1(x1, x2, …, xn,), g2(x1, x2, …, xn,), …, gm(x1, x2, …, xn,)),

которую называют суперпозицией функций f и gi (i = 1,2,…m), т.е. при помощи операции суперпозиции получили новую булеву функцию.

Набор булевых функций M = { f1, f2, … ,fk} называется полной системой булевых функций или базисом, если любая булева функция выражается через них при помощи операции суперпозиции в конечном числе раз.

Пример.

Набор булевых функций:

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

Эту полную систему называют стандартным базисом.

Пример.

Теорема (о двух системах)

Пусть имеется полная система булевых функций M = { f1, f2, … ,fm}. Тогда для полноты некоторой другой системы булевых функций N = { g1, g2, … ,gn} необходимо и достаточно, чтобы любая функция выражалась через функции системыN при помощи операции суперпозиции.

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

Необходимость очевидна. (Почему?)

Достаточность. Рассмотрим произвольную булеву функцию h. Тогда она выражается через функции при помощи операции суперпозиции в силу полноты системыM. Но, в свою очередь, любая функция выражается через функциипри помощи операции суперпозиции. Следовательно, можно через функцииgj выразить любую булеву функцию, и, значит, система N полна.

Базис Жегалкина.

Примерю Рассмотрим систему . Она является полной, так как любая функция из стандартного базиса выражается через функции изN:

Эта полная система называется базисом Жегалкина.

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

ZB

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

Класс булевых функций называется замкнутым, если всякая суперпозиция функций этого класса будет функцией из этого класса.

Классы булевых функций

Множество всех булевых функций P2 является замкнутым классом (Почему?). Общее их число всех булевых функций n переменных равно его мощности . Из множества этих функций выделяют некоторые классы (подмножества).

1. Булева функция f сохраняет константу 0, если

f(0, 0, … , 0) = 0

Множество всех булевых функций, сохраняющих константу 0, образует класс .

Теорема. Число всех булевых функций, сохраняющих константу 0, равно .

Доказательство. Булева функция, принадлежащая классу K0 , на наборе <0, 0, …, 0> принимает значение равное 0, но таких наборов 2n – 1, следовательно общее число таких функций .

2. Булева функция f сохраняет константу 1, если

f(1, 1, … , 1) = 1

Множество всех булевых функций, сохраняющих константу 1, образует класс .

Теорема. Число всех булевых функций, сохраняющих константу 1, равно .

Доказательство. Булева функция, принадлежащая классу K1 , на наборе <1, 1, …, 1> принимает значение равное 1, но таких наборов 2n – 1, следовательно общее число таких функций .

3. Булева функция называется двойственной функцией к функции f и обозначается f*.

ZB. По определению , т.е. функцияявляется двойственной к функции.

Рассмотреть, что происходит с таблицей истинности.

Замечание. Замена кортежей соответствует переворачиванию таблицы.

Булева функция называется самодвойственной, если она совпадает с двойственной себе функцией f = f*.

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

Множество всех самодвойственных булевых функций, образует класс .

Теорема. Число всех самодвойственных булевых функций равно .

Доказательство. Любую булева самодвойственную функция, принадлежащая классу S , можно определить на половине наборов, т.е. 2n-1 , следовательно, общее число таких функций .

4. Булева функция f называется линейной функцией, если она может быть записана в следующем виде , где.

Множество всех линейных булевых функций, образует класс .

Теорема. Число всех линейных булевых функций равно .

Доказательство. Имеется всего 2n+1 различных наборов значений коэффициентов ck. следовательно, общее число таких функций .

5. Набор значений переменных не меньше набора , еслидля всехj = 1, 2, …, n. В этом случае пишут , в противном случае наборы называютсянесравнимыми.

Булева функция f называется монотонной функцией, если для любых двух наборов, таких, что имеет место неравенство

.

Множество всех монотонных булевых функций, образует класс .

Число всех монотонных булевых функций оценивается асимптотически:

, где А – некоторая константа.

Теорема (Пост-Яблонского).

Для того чтобы множество N булевых функций было полной системой, необходимо и достаточно найти для каждого из пяти замкнутых классов Поста K0, K1, S, M, L функцию из N , которая ему не принадлежит.

ZB. Рассмотрим множество из одной функции Шеффера . Это - полная система. Согласно теореме Поста эта единственная функция должна не принадлежать ни одному из классов Поста.

1. ;вывод

2. вывод

3. вывод

4. вывод

5. вывод

Теорема Поста

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

(Post E.L. The two-valued interactive systems of mathematical logic. – Annals of Math. Studies, v. 5, Princeton Univ. Press. Princeton-London, 1941).

Требования : P2 класс - замкнутый, то Базис - конечный.

Теорема (Пост). Каждый замкнутый класс из P2 имеет конечный базис.

Теорема (Пост). Мощность множества замкнутых классов в P2 - счетная.

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

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

хотя бы одну функцию, не сохраняющую нуль,

хотя бы одну функцию, не сохраняющую единицу,

хотя бы одну несамодвойственную функцию,

хотя бы одну немонотонную функцию,

хотя бы одну нелинейную функцию:

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

Необходимость. От противного. Пусть и .

Введем обозначение: i – один из индексов 0, 1, *, ≤, L .

Тогда , нопо таблице

Таблица принадлежности некоторых булевых функций рассмотренным замкнутым классам:

0

+

-

-

+

+

1

-

+

-

+

+

-

-

+

-

+

+

+

-

+

-

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

Функции двух переменных z = f(x,y).

Различных функций двух переменных существует уже шестнадцать. Эти функции, их названия и обозначения приведены в табл. 4.1. Число этих функций равно 24 = 16. Перенумеруем и расположим их тоже в естественном порядке.

Таблица 4.1

х

0011

Название функции

Обозначение

Класс

y

0101

T0

T1

S

M

L

f0(x,y)

0000

Константа “0”

0

+

 

 

+

+

f1(x,y)

0001

Конъюнкция

x ∧ y, xy

+

+

 

+

 

f2(x,y)

0010

Операция запрета по y

x

+

 

 

 

 

f3(x,y)

0011

Переменная x

x

+

+

+

+

+

f4(x,y)

0100

Операция запрета по x

y

+

 

 

 

 

f5(x,y)

0101

Переменная y

y

+

+

+

+

+

f6(x,y)

0110

Сумма по модулю 2

x ⊕ y

+

 

 

 

+

f7(x,y)

0111

Дизъюнкция

x ∨ y

+

+

 

+

 

f8(x,y)

1000

Операция Пирса

x ↓ y

 

 

 

 

 

f9(x,y)

1001

Равнозначность

x ∼ y

 

+

 

 

+

f10(x,y)

1010

Инверсия y

 

 

+

 

+

f11(x,y)

1011

Импликация от y к x

y → x

 

+

 

 

 

f12(x,y)

1100

Инверсия x

 

 

+

 

+

f13(x,y)

1101

Импликация от x к y

x → y

 

+

 

 

 

f14(x,y)

1110

Операция Шеффера

x / y

 

 

 

 

 

f15(x,y)

1111

Константа “1”

1

 

+

 

+

+

Таблица принадлежности некоторых булевых функций рассмотренным замкнутым классам:

K0

K1

S

M

L

0

+

-

-

+

+

1

-

+

-

+

+

-

-

+

-

+

+

+

-

+

-

Таким образом, рассмотренные классы K0, K1, S, M, L попарно различны, не пусты и не совпадают с P2.

Алгебра Жегалкина

Сумма по модулю 2, конъюнкция и константы 0 и 1 образуют функционально полную систему, т.е. образуют алгебру - алгебру Жегалкина.

A = <FB, ,,0,1>

Контрольные вопросы

    1. Что такое ДНФ и КНФ? Дайте определение совершенного одночлена.

    2. Булевы функции: нормальные формы, совершенные нормальные формы.

    3. Получение совершенной дизъюнктивной и конъюнктивной нормальных форм.

    4. Приведите правило преобразования формул в СДНФ и СКНФ.

    5. Как булевы функции связаны с алгеброй высказывания?

    6. Сформулируйте основные правила построения формул.

  1. Минимизация булевых функций с помощью матрицы Квайна.

  2. Минимизация булевых функций с помощью карт Карно.

  3. Синтез с помощью булевых функций электронных схем (на примере сумматора).

  4. дайте определение многочлена Жегалкина и сформулируйте теорему Жегалкина.

  5. Представление булевых функций с помощью полинома Жегалкина.

  6. Сформулируйте первый алгоритм построения многочлена Жегалкина булевой функции.

  7. В чем состоит метод неопределенных коэффициентов для построения многочлена Жегалкина?

  8. Какой многочлен Жегалкина называется нелинейным?

  9. Каков алгоритм определения линейности (нелинейности) булевой функции?

  10. Функционально полные базисы. Теорема Поста.

Лекция № 12

Результат считается красивым, если из малого

числа условий удается полу­чить общие заключения,

относящиеся к широкому кругу объектов.

Б. Гнеденко

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