
- •14 Лекция
- •§ 4.3. Алгебра логики
- •Стандартный метод установления эквивалентности двух формул:
- •Логическая функция трех переменных задана формулой в префиксной форме:
- •Википедия Арифметика
- •История
- •Определение
- •Описание
- •Вычисления на стеке Общий порядок
- •Обратная польская запись
- •[Править] История
- •[Править] Определение
- •[Править] Описание
- •[Править] Вычисления на стеке [править] Общий порядок
- •[Править] Пример вычисления выражений
- •[Править] Преобразование из инфиксной нотации
- •[Править] Простой пример
- •[Править] Алгоритм
- •[Править] Сложный пример
- •[Править] Оптимизация выражений
- •[Править] Пример алгоритма упрощения выражения
- •[Править] Пример работы алгоритма
- •[Править] Программный стек [править] Организация в памяти
- •[Править] Операции со стеком
- •[Править] Аппаратный стек (Hardware stack)
- •[Править] Область применения [править] Аппаратный стек
- •[Править] Программный стек
- •[Править] Примечания
- •Стековый язык
- •[Править] См. Также
Стандартный метод установления эквивалентности двух формул:
по формуле составляют таблицу истинности;
полученные таблицы истинности сравнивают по каждому набору значений переменных (стандартный метод требует 2 2n вычислений).
Пример 1.
Логическая функция трех переменных задана формулой в префиксной форме:
f (х1, х2, х3) = f3(f1 (х3, х1), f2 (х1, f3 (х1, х2)))
Представить f в инфиксной форме, если f1, f2, f3 бинарные операции: f1 - , f2 - , f3 - .
Вычислить значение функции на наборе (0, 1, 1): х1 = 0, х2= 1, х3= 1.
Решение Пример 1.
Инфиксная форма заданной логической функции:
f (х1, х2, х3) = (х3 & х1) (х1 (х1 х2)).
Вычислим значение f на наборе (0,1,1), для чего в полученную формулу подставим значения переменных и воспользуемся табл. 4.2:
f(0,1,1) = (1 & 0) ((0 (0 1)) =
= ( 0 ) ((0 ( 1 ) ) =
= ( 0 ) (( 1 )) = 1
Таким образом, анализ показал, что составное высказывание, построенное из трех простых высказываний таких, что х1 - ложно, х2 и х3- истинны, с помощью логических связок: & - “И”, - “ИЛИ”, - “ЛИБО... , ЛИБО”, - истинно.
Пример 2.
Составить таблицу истинности функции трех переменных, заданной формулой:
f (х1, х2, х3) = ( х2) (х1 & х3).
Решение Пример 2.
Для построения таблицы истинности f вычислим ее
значения на каждом из восьми наборов значений, используя табл. 4.1 и 4.2.
Таблица 4.3
|
Пример 3.
Доказать эквивалентность (равносильность) формул:
а)
х1
|
х2
=
=
;
(4.1)
б)
х1
х2
=
=
(4.2)
Решение Пример 3.
Доказывают эквивалентности формул стандартным методом, составляют таблицы истинности каждой из указанных формул (табл. 4.2).
Формулы х1 |х2= и Ú принимают одинаковые значения на одних и тех же наборах значений (столбцы, соответствующие этим формулам, помечены в табл. 4.4 меткой *),
Таблица 4.4
х1
х2
х1
|х2*
Л\
1
2
х1&
х2
*
0
0
1
0
1
1
1
1
0
1
1
0
1
1
0
1
1
0
1
0
1
0
1
1
1
1
0
1
0
0
0
0 |
следовательно, они представляют одну и ту же функцию.
Таким образом, х1 |х2= и Ú .
Аналогично докажем второй случай
в табл. 4.5.
х1
х2
х1х2*
х1
х2
*
&
*
0
0
1
0
1
1
1
1
0
1
1
0
1
1
0
1
1
0
1
0
1
0
1
1
1
1
0
1
0
0
0
0 |
Пример 4.
Умозаключения, соответствующие схемам логически правильных рассуждений (см. § 4.2), истинны при любых наборах значений входящих в них высказываний. Подтвердить истинность правил 1 и 2 построением таблиц истинности.
Решение Пример 4.
Правила 1 и 2 представляются логическими формулами (см. примечание на с. 123):
примечание на с. 123
ПРАВИЛО № 1 Правило заключения - утверждающий модус (Modus Ponens): "Если из высказывания А следует высказывание В и справедливо (истинно) высказывание А, то справедливо В" ( Способ спуска). Обозначается:
где A, B — любые формулы. |
ПРАВИЛО № 2 Правило отрицания - отрицательный модус (Modus Tollens): "Если из А следует В, но высказывание В неверно, то неверно А” (Доказательство от противного). Обозначается:
|
((А В) & А) В;
2. ((А В) B) A.
Построенные таблицы истинности этих правил (табл. 4.6) подтверждают их тождественную истинность при любых значениях высказываний А, В.
-
АВ
АВ
(АВ) & А
Правило 1:
(AВ)&А
*
А
B
((AВ)&B
Правило 2:
((АВ)B) A
0 0
1
0
]
1
1
1
1
0 1
1
0
1
1
0
0
1
1 0
0
0
1
0
1
0
1
1 1
1
1
1
0
0
0
1
Упражнения
Что означает запись f(x1,x2,x3) = g (х1, х2) ?
Чему равно число различных логических функций трех переменных?
Представить префиксные формулы логических функций трех переменных (x1,x2,x3) в инфиксной форме, если f1 - , f2 - , f3 - , f4 - :
1) f1(x3, f3 (x1, f2 (f4 (x1), x3)));
2) f3( f1 (x3, x1), f2 (x1, f3 (x1 f4 x2))));
3) f3( f4 (x1), f1(x2, f2 (x3 f3 (x1, f4 (x3))));
Вычислить f на наборах значений:
а) (0, 1, 1), б) (1, 0, 1).
Вычислить значения функций f4 (x1,x2,x3) на наборах:
а) (0, 1,0); б) (1,1,0):
(х1~х2) (( х1 & x3) х2);
((x3
) & х2) (х1 x3);
((х2 x3) & х1) ~ ((х1 x3) х2).
Доказать справедливость следующих соотношений:
а) х (y z) = (х Ú y) Ú z
(ассоциативность дизъюнкции);
б) х (y z) = (x y) z
(ассоциативность конъюнкции);
в) х
(
)
y
z
= х
y
z;
г) х (у z) = х у x z
(дистрибутивность конъюнкции относительно дизъюнкции);
д) х (y z) = (х y) (x z) (дистрибутивность дизъюнкции относительно конъюнкции);
е) х х = х ;
ж) х x у = x.
Построением таблиц истинности подтвердить справедливость (тождественную истинность) правил 4-8, 10-11 (см. § 4.2) логически правильных рассуждений.
ПРИЛОЖЕНИЕ