Тверской государственный университет
Опубликован: 06.10.2013 | Доступ: свободный | Студентов: 1274 / 294 | Длительность: 02:37:00
Специальности: Преподаватель
Лекция 3:

Логика. Логические функции. Решение уравнений

< Лекция 2 || Лекция 3: 123 || Лекция 4 >
Аннотация: Представление логических функций. Программа на языке C# для решения логических уравнений.
Ключевые слова: законы логики

Большое количество задач ЕГЭ посвящено логике высказываний. Для решения большинства из них достаточно знания основных законов логики высказываний, знания таблиц истинности логических функций одной и двух переменных. Приведу основные законы логики высказываний.

  1. Коммутативность дизъюнкции и конъюнкции:
    a \vee b \equiv b \vee a
    a \wedge b \equiv b \wedge a
  2. Дистрибутивный закон относительно дизъюнкции и конъюнкции:
    a \vee (b \wedge с) \equiv (a \vee b) \wedge (a \vee с)
    a \wedge (b \vee с) \equiv (a \wedge b) \vee (a \wedge с)
  3. Отрицание отрицания:
    \neg ( \neg а) \equiv а
  4. Непротиворечивость:
    a \wedge \neg а \equiv false
  5. Исключающее третье:
    a \vee \neg а \equiv true
  6. Законы де-Моргана:
    \neg (а \vee b) \equiv \neg а \wedge \neg b
    \neg (а \wedge b) \equiv \neg а \vee \neg b
  7. Упрощение:
    a \wedge a \equiv a
    a \vee a \equiv a
    a \wedge true \equiv a
    a \wedge false \equiv false
  8. Поглощение:
    a \wedge (a \vee b) \equiv a
    a \vee (a \wedge b) \equiv a
  9. Замена импликации
    a \rightarrow b \equiv \neg a \vee b
  10. Замена тождества
    a \equiv b \equiv(a \wedge b) \vee (\neg a \wedge \neg b)

Представление логических функций

Любую логическую функцию от n переменных – F(x_{1}, x_{2}, … x_{n}) можно задать таблицей истинности. Такая таблица содержит 2^n наборов переменных, для каждого из которых задается значение функции на этом наборе. Такой способ хорош, когда число переменных относительно невелико. Уже при n > 5 представление становится плохо обозримым.

Другой способ состоит в том, чтобы задавать функцию некоторой формулой, используя известные достаточно простые функции. Система функций \{f_{1}, f_{2}, … f_{k}\} называется полной, если любую логическую функцию можно выразить формулой, содержащей только функции f_{i}.

Полной является система функций \ \neg, \wedge, \vee. Законы 9 и 10 являются примерами, демонстрирующими, как импликация и тождество выражается через отрицание, конъюнкцию и дизъюнкцию.

Фактически полной является и система из двух функций – отрицания и конъюнкции или отрицания и дизъюнкции. Из законов де-Моргана следуют представления, позволяющие выразить конъюнкцию через отрицание и дизъюнкцию и соответственно выразить дизъюнкцию через отрицание и конъюнкцию:

(а \vee b) \equiv \neg( \neg а \wedge \neg b)
(а \wedge b) \equiv \neg( \neg а \vee \neg b)

Парадоксально, но полной является система, состоящая всего из одной функции. Существуют две бинарные функции – антиконънкция и антидизъюнкция, называемые стрелкой Пирса и штрих Шеффера, представляющие полую систему.

В состав базовых функций языков программирования включают обычно тождество, отрицание, конъюнкцию и дизъюнкцию. В задачах ЕГЭ наряду с этими функциями часто встречается импликация.

Рассмотрим несколько простых задач, связанных с логическими функциями.

Задача 15:

Дан фрагмент таблицы истинности. Какая из трех приведенных функций соответствует этому фрагменту?

X_{1} X_{2} X_{3} X_{4} F
1 1 0 0 1
0 1 1 1 1
1 0 0 1 0
  1. (X_{1} \rigtharrow X_{2}) \wedge \neg X_{3} \vee X_{4}
  2. (\neg X_{1} \wedge X_{2}) \vee (\neg X_{3} \wedge X_{4})
  3. \neg X_{1} \vee X_{2} \vee (X_{3} \wedge X_{4})

Ответ:

Функция под номером 3.

Решение:

Для решения задачи нужно знать таблицы истинности базовых функций и помнить о приоритетах операций. Напомню, что конъюнкция (логическое умножение) имеет более высокий приоритет и выполняется раньше, чем дизъюнкция (логическое сложение). При вычислениях нетрудно заметить, что функции с номерами 1 и 2 на третьем наборе имеют значение 1 и уже по этой причине фрагменту не соответствуют.

Задача 16:

Какое из приведенных чисел удовлетворяет условию:

(цифры, начиная со старшего разряда, идут в порядке убывания) \rightarrow (число - четное) \wedge (младшая цифра – четная) \wedge (старшая цифра – нечетная)

Если таких чисел несколько, укажите наибольшее.

  1. 13579
  2. 97531
  3. 24678
  4. 15386

Ответ:

Условию удовлетворяет число под номером 4.

Решение:

Первые два числа условию не удовлетворяют уже по той причине, что младшая цифра является нечетной. Конъюнкция условий ложна, если один из членов конъюнкции ложен. Для третьего числа не выполняется условие для старшей цифры. Для четвертого числа выполняются условия, накладываемые на младшую и старшую цифры числа. Первый член конъюнкции также истинен, поскольку импликация истинна, если ее посылка ложна, что имеет место в данном случае.

Задача 17: Два свидетеля дали следующие показания:

Первый свидетель: Если А виновен, то В и подавно виновен, а С – невиновен.

Второй свидетель: Виновны двое. А точно виновен и виновен один из оставшихся, но кто именно сказать не могу.

Какие заключения о виновности А, В и С можно сделать на основании свидетельских показаний?

Ответ: Из свидетельских показаний следует, что А и В виновны, а С – невиновен.

Решение: Конечно, ответ можно дать, основываясь на здравом смысле. Но давайте рассмотрим, как это можно сделать строго и формально.

Первое, что нужно сделать – это формализовать высказывания. Введем три логические переменные - А, В и С, каждая из которых имеет значение true (1), если соответствующий подозреваемый виновен. Тогда показания первого свидетеля задаются формулой:

A \rightarrow (B \wedge \neg C)

Показания второго свидетеля задаются формулой:

A \wedge ((B \wedge \neg C) \vee  (\neg B \wedge C))

Показания обоих свидетелей полагаются истинными и представляют конъюнкцию соответствующих формул.

Построим таблицу истинности для этих показаний:

A B C F_{1} F_{2} F_{1} \wedge F_{2}
0 0 0 1 0 0
0 0 1 1 0 0
0 1 0 1 0 0
0 1 1 1 0 0
1 0 0 0 0 0
1 0 1 0 1 0
1 1 0 1 1 1
1 1 1 0 0 0

Суммарные свидетельские показания истинны только в одном случае, приводящие к однозначному ответу – А и В виновны, а С – невиновен.

Из анализа этой таблицы также следует, что показания второго свидетеля более информативны. Из истинности его показания следует только два возможных варианта - А и В виновны, а С – невиновен или А и С виновны, а В – невиновен. Показания первого свидетеля менее информативны – существует 5 различных вариантов, соответствующих его показаниям. Совместно показания обоих свидетелей дают однозначный ответ о виновности подозреваемых.

< Лекция 2 || Лекция 3: 123 || Лекция 4 >
Мария Паршикова
Мария Паршикова
Александр Коротенко
Александр Коротенко
Курс "Подготовка к ЕГЭ по информатике". Знаю, что ответ верный, но система его не принимает. Пытался ввести его в разных формах (строчные, прописные, все, одна и т.д.)
Елена Келлер
Елена Келлер
Россия, Прокопьевск
Андрей Горяинов
Андрей Горяинов
Россия