Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Логические основы компьютера.doc
Скачиваний:
530
Добавлен:
27.05.2015
Размер:
663.04 Кб
Скачать

Определение логической (булевой) функции

Функция в алгебре высказываний f(x1, x2, ..., xn) – это логическая формула, содержащая логические переменные x1, x2, ..., xn, связанные между собой логическими операциями. Как аргументы x1, x2, ..., xn (независимые переменные), так и сама функция (зависимая переменная) принимают значения 0 или 1. Логические функции могут быть заданы табличным способом или аналитически — в виде соответствующих формул.

Если функция задаётся аналитически, то пишется её имя, затем в круглых скобках перечисляются аргументы функции, после чего пишется знак равно и формула функции (аргументы, соединённые знаками логических операций). Например, функции, заданные аналитически:

По формуле логической функции легко рассчитать ее таблицу истинности. Необходимо только учитывать порядок выполнения логических операций (приоритет) и скобки. Операции в логическом выражении выполняются слева направо с учетом скобок. Для уменьшения количества скобок в формулах вводят «старшинство» для знаков логических операций. Принято считать, что знак дизъюнкции (+) старше знаков импликации, эквивалентности и строгой дизъюнкции (→, ↔, ), знак конъюнкции (∙) старше всех перечисленных, а знак инверсии ( ‾ ) старше всех остальных. При наличии скобок сначала операции выполняются операции внутри самых внутренних скобок согласно приоритету, затем во внешних скобках и т.д.

Таблица истинности логической функции

Построение таблицы истинности логической функции покажем на примере следующей функции:

Построение таблицы включает следующие действия:

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

  • определяется количество строк в таблице по формуле K=2n , где n — количество логических переменных. В данном случае

K = 23 = 8.

  • определяется последовательность выполнения логических операций и остальные столбцы обозначаются выражением с определённой операцией.

  • Заполняем столбцы с аргументами наборами значений.

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

Аргументы

Промежуточные формулы

Функция

A

B

C

0

0

0

1

0

0

0

0

1

0

0

0

0

1

0

1

1

1

0

1

1

0

0

0

1

0

0

1

0

1

1

0

1

0

0

1

1

1

0

1

1

1

1

1

1

0

0

1

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

Законы логики

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

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

Переместительный закон (закон коммутативности):

a + b = b + a, a∙b = b ∙a. (4)

Сочетательный закон (закон ассоциативности):

(a + b) + c = a + (b + c), (5)

(ab)∙ c = a∙ (bc). (6)

Закон исключения констант (нуля и единицы):

a +0 = a, A∙1=A. (7)

Распределительный закон (закон дистрибутивности):

(a + b)∙ c = a∙ c + b∙c, (8)

(a + c)∙ (b + c) = a∙b + c, (9)

(a b)∙ c = ac bc. (10)

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

(11)

Закон равносильности (идемпотентности):

. (12)

Закон двойного отрицания: (13)

Закон инверсии (формулы де Моргана):

(14)

(15)

Закон поглощения:

(16)

(17)

Закон склеивания (закон исключения):

(18)

(19)

Любой из этих законов может быть легко доказан с по­мощью таблиц истинности.

Докажем первый закон де Моргана (14) с использова­нием таблиц истинности. Построим таблицы истинности для левой и правой частей закона.

a

b

a+b

0

0

0

1

1

1

1

0

1

1

0

1

0

0

1

0

1

0

0

1

0

1

1

1

0

0

0

0

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

Любой из законов алгебры высказываний может быть дока­зан путем логических рассуждений.

Докажем ещё один закон поглощения путем логических рассуждений. Для этого достаточно показать, что если правая часть истинна, то и левая часть истинна, и что если левая часть истинна, то и пра­вая часть истинна.

Пусть истинна правая часть, т. е. A = 1, тогда в левой части дизъюнкция истинна по определению дизъюнкции. Пусть истинна левая часть. Тогда по определению дизъюнкции истинна или формула A, или формула , или обе эти формулы одновременно. Если A ложна, тогда ложна. Следовательно, A может быть только истинной.

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

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

Представление импликации через конъюнкцию,

дизъюнкцию и инверсию:

. (20)

Представление эквивалентности через

конъюнкцию, дизъюнкцию и инверсию: . (21)

Представление строгой дизъюнкции через

конъюнкцию, дизъюнкцию и инверсию:

(22)

Правило контрапозиции (перевертывания): . (23)

Свойства импликации:

(24)

Свойства эквивалентности:

(25)

(26)

Свойства строгой дизъюнкции:

(27)