Алгебра логики
Как часто поведение котов вам кажется странным? А если кот в галстуке или вооружен? Сейчас будем разбираться в логике с помощью этих пушистых созданий.
Понятие алгебры логики
Обратите внимание на этого персонажа:
Я скажу про него две вещи:
- Этот кот в галстуке.
- Этот кот белого цвета.
Очевидно, что с первым высказыванием и поспорить нельзя, а вот второе — наглая ложь. А если я захочу вас запутать: «Этот кот в галстуке или он белого цвета, из чего следует, что он белого цвета и в галстуке или не белый». Что это в итоге — правда или ложь?
Чтобы это определить, в математике есть отдельный раздел.
Алгебра логики — это раздел математики, который занимается логическими операциями над высказываниями.
Любое высказывание может быть либо истинным, либо ложным. Цель алгебры логики — определять истинность логических выражений на основании отдельных высказываний. Алгебра логики действительно может, например, складывать и умножать высказывания друг с другом, и чтобы в записи это выглядело адекватно, истину принято обозначать как 1, а ложь — как 0.
Логические выражения и операторы
Как вычислить истинность логического выражения?
Термин высказывание, мы теперь знаем. Но что такое логическое выражение? Выражение — это уравнение из высказываний, как математическое уравнение из чисел.
«Этот кот вооружен и его глаза зеленого цвета», — в одном выражении мы использовали два высказывания.
Истинность выражения определяется истинностью логических высказываний, а также логическими операторами, которые стоят между ними.
Например, я скажу про того же самого кота: «Этот кот вооружен и его глаза голубые». Это будет наглая ложь, так как я употребил союз И, то есть подразумеваю, что оба высказывания истинны — что неправда. Но если бы я сказал: «Этот кот вооружен или его глаза голубые», союз ИЛИ защитил бы меня от клейма лжеца. Я делаю акцент на истинности только одного высказывания из двух.
Так и работают логические операторы — в зависимости от них все выражение и принимает значение истины или лжи.
Основные логические операторы алгебры логики:
-
Конъюнкция: логическое умножение или логическое И. В записи обозначается как ∧. А ∧ В дает истину только в том случае, если оба высказывания А и В истинны.
Называется логическим умножением, потому что имеет схожий принцип работы: если хоть один из множителей будет равен 0, все выражение будет равно 0.
Называется логическим сложением за схожесть: если складывать только 0 и 1, чем мы и занимаемся, то достаточно одному слагаемому быть 1, чтобы все выражение не было равно 0.
Важно сразу понять — если применить логическое сложение к двум единицам (1 ∨ 1), мы получим не 2, а все еще 1. Все-таки единица здесь означает не число, а истину, и сложив две, мы не получим одну сверх-истину.
Приоритет этих операторов:
- инверсия;
- конъюнкция;
- дизъюнкция;
- импликация;
- эквиваленция.
Как и везде в математике, приоритет можно менять с помощью скобок — что в них, то выполняется в первую очередь.
Таблицы истинности
В логических уравнениях высказывания используются в виде переменных, а главная проблема, которую рассматривает алгебра логики — когда точно неизвестна истинность каждого высказывания. Назовем эту ситуацию “кот в мешке”. Сказать про кота можно что угодно, но будет ли это правдой — мы не узнаем, пока не заглянем в мешок. В таких ситуациях нам может помочь таблица истинности.
Таблица истинности — это таблица, которая показывает истинность всего логического уравнения в зависимости от истинности отдельных переменных.
В этой таблице содержатся все возможные наборы переменных. Количество наборов N зависит от количества различных переменных i как N = 2 i .
Чтобы удобно записать наборы, нумеруем их по порядку начиная с 0, переводим их номер в двоичную систему счисления (2сс) и записываем набор цифр.
Давайте запишем таблицы истинности для известных нам логических операторов:
- инверсия берет только 1 переменную и сразу меняет ее значение:
- конъюнкция берет две переменные и возвращает 1 только в том случае, если обе равны 1:
- дизъюнкция вернет 1, если хотя бы одна из переменных равна 1:
- эквиваленция вернет 1, если переменные равны, и 0 в противном случае:
- импликация вернет 0, если из истины будет следовать ложь, и 1 во всех остальных случаях:
Импликацию можно выразить через дизъюнкцию: А ⇒ В = ¬А ∨ В |
Зная таблицы истинности отдельных операторов, давайте попробуем составить таблицу истинности для полного выражения.
Например, для выражения: А ∧ (В ∨ С) ≡ В ⇒ ¬А.
Важно правильно расставить порядок операций. Как и всегда, в первую очередь выполняется действие в скобках, а дальше — в порядке приоритета.
Здесь порядок операций будет следующим:
Создадим таблицу, в которой сразу пропишем все наборы 0 и 1 для переменных А и В и добавим столбцы для каждого шага вычисления.
Чтобы удобно записать наборы, пронумеруем их по порядку начиная с 0. Переведем их номер в 2сс и запишем набор цифр. У нас 3 различные переменные, поэтому должно быть 8 наборов.
- Первое действие — сложение В и С. Для каждого набора запишем результат сложения в соответствующий столбец.
- Второе действие — инверсия переменной А.
- Третье действие — умножение значения А на результат первого действия:
- Четвертое — импликация значения В и результата второго действия:
- И последнее действие — эквиваленция результатов 3 и 4 действий:
Последний столбец — и есть результат таблицы истинности. По нему можно сказать, что при А = 1, В = 0 и С = 1 все исходное выражение равно 1, а во всех остальных случаях — 0.
Законы логики
Их не так уж и мало: от самых простых и очевидных до достаточно хитрых; от тех, которые встречаются очень часто до довольно редких.
Не обязательно знать все наизусть — часть из них действительно проста и похожа на правила математики начальной школы. Про остальные стоит помнить: если увидите очень большое логическое уравнение, высока вероятность того, что эти законы помогут его сократить.
Попробуем упростить исходное выражение ¬(¬А ∧ ¬В) ∨ В ∧ С:
- Первым можно увидеть закон де Моргана, где у нас идет отрицание целой скобки:
¬(¬А ∧ ¬В) ∨ В ∧ С = ¬(¬А) ∨ ¬(¬В) ∨ В ∧ С
- Здесь же появляются переменные А и В, к которым можно применить закон двойного отрицания:
¬(¬А) ∨ ¬(¬В) ∨ В ∧ С = А ∨ В ∨ В ∧ С
- Можно заметить закон поглощения — В складывается с умножением В на С:
А ∨ В ∨ В ∧ С = А ∨ В
Итого, уравнение с 3 переменными и множеством отрицаний мы смогли превратить в максимально простую запись, где осталось всего 2 переменные:
¬(¬А ∧ ¬В) ∨ В ∧ С = А ∨ В
Фактчек
- Алгебра логики — это математика, которая пользуется не числами, а высказываниями, являющимися истинными или ложными. Истина обозначается как 1, а ложь — как 0.
- Основными логическими операторами являются инверсия, конъюнкция, дизъюнкция, импликация и эквиваленция.
- Для расчета истинности логического уравнения используется таблица истинности.
- Законы логики помогают сокращать логические уравнения.
Проверь себя
Задание 1.
Выберите правильный порядок приоритета логических операторов:
- Импликация, эквиваленция, конъюнкция, дизъюнкция, инверсия.
- Инверсия, конъюнкция, дизъюнкция, импликация, эквиваленция.
- Инверсия, конъюнкция, дизъюнкция, эквиваленция, импликация.
- Инверсия, дизъюнкция, конъюнкция, эквиваленция, импликация.
Задание 2.
Сопоставьте название логического оператора с упрощенным:
Инверсия | А. Умножение |
Эквиваленция | Б. Отрицание |
Импликация | В. Следование |
Дизъюнкция | Г. Равенство |
Конъюнкция | Д. Сложение |
Задание 3.
Чему будет равен последний столбец таблицы истинности для уравнения: А ∨ В ⇒ ¬С?
- 11101010
- 11101111
- 11111110
- 11000100
Задание 4.
Сократите логическое выражение: ¬(А ∨ В) ∧ (¬А ∨ С)
- ¬(А ∧ В)
- ¬А ∨ ¬В ∨ С
- ¬А ∧ ¬В ∧ С
- ¬А ∧ ¬В
Ответы: 1. — 2; 2. — 1Б, 2Г, 3В, 4Д, 5А; 3. — 1; 4. — 4.
Логические выражения
Алгебра логики (англ. algebra of logic) — один из основных разделов математической логики, в котором методы алгебры используются в логических преобразованиях.
Основоположником алгебры логики является английский математик и логик Дж. Буль (1815–1864), положивший в основу своего логического учения аналогию между алгеброй и логикой. Любое высказывание он записывал с помощью символов разработанного им языка и получал «уравнения», истинность или ложность которых можно было доказать, исходя из определенных логических законов, таких как законы коммутативности, дистрибутивности, ассоциативности и др.
Современная алгебра логики является разделом математической логики и изучает логические операции над высказываниями с точки зрения их истинностного значения (истина, ложь). Высказывания могут быть истинными, ложными или содержать истину и ложь в разных соотношениях.
Логическое высказывание — это любое повествовательное предложение, в отношении которого можно однозначно утверждать, что его содержание истинно или ложно.
Например, «3 умножить на 3 равно 9», «Архангельск севернее Вологды» — истинные высказывания, а «Пять меньше трех», «Марс — звезда» — ложные.
Очевидно, что не всякое предложение может быть логическим высказыванием, т. к. не всегда есть смысл говорить о его ложности или истинности. Например, высказывание «Информатика — интересный предмет» неопределенно и требует дополнительных сведений, а высказывание «Для ученика 10-А класса Иванова А. А. информатика — интересный предмет» в зависимости от интересов Иванова А. А. может принимать значение «истина» или «ложь».
Кроме двузначной алгебры высказываний, в которой принимаются только два значения — «истинно» и «ложно», существует многозначная алгебра высказываний. В такой алгебре, кроме значений «истинно» и «ложно», употребляются такие истинностные значения, как «вероятно», «возможно», «невозможно» и т. д.
В алгебре логики различаются простые (элементарные) высказывания, обозначаемые латинскими буквами (A, B, C, D, …), и сложные (составные), составленные из нескольких простых с помощью логических связок, например таких, как «не», «и», «или», «тогда и только тогда», «если … то». Истинность или ложность получаемых таким образом сложных высказываний определяется значением простых высказываний.
Обозначим как А высказывание «Алгебра логики успешно применяется в теории электрических схем», а через В — «Алгебра логики применяется при синтезе релейно-контактных схем».
Тогда составное высказывание «Алгебра логики успешно применяется в теории электрических цепей и при синтезе релейно-контактных схем» можно кратко записать как А и В; здесь «и» — логическая связка. Очевидно, что поскольку элементарные высказывания А и В истинны, то истинно и составное высказывание А и В.
Каждая логическая связка рассматривается как операция над логическими высказываниями и имеет свое название и обозначение.
Логических значений всего два: истина (TRUE) и ложь (FALSE). Это соответствует цифровому представлению — 1 и 0. Результаты каждой логической операции можно записать в виде таблицы. Такие таблицы называют таблицами истинности.
Основные операции алгебры логики
1. Логическое отрицание, инверсия (лат. inversion — переворачивание) — логическая операция, в результате которой из данного высказывания (например, А) получается новое высказывание (не А), которое называется отрицанием исходного высказывания, обозначается символически чертой сверху ($A↖<->$) или такими условными обозначениями, как ¬, 'not', и читается: «не А», «А ложно», «неверно, что А», «отрицание А». Например, «Марс — планета Солнечной системы» (высказывание А); «Марс — не планета Солнечной системы» ($A↖<->$); высказывание «10 — простое число» (высказывание В) ложно; высказывание «10 — не простое число» (высказывание B ) истинно.
Операция, используемая относительно одной величины, называется унарной. Таблица значений данной операции имеет вид
A | ¬A |
истина | ложь |
ложь | истина |
A | ¬A |
1 | 0 |
0 | 1 |
Высказывание $A↖<->$ ложно, когда А истинно, и истинно, когда А ложно.
Геометрически отрицание можно представить следующим образом: если А — это некоторое множество точек, то $A↖<->$ — это дополнение множества А, т. е. все точки, которые не принадлежат множеству А.
2. Конъюнкция (лат. conjunctio — соединение) — логическое умножение, операция, требующая как минимум двух логических величин (операндов) и соединяющая два или более высказываний при помощи связки «и» (например, «А и В»), которая символически обозначается с помощью знака ∧ (А ∧ В) и читается: «А и В». Для обозначения конъюнкции применяются также следующие знаки: А ∙ В; А & В, А and В, а иногда между высказываниями не ставится никакого знака: АВ. Пример логического умножения: «Этот треугольник равнобедренный и прямоугольный». Данное высказывание может быть истинным только в том случае, если выполняются оба условия, в противном случае высказывание ложно.
Таблица истинности операции имеет вид
A | B | A ∧ B |
истина | ложь | ложь |
ложь | истина | ложь |
ложь | ложь | ложь |
истина | истина | истина |
A | B | A ∧ B |
1 | 0 | 0 |
0 | 1 | 0 |
0 | 0 | 0 |
1 | 1 | 1 |
Высказывание А ∧ В истинно только тогда, когда оба высказывания — А и В истинны.
Геометрически конъюнкцию можно представить следующим образом: если А, В — это некоторые множества точек, то А ∧ В есть пересечение множеств А и В.
3. Дизъюнкция (лат. disjunction — разделение) — логическое сложение, операция, соединяющая два или более высказываний при помощи связки «или» (например, «А или В»), которая символически обозначается с помощью знака ∨ (А ∨ В) и читается: «А или В». Для обозначения дизъюнкции применяются также следующие знаки: А + В; А or В; А | B. Пример логического сложения: «Число x делится на 3 или на 5». Это высказывание будет истинным, если выполняются оба условия или хотя бы одно из условий.
Таблица истинности операции имеет вид
A | B | A ∨ B |
истина | ложь | истина |
ложь | истина | истина |
ложь | ложь | ложь |
истина | истина | истина |
A | B | A ∨ B |
1 | 0 | 1 |
0 | 1 | 1 |
0 | 0 | 0 |
1 | 1 | 1 |
Высказывание А ∨ В ложно только тогда, когда оба высказывания — А и В ложны.
Геометрически логическое сложение можно представить следующим образом: если А, В — это некоторые множества точек, то А ∨ В — это объединение множеств А и В, т. е. фигура, объединяющая и квадрат, и круг.
4. Дизъюнкция строго-разделительная, сложение по модулю два — логическая операция, соединяющая два высказывания при помощи связки «или», употребленной в исключающем смысле, которая символически обозначается с помощью знаков ∨ ∨ или ⊕ (А ∨ ∨ В, А ⊕ В) и читается: «либо А, либо В». Пример сложения по модулю два — высказывание «Этот треугольник тупоугольный или остроугольный». Высказывание истинно, если выполняется какое-то одно из условий.
Таблица истинности операции имеет вид
А | В | А ⊕ B |
истина | ложь | истина |
ложь | истина | истина |
ложь | ложь | ложь |
истина | истина | ложь |
А | В | А ⊕ B |
1 | 0 | 1 |
0 | 1 | 1 |
0 | 0 | 0 |
1 | 1 | 0 |
Высказывание А ⊕ В истинно только тогда, когда высказывания А и В имеют различные значения.
5. Импликация (лат. implisito — тесно связываю) — логическая операция, соединяющая два высказывания при помощи связки «если. то» в сложное высказывание, которое символически обозначается с помощью знака → (А → В) и читается: «если А, то В», «А влечет В», «из А следует В», «А имплицирует В». Для обозначения импликации применяется также знак ⊃ (A ⊃ B). Пример импликации: «Если полученный четырехугольник квадрат, то около него можно описать окружность». Эта операция связывает два простых логических выражения, из которых первое является условием, а второе — следствием. Результат операции ложен только тогда, когда предпосылка есть истина, а следствие — ложь. Например, «Если 3 * 3 = 9 (А), то Солнце — планета (В)», результат импликации А → В — ложь.
Таблица истинности операции имеет вид
А | В | А → В |
истина | ложь | ложь |
ложь | истина | истина |
ложь | ложь | истина |
истина | истина | истина |
А | В | А → В |
1 | 0 | 0 |
0 | 1 | 1 |
0 | 0 | 1 |
1 | 1 | 1 |
Для операции импликации справедливо утверждение, что из лжи может следовать все что угодно, а из истины — только истина.
6. Эквивалентность, двойная импликация, равнозначность (лат. aequalis — равный и valentis — имеющий силу) — логическая операция, позволяющая из двух высказываний А и В получить новое высказывание А ≡ В, которое читается: «А эквивалентно B». Для обозначения эквивалентности применяются также следующие знаки: ⇔, ∼. Эта операция может быть выражена связками «тогда и только тогда», «необходимо и достаточно», «равносильно». Примером эквивалентности является высказывание: «Треугольник будет прямоугольным тогда и только тогда, когда один из углов равен 90 градусам».
Таблица истинности операции эквивалентности имеет вид
А | В | А ∼ В |
истина | ложь | ложь |
ложь | истина | ложь |
ложь | ложь | истина |
истина | истина | истина |
А | В | А ∼ В |
1 | 0 | 0 |
0 | 1 | 0 |
0 | 0 | 1 |
1 | 1 | 1 |
Операция эквивалентности противоположна сложению по модулю два и имеет результат «истина» тогда и только тогда, когда значения переменных совпадают.
Зная значения простых высказываний, можно на основании таблиц истинности определить значения сложных высказываний. При этом важно знать, что для представления любой функции алгебры логики достаточно трех операций: конъюнкции, дизъюнкции и отрицания.
Сложение по модулю два | А ⊕ В | $(A↖ <->∧B) ∧ (A ∧ B↖<->)$ |
Импликация | А → В | $A↖ <->∨ B$ |
Эквивалентность | А ∼ В | $(A↖ <->∧ B↖<->) ∨ (A ∧ B)$ |
Приоритет выполнения логических операций следующий: отрицание («не») имеет самый высокий приоритет, затем выполняется конъюнкция («и»), после конъюнкции — дизъюнкция («или»).
С помощью логических переменных и логических операций любое логическое высказывание можно формализовать, т. е. заменить логической формулой. При этом элементарные высказывания, образующие составное высказывание, могут быть абсолютно не связаны по смыслу, но это не мешает определять истинность или ложность составного высказывания. Например, высказывание «Если пять больше двух (А), то вторник всегда наступает после понедельника (В)» — импликация А → В, и результат операции в данном случае — «истина». В логических операциях смысл высказываний не учитывается, рассматривается только их истинность или ложность.
Рассмотрим, например, построение составного высказывания из высказываний А и В, которое было бы ложно тогда и только тогда, когда оба высказывания истинны. В таблице истинности для операции сложения по модулю два находим: 1 ⊕ 1 = 0. А высказывание может быть, например, таким: «Этот мяч полностью красный или полностью синий». Следовательно, если утверждение А «Этот мяч полностью красный» — истина, и утверждение В «Этот мяч полностью синий» — истина, то составное утверждение — ложь, т. к. одновременно и красным, и синим мяч быть не может.
Примеры решения задач
Пример 1. Определить для указанных значений X значение логического высказывания ((X > 3) ∨ (X < 3)) → (X < 4) :
1) X = 1; 2) X = 12; 3) X = 3.
Решение. Последовательность выполнения операций следующая: сначала выполняются операции сравнения в скобках, затем дизъюнкция, и последней выполняется операция импликации. Операция дизъюнкции ∨ ложна тогда и только тогда, когда оба операнда ложны. Таблица истинности для импликации имеет вид
A | B | A → B |
1 | 0 | 0 |
0 | 1 | 1 |
0 | 0 | 1 |
1 | 1 | 1 |
((1 > 3) ∨ (1 < 3)) → (1 < 4) = ложь ∨ истина → истина = истина → истина = истина;
((12 > 3) ∨ (12 < 3) → (12 < 4) = истина ∨ ложь → ложь = истина → ложь = ложь;
((3 > 3) ∨ (3 < 3)) → (3<4) = ложь ∨ ложь → истина = ложь → истина = истина.
Пример 2. Указать множество целых значений X, для которых истинно выражение ¬((X > 2) → (X > 5)) .
Решение. Операция отрицания применена ко всему выражению ((X > 2) → (X > 5)) , следовательно, когда выражение ¬((X > 2) → (X > 5)) истинно, выражение ((X > 2) →(X > 5)) ложно. Поэтому необходимо определить, для каких значений X выражение ((X > 2) → (X > 5)) ложно. Операция импликации принимает значение «ложь» только в одном случае: когда из истины следует ложь. А это выполняется только для X = 3; X = 4; X = 5.
Пример 3. Для каких из приведенных слов ложно высказывание ¬(первая буква гласная ∧ третья буква гласная) ⇔ строка из 4 символов? 1) асса; 2) куку; 3) кукуруза; 4) ошибка; 5) силач.
Решение. Рассмотрим последовательно все предложенные слова:
1) для слова асса получим: ¬(1 ∧ 0) ⇔ 1, 1 ⇔ 1 — высказывание истинно;
2) для слова куку получим: ¬ (0 ∧ 0) ⇔ 1, 1 ⇔ 1 — высказывание истинно;
3) для слова кукуруза получим: ¬ (0 ∧ 0) ⇔ 0, 1 ⇔ 0 — высказывание ложно;
4) для слова ошибка получим: ¬ (1 ∧ 1) ⇔ 0, 0 ⇔ 0 — высказывание истинно;
5) для слова силач получим: ¬ (0 ∧ 0) ⇔ 1, 1 ⇔ 0 — высказывание ложно.
Логические выражения и их преобразование
Под логическим выражением следует понимать такую запись, которая может принимать логическое значение «истина» или «ложь». При таком определении среди логических выражений необходимо различать:
- выражения, которые используют операции сравнения («больше», «меньше», «равно», «не равно» и т. п.) и принимают логические значения (например, выражение а > b , где а = 5 и b = 7, равно значению «ложь»);
- непосредственные логические выражения, связанные с логическими величинами и логическими операциями (например, A ∨ В ∧ С, где А = истина, B = ложь и C = истина).
Логические выражения могут включать в себя функции, алгебраические операции, операции сравнения и логические операции. В этом случае приоритет выполнения действий следующий:
- вычисление существующих функциональных зависимостей;
- выполнение алгебраических операций (вначале умножение и деление, затем вычитание и сложение);
- выполнение операций сравнения (в произвольном порядке);
- выполнение логических операций (вначале операции отрицания, затем операции логического умножения, логического сложения, последними выполняются операции импликации и эквивалентности).
В логическом выражении могут использоваться скобки, которые изменяют порядок выполнения операций.
Пример. Найти значение выражения:
$1 ≤ a ∨ A ∨ sin(π/a — π/b) < 1 ∧ ¬B ∧ ¬(b^a + a^b > a + b ∨ A ∧ B)$ для а = 2, b = 3, A = истина, В = ложь.
Решение. Порядок подсчета значений:
1) b a + a b > a + b, после подстановки получим: 3 2 + 2 3 > 2 + 3, т. е. 17 > 2 + 3 = истина;
2) A ∧ B = истина ∧ ложь = ложь.
Следовательно, выражение в скобках равно (b a + a b > a + b ∨ A ∧ B) = истина ∨ ложь = истина;
3) 1≤ a = 1 ≤ 2 = истина;
4) sin(π/a — π/b) < 1 = sin(π/2 — π/3) < 1 = истина.
После этих вычислений окончательно получим: истина ∨ А ∧ истина ∧ ¬В ∧ ¬истина.
Теперь должны быть выполнены операции отрицания, затем логического умножения и сложения:
5) ¬В = ¬ложь = истина; ¬истина = ложь;
6) A ∧ истина ∧ истина ∧ ложь = истина ∧ истина ∧ истина ∧ ложь = ложь;
7) истина ∨ ложь = истина.
Таким образом, результат логического выражения при заданных значениях— «истина».
Примечание. Учитывая, что исходное выражение есть, в конечном итоге, сумма двух слагаемых, и значение одного из них 1 ≤ a = 1 ≤ 2 = истина, без дальнейших вычислений можно сказать, что результат для всего выражения тоже «истина».
Тождественные преобразования логических выражений
В алгебре логики выполняются основные законы, позволяющие производить тождественные преобразования логических выражений.
Закон | Для ∨ | Для ∧ |
Переместительный | A ∨ B = B ∨ A | A ∧ B = B ∧ A |
Сочетательный | A ∨ (B ∨ C) = (B ∨ A) ∨ C | A ∧ (B ∧ C) = (A ∧ B) ∧ C |
Распределительный | A ∧ (B ∨ C) = (A ∧ B) ∨ (A ∧ C) | A ∨ B ∧ C = (A ∨ B) ∧ (A ∨ C) |
Правила де Моргана | $↖<->$ = $A↖ <->∧ B↖<->$ | $↖<->$ = $A↖ <->∨ B↖<->$ |
Идемпотенции | A ∨ A = A | A ∧ A = A |
Поглощения | A ∨ A ∧ B = A | A ∧ (A ∨ B) = A |
Склеивания | (A ∧ B) ∨ (A↖ <->∧ B) = B | (A ∨ B) ∧ (A↖ <->∨ B) = B |
Операция переменной с ее инверсией | $A ∨ A↖<->$ = 1 | $A ∧ A↖<->$ = 0 |
Операция с константами | A ∨ 0 = A A ∨ 1 = 1 |
A ∧ 1 = A A ∧ 0 = 0 |
Двойного отрицания | $A↖<=>$ = A |
Доказательства этих утверждений производят на основании построения таблиц истинности для соответствующих записей.
Равносильные преобразования логических формул имеют то же назначение, что и преобразования формул в обычной алгебре. Они служат для упрощения формул или приведения их к определенному виду путем использования основных законов алгебры логики. Под упрощением формулы, не содержащей операций импликации и эквивалентности, понимают равносильное преобразование, приводящее к формуле, которая содержит либо меньшее по сравнению с исходной число операций, либо меньшее число переменных.
Некоторые преобразования логических формул похожи на преобразования формул в обычной алгебре (вынесение общего множителя за скобки, использование переместительного и сочетательного законов и т. п.), тогда как другие преобразования основаны на свойствах, которыми не обладают операции обычной алгебры (использование распределительного закона для конъюнкции, законов поглощения, склеивания, де Моргана и др.).
Рассмотрим на примерах некоторые приемы и способы, применяемые при упрощении логических формул:
1) X1 ∧ X2 ∨ X1 ∧ X2 ∪ ¬X1 ∧ X2 = X1 ∧ X2 ∨ ¬X1 ∧ X2 = (X1 ∨ ¬X1) ∧ X2 = 1 ∧ X2 = X2 .
Для преобразования здесь можно применить закон идемпотенции, распределительный закон; операцию переменной с инверсией и операцию с константой.
2) X1 ∨ X1 ∧ X2 = X1 ∨ (1 ∨ 1 ∧ X2) = X1 ∨ (1 ∨ X2) = X1 .
Здесь для упрощения применяется закон поглощения.
3) ¬(X1 ∧ X2) ∨ X2 = (¬X1 ∨ ¬X2) ∨ X2 = ¬X1 ∨ ¬X2 ∨ X2 = ¬X1 ∨ 1 = 1 .
При преобразовании применяются правило де Моргана, операция переменной с ее инверсией, операция с константой
Примеры решения задач
Пример 1. Найти логическое выражение, равносильное выражению A ∧ ¬(¬B ∨ C) .
Решение. Применяем правило де Моргана для В и С: ¬(¬B ∨ C) = B ∧ ¬C .
Получаем выражение, равносильное исходному: A ∧ ¬(¬B ∨ C) = A ∧ B ∧ ¬C .
Пример 2. Указать значение логических переменных А, В, С, для которых значение логического выражения (A ∨ B) → (B ∨ ¬C ∨ B) ложно.
Решение. Операция импликации ложна только в случае, когд а из истинной посылки следует ложь. Следовательно, для заданного выражения посылка A ∨ B должна принимать значение «истина», а следствие, т. е. выражение B ∨ ¬C ∨ B , — «ложь».
1) A ∨ B — результат дизъюнкции — «истина», если хотя бы один из операндов — «истина»;
2) B ∨ ¬C ∨ B — выражение ложно, если все слагаемые имеют значение «ложь», т. е. В — «ложь»; ¬C — «ложь», а следовательно, переменная С имеет значение «истина»;
3) если рассмотреть посылку и учесть, что В — «ложь», то получим, что значение А — «истина».
Ответ: А — истина, В — ложь, С — истина.
Пример 3. Каково наибольшее целое число X, при котором истинно высказывание (35
Какие значения могут принимать логические выражения
Наука, изучающая формы, методы и законы правильного мышления, называется логикой. Она интересуется не содержанием мышления, а его формой, поэтому ее часто называют еще формальной логикой.
Форма мышления — это способ выражения мыслей или форма, по которой они строятся.
Форма, обозначающая какой–либо объект или отличающий его признак, называется понятием. Примеры понятий: «компьютер», «планета», «длина», «профессия».
Форма, утверждающая или отрицающая что–либо о свойствах понятий и отношений между ними, называется утверждением (высказыванием, суждением). Примеры логических утверждений: «Декодирование — процесс восстановления информации из закодированного представления»; «В двоичной системе используются две цифры: 0 и 1»; «Париж — столица Франции». Утверждения могут быть истинными или ложными. Так, высказывание «Шанхай — столица Франции» является ложным утверждением.
Форма, в которой из двух или нескольких высказываний получают новое утверждение, называется умозаключением. Пример умозаключения: «Периферийные устройства компьютера — это устройства для ввода или вывода информации. Сканер — устройство для переноса текста и изображений с бумаги в компьютер. Следовательно, сканер — периферийное устройство».
Правила, которые должны соблюдаться, чтобы на основании истинных суждений получить истинные выводы, — это законы мышления. Логика изучает эти законы и способы получения новых утверждений на основании уже имеющихся.
Математическая логика использует для установления истинности или ложности высказываний математические методы. Она пользуется специальным символьным языком, подобным языку математики, поэтому ее часто называют символьной логикой.
Алгебра логики — раздел математической логики, в котором методы алгебры используются в логических преобразованиях. Она изучает логические высказывания и методы установления их истинности или ложности с помощью алгебраических методов.
Логическое высказывание — это любое повествовательное предложение, в отношении которого можно однозначно утверждать, что его содержание истинно или ложно. Вопросительные и повелительные предложения не являются логическими высказываниями. Но и не каждое повествовательное предложение является логическим высказыванием. Например, суждение «Лето было очень дождливым» не является однозначным, для утверждения «Существует несколько Вселенных» нельзя однозначно определить истинность; поэтому такие предложения не являются логическими высказываниями (утверждениями).
Таким образом, отличительной особенностью логических высказываний является возможность принимать одно из двух значений — истина и ложь. Истинность или ложность высказывания определяется вне алгебры логики — с помощью наблюдений, научных исследований, практических опытов и т. п.
В алгебре логики различают простые высказывания и сложные (составные), составленные из нескольких простых. Если в высказывании нельзя выделить некую часть, которая не совпадает по смыслу с исходным высказыванием и сама является высказыванием, то оно называется простым высказыванием. Простые высказывания обычно обозначаются латинскими буквами A, B, C и т. д.
Сложные высказывания представляют собой объединение простых высказываний с помощью логических связок. В качестве логических связок используются слова «не», «и», «или», «тогда и только тогда», «если … то». Истинность или ложность получаемых таким образом сложных высказываний определяется значением простых высказываний. Например, из простых высказываний «Офис фирмы находится в Мадриде» и «Офис фирмы находится в Берлине» можно составить сложные: «Офис фирмы находится в Мадриде или Берлине», «Офис фирмы находится в Мадриде и Берлине», «Если офис фирмы находится в Мадриде, то он находится в Берлине». Истинность первого из них означает, что офис фирмы находится в одном из названных городов или же имеются офисы в обоих городах. Ложность его означает, что ни в одном из этих городов офиса нет. Второе составное утверждение истинно тогда, когда в обоих городах имеется офис фирмы. Если же офис существует только в Берлине или только в Мадриде, — второе составное высказывание ложно.
В классической, двузначной алгебре логики логических значений всего два: истина (True) и ложь (False). Им соответствует цифровое представление — 1 и 0. Иногда эти значения записывают как «да» и «нет». Факт истинности или ложности некоторого высказывания А записывают соответственно как А = 1 или А = 0.
Логические операции
В алгебре логики логические связки рассматриваются как логические операции. Они имеют свои названия и обозначения. Результаты применения каждой операции к логическим высказываниям (истинным или ложным) можно представить в виде таблицы. В ней указывают все возможные сочетания значений исходных логических высказываний и истинность или ложность результата. Такие таблицы называют таблицами истинности операции. Обычно в них используют обозначения логических значений 0 и 1 или ложь и истина.
Основные логические операции — отрицание, конъюнкция, дизъюнкция, исключающая дизъюнкция, следование, эквивалентность.
Логическое отрицание (инверсия) — логическая операция, в результате которой из данного высказывания получается новое высказывание — отрицание исходного. Обозначается символически чертой сверху (Ā) или условными обозначениями ¬А, not А, не А (читается «отрицание А», «не А», «А ложно», «неверно, что А»).
Высказывание ¬А ложно, когда А истинно, и истинно, когда А ложно.
Таблица истинности операции отрицания
Если обозначить через А высказывание «Арбуз является ягодой», то ¬А соответствует высказыванию «Арбуз не является ягодой» («Неверно, что арбуз — ягода»).
Отрицание является унарной операцией. Унарная (одноместная) операция — это операция, которая применяется к одному операнду.
Остальные логические операции являются двуместными (бинарными). Бинарная (двуместная) операция — это операция, которая выполняется над двумя операндами.
Логическое умножение (конъюнкция) — операция, соединяющая два или более высказываний при помощи связки «и». Эта связка символически обозначается с помощью знака ∧ и читается «А и В». Для обозначения конъюнкции также применяются знаки: А • В, А & В, А и В, А and В, а иногда между высказываниями не ставится никакого знака: АВ.
Высказывание А ∧ В истинно только тогда, когда оба высказывания А и В истинны. Высказывание А ∧ В ложно только тогда, когда ложно хотя бы одно из высказываний А или В.
Таблица истинности операции конъюнкции
Например, высказывания «Лондон расположен севернее Лиссабона» и «Лондон расположен восточнее Лиссабона» истинны. Тогда истинным будет и составное логическое высказывание «Лондон расположен севернее и восточнее Лиссабона». Высказывания «Лондон расположен не севернее и восточнее Лиссабона», «Лондон расположен севернее и не восточнее Лиссабона», «Лондон расположен не севернее и не восточнее Лиссабона» — ложны.
Логическое сложение (дизъюнкция) — операция, соединяющая два или более высказываний при помощи связки « или». Эта связка символически обозначается с помощью знака v и читается «А или В». Для обозначения дизъюнкции также применяются знаки: А + В, А или В, А or В, А | B.
Высказывание А v В истинно только тогда, когда хотя бы одно из высказываний А или В истинно. Высказывание А v В ложно только тогда, когда оба высказывания А и В ложны.
Таблица истинности операции дизъюнкции
Например, высказывания «Виктор старше Ольги» и «Виктор — однофамилец Ольги» истинны. Тогда истинными будут и составные логические высказывания «Виктор старше Ольги или Виктор — однофамилец Ольги», «Виктор младше Ольги или Виктор — однофамилец Ольги», «Виктор старше Ольги или Виктор — не однофамилец Ольги». Высказывание «Виктор младше Ольги или Виктор — не однофамилец Ольги» — ложно, поскольку ложны оба составляющие его простые высказывания.
Исключающее сложение (исключающая дизъюнкция, строгая дизъюнкция, сложение по модулю два, дизъюнкция строго–разделительная) — логическая операция, соединяющая два высказывания при помощи связки «или», употребленной в исключающем смысле (называется также исключающее «или»). Операция символически обозначается с помощью знака ⊕ и читается «либо А, либо В».
Высказывание А ⊕ В истинно только тогда, когда высказывания А и В имеют различные значения.
Таблица истинности операции строгой дизъюнкции
Например, результат исключающей дизъюнкции двух высказываний «Виктор не старше Ольги» и «Виктор младше Ольги» всегда будет истиной, кто бы из них не был старше.
Логическое следование (импликация) — логическая операция, соединяющая два высказывания при помощи связки «если… то» в сложное высказывание. Операция символически обозначается с помощью знака → и читается «Если А, то В», «А влечет В», «из А следует В», «А имплицирует В». Для обозначения импликации применяются также знаки ⊃ или ⇒. Первое логическое высказывание является условием (посылкой), а второе — следствием (заключением).
Для операции импликации справедливо утверждение, что из лжи может следовать все что угодно, а из истины — только истина. Таким образом, импликация А → В ложна только тогда, когда А истинно, а В ложно (из истинного высказывания следует ложное). Во всех остальных случаях импликация истинна.
Таблица истинности операции импликации
Для высказываний «Луна — спутник Земли» и «Сумма углов треугольника не равна 180°» (первое истинно, второе ложно) составное высказывание «Если Луна — спутник Земли, то сумма углов треугольника не равна 180°» будет ложным. Однако истинными будут высказывания «Если Луна — спутник Земли, то сумма углов треугольника равна 180°», «Если Луна — не спутник Земли, то сумма углов треугольника не равна 180°» и «Если Луна — не спутник Земли, то сумма углов треугольника равна 180°». Этот пример наглядно демонстрирует, что в алгебре логики смысл высказываний не учитывается, а рассматриваются только их истинность или ложность.
Логическое равенство (эквивалентность, следование, двойная импликация, равнозначность) — логическая операция, позволяющая из двух высказываний А и В получить новое высказывание А ≡ В (читается «А эквивалентно B»). Эта операция может быть выражена связками «тогда и только тогда», «необходимо и достаточно», «равносильно». Для обозначения эквивалентности применяются знаки
Если оба высказывания имеют различные логические значения, результатом операции эквивалентности всегда будет ложь. Если же оба простые высказывания ложны или оба истинны, то составное логическое высказывание всегда будет истинно.
Таблица истинности операции эквивалентности
Для высказываний «Линейное уравнение всегда имеет решение» и «Кит — млекопитающее» их эквивалентность всегда будет истиной, так как оба простые утверждения истинны.
Таким образом, сводная таблица истинности для всех основных логических операций имеет вид:
Логические выражения
Логические высказывания могут быть записаны в виде формул (логических выражений). Логические выражения включают логические переменные, знаки логических операций, логические константы (истина и ложь) и скобки. Логические выражения принимают значения истина или ложь.
Правила построения логических выражений:
- любая логическая переменная или константа (истина и ложь) являются логическим выражением;
- если А — , то ¬А — тоже логическое выражение;
- если А и В — логические выражения, то А ∧ В; А v В ; А ⊕ В; А → В; А
Например, A ⊕ истина v В v ложь — логическое выражение; А v ⊕ В v ложь не является логическим выражением.
Логическое выражение, принимающее значение истина при любых значениях входящих в него переменных, называется тождественно–истинным выражением (тавтологией). Например, А v В v ¬А; (А ∧ ¬А) → В.
Логическое выражение, принимающее значение ложь при любых значениях входящих в него переменных, называется тождественно–ложным выражением (противоречием). Например, А ∧ ¬А; В
Логическое выражение, принимающее как значение ложь, так и значение истина при разных значениях входящих в него переменных, называется выполнимым выражением.
ПРИОРИТЕТ ЛОГИЧЕСКИХ ОПЕРАЦИЙ
Для сложных логических выражений, содержащих несколько логических операций, определен порядок выполнения действий (приоритет): сначала операции отрицания, затем операции логического умножения, потом операции логического сложения и исключающего сложения, последними выполняются операции импликации и эквивалентности. Операции выполняются слева направо. Порядок выполнения может быть изменен с помощью скобок.
Приоритет выполнения логических операций в логических выражениях
Пример 1
Определить порядок выполнения логических операций в выражении.
Вычислить его значение, если А = 1, В = 0, С = 1.
¬А ∧ С v (A ⊕ В) ∧ В
Решение. Первыми вычисляются значения в скобках. Затем выполняются операции по приоритетам: самый высокий приоритет имеет операция отрицания, после нее, как в математике, следуют операции умножения, а затем сложения. Таким образом, порядок будет следующий:
Тогда значение выражения ¬1 ∧ 1 v (1 ⊕ 0) ∧ 0 после вычисления отрицания и выражения в скобках: 0 ∧ 1 v 1 ∧ 0, после операций умножения: 0 v 0. Итог: 0.
Ответ: логическое выражение ложно.
Пример 2
Для каких из приведенных слов истинно следующее высказывание?
(Вторая буква гласная) ИЛИ (Первая буква гласная) И НЕ (Длина имени не больше 5 букв)
1) Олег 2) Марианна 3) Светлана 4) Ольга.
- В соответствии с приоритетом выполнения операций сначала нужно вычислить результат операции отрицания: «Длина имени больше 5 букв». Такие имена — Марианна, Светлана.
- Затем необходимо рассчитать результат конъюнкции (связка И) второго и третьего высказываний. Конъюнкция истинна только тогда, когда истинны оба высказывания. Следовательно, нужно выбрать имена, в которых и первая буква гласная, и длина имени больше 5 букв — таких имен среди вариантов нет.
- Результат дизъюнкции (связка ИЛИ) истинен только тогда, когда истинно или одно, или второе, или одновременно оба простые высказывания. Первое простое высказывание истинно для имени Марианна, второе ложно для указанных имен. Таким образом, верный вариант ответа — 2.
Ответ: 2) Марианна.
СВЯЗЬ МЕЖДУ ЛОГИЧЕСКИМИ ОПЕРАЦИЯМИ
Между логическими операциями существует взаимосвязь. Операции исключающего «или», следования и эквивалентности можно выразить через операции отрицания, логического сложения и умножения, что отражено в следующей таблице.
Связь между логическими операциями
Поэтому операции отрицания, логического сложения и логического умножения называют основными логическими операциями: их достаточно, чтобы построить любое логическое выражение.
Если логическое выражение содержит только операции отрицания, логического сложения и логического умножения, говорят, что выражение находится в нормальной форме.
РАВНОСИЛЬНЫЕ ЛОГИЧЕСКИЕ ВЫРАЖЕНИЯ
Логические выражения, значения которых совпадают для всех наборов входящих в них переменных, называются равносильными, или эквивалентными.
Чтобы убедиться, что два выражения равносильны, можно построить для них таблицы истинности. Если в таблицах совпадут все значения, значит, выражения равносильны.
Пример 3
Проверить равносильность выражений А
E и (Ā ∧ Ē) v (A ∧ E).
Решение. Для проверки следует создать таблицу истинности, содержащую столько строк, сколько возможно наборов значений переменных, входящих в выражение. Для двух переменных (А и E) количество наборов равно четырем. К двум столбцам для значений переменных (А и E) нужно присовокупить количество столбцов, равное количеству операций в выражении. Таким образом, необходимо создать таблицу, содержащую 4 строки и 7 столбцов.
Заполним первые 2 столбца (А и E) всеми сочетаниями значений переменных. Запишем в качестве заголовков столбцов все операции выражения в порядке их выполнения (в соответствии с приоритетами и скобками). Рассчитаем значения этих операций: сначала выражения в скобках, затем результат их сложения.
Последний столбец содержит результирующее значение выражения. Он совпадает с таблицей истинности для операции эквивалентности. Следовательно, выражения равносильны.
Основные законы алгебры логики
Для сложных логических выражений с большим числом переменных определение их истинности путем построения таблиц истинности становится громоздким. В таких случаях применяют способы упрощения выражений. Под упрощением понимают равносильное преобразование выражения к его нормальной форме.
Нормальная форма выражения содержит только операции отрицания, конъюнкции и дизъюнкции и не содержит отрицания выражений и двойных отрицаний.
Для упрощения используют равносильные преобразования, которые иначе называют основными законами алгебры логики.
Тождественные преобразования логических выражений
Для всех тождественных преобразований выполняется закон двойственности: если в формуле преобразования заменить конъюнкцию на дизъюнкцию, дизъюнкцию — на конъюнкцию, значения 1 — на 0, 0 — на 1, то закон, сформулированный для конъюнкции, примет форму аналогичного закона для дизъюнкции, и наоборот.
Прежде всего при равносильных преобразованиях избавляются от отрицания выражений, потом — от логических операций исключающей дизъюнкции, следования и эквивалентности. Затем используют законы алгебры логики для уменьшения количества переменных в выражении.
Пример 4
Выбрать выражение, которое равносильно выражению (A ∧ B) v (Ā ∧ B).
1) A 2) A ∧ B 3) Ā ∧ B 4) B
Решение. В соответствии с законом склеивания (A ∧ B) v (Ā ∧ B) = B, следовательно, исходное выражение равносильно выражению В.
Ответ: 4) В.
ОПРЕДЕЛЕНИЕ ЗНАЧЕНИЙ ЛОГИЧЕСКИХ ВЫРАЖЕНИЙ
Выражения, которые принимают логические значения (истина или ложь) в результате выполнения операций сравнения (больше >, меньше <, больше или равно ≥, меньше или равно ≤, равно =, не равно ≠), также являются логическими выражениями. Кроме операций сравнения и логических операций такие выражения могут включать функции и алгебраические операции. Приоритет выполнения этих операций таков:
- Вычисление значений функций.
- Выполнение алгебраических операций (вначале возведение в степень, затем умножение и деление, после чего вычитание и сложение).
- Выполнение операций сравнения (в порядке записи).
- Выполнение логических операций (сначала операции отрицания, затем операции логического умножения, потом операции логического сложения, последними выполняются операции импликации и эквивалентности).
Если в логическом выражении используются скобки, то сначала выполняются заключенные в них операции.
Пример 5
Для какого из приведенных ниже значений числа М истинно следующее выражение?
¬М ≥ 10 ∧ M > 3
1) 1 2) 2 3) 3 4) 4
Решение. В соответствии с приоритетами операций сначала следует выполнить операции сравнения, затем отрицания, а потом — конъюнкцию. Отрицанием высказывания М ≥ 10 является высказывание М < 10. Получим выражение М < 10 ∧ M > 3. Для того чтобы это выражение (конъюнкция) было истинным, должны выполняться (т. е. быть истинными) оба неравенства. Следовательно, значение М должно быть больше 3, но меньше 10. Среди предложенных значений этому условию удовлетворяет только одно — число 4.
Ответ: 4) 4.
Задачи, подобные предыдущему примеру, можно решать и с помощью таблиц истинности.
Пример 6.
Для какого из приведенных ниже значений числа М истинно следующее выражение?
¬М ≥ 10 ∧ M > 3
1) 1 2) 2 3) 3 4) 4
Решение. Составим таблицу истинности: все операции выражения укажем в столбцах таблицы, все предложенные значения М укажем в ее строках. Рассчитаем значения таблицы:
Последний столбец содержит результат всего выражения. Истинным оно будет только для значения числа М, равного 4.
Ответ: 4) 4.
Пример 7.
В табличной форме представлены ежемесячные данные о продаже групп товаров за полгода. Сколько групп товаров демонстрировали рост продаж в весенние месяцы или вышли на уровень свыше 80 % в июне?
Решение. Переформулируем условие задачи: необходимо найти группы товаров, для которых (Март < Апрель) ∧ (Апрель < Май) v (Июнь > 80).
Введем обозначения:
А = (Март < Апрель)
В = (Апрель < Май)
С = (Июнь > 80)
Тогда выражение можно записать как А ∧ В v С.
Логическое выражение состоит из одной конъюнкции и одной дизъюнкции. Значение выражения конъюнкции истинно только тогда, когда истинны оба составляющие его простых выражения ((Март < Апрель) и (Апрель < Май)). Значение выражения дизъюнкции будет истинным, если хотя бы одно из составляющих его простых высказываний будет истинным.
Составим таблицу истинности для исходных данных.
Логическому выражению удовлетворяют 3 записи — 4–я, 6–я и 7–я.
Ответ: 3.
Конспект урока по информатике «Логические значения, операции, выражения».
Уроки 8 — 12
§ 1.3. Элементы алгебры логики
Алгебра в широком смысле этого слова — наука об общих операциях, аналогичных сложению и умножению, которые могут выполняться над разнообразными математическими объектами. Многие математические объекты (целые и рациональные числа, многочлены, векторы, множества) вы изучаете в школьном курсе алгебры, где знакомитесь с такими разделами математики, как алгебра чисел, алгебра многочленов, алгебра множеств и т. д.
Для информатики важен раздел математики, называемый алгеброй логики; объектами алгебры логики являются высказывания.
Высказывание — это предложение на любом языке, содержание которого можно однозначно определить как истинное или ложное.
Например, относительно предложений «Великий русский учёный М. В. Ломоносов родился в 1711 году» и «Two plus six Is eight» можно однозначно сказать, что они истинны. Предложение «Зимой воробьи впадают в спячку» ложно. Следовательно, эти предложения являются высказываниями.
В русском языке высказывания выражаются повествовательными предложениями. Но не всякое повествовательное предложение является высказыванием.
Например, предложение «Это предложение является ложным» не является высказыванием, так как относительно него нельзя сказать, истинно оно или ложно, без того, чтобы не получить противоречие. Действительно, если принять, что предложение истинно, то это противоречит сказанному. Если же принять, что предложение ложно, то отсюда следует, что оно истинно.
Относительно предложения «Компьютерная графика — самая интересная тема в курсе школьной информатики» также нельзя однозначно сказать, истинно оно или ложно. Подумайте сами почему.
Побудительные и вопросительные предложения высказываниями не являются.
Например, не являются высказываниями такие предложения, как: «Запишите домашнее задание», «Как пройти в библиотеку?», «Кто к нам пришёл?».
Высказывания могут строиться с использованием знаков различных формальных языков — математики, физики, химии и т. п.
Примерами высказываний могут служить:
- «Na — металл» (истинное высказывание);
- «Второй закон Ньютона выражается формулой F=m•а» (истинное высказывание);
- «Периметр прямоугольника с длинами сторон a и b равен а • b» (ложное высказывание).
Не являются высказываниями числовые выражения, но из двух числовых выражений можно составить высказывание, соединив их знаками равенства или неравенства. Например:
- «3 + 5 = 2 • 4» (истинное высказывание);
- «II + VI > VIII» (ложное высказывание).
Не являются высказываниями и равенства или неравенства, содержащие переменные. Например, предложение «X < 12» становится высказыванием только при замене переменной каким-либо конкретным значением: «5 < 12» — истинное высказывание; «12 < 12» — ложное высказывание.
Обоснование истинности или ложности высказываний решается теми науками, к сфере которых они относятся. Алгебра логики отвлекается от смысловой содержательности высказываний. Её интересует только то, истинно или ложно данное высказывание. В алгебре логики высказывания обозначают буквами и называют логическими переменными. При этом если высказывание истинно, то значение соответствующей ему логической переменной обозначают единицей (А = 1), а если ложно — нулём (Б = 0). 0 и 1, обозначающие значения логических переменных, называются логическими значениями.
Алгебра логики определяет правила записи, вычисления значений, упрощения и преобразования высказываний.
Оперируя логическими переменными, которые могут быть равны только 0 или 1, алгебра логики позволяет свести обработку информации к операциям с двоичными данными. Именно аппарат алгебры логики положен в основу компьютерных устройств хранения и обработки информации. С применением элементов алгебры логики вы будете встречаться и во многих других разделах информатики.
1.3.2. Логические операции
Высказывания бывают простые и сложные. Высказывание называется простым, если никакая его часть сама не является высказыванием. Сложные (составные) высказывания строятся из простых с помощью логических операций.
Рассмотрим основные логические операции, определённые над высказываниями. Все они соответствуют связкам, употребляемым в естественном языке.
Конъюнкция
Рассмотрим два высказывания: А = «Основоположником алгебры логики является Джордж Буль», В = «Исследования Клода Шеннона позволили применить алгебру логики в вычислительной технике». Очевидно, новое высказывание «Основоположником алгебры логики является Джордж Буль, и исследования Клода Шеннона позволили применить алгебру логики в вычислительной технике» истинно только в том случае, когда одновременно истинны оба исходных высказывания.
Самостоятельно установите истинность или ложность трёх рассмотренных высказываний.
Конъюнкция — логическая операция, ставящая в соответствие каждым двум высказываниям новое высказывание, являющееся истинным тогда и только тогда, когда оба исходных высказывания истинны.
Для записи конъюнкции используются следующие знаки: ∧, •, И, &. Например: А ∧ В, А • В, А И В, А & Б.
Конъюнкцию можно описать в виде таблицы, которую называют таблицей истинности:
В таблице истинности перечисляются все возможные значения исходных высказываний (столбцы А и В), причём соответствующие им двоичные числа, как правило, располагают в порядке возрастания: 00, 01, 10, 11. В последнем столбце записан результат выполнения логической операции для соответствующих операндов.
Иначе конъюнкцию называют логическим умножением. Подумайте почему.
Дизъюнкция
Рассмотрим два высказывания: А = «Идея использования в логике математической символики принадлежит Готфриду Вильгельму Лейбницу», В = «Лейбниц является основоположником бинарной арифметики». Очевидно, новое высказывание «Идея использования в логике математической символики принадлежит Готфриду Вильгельму Лейбницу или Лейбниц является основоположником бинарной арифметики» ложно только в том случае, когда одновременно ложны оба исходных высказывания.
Самостоятельно установите истинность или ложность трёх рассмотренных высказываний.
Дизъюнкция — логическая операция, которая каждым двум высказываниям ставит в соответствие новое высказывание, являющееся ложным тогда и только тогда, когда оба исходных высказывания ложны.
Для записи дизъюнкции используются следующие знаки: ∨, |, ИЛИ, +. Например: A∨B, А|В, А ИЛИ Б, А+Б.
Дизъюнкция определяется следующей таблицей истинности:
Иначе дизъюнкцию называют логическим сложением. Подумайте почему.
Инверсия
Инверсия — логическая операция, которая каждому высказыванию ставит в соответствие новое высказывание, значение которого противоположно исходному.
Для записи инверсии используются следующие знаки: НЕ, ¬, ‾. Например: НЕ А, ¬А, .
Инверсия определяется следующей таблицей истинности:
Инверсию иначе называют логическим отрицанием.
Отрицанием высказывания «У меня дома есть компьютер» будет высказывание «Неверно, что у меня дома есть компьютер» или, что в русском языке то же самое, «У меня дома нет компьютера». Отрицанием высказывания «Я не знаю китайский язык» будет высказывание «Неверно, что я не знаю китайский язык» или, что в русском языке одно и то же, «Я знаю китайский язык». Отрицанием высказывания «Все юноши 9-х классов — отличники» является высказывание «Неверно, что все юноши 9-х классов — отличники», другими словами, «Не все юноши 9-х классов — отличники».
Таким образом, при построении отрицания к простому высказыванию либо используется речевой оборот «неверно, что . », либо отрицание строится к сказуемому, тогда к соответствующему глаголу добавляется частица «не».
Любое сложное высказывание можно записать в виде логического выражения — выражения, содержащего логические переменные, знаки логических операций и скобки. Логические операции в логическом выражении выполняются в следующей очерёдности: инверсия, конъюнкция, дизъюнкция. Изменить порядок выполнения операций можно с помощью расстановки скобок.
Логические операции имеют следующий приоритет: инверсия, конъюнкция, дизъюнкция.
Пример 1. Пусть А = «На Web-странице встречается слово «крейсер»», В = «На Web-странице встречается слово «линкор»». Рассматривается некоторый сегмент сети Интернет, содержащий 5 000 000 Web-страниц. В нём высказывание А истинно для 4800 страниц, высказывание В — для 4500 страниц, а высказывание A v В — для 7000 страниц. Для какого количества Web-страниц в этом случае будут истинны следующие выражения и высказывание?
в) На Web-странице встречается слово «крейсер» и не встречается слово » линкор».
Решение. Изобразим множество всех Web-страниц рассматриваемого сектора сети Интернет кругом, внутри которого разместим два круга: одному из них соответствует множество Web-страниц, где истинно высказывание А, второму — где истинно высказывание В (рис. 1.3).
Рис. 1.3.
Графическое изображение множеств Web-страниц
Изобразим графически множества Web-страниц, для которых истинны выражения и высказывание а) — в) (рис. 1.4)
Рис. 1.4.
Графическое изображение множеств Web-страниц, для которых истинны выражения и высказывание а) — в)
Построенные схемы помогут нам ответить на вопросы, содержащиеся в задании.
Выражение А ИЛИ В истинно для 7000 Web-страниц, а всего страниц 5 000 000. Следовательно, выражение А ИЛИ В ложно для 4 993 000 Web-страниц. Иначе говоря, для 4 993 000 Web-страниц истинно выражение НЕ (А ИЛИ В).
Выражение A ∨ B истинно для тех Web-страниц, где истинно А (4800), а также тех Web-страниц, где истинно В (4500). Если бы все Web-страницы были различны, то выражение A v В было бы истинно для 9300 (4800 + 4500) Web-страниц. Но, согласно условию, таких Web-страниц всего 7000. Это значит, что на 2300 (9300 — 7000) Web-страницах встречаются оба слова одновременно. Следовательно, выражение А & В истинно для 2300 Web-страниц.
Чтобы выяснить, для скольких Web-страниц истинно высказывание А и одновременно ложно высказывание В, следует из 4800 вычесть 2300. Таким образом, высказывание «На Web-странице встречается слово «крейсер» И не встречается слово «линкор» » истинно на 2500 Web-страницах.
Самостоятельно запишите логическое выражение, соответствующее рассмотренному высказыванию.
На сайте Федерального центра информационно-образовательных ресурсов (http://fcoir.edu.ru/) размещён информационный модуль «Высказывание. Простые и сложные высказывания. Основные логические операции». Знакомство с этим ресурсом позволит вам расширить представления по изучаемой теме.
1.3.3. Построение таблиц истинности для логических выражений
Для логического выражения можно построить таблицу истинности, показывающую, какие значения принимает выражение при всех наборах значений входящих в него переменных. Для построения таблицы истинности следует:
- подсчитать n — число переменных в выражении;
- подсчитать общее число логических операций в выражении;
- установить последовательность выполнения логических операций с учётом скобок и приоритетов;
- определить число столбцов в таблице: число переменных + число операций;
- заполнить шапку таблицы, включив в неё переменные и операции в соответствии с последовательностью, установленной в п. 3;
- определить число строк в таблице (не считая шапки таблицы) m = 2n;
- выписать наборы входных переменных с учётом того, что они представляют собой целый ряд n—разрядных двоичных чисел от 0 до 2 n — 1;
- провести заполнение таблицы по столбцам, выполняя логические операции в соответствии с установленной последовательностью.
Построим таблицу истинности для логического выражения A ∨ А & В. В нём две переменные, две операции, причём сначала выполняется конъюнкция, а затем — дизъюнкция. Всего в таблице будет четыре столбца:
Наборы входных переменных — это целые числа от О до 3, представленные в двухразрядном двоичном коде: 00, 01, 10, 11. Заполненная таблица истинности имеет вид:
Обратите внимание, что последний столбец (результат) совпал со столбцом А. В таком случае говорят, что логическое выражение A ∨ А & Б равносильно логическому выражению А.