Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2 - Булева алгебра / Лекция 8 Функции одной и двух переменных.doc
Скачиваний:
103
Добавлен:
09.04.2015
Размер:
180.74 Кб
Скачать

9 Лекции № 8. Булева алгебра, функции булевой алгебры

Продолжительность: 2 часа (90 мин.)

9.1 Ключевые вопросы

9 Лекции № 8. Булева алгебра, функции булевой алгебры 1

9.1 Ключевые вопросы 1

9.2 Текст лекции 1

9.2.1 Введение 1

9.2.2 Булева алгебра 2

9.2.3 Функции одной переменной 5

9.2.4 Функции двух переменных 5

9.2.8 Вопросы для контроля 6

9.2 Текст лекции

9.2.1 Введение

Булева алгебра является одним из китов, на которых держится вычислительная (цифровая) техника. Булева алгебра – это часть математической логики, а именно алгебра логики, названная булевой алгеброй в честь ее создателя – Дж. Буля (1815–1864 гг.).

Базой алгебры логики являются понятия о высказываниях, истинности и ложности высказываний, связях высказываний.

Высказывания в зависимости от значения бывают истинными или ложными. Значение высказывания может изменяться с изменением обстоятельств, в результате чего может измениться оценка его истинности. Таким образом, высказывания можно разделить на:

  • Истинное постоянно – его принимают за 1;

  • Ложное постоянно – его принимают за 0;

  • Высказывание, которое может быть истинным или ложным, т.е. иметь значения 1 и 0 в зависимости от определенных условий, – его принимают за логическую переменную x.

Замечание: Здесь 1 и 0 не цифры, а символы, обозначающие истину и ложь.

Высказывания бывают простыми и сложными.

Простые высказывания – это логические переменные.

Сложные высказывания – это логические функции. Они состоят из простых высказываний (аргументов) и связок типа НЕ; И; ИЛИ; ЕСЛИ …, ТО …; … ТОГДА И ТОЛЬКО ТОГДА, КОГДА ….

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

Историческая справка: Первая работа Дж. Буля по алгебре логики появилась в 1847 г., а окончательный вариант в 1854 г. Дж. Буль, разрабатывая алгебру логики, вряд ли предполагал, что пользоваться ею будут миллионы людей, правда, до широкого применения математической логики прошло достаточно много времени. хотя еще в 1910 г. П. Эренфест обратил внимание на возможность применения математической логики для решения прикладных вопросов релейно–контактных схем, но только в 1938 г. К. Шенноном и В.И. Шестаковым была сделана первая попытка описать логические схемы на реле в терминах алгебры логики. В 1950 г. эта идея была оформлена в работе М.А. Гаврилова как теория логического проектирования релейно–контактных схем. В дальнейшем многие отечественные и зарубежные ученые проводили исследования в области теории и технологии проектирования логических схем. Сегодня булева алгебра вполне сформировавшийся раздел дискретной математики, используемый не только в вычислительной технике, но и во многих других отраслях науки и техники.

9.2.2 Булева алгебра

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

Дискретное вычислительное устройство (ВУ) перерабатывает входную информацию, поступающую на внешние входы a, b,…, z (рис. 1), в выходную информацию, снимаемую с выходов y1, y2,…, ym.

Рисунок 1– Условное обозначение вычислительного устройства

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

Прежде всего, определим понятие алгебраической системы, позаимствовав его из раздела: алгебраические системы.

Алгебраической системой <AFR> называется объект, состоящий из трёх множеств:

  • непустого множества A,

  • множества алгебраических операций ΩF, определённых на A, и

  • множества отношений ΩR, определённых на A.

Множество A называется носителем алгебраической системы.

Если алгебраическая система

не содержит операций, она называется моделью, если

не содержит отношений, то – алгеброй.

При необходимости можно рассматривать алгебру и модель системы раздельно: <AF;> – алгебра, <AR> – модель.

Символы алгебраических операций и отношений в совокупности составляют сигнатуру алгебраической системы.

Символы операций ΩF – являются сигнатурой алгебры, а символы отношений ΩR – сигнатурой модели.

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

В дискретной математике имеют дело с алгебраическими системами, содержащими конечное число операций и отношений. Алгебраические системы записывают в виде: <A; f1,..., fk; r1,..., rl> , где {f1,..., fk} = ΩF, {r1,..., rl} = ΩR.

Типом алгебраической системы < A; f1,..., fk; r1,..., rl> называется пара наборов (n(f1),..., n(fk)) и (n(r1),..., n(rl)), состоящих из арностей1 операций и отношений. Тип записывают в виде <n(f1),..., n(fk); n(r1),..., n(rl)>.

Пример 2.

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

<N;+,-;<> не является алгебраической системой, так как результат операции -, применённой к натуральным числам – не всегда натуральное число (результат может получиться отрицательным, а отрицательное число не относится к натуральным числам).

Таким образом, Алгебра в общем случае – это

- основное множество элементов, над которым необходимо выполнять какие–либо действия,

- набор операций над элементами этого множества, описывающих соответствующие действия, и

- аксиомы – правила выполнения операций и задания переменных.

В булевой алгебре

- основное множество В = {0, 1};

- набор операций (сигнатура)  = { },

где – логическое сложение – дизъюнкция, И

– логическое умножение – конъюнкция, ИЛИ

– отрицание – инверсия;

- аксиомы:

1. Каждая переменная x может принимать одно из двух значений 0 или 1:

x = 0, если x не равно 1, или

x = 1, если x не равно 0 (третьего не дано).

2. , .

3. 00 = 0; 11 = 1; 10 = 01 = 0;

4. 00 = 0; 01 = 1 0 = 1; 11 = 1.

Аксиома 1 определяет возможные значения переменных, аксиомы 2, 3 и 4 определяют правила выполнения операций отрицания () – инверсии, логического умножения () – конъюнкции и логического сложения () – дизъюнкции.

Из аксиом также видим, что в булевой алгебре задано отношение эквивалентности, обозначаемое символом =.

Отношение эквивалентности обладает свойствами

– рефлексивности: x = x,

– симметричности: если есть x1 = x2, то есть и x2 = x1,

– транзитивности: если есть x1 = x2 и x2 = x3, то x1 = x3.

Из этих свойств следует принцип подстановки: если x1 = x2, то в любом логическом выражении, содержащем x1, вместо x1 можно подставить x2 и в результате будет получено эквивалентное правильное выражение.

Правильными логическими выражениями являются

– логическая переменная, например, x;

– логическая переменная с символом отрицания ;

– выражение типа или ;

– выражение типа или , где A и B – выражения.

Совокупность конкретных значений логических входных переменных называется входным набором. Если число входных переменных n, то число возможных входных наборов будет 2n (у одной переменной два набора: 0 и 1, у двух переменных – четыре набора: 00, 01, 10, 11 и т.д.).

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

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

Наборы, которые находятся в отношении , называются сравнимыми. Например, наборы 00 и 10, 00 и 01, 01 и 11, 10 и 11, 00 и 11 сравнимы, а наборы 01 и 10 не сравнимы, поэтому наборы в отношении предшествования являются лишь частично упорядоченными. (При определении монотонности логических функций (см. п. 3.1.4) рассматривают только последовательности наборов, удовлетворяющих отношению предшествования 00, 10, 11 и 00, 01, 11.)

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

Различные логические функции должны отличаться друг от друга хотя бы на одном входном наборе, а различных символов в булевой алгебре всего 2, поэтому при n переменных может быть полностью определенных функций. например, при n = 1 их будет 22 = 4, при n = 2, 24 = 16, при n = 3, 28 = 256.

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

Суперпозицией логических функций f0 и f1, f2,…, fn называется функция

где либо совпадает с одной из переменных xi, либо с одной из функций f1, f2,…, fn .

Пример: .

Здесь функция есть суперпозиция функций НЕ, И, ИЛИ (обозначения функций см. ниже).