
Informatika(Логика, програмирование) / Алгебра логики
.pdfАЛГЕБРА ЛОГИКИ И ЕЕ ПРИМЕНЕНИЕ.
Ниже приводятся материалы по теме «Алгебра логики и ее применение». Сначала формулируются необходимые для дальнейшего решения теоретические сведения из раз- дела «Алгебра логики». После чего перечисляются основные виды задач по данной теме, встречающиеся в материалах ЕГЭ по информатике и ИКТ. Там же формулируются зада- ния для самостоятельного решения, подробные решения и ответы к которым приведены в конце.
Алгебра логики
Алгебра логики – это один из разделов математической логики (логики, изучающей основные законы математического мышления), который работает с высказываниями.
Высказывание – это повествовательное предложение, для которого есть только две возможности: либо оно истинно, либо оно ложно. Истинное высказывание принято обо- значать буквой и или цифрой 1, а ложное – буквой л или цифрой 0. Среди высказываний выделяются простые и сложные, получающиеся из простых с помощью логических опе- раций.
Например,
«5 удовлетворяет неравенству x<5» – это простое ложное высказывание, а
«2 – простое число и 5 удовлетворяет неравенству x≤5» – это сложное истинное высказы- вание, которое состоит из простых истинных высказываний «2 – простое число» и «5 удовлетворяет неравенству x≤5» и логической связки «и».
Всего можно выделить 5 основных логических операций: отрицание (логическое НЕ), конъюнкция (логическое И, логическое умножение), дизъюнкция (логическое ИЛИ), импликация (логическое следование) и эквиваленция (логическое тождество).
Пусть A и B – высказывания.
Отрицанием высказывания A называется высказывание ¬A (читается «не A»), кото- рое истинно, если высказывание A ложно, и ложно, если высказывание A истинно.
Конъюнкцией высказываний A и B называется высказывание A B (читается «A и B»), которое истинно, если оба высказывания A и B истинны, и ложно, если A – ложное выска- зывание или B – ложное высказывание.
Дизъюнкцией высказываний A и B называется высказывание A B (читается «A или B»), которое ложно, если оба высказывания A и B ложны, и истинно, если A – истинное высказывание или B – истинное высказывание.
Импликацией высказываний A и B называется высказывание A→B (читается «A вле- чет B», «если A, то B»), которое ложно, если высказывание A истинно, а B – ложно, и ис- тинно, если A – ложное высказывание или B – истинное высказывание.
Эквиваленцией двух высказываний A и B называется высказывание A↔B (читается «A эквивалентно B», «A равносильно B»), которое истинно, если высказывания A и B од- новременно истинны или ложны, и ложно, если высказывания A и B имеют разные истин- ностные значения.
Символы логических операций ¬, , , →, ↔ называют логическими связками. Воз- можны также и другие варианты логических связок:

отрицание ¬A может обозначаться A , конъюнкция A B – A&B, эквиваленция A↔B – A≡B. Перепишем сформулированные определения логических операций в таблицы истин-
ности:
A |
¬A |
|
|
0 |
1 |
|
|
1 |
0 |
|
|
A |
B |
A B |
A B |
A→B |
A↔B |
|
|
|
|
|
|
0 |
0 |
0 |
0 |
1 |
1 |
|
|
|
|
|
|
0 |
1 |
0 |
1 |
1 |
0 |
|
|
|
|
|
|
1 |
0 |
0 |
1 |
0 |
0 |
|
|
|
|
|
|
1 |
1 |
1 |
1 |
1 |
1 |
|
|
|
|
|
|
С помощью логических операций из простых высказываний строятся сложные вы- сказывания. Структура сложных высказываний отражается в формуле.
Что такое формула? Это некоторая последовательность символов, построенная по определенным правилам. Символы для построения формулы берутся из алфавита, кото- рый содержит символы для обозначения простых высказываний – буквы a, b, x, y и т.д. (в алгебре логики они называются пропозициональными переменными), логические связки ¬, , , → и ↔, скобки ( и ) для отделения одних логических операций от других (техни- ческие символы).
Конечная последовательность символов алфавита называется формулой, если это один символ – пропозициональная переменная (тогда формула изображает некоторое простое высказывание),
либо эта последовательность получается через конечное число применений следующего правила: если A и B – формулы, то (¬A), (A B), (A B), (A→B), (A↔B) – также формулы.
Например, последовательность ((x y)→(z (¬t))) является формулой, которая изо- бражает сложное высказывание «Если 12 делится на 3 или на 2, то 12 делится на 6 и не делится на 4».
Для упрощения записи формул вводятся соглашения об употреблении скобок:
1.Внешние скобки формулы можно опускать. Например, в формуле ((x y)→(z (¬t)))
опустим внешние скобки и получим (x y)→(z (¬t)).
2.Если в формулу подряд входит несколько раз одна и та же логическая связка, то опущенные скобки восстанавливаются слева направо. Например,
в формуле ((x y) z) t все скобки можно опустить, так как у формулы x y z t мы их восстановим слева направо: (x y) z t, ((x y) z) t.
А в формуле x→(y→z) скобки опускать нельзя, так как у формулы x→y→z мы их должны восстановить слева направо: (x→y)→z и в результате получаем совсем дру- гую формулу.
3.В формуле, содержащей различные логические связки, опущенные скобки восста-
навливаются сначала для отрицания ¬, затем для конъюнкции , дизъюнкции , им-
пликации → и эквиваленции ↔. Например,
формулу (x↔(((¬y)→z) t)) можно упростить как x↔(¬y→z) t, так как восстанавли-
ваются скобки сначала для отрицания, затем для дизъюнкции: x↔((¬y)→z) t, x↔(((¬y)→z) t). А для формулы x↔¬y→z t скобки восстановятся по-другому: x↔(¬y)→z t, x↔(¬y)→(z t), x↔((¬y)→(z t)).
Поскольку формула изображает некоторое сложное высказывание, то она должна иметь значение истина (1) или ложь (0). Одна и та же формула может изображать разные сложные высказывания, поэтому она может иметь разные истинностные значения. Зависят эти значения от того, какие именно простые высказывания соответствуют входящим в формулу пропозициональным переменным. Поэтому, значение формулы определяется только если известны истинностные значения переменных. Например, значение формулы x (y x) при x = 0, y = 1 равно 0 (1 0) = 0 1 = 0, а при x = 1, y = 1 равно 1 (1 1) = 1 1 = 1.
Перебирая все возможные истинностные значения переменных формулы, мы полу- чаем все ее значения, которые удобно записывать в таблицу истинности формулы. На-
пример, для формулы x (y x) она выглядит так:
x |
y |
x (y x) |
|
|
|
0 |
0 |
0 |
|
|
|
0 |
1 |
0 |
|
|
|
1 |
0 |
1 |
|
|
|
1 |
1 |
1 |
|
|
|
Формулы A и B называются равносильными, если значения формул A и B равны при любых значениях переменных формул. Обозначаются равносильные формулы так: A = B.
Логические законы, содержащие основные наборы равносильных формул, называ- ются булевыми равносильностями:
1)коммутативные законы для конъюнкции и дизъюнкции: A B = B A, A B = B A;
2)ассоциативные законы для конъюнкции и дизъюнкции:
(A B) C = A (B C), (A B) C = A (B C);
3) дистрибутивные законы для конъюнкции и дизъюнкции:
(A B) C = (A C)(B C), (A B) C = (A C)(B C);
4)законы де Моргана: ¬(A B) = ¬A¬B, ¬(A B) = ¬A¬B;
5)законы поглощения: A(B¬B) = A, A(B¬B) = A,
A(A B) = A, A(A B) = A;
6)законы идемпотентности: A A = A, A A = A;
7)закон снятия двойного отрицания: ¬¬A = A. Докажем один из дистрибутивных законов:
A |
B |
C |
A B |
(A B) C |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
A C |
B C |
(A C) (B C) |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
Из таблиц видно, что все значения формул (A B) C и (A C)(B C) совпадают, по- этому эти формулы равносильны.
Также часто используются следующие две равносильности:
A→B = ¬A B и A↔B = (A→B)(B→A). Они позволяют выразить операции импликации и эквиваленции через операции отрицания, конъюнкции и дизъюнкции.
Кроме основных логических операций также встречаются разделительная дизъюнк-
ция x+y = ¬(x↔y) (логическое сложение), «штрих Шеффера» x|y = ¬(x y) (логическое НЕ-
И) и «стрелка Пирса» x↓y = ¬(x y) (логическое НЕ-ИЛИ).
Основные логические законы, которыми мы пользуемся как в математике, так и в обыденной жизни, изображаются формулами, которые всегда истинны. Такие формулы называются тавтологиями (тождественно истинными, общезначимыми) и обозначаются 1. Отрицание тавтологии (формула, которая всегда ложна), называется противоречием (тож- дественно ложной) и обозначается 0.
К списку булевых равносильностей мы можем добавить равносильности, в которые входят тавтологии и противоречия:
1. A¬A = 0, A¬A = 1.
2.A 1 = A, A 0 = A.
3.A 0 = 0, A 1 = 1.
Равносильность A¬A = 1 означает, что формула A¬A является тавтологией, кото- рая изображает известный логический закон «закон исключенного третьего»: «любое вы- сказывание либо истинно, либо ложно и третьего не дано».
Поскольку A¬A является противоречием, постольку ¬(A¬A) – тавтология, кото- рая изображает «закон противоречия».
Закон «modus ponens» соответствует тавтологии (A (A→B))→B и означает «если из A следует B и A истинно, то истинно и B.
«Закон силлогизма» изображается ((A→B) (B→C))→(A→C) и означает «если из A следует B и из B следует C, то из A следует C».
Известный из курса геометрии «метод доказательства от противного» представляет- ся тавтологиями (¬A→(B¬B))→A, ((¬A→B)¬B)→A и ((¬A→B) (¬A→¬B))→A.
Применение алгебры логики к решению задач ЕГЭ по информатике и ИКТ.
1. Вычисление значений логических выражений (формул).
Задача. Символом F обозначено одно из указанных ниже логических выражений от трех аргументов: X, Y, Z. Дан фрагмент таблицы истинности выражения F:
X |
Y |
Z |
F |
|
|
|
|
1 |
0 |
0 |
1 |
|
|
|
|
0 |
0 |
0 |
1 |
|
|
|
|
1 |
1 |
1 |
0 |
|
|
|
|
Какое выражение соответствует F?
1) ¬X ¬Y ¬Z 2) X Y Z 3) ¬X ¬Y ¬Z 4) X Y Z
Решение. Вычислим значение каждого из указанных выражений (формул) при значе- ниях переменных X = 1, Y = 0, Z = 0; X = 0, Y = 0, Z = 0 и X = 1, Y = 1, Z = 1 и запишем их в таблицы:
X |
Y |
Z |
¬X |
¬Y |
¬Z |
¬X¬Y |
1) |
X Y |
2) |
¬X |
¬Y |
¬Z |
¬X¬Y |
3) |
X Y |
4) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
0 |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
0 |
0 |
|
|
|
|
|
0 |
0 |
1 |
1 |
1 |
1 |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
1 |
1 |
|
|
|
|
|
|
|
0 |
0 |
0 |
0 |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
При этом, если видно, что выражение имеет значения, отличные от F, не обязательно вы- числять все его значения (как это и сделано для выражений 1), 2) и 4)). Из таблицы видно, что ответом является выражение 3).
Задача для самостоятельного решения №1 (из демоверсии 2011 года). Символом F обозначено одно из указанных ниже логических выражений от трех аргументов: X, Y, Z. Дан фрагмент таблицы истинности выражения F:
X |
Y |
Z |
F |
|
|
|
|
0 |
1 |
1 |
0 |
|
|
|
|
1 |
1 |
1 |
1 |
|
|
|
|
0 |
0 |
1 |
1 |
|
|
|
|
Какое выражение соответствует F?
1) X ¬Y ¬Z 2) ¬X ¬Y Z 3) ¬X ¬Y Z 4) X ¬Y ¬Z
См. решение.
Задача. Для какого слова истинно высказывание:
(Вторая буква слова согласная Последняя буква слова гласная) → Первая буква слова гласная
1) ГОРЕ 2) ПРИВЕТ 3) КРЕСЛО 4) ЗАКОН
Решение.
В данное сложное высказывание входят три простых: A – «Вторая буква слова со- гласная», B – «Последняя буква слова гласная», C – «Первая буква слова гласная». Опре- делим для каждого слова значения этих высказываний и найдем значение сложного вы-
сказывания F = (A B)→C.
1)ГОРЕ: F = (0 1)→0 = 1→0 = 0.
2)ПРИВЕТ: F = (1 0)→0 = 1→0 = 0.
3)КРЕСЛО: F = (1 1)→0 = 1→0 = 0.
4)ЗАКОН: F = (0 0)→0 = 0→0 = 1.
Таким образом, ответ – 4).
Задача для самостоятельного решения №2 (из демоверсии 2011 года). Какое из при- веденных имен удовлетворяет логическому условию:
¬(последняя буква гласная → первая буква согласная) вторая буква согласная
1) ИРИНА 2) АРТЕМ 3) СТЕПАН 4) МАРИЯ
См. решение.
2. Равносильность логических выражений (формул).
Задача. Какое логическое выражение равносильно выражению ¬(A¬B)? 1) A¬B 2) ¬A B 3) B¬A 4) A¬B
Решение.
1-й способ. По определению два логических выражения (формулы) называются рав- носильными, если они принимают одинаковые значения при любых значениях перемен- ных. Поэтому составим таблицы истинности исходного выражения и выражений 1)-4):
A |
B |
¬B |
A¬B |
¬( A¬B) |
1) |
¬A |
2) |
3) |
4) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
0 |
1 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
1 |
0 |
0 |
1 |
|
1 |
|
1 |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
0 |
1 |
1 |
0 |
|
0 |
|
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
1 |
0 |
1 |
0 |
|
0 |
|
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Из таблицы видно, что исходное выражение равносильно выражению 3).
2-й способ. Преобразуем исходное выражение с помощью булевых равносильностей:
Ø(AÚØB) = (закон де Моргана) (ØA)Ù(Ø(ØB)) = (закон снятия двойного отрицания) ØAÙB
= (коммутативный закон для конъюнкции) BÙØA. Таким образом, исходное выражение равносильно выражению 3).
Ответ: 3).
Задача для самостоятельного решения №3 (из демоверсии 2011 года). Укажите, какое логическое выражение равносильно выражению AÚØ(ØBÚØС):
1) ØAÚBÚØС 2) AÚ(BÙС) 3) AÚBÚC 4) AÚØBÚØC
См. решение.
Задача. Упростите выражение Ø(ØXÙØY).
Решение. Упростить выражение (формулу) – это значит привести это выражение к равносильному ему более простому выражению. Применим булевы равносильности для упрощения: Ø(ØXÙØY) = (закон де Моргана) (Ø(ØX))Ú(Ø(ØY)) = (закон снятия двойного отрицания) XÚY.
Ответ: X Y.
Задача для самостоятельного решения №4. Упростите выражение (ØXÚY)ÙX. См. решение.
3. Решение логических уравнений.
Под логическими уравнениями понимают уравнения, в которые входят только логи- ческие операции.
Сначала переформулируем немного определения основных логических операций:
1) ØA = 1 Û A = 0 |
ØA = 0 Û A = 1 |
ìA = 1, |
éA = 0, |
2) AÙB = 1 Û í |
AÙB = 0 Û ê |
îB = 1 |
ëB = 0 |
éA = 1, |
ìA = 0, |
3) AÚB = 1 Û ê |
AÚB = 0 Û í |
ëB = 1 |
îB = 0 |
éA = 0, |
ìA = 1, |
4) A®B = 1 Û ê |
A®B = 0 Û í |
ëB = 1 |
îB = 0 |
5) A«B = 1 Û A = B |
A«B = 0 Û A ¹ B |
Задача. Для какого из указанных значений числа X истинно высказывание: (X > 4) Ú ((X > 1) ® (X > 4))?
1) 1 2) 2 3) 3 4) 4
Решение.
1-й способ. Вычислим значение высказывания при всех приведенных значениях X (при этом вычисляются значения простых высказываний X > 4 и X > 1).
1)X=1: 0Ú(0®0) = 0Ú1 = 1.
2)X=2: 0Ú(1®0) = 0Ú0 = 0.
3)X=3: 0Ú(1®0) = 0Ú0 = 0.
4)X=4: 0Ú(1®0) = 0Ú0 = 0.
Поэтому ответ – 1).
2-й способ. Приравняем значение данного высказывания к 1 и с помощью равно-
сильных преобразований решим полученное логическое уравнение:
|
|
é(X > 4 ) = 1, |
|
|
é(X > 4 ) = 1, |
é(X > 4) |
= 1, |
|
|
|
|
|
Û |
êé(X > 1) = 0, |
Û |
||||
(X>4)Ú((X>1)®(X>4)) = 1 Û ê |
® (X > 4)) |
= 1, |
Û ê |
= 0, |
|||||
|
|
ë((X > 1) |
|
êê |
ë(X > 1) |
|
|||
|
|
|
|
|
|
ê |
|
|
|
|
|
|
|
|
|
ëë(X > 4 ) = 1, |
|
|
|
éX > 4 , |
Теперь из предложенных значений переменной X выбираем то, которое является |
||||||||
ê |
1. |
||||||||
ëX £ |
|
|
|
|
|
|
|
|
решением этого уравнения: X = 1. Таким образом, ответ – 1).
Задача для самостоятельного решения №5. Для какого числа X истинно высказыва-
ние Ø(X > 3) ® (X > 4)?
1) 1 2) 2 3) 3 4) 4
См. решение.
Задача. X, Y, Z – целые числа, для которых истинно высказывание
((Z < X) Ú (Z < Y)) Ù Ø((Z+1) < X) Ù Ø((Z+1) < Y).
Чему равно Z, если X = 20, Y = 10?
Решение. Подставим в данное высказывание значения переменных X и Y: ((Z < 20) Ú (Z < 10)) Ù Ø((Z+1) < 20) Ù Ø((Z+1) < 10).
Приравняем полученное высказывание к 1 и решим логическое уравнение:
ì((Z < 20) Ú (Z < 10)) = 1, ((Z < 20) Ú (Z < 10)) Ù Ø((Z+1) < 20) Ù Ø((Z+1) < 10) = 1 Û ïíØ((Z +1) < 20) = 1,
ïîØ((Z +1) < 10) = 1,