§ 26. Алгебра логики

26.3. Логические выражения и законы логики

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

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

В логических выражениях должен соблюдаться следующий порядок выполнения операций (пример 26.11):

1)    действия в скобках;

2)    инверсия;

3)    конъюнкция;

4)    дизъюнкция;

5)    импликация;

6)    эквивалентность.

Значение логического выражения можно определить, построив таблицу истинности для этого выражения. Для построения таблицы истинности необходимо выполнить следующие действия (пример 26.12):

1)    подсчитать число переменных в выражении (n);

2)    подсчитать число логических операций в выражении (p);

3)    установить последовательность выполнения логических операций в выражении с учетом скобок и приоритетов;

4)    вычислить количество столбцов в таблице (n + p);

5)    заполнить шапку таблицы, включив в нее переменные и операции в соответствии с установленной в п. 3 последовательностью;

6)    вычислить количество строк в таблице (m = 2n);

7)    записать в таблице все возможные наборы значений переменных;

8)    заполнить таблицу по столбцам, выполняя логические операции в соответствии с установленной в п. 3 последовательностью.

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

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

Пример 26.14. Упростить логическое выражение begin mathsize 16px style F space equals space top enclose left parenthesis A space V space B right parenthesis rightwards double arrow stack left parenthesis B space V space C right parenthesis with bar on top end enclose space space end style и построить логическую схему, соответствующую результату.

Выполним эквивалентные преобразования выражения в соответствии с законами логики:

  1. Импликации.
  2. Де Моргана.
  3. Инволюции.
  4. Дистрибутивности.

Пример 26.10. Формализация высказываний.

Высказывание «Если три меньше шести (A), то суббота всегда наступает после пятницы (B)» соответствует формуле A rightwards double arrowB, и имеет значение «истина».

Высказывание «Если я куплю яблоки (A) или абрикосы (B), то приготовлю фруктовый пирог (C)» можно записать в виде формулы  A V B rightwards double arrow C.

Пример 26.11. Порядок выполнения действий в логических выражениях.

Выражение:

begin mathsize 14px style straight U space straight V space left parenthesis straight B space rightwards double arrow space straight C right parenthesis space & space straight D space left right double arrow space straight U with bar on top end style

Порядок действий:

1)  begin mathsize 14px style straight U with bar on top end style

2) begin mathsize 14px style left parenthesis B space rightwards double arrow space straight C right parenthesis end style  

3) begin mathsize 14px style left parenthesis B space rightwards double arrow space C right parenthesis space & space D end style   

4) begin mathsize 14px style straight U space straight V space left parenthesis straight B space rightwards double arrow space straight C right parenthesis space & space straight D end style     

5) begin mathsize 14px style straight U space straight V space left parenthesis straight B space rightwards double arrow space straight C right parenthesis space & space straight D space left right double arrow space straight U with bar on top end style     

Пример 26.12. Построение таблицы истинности для выражения begin mathsize 14px style straight A with bar on top space & space left parenthesis straight B space straight V space straight C right parenthesis end style.

1) n = 3;

2) p = 3;

3) дизъюнкция (V), инверсия (begin mathsize 14px style straight A with bar on top end style), конъюнкция (&);

4) n + p = 6;

5)       

A

 box enclose ?

C

box enclose ? V  C

begin mathsize 14px style top enclose A end style

begin mathsize 14px style top enclose A end style & (B V C)

6) m = 23 = 8;

3) - 8)

A

 box enclose ?

C

 box enclose ? V  C

begin mathsize 14px style top enclose A end style

begin mathsize 14px style top enclose A end style & (B V C)

0

0

0

0

1

0

0

0

1

1

1

1

0

1

0

1

1

1

0

1

1

1

1

1

1

0

0

0

0

0

1

0

1

1

0

0

1

1

0

1

0

0

1

1

1

1

0

0

Пример 26.13. Основные законы алгебры логики.

Пример 26.14

Преобразование выражения:

1) begin mathsize 14px style straight A space straight V space straight B rightwards double arrow stack straight B space straight V space straight C with bar on top space equals space stack left parenthesis straight A space straight V space straight B right parenthesis with bar on top space straight V space stack left parenthesis straight B space straight V space straight C right parenthesis with bar on top end style

2) begin mathsize 14px style stack top enclose straight A space straight V space straight B space end enclose straight V space top enclose straight B space straight V space straight C end enclose with bar on top space equals space stack stack left parenthesis straight A space straight V space straight B right parenthesis with bar on top with bar on top space & space stack stack left parenthesis straight B space straight V space straight C right parenthesis with bar on top with bar on top end style

3) begin mathsize 14px style stack stack straight A space straight V space straight B with bar on top with bar on top space & space stack stack straight B space straight V space straight C with bar on top with bar on top equals space left parenthesis straight A space straight V space straight B right parenthesis space & space left parenthesis straight B space straight V space straight C right parenthesis end style    

4) begin mathsize 14px style left parenthesis straight A space straight V space straight B right parenthesis space & space left parenthesis straight B space straight V space straight C right parenthesis space equals space straight B space straight V space left parenthesis space straight A space & space straight C right parenthesis end style       

Логическая схема:

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

Вентиль представляет собой логический элемент, который принимает одни двоичные значения и выдает другие в зависимости от своей реализации. Есть вентили, реализующие логическое умножение (конъюнкцию), сложение (дизъюнкцию) и отрицание.