Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

LEC07.Алгебра логики

.pdf
Скачиваний:
26
Добавлен:
14.04.2015
Размер:
846.1 Кб
Скачать

Цена логической функции

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

Минимизация функции – сокращение цены функции, с помощью преобразования его к более простому эквивалентному выражению.

Наиболее простой вид получается при сведении функции к постоянной – 1 (истина) или 0 (ложь).

11

Логический базис (ЛБ)

ЛБ – набор булевых функций, позволяющий реализовать любую другую булеву функцию. Три наиболее востребованных ЛБ:

1. И, ИЛИ, НЕ.

2. И-НЕ.

3. ИЛИ-НЕ.

 

 

 

Пример: реализация функций И, ИЛИ, НЕ в базисе И-НЕ.

12

Картинка взята с сайта http://phys.bspu.by/static/lib/teh/electron/cif-obu.htm

Основные тождества

1.Аксиома двойного отрицания:

xx

2.Закон коммуникативности:

xy y x, x y y x

3.Закон ассоциативности:

( x y) z x ( y z), ( x y) z x ( y z)

4.Закон идемпотенции:

xx x, x x x

13

Основные тождества (2)

5.Закон поглощения: x ( x y) x, x ( x y) x

6.Закон дистрибутивности:

x( y z) ( x y) ( x z), x ( y z) ( x y) ( x z)

7.Законы де Мóргана:

xy x y, x y x y

8. Законы нейтральности: x ( y y) x, x ( y y) x 9. Аксиомы существования 1 и 0:

0 1,1 0, x x 1, x x 0

Формы записи математических выражений

Терминология:

«форма записи» = «нотация», «арность операции» = «количество операндов»

А (унарная), А*В (бинарная), А?В:С (тернарная)

Виды нотаций:

1489: инфиксная: A+B

1920: префиксная (aka польская): +AB

1957: постфиксная (aka обратная польская): AB+

Префиксная (польская) нотация

Пример:

Инфиксная нотация: (A + B + C) – ED * F * G

Префиксная нотация: –++ABC^E**DFG

Популярная Lisp-разновидность префиксной нотации: (–(+ABC)(^E(*DFG)))

Особенности:

Не требуется скобок, если арность фиксирована.

Запись выражения получается короче, чем инфиксная.

Не требуется знать приоритет операций.

Легко декодировать выражение с помощью стека.

• Малоприменима на практике (кроме Lisp).

Постфиксная (обратная польская) нотация

Пример:

Инфиксная нотация: (A + B + C) – ED * F * G

Постфиксная нотация: CAB++EGDF**^–

Особенности:

Не требуется скобок, если арность фиксирована.

Запись выражения получается короче, чем инфиксная.

Не требуется знать приоритет операций.

Легко декодировать выражение с помощью стека.

Успешно применяется в компиляторах, в небольшом количестве языков программирования и некоторых

ЭВМ (калькуляторы «Электроника» и HP).

Алгоритм вычисления выражения, записанного в постфиксной нотации

1. Обработка входного символа

Если на вход подан операнд, он помещается на вершину стека.

Если на вход подан знак операции, то соответствующая операция выполняется над требуемым количеством значений, извлечённых из стека, взятых в порядке добавления. Результат выполненной операции кладётся на вершину стека.

2. Если входной набор символов обработан не полностью, перейти к шагу 1.

3. После полной обработки входного набора символов результат вычисления выражения лежит на вершине стека.

Декодирование постфиксной нотации

a+b+a*c = ab+ac*+