Логические выражения и таблица истинности
Примеры задач с решениями по этой теме Пройти тестирование по теме Контрольная по теме
Таблица истинности — таблица, показывающая, какие значения принимает составное высказывание при всех сочетаниях (наборах) значений входящих в него простых высказываний.
Логическое выражение — составные высказывания в виде формулы.
Равносильные логические выражения – логические выражения, у которых последние столбцы таблиц истинности совпадают. Для обозначения равносильности используется знак «=».
Алгоритм построения таблицы истинности:
1. подсчитать количество переменных n в логическом выражении;
2. определить число строк в таблице по формуле m=2n, где n — количество переменных;
3. подсчитать количество логических операций в формуле;
4. установить последовательность выполнения логических операций с учетом скобок и приоритетов;
5. определить количество столбцов: число переменных + число операций;
6. выписать наборы входных переменных;
7. провести заполнение таблицы истинности по столбцам, выполняя логические операции в соответствии с установленной в пункте 4 последовательностью.
Заполнение таблицы:
1. разделить колонку значений первой переменной пополам и заполнить верхнюю часть «0», а нижнюю «1»;
2. разделить колонку значений второй переменной на четыре части и заполнить каждую четверть чередующимися группами «0» и «1», начиная с группы «0»;
3. продолжать деление колонок значений последующих переменных на 8, 16 и т.д. частей и заполнение их группами «0» или «1» до тех пор, пока группы «0» и «1» не будут состоять из одного символа.
Пример 1. Для формулы A/ (B / ¬B /¬C) постройте таблицу истинности.
Количество логических переменных 3, следовательно, количество строк — 23 = 8.
Количество логических операций в формуле 5, количество логических переменных 3, следовательно количество столбцов — 3 + 5 = 8.
Пример 2. Определите истинность логического выражения F(А, В) = (А/ В)/(¬А/¬В) .
1. В выражении две переменные А и В (n=2).
2. mстрок=2n, m=22=4 строки.
3. В формуле 5 логических операций.
4. Расставляем порядок действий
1) А/ В; 2) ¬А; 3) ¬В; 4) ¬А/¬В; 5) (А/ В)/(¬А/¬В).
5. Кстолбцов=n+5=2+5=7 столбцов.
А |
В |
А/ В |
¬А |
¬В |
¬А/¬В |
F |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
Вывод: логическое выражение принимает значение истина при наборах F(0,1)=1 и F(1,0)=1.
Пример 3. Построёте таблицу истинности для логического выражения
F = (A/ B) / ¬С
- В данной функции три логические переменные – А, В, С
- количество строк таблицы = 23 =8
- В формуле 3 логические операции.
- Расставляем порядок действий
1) А/ В; 2) ¬С; 3) (AVB) / ¬С .
- количество столбцов таблицы = 3 + 3 = 6
А |
В |
С |
A/B |
¬С |
(A/B) / ¬С |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
Пример 4. Определите истинность формулы: F = ((С /В) => В) / (А / В) => В.
Построим таблицу истинности этой формулы.
Ответ: формула является тождественно истинной.
Пример 5. Символом F обозначено одно из указанных ниже логических выражений от трех аргументов: X, Y, Z.
Дан фрагмент таблицы истинности выражения F:
X |
Y |
Z |
F |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
Какое выражение соответствует F?
1) ¬X/¬Y/Z 2) ¬X/¬Y/Z 3) X/Y/¬Z 4) X/Y/Z
Решение (вариант 1, через таблицы истинности):
Чтобы решить данную задачу можно построить часть таблицы истинности для каждой из четырех функций, заданных в ответе для заданных наборов входных переменных, и сравнить полученные таблицы с исходной:
X |
Y |
Z |
F |
¬X |
¬Y |
¬Z |
¬X/¬Y/Z |
¬X/¬Y/Z |
X/Y/¬Z |
X/Y/Z |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
0 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
Очевидно, что значения заданной функции F совпадают со значениями выражения X/Y/¬Z. Следовательно, правильный ответ – 3.
Ответ: 3
Решение (Вариант 2):
Чтобы не строить таблицу истинности для каждого выражения, можно просто перепроверить предложенные ответы по заданной таблице истинности. Т.е. в каждую из четырех предложенных функций последовательно подставлять значения переменных X, Y и Z, из заданной таблицы истинности и вычислять значения логического выражения. Если значения вычисляемого выражения совпадут со значением F во всех трех строчках заданной таблицы, то это и есть искомое выражение.
Рассмотрим данный конкретный пример:
1) первое заданное выражение ¬X/¬Y/Z = 0 при X=0, Y=0, Z=0, что не соответствует первой строке таблицы;
2) второе заданное выражение ¬X/¬Y/Z = 1 при X=0, Y=0, Z=1, что не соответствует второй строке таблицы;
3) третье выражение X/Y/¬Z соответствует F при всех предложенных комбинациях X,Y и Z;
4) четвертое выражение X/Y/Z = 1 при X=0, Y=0, Z=1, что не соответствует второй строке таблицы.
Ответ: 3
Построение таблиц истинности
Екатерина Андреевна Гапонько
Эксперт по предмету «Информатика»
Задать вопрос автору статьи
Определение 1
Логическая функция – функция, переменные которой принимают одно из двух значений: $1$ или $0$.
Любую логическую функцию можно задать с помощью таблицы истинности: набор всех возможных аргументов записывается в левой части таблицы, а соответствующие значения логической функции – в правой части.
Определение 2
Таблица истинности – таблица, которая показывает, какие значения примет составное выражение при всех возможных наборах значений простых выражений, входящих в него.
Определение 3
Равносильными называются логические выражения, последние столбцы таблиц истинности которых совпадают. Равносильность обозначается с помощью знака $«=»$.
Сдай на права пока
учишься в ВУЗе
Вся теория в удобном приложении. Выбери инструктора и начни заниматься!
Получить скидку 3 000 ₽
При составлении таблицы истинности важно учитывать следующий порядок выполнения логических операций:
Рисунок 1.
Приоритетом в выполнении порядка выполнения операций пользуются скобки.
Алгоритм построения таблицы истинности логической функции
-
Определяют количество строк: кол-во строк = $2^n + 1$ (для строки заголовка), $n$ – количество простых выражений. Например, для функций двух переменных существует $2^2 = 4$ комбинации наборов значений переменных, для функций трех переменных – $2^3 = 8$ и т.д.
-
Определяют количество столбцов: кол-во столбцов = кол-во переменных + кол-во логических операций. При определении количества логических операций учитывают также порядок их выполнения.
-
Заполняют столбцы результатами выполнения логических операций в определенной последовательности, учитывая таблицы истинности основных логических операций.
«Построение таблиц истинности» 👇
Рисунок 2.
Пример 1
Составить таблицу истинности логического выражения $D=bar{A} vee (B vee C)$.
Решение:
-
Определим количество строк:
Количество простых выражений – $n=3$, значит
кол-во строк = $2^3 + 1=9$.
-
Определим количество столбцов:
Количество переменных – $3$.
Количество логических операций и их последовательность:
- инверсия ($bar{A}$);
- дизъюнкция, т.к. она находится в скобках ($B vee C$);
-
дизъюнкция ($overline{A}vee left(Bvee Cright)$) – искомое логическое выражение.
Кол-во столбцов = $3 + 3=6$.
-
Заполним таблицу, учитывая таблицы истинности логических операций.
Рисунок 3.
Пример 2
По данному логическому выражению построить таблицу истинности:
[F=overline{(Avee B)bigwedge overline{C}}vee overline{(Avee C)bigwedge B}]
Решение:
-
Определим количество строк:
Количество простых выражений – $n=3$, значит
кол-во строк = $2^3 + 1=9$.
-
Определим количество столбцов:
Количество переменных – $3$.
Количество логических операций и их последовательность:
- отрицание ($bar{C}$);
- дизъюнкция, т.к. она находится в скобках ($A vee B$);
- конъюнкция ($(Avee B)bigwedge overline{C}$);
- отрицание, которое обозначим $F_1$ ($overline{(Avee B)bigwedge overline{C}}$);
- дизъюнкция ($A vee C$);
- конъюнкция ($(Avee C)bigwedge B$);
- отрицание, которое обозначим $F_2$ ($overline{(Avee C)bigwedge B}$);
-
дизъюнкция – искомая логическая функция ($overline{(Avee B)bigwedge overline{C}}vee overline{(Avee C)bigwedge B}$).
Кол-во столбцов = $3 + 8 = 11$.
-
Заполним таблицу, учитывая таблицу истинности логических операций.
Рисунок 4.
Алгоритм построения логической функции по ее таблице истинности
- Выделяют в таблице истинности строки со значением функции, равным $1$.
- Выписывают искомую формулу как дизъюнкцию нескольких логических выражений. Количество этих выражений равно количеству выделенных строк.
- Каждое логическое выражение в этой дизъюнкции записать как конъюнкцию аргументов функции.
- В случае, когда значение какого-то из аргументов функции в соответствующей строке таблицы принимает значение $0$, то этот аргумент записать в виде его отрицания.
Пример 3
По данной таблице истинности некоторой логической функции $Y(A,B)$ cоставить соответствующую логическую функцию.
Рисунок 5.
Решение:
- Значение функции равно $1$ в $1$-й и $3$-й строках таблицы.
- Поскольку имеем $2$ строки, получим дизъюнкцию двух элементов:
Рисунок 6.
- Каждое логическое выражение в этой дизъюнкции запишем как конъюнкцию аргументов функции $A$ и $B$: $left(Awedge Bright)vee left(Awedge Bright)$
- В случае, когда значение в соответствующей строке таблицы равно $0$, запишем этот аргумент с отрицанием, получим искомую функцию:[Yleft(A,Bright)=left(overline{A}wedge overline{B}right)vee left(Awedge overline{B}right).]
Находи статьи и создавай свой список литературы по ГОСТу
Поиск по теме
Дата написания статьи: 12.04.2016
Построение таблицы истинности. СДНФ. СКНФ. Полином Жегалкина.
Онлайн калькулятор позволяет быстро строить таблицу истинности для произвольной булевой функции или её вектора, рассчитывать совершенную дизъюнктивную и совершенную конъюнктивную нормальные формы, находить представление функции в виде полинома Жегалкина, строить карту Карно и классифицировать функцию по классам Поста.
Калькулятор таблицы истинности, СКНФ, СДНФ, полинома Жегалкина
введите функцию или её вектор
Скрыть клавиатуру
∨
∧
¬
⊕
→
≡
↓
↑
0
1
a
b
c
x
y
z
(
)
X1
X2
X3
X4
X5
X6
Показать настройки
Таблица истинности
СКНФ
СДНФ
Полином Жегалкина
Классификация Поста
Минимизация, карта Карно
Фиктивные переменные
С решением
Построить
Построено таблиц, форм:
Как пользоваться калькулятором
- Введите в поле логическую функцию (например, x1 ∨ x2) или её вектор (например, 10110101)
- Укажите действия, которые необходимо выполнить с помощью переключателей
- Укажите, требуется ли вывод решения переключателем “С решением”
- Нажмите на кнопку “Построить”
Видеоинструкция к калькулятору
Используемые символы
В качестве переменных используются буквы латинского и русского алфавитов (большие и маленькие), а также цифры, написанные после буквы (индекс переменной). Таким образом, именами переменных будут: a
, x
, a1
, B
, X
, X1
, Y1
, A123
и так далее.
Для записи логических операций можно использовать
как обычные символы клавиатуры (*
, +
, !
, ^
, ->
, =
), так и символы, устоявшиеся в литературе (∧
, ∨
, ¬
, ⊕
, →
, ≡
). Если на вашей клавиатуре отсутствует нужный символ операции, то используйте клавиатуру калькулятора (если она не видна, нажмите “Показать клавиатуру”), в которой доступны как все логические операции, так и набор наиболее часто используемых переменных.
Для смены порядка выполнения операций используются круглые скобки ().
Обозначения логических операций
- И (AND):
&
•
∧
*
- ИЛИ (OR):
∨
+
- НЕ (NOT):
¬
!
- Исключающее ИЛИ (XOR):
⊕
^
- Импликация:
->
→
=>
- Эквивалентность:
=
~
≡
<=>
- Штрих Шеффера:
↑
|
- Стрелка Пирса:
↓
Что умеет калькулятор
- Строить таблицу истинности по функции
- Строить таблицу истинности по двоичному вектору
- Строить совершенную конъюнктивную нормальную форму (СКНФ)
- Строить совершенную дизъюнктивную нормальную форму (СДНФ)
- Строить полином Жегалкина (методами Паскаля, треугольника, неопределённых коэффициентов)
- Определять принадлежность функции к каждому из пяти классов Поста
- Строить карту Карно
- Минимизировать ДНФ и КНФ
- Искать фиктивные переменные
Что такое булева функция
Булева функция f(x1, x2, ... xn)
— это любая функция от n переменных x1, x2, … xn, в которой её аргументы принимают одно из двух значений: либо 0, либо 1, и сама функция принимает значения 0 или 1. То есть это правило, по которому произвольному набору нулей и единиц ставится в соответствие значение 0 или 1. Подробнее про булевы функции можно посмотреть на Википедии.
Что такое таблица истинности?
Таблица истинности — это таблица, описывающая логическую функцию, а именно отражающую все значения функции при всех возможных значениях её аргументов. Таблица состоит из n+1
столбцов и 2n
строк, где n
– число используемых переменных. В первых n столбцах записываются всевозможные значения аргументов (переменных) функции, а в n+1-ом столбце записываются значения функции, которые она принимает на данном наборе аргументов.
Довольно часто встречается вариант таблицы, в которой число столбцов равно n + число используемых логических операций. В такой таблице также первые n столбцов заполнены наборами аргументов, а оставшиеся столбцы заполняются значениями подфункций, входящих в запись функции, что позволяет упростить расчёт конечного значения функции за счёт уже промежуточных вычислений.
Логические операции
Логическая операция — операция над высказываниями, позволяющая составлять новые высказывания путём соединения более простых. В качестве основных операций обычно называют конъюнкцию (∧ или &), дизъюнкцию (∨ или |), импликацию (→), отрицание (¬), эквивалентность (=), исключающее ИЛИ (⊕).
Таблица истинности логических операций
Как задать логическую функцию
Есть множество способов задать булеву функцию:
- таблица истинности
- характеристические множества
- вектор значений
- матрица Грея
- формулы
Рассмотрим некоторые из них:
Чтобы задать функцию через вектор значений необходимо записать вектор из 2n нулей и единиц, где n – число аргументов, от которых зависит функция. Например, функцию двух аргументов можно задать так: 0001 (операция И), 0111 (операция ИЛИ).
Чтобы задать функцию в виде формулы, необходимо записать математическое выражение, состоящее из аргументов функции и логических операций. Например, можно задать такую функцию: a∧b ∨ b∧c ∨ a∧c
Способы представления булевой функции
С помощью формул можно получать огромное количество разнообразных функций, причём с помощью разных формул можно получить одну и ту же функцию. Иногда бывает весьма полезно узнать, как построить ту или иную функцию, используя лишь небольшой набор заданных операций или используя как можно меньше произвольных операций. Рассмотрим основные способы задания булевых функций:
- Совершенная дизъюнктивная нормальная форма (СДНФ)
- Совершенная конъюнктивная нормальная форма (СКНФ)
- Алгебраическая нормальная форма (АНФ, полином Жегалкина)
Совершенная дизъюнктивная нормальная форма (ДНФ)
Простая конъюнкция — это конъюнкция некоторого конечного набора переменных, или их отрицаний, причём каждая переменная встречается не более одного раза.
Дизъюнктивная нормальная форма (ДНФ) — это дизъюнкция простых конъюнкций.
Совершенная дизъюнктивная нормальная форма (СДНФ) — ДНФ относительно некоторого заданного конечного набора переменных, в каждую конъюнкцию которой входят все переменные данного набора.
Например, ДНФ является функция ¬abc ∨ ¬a¬bc ∨ ac, но не является СДНФ, так как в последней конъюнкции отсутствует переменная b.
Совершенная конъюнктивная нормальная форма (КНФ)
Простая дизъюнкция — это дизъюнкция одной или нескольких переменных, или их отрицаний, причём каждая переменная входит в неё не более одного раза.
Конъюнктивная нормальная форма (КНФ) — это конъюнкция простых дизъюнкций.
Совершенная конъюнктивная нормальная форма (СКНФ) — КНФ относительно некоторого заданного конечного набора переменных, в каждую дизъюнкцию которой входят все переменные данного набора.
Например, КНФ является функция (a ∨ b) ∧ (a ∨ b ∨ c), но не является СДНФ, так как в первой дизъюнкции отсутствует переменная с.
Алгебраическая нормальная форма (АНФ, полином Жегалкина)
Алгебраическая нормальная форма, полином Жегалкина — это форма представления логической функции в виде полинома с коэффициентами вида 0 и 1, в котором в качестве произведения используется операция конъюнкции, а в качестве сложения — исключающее ИЛИ.
Примеры полиномов Жегалкина: 1, a, a⊕b, ab⊕a⊕b⊕1
Алгоритм построения СДНФ для булевой функции
- Построить таблицу истинности для функции
- Найти все наборы аргументов, на которых функция принимает значение 1
- Выписать простые конъюнкции для каждого из наборов по следующему правилу: если в наборе переменная принимает значение 0, то она входит в конъюнкцию с отрицанием, а иначе без отрицания
- Объединить все простые конъюнкции с помощью дизъюнкции
Алгоритм построения СКНФ для булевой функции
- Построить таблицу истинности для функции
- Найти все наборы аргументов, на которых функция принимает значение 0
- Выписать простые дизъюнкции для каждого из наборов по следующему правилу: если в наборе переменная принимает значение 1, то она входит в дизъюнкцию с отрицанием, а иначе без отрицания
- Объединить все простые дизъюнкции с помощью конъюнкции
Алгоритм построения полинома Жегалкина булевой функции
Есть несколько методов построения полинома Жегалкина, в данной статье рассмотрим наиболее удобный и простой из всех.
- Построить таблицу истинности для функции
- Добавить новый столбец к таблице истинности и записать в 1, 3, 5… ячейки значения из тех же строк предыдущего столбца таблицы истинности, а к значениям в строках 2, 4, 6… прибавить по модулю два значения из соответственно 1, 3, 5… строк.
- Добавить новый столбец к таблице истинности и переписать в новый столбец значения 1, 2, 5, 6, 9, 10… строк, а к 3, 4, 7, 8, 11, 12… строкам аналогично предыдущему пункту прибавить переписанные значения.
- Повторить действия каждый раз увеличивая в два раза количество переносимых и складываемых элементов до тех пор, пока длина не станет равна числу строк таблицы.
- Выписать булевы наборы, на которых значение последнего столбца равно единице
- Записать вместо единиц в наборах имена переменных, соответствующие набору (для нулевого набора записать единицу) и объединить их с помощью операции исключающего ИЛИ.
Примеры построения различных представлений логических функций
Построим совершенные дизъюнктивную и дизъюнктивную нормальные формы, а также полином Жегалкина для функции трёх переменных F = ¬ab∨¬bc∨ca
1. Построим таблицу истинности для функции
Построение совершенной дизъюнктивной нормальной формы:
Найдём наборы, на которых функция принимает истинное значение: { 0, 0, 1 } { 0, 1, 0 } { 0, 1, 1 } { 1, 0, 1 } { 1, 1, 1 }
В соответствие найденным наборам поставим элементарные конъюнкции по всем переменным, причём если переменная в наборе принимает значение 0, то она будет записана с отрицанием:
K1: { 0, 0, 1 } — ¬a¬bc
K2: { 0, 1, 0 } — ¬ab¬c
K3: { 0, 1, 1 } — ¬abc
K4: { 1, 0, 1 } — a¬bc
K5: { 1, 1, 1 } — abc
Объединим конъюнкции с помощью дизъюнкции и получим совершенную дизъюнктивную нормальную форму:
K1 ∨ K2 ∨ K3 ∨ K4 ∨ K5 = ¬a¬bc ∨ ¬ab¬c ∨ ¬abc ∨ a¬bc ∨ abc
Построение совершенной конъюнктивной нормальной формы:
Найдём наборы, на которых функция принимает ложное значение: { 0, 0, 0 } { 1, 0, 0 } { 1, 1, 0 }
В соответствие найденным наборам поставим элементарные дизъюнкции по всем переменным, причём если переменная в наборе принимает значение 1, то она будет записана с отрицанием:
D1: { 0, 0, 0 } — a∨b∨c
D2: { 1, 0, 0 } — ¬a∨b∨c
D3: { 1, 1, 0 } — ¬a∨¬b∨c
Объединим дизъюнкции с помощью конъюнкции и получим совершенную конъюнктивную нормальную форму:
D1 ∧ D2 ∧ D3 = (a∨b∨c) ∧ (¬a∨b∨c) ∧ (¬a∨¬b∨c)
Построение полинома Жегалкина:
Добавим новый столбец к таблице истинности и запишем в 1, 3, 5 и 7 строки значения из тех же строк предыдущего столбца таблицы истинности, а значения в строках 2, 4, 6 и 8 сложим по модулю два со значениями из соответственно 1, 3, 5 и 7 строк:
Добавим новый столбец к таблице истинности и запишем в 1 и 2, 5 и 6 строки значения из тех же строк предыдущего столбца таблицы истинности, а значения в строках 3 и 4, 7 и 8 сложим по модулю два со значениями из соответственно 1 и 2, 5 и 6 строк:
Добавим новый столбец к таблице истинности и запишем в 1 2, 3 и 4 строки значения из тех же строк предыдущего столбца таблицы истинности, а значения в строках 5, 6, 7 и 8 сложим по модулю два со значениями из соответственно 1, 2, 3 и 4 строк:
Окончательно получим такую таблицу:
Выпишем наборы, на которых получившийся вектор принимает единичное значение и запишем вместо единиц в наборах имена переменных, соответствующие набору (для нулевого набора следует записать единицу):
{ 0, 0, 1 } — c, { 0, 1, 0 } — b, { 0, 1, 1 } — bc, { 1, 1, 0 } — ab, { 1, 1, 1 } — abc
Объединяя полученные конъюнкции с помощью операции исключающего или, получим полином Жегалкина: c⊕b⊕bc⊕ab⊕abc
План урока:
Способы решению задач по логике
Табличный способ – этапы, особенности
Сравнение методов решения
Построение таблиц истинности для различных типов задач
Построение электрических схем, реализующих логические операции
Способы решения задач по логике
Многие задачи можно решить, используя инструменты алгебры логики. Чтобы получить результат, можно пойти 3 путями:
- рассуждая над условием;
- решая логические операции;
- используя таблицы истинности.
Логический подход подразумевает перевод условия из естественного языка на язык символов, схем и формул. Для такой формализации высказываний нужно выполнить ряд шагов.
Этапы решения логических задач:
- Разобраться с условием на естественном языке, выделив простые высказывания, и дать им символьные обозначения (латиница).
- Записать условие в виде формулы. Решить ее поэтапно, упрощая, учитывая приоритеты (( ), ¬, &, V).
- Просчитать формулы строчно или при помощи таблиц истинности, учитывая законы алгебры логики.
- Проверить, соответствует ли полученный результат условию задачи.
Табличный способ – этапы, особенности
Таблица истинности – табличное выражение результата логических операций для каждого отдельного набора значений переменных.
Такие таблицы позволяют абстрагироваться от маловажной информации, сосредоточиться только на связях между исходными данными, над происходящими процессами. Таким образом, человек может абстрагироваться от непонятной для него информации, решать неспецифические задачи.
Метод таблиц
Чтобы использовать таблицы истинности, необходимо формализовать условие, то есть отойти от деталей задачи, обозначая первоначальную информацию при помощи букв и цифр 0 и 1.
Существует общий алгоритм построения таблиц:
- Определить число логических значений/переменных (n) в примере.
- Установить вид, число и тип операций. Важно заранее определить очередность действий, выразить это при помощи скобок.
- Полученные данные позволяют рассчитать сколько нужно столбцов – это сумма числа переменных и операций.
- Нарисовать таблицу, заполнить шапку, записав обозначение переменных и выбранные действия.
- Определить, сколько существует наборов логических переменных (т.е. число строчек) по формуле m = 2n+ 1 (шапка).
- Заполнить столбцы, вписав наборы значений логических переменных (0 или 1).
- Записать результаты логических операций, указанных в шапке для каждой совокупности значений.
- Сделать выводы на основании полученных результатов.
Если необходимо перебрать все значения простых выражений, то для задач:
- с 2-мя переменными может быть только 4 набора логических переменных;
Если словесно описывать все эти комбинаций, на каждый из примеров понадобится десятки строк текста.
Обязательно учитывают приоритет операций:
- Указанные в скобках.
- Отрицание.
- Логическая конъюнкция чисел.
- Дизъюнкция.
- Строгая дизъюнкция.
- Импликация.
- Эквивалентность.
Обозначение логических операций:
Сравнение методов решения
Метод рассуждений
Он заключается в пошаговом анализе условий с промежуточными выводами на каждом этапе. Выполняется анализ таблицы истинности каждого логического выражения.
Пример №1.
Андрей, Владимир, Георгий и Дмитрий живут на одной улице, они соседи. Они работают по таким специальностям: гитарист, плотник, егерь и стоматолог.
Известно, что:
- дом плотника правее егеря;
- стоматолог проживает левее егеря;
- дом гитариста с самого краю;
- стоматолог живет рядом с гитаристом;
- Владимир не гитарист, и его дом не соседствует с гитаристом;
- дома Дмитрия и егеря соседние;
- здание, в котором прописан Андрей, правее стоматолога;
- между домами Андрея и Дмитрия один дом.
Чтобы рассуждать было проще, добавим изображение зданий, присвоим им номера:
Но стоматолог живет левее егеря, а правее егеря – плотник. Получается, что дом гитариста не может быть последним, а дом стоматолога не может быть предпоследними. То есть, егерь живет в предпоследнем доме:
Между домами Андрея и Дмитрия стоит один дом, значит, дом Андрея не может быть предпоследним, получается номер – 4, что автоматом исключает проживание там Дмитрия и Владимира.
Условие задачи заняло 2 предложения, а рассуждений получилось на 2 страницы.
Такой подход лучше не использовать, если условие сложное или много данных.
Табличный метод
Более удачным подходом к решению задач с большим количеством данных (несколько множеств), считается табличный, или графический (диаграммы).
Чтобы построить таблицу истинности логических выражений, следует:
- Разбить задачу на простейшие утверждения, которые обозначить символами (большие буквы латинского алфавита).
- Записать условие задачи, как составное выражение из символов логических операций.
- Нарисовать таблицу истинности для полученных данных.
- Выбрать такой вариант, при котором полученные значения подходят под условие.
- Проверить соответствие выбранного варианта и условия задачи.
Чтобы преобразовывать условие задачи в логические выражения и операции, удобно пользоваться такой сводной таблицей истинности логических операций:
Рассмотрим тот же пример.
Определяем, что только гитарист может жить в первом доме, далее смотрим на заметки и условия и получаем таких жителей:
Метод компактнее, для некоторых задач нагляднее.
Построение таблиц истинности для различных типов задач
Несмотря на многообразие задач, многие условия повторяются, если оставить сухие формулы, не вникая в имена, места, профессии. Разобравшись с примером один раз, можно решать аналогичные задачи без труда. Рассмотрим несколько любопытных заданий, решив при помощи логически.
Пример 2.
Известно, что если первый студент летал в Англию на стажировку, то и второй тоже летал, но неправда, что если летал третий, то и второй.
Разобьём условие на 3 простые высказывания, присвоим им буквенные обозначения:
А — «Первый студент летал в Англию»;
В — «Второй студент летал в Англию»;
С — «Третий студент летал в Англию».
Запишем выясненные данные при помощи логических операций:
Пример 3.
Есть три 8-ых класса (А, В, С), которые соревнуются между собой за средний бал. Учителя в начале года сделали такие предположения:
- Если А получит максимальный бал, то максимальный бал получат Ви С.
- А и С получат или не получат максимальный бал одновременно.
- Необходимым условием получения высшего бала С класса является получение высшего бала В классом.
По завершении года оказалось, что 2 предсказания оказались верными, а одно – ошибочным.
Выясним, какие же классы добились высшего бала.
Разбиваем условие задачи на элементарные высказывания:
А – «А добьется высшего бала»;
В – «В добьется высшего бала»;
С – «С добьется высшего бала».
Запишем логические операции, описанные в примере:
Мы заполнили таблицу истинности для всех возможных значений исходных данных. В примере говорилось, что только 2 утверждения в конце года казались истинными, а 1- ложным. Такому условию отвечает 3-я строка в таблице.
Пример 4.
Во время знакомства девушка, любительница загадок, сказала, что ее имя узнать легко:
- последняя – гласная (Х1);
- или первая буква согласная (Х2)
- вторая – согласная (Х3).
¬(Х1→Х2)VХ3
Предложенные имена: Арина, Артур, Кэтрин, София.
Решим задачу, используя таблицу.
Сначала решим пошагово, выполняя операции по приоритету:
Указанному условию соответствует первое имя.
Пример 5.
Попробуем решать задачи, в которые нет четких высказываний, истинных или ложных. В них половина информации, правда, половина – ложь, при этом неизвестно, какая именно. Под такой тип задач можно подставить любое условие, но научившись решать его, можно разобраться со всеми аналогичными.
Известно, что в олимпиаде по химии участвовали 4 ученицы 8 класса: Марина, Света, Саша и Галя. Они заняли первые 4 места. Какое место заняла каждая из девочек, если есть их высказывания о победителях, но в них лишь половина информации правдива – первая или вторая половина предложения.
Маша Марина: «Саша заняла второе место, а Света – первое».
Полина Света: «Нет, это не так, Саша – победительница, а Галя, – на втором месте».
Ольга Саша: «Зачем вы всех путаете? Третье место за Мариной, а Света – на четвертом месте».
Составляем таблица для перебора вариантов. Правду обозначаем «1», ложь – «0».
Берем любое (Марины) утверждение и принимаем его первую часть за правду. Значит, Саша – 2 место, тогда Света не 1-ое (вторая половина фразы – ложь), остальных девочек на 2 место ставим «0».
Берем утверждение второй девочки. Так как Саша не может быть победительницей, то в этой фразе первая часть – ложь, а вторая должна быть истинной. Но в нем и вторая часть – неверна (второе место за Сашей, мы так приняли в начале).Уже на второй фразе получается противоречие всему.
Итог: Победительницей олимпиады стала Светлана, на втором месте – Галина, на третьем – Марина, на последнем из четырех – Александра.
Построение электронных схем, реализующих логические операции
Если рассмотреть электросхемы с точки зрения логики, особенно компьютерные, то их также можно описать при помощи «1» и «0» – электричество идет или не идет по проводам.
Попробуем нарисовать логические элементы схемы питания лампочки для нескольких простых операций.
Электросхема с конъюнктором
Рассмотрим все варианты:
- Все контакты включены, тогда источник света горит.
- Первый контакт в положении «выключено» – свет не горит.
- Второй контакт выключен – лампа не светит.
- Все контакты отключены – свет не горит.
Заключение – эта электрическая цепь реализует операцию «И».
Дизъюнктор, схема электропитания
Рассмотрим этот вид электрической цепочки:
- Все контакты включены – лампа горит.
- Первый контакт включен, второй выключен – свет горит.
- Обратная ситуация – выключен первый, включен второй – лампа светится.
- Все контакты выключены – света нет.
Заключение – такой вид электросхем соответствует логической операции «ИЛИ».
Инвертор в электросхемах
В этой схеме переключатель не ручной, а автоматический. Здесь процесс обратный – когда ток не идет, контакты замыкаются, горит свет. Если же в сеть подается электричество, пластинка размыкается вследствие электромагнитной индукции, и сеть разъединяется – света нет.
Заключение: схема соответствует логической операции «НЕ».
Умение читать и решать логические операции, строить соответствующие электросхемы, позволяет создавать иерархически более сложные конструкции, которые используются для реализации процессов в современных ПК.
Обозначение логических элементов
Удобно создавать электросхемы в ПО SmartNotebook, которое используется с интерактивной доской.
Информатика. 10 класса. Босова Л.Л. Оглавление
§ 19. Таблицы истинности
19.1. Построение таблиц истинности
Таблицу значений, которые принимает логическое выражение при всех сочетаниях значений (наборах) входящих в него переменных, называют таблицей истинности логического выражения.
Для того чтобы построить таблицу истинности логического выражения, достаточно:
1) определить число строк таблицы m = 2n, где n — число переменных в логическом выражении;
2) определить число столбцов таблицы как сумму чисел логических переменных и логических операций в логическом выражении;
3) установить последовательность выполнения логических операций с учётом скобок и приоритетов операций;
4) заполнить строку с заголовками столбцов таблицы истинности, занеся в неё имена логических переменных и номера выполняемых логических операций;
5) выписать наборы входных переменных с учётом того, что они представляют собой ряд целых n-разрядных двоичных чисел от 0 до 2n — 1;
6) провести заполнение таблицы истинности по столбцам, выполняя логические операции.
Пример 1. Построим таблицу истинности для логического выражения
В этом выражении две логические переменные и пять логических операций. Всего в таблице истинности будет пять строк (22 плюс строка заголовков) и 7 столбцов.
Начнём заполнять таблицу истинности с учётом следующего порядка выполнения логических операций: сначала выполняются операции отрицания (в порядке следования), затем операции конъюнкции (в порядке следования), последней выполняется дизъюнкция.
Обратите внимание на последний столбец, содержащий конечный результат. Какой из рассмотренных логических операций он соответствует?
Логические выражения, зависящие от одних и тех же логических переменных, называются равносильными или эквивалентными, если для всех наборов входящих в них переменных значения выражений в таблицах истинности совпадают.
Таблица истинности, построенная в предыдущем примере, доказывает равносильность выражений
Можно записать:
С помощью таблиц истинности докажите равносильность выражений
Функцию от n переменных, аргументы которой и сама функция принимают только два значения — 0 и 1, называют логической функцией. Таблица истинности может рассматриваться как способ задания логической функции.
19.2. Анализ таблиц истинности
Рассмотрим несколько примеров.
Пример 2. Известен фрагмент таблицы истинности для логического выражения F, содержащего логические переменные А, В и С.
Сколько из приведённых ниже логических выражений соответствуют этому фрагменту?
1) (A v С) & B;
2) (A v B) & (С ? А);
3) (А & B v С) & (B ? А & С);
4) (А ? B) v (С v А ? B).
Ответить на поставленный вопрос можно, вычислив значение каждого логического выражения на каждом заданном наборе переменных и сравнив его с имеющимся значением F.
1) Логическое выражение (A v С) & В соответствует данному фрагменту таблицы истинности:
2) Логическое выражение (A v В) & (С ? А) не соответствует данному фрагменту таблицы истинности, т. к. уже на первом наборе значение рассматриваемого логического выражения не совпадает со значением F. Проведение дальнейших вычислений не имеет смысла.
3) Логическое выражение (А & В v С) & (В ? А & С) не соответствует данному фрагменту таблицы истинности:
4) Логическое выражение (А ? В) v (С v А ? В) соответствует данному фрагменту таблицы истинности:
Итак, имеется два логических выражения, соответствующих заданному фрагменту таблицы истинности.
Можно ли утверждать, что в результате решения задачи мы нашли логическое выражение F?
Пример 3. Логическая функция F задаётся выражением:
Ниже приведён фрагмент таблицы истинности, содержащий все наборы переменных, на которых F истинна.
Определим, какому столбцу таблицы истинности функции F соответствует каждая из переменных х, y > z.
В исходном логическом выражении задействовано три логические переменные. Полная таблица истинности для этого выражения должна состоять из 8 (23) строк.
Наборам переменных, на которых логическое выражение истинно, соответствуют десятичные числа 0, 2, 3, 4 и 7.
Следовательно, наборам переменных, на которых логическое выражение ложно, должны соответствовать десятичные числа 1, 5 и 6 (их двоичные коды 001, 101 и 110). Построим по этим данным вторую часть таблицы истинности:
Теперь выясним, при каких значениях х, у, z логическое выражение ложно:
Логическое произведение ложно, если хотя бы один из операндов равен нулю. Таким образом, мы имеем две дизъюнкции, каждая из которых должна быть ложной. Это возможно только в случае равенства нулю каждого из операндов, входящих в дизъюнкцию. Подберём подходящие значения х, у и z, заполняя следующую таблицу:
Первая дизъюнкция равна нулю на наборе 011. Для равенства нулю второй дизъюнкции требуется, чтобы х = 1, у = 0, а z может быть и 0, и 1.
Сравним эту таблицу с восстановленным нами фрагментом исходной таблицы истинности, предварительно подсчитав, сколько раз каждая переменная принимает единичное значение.
Переменная у принимает единичное значение только один раз. Следовательно, ей соответствует второй столбец исходной таблицы. Из таблицы со значениями х, у и z следует, что при у = 1: х = 0, а z = 1. Следовательно, переменной z соответствует первый столбец, а переменной х — третий столбец исходной таблицы.
Убедиться в правильности полученного ответа можно, полностью заполнив следующую таблицу:
САМОЕ ГЛАВНОЕ
Таблицу значений, которые принимает логическое выражение при всех сочетаниях значений (наборах) входящих в него переменных, называют таблицей истинности логического выражения.
Истинность логического выражения можно доказать путём построения его таблицы истинности.
Функцию от п переменных, аргументы которой и сама функция принимают только два значения — 0 и 1, называют логической функцией. Таблица истинности может рассматриваться как способ задания логической функции.
Вопросы и задания
1. Что представляет собой таблица истинности?
2. Составлена таблица истинности для логического выражения, содержащего n переменных. Известно m — количество строк, в которых выражение принимает значение 0. Требуется выяснить, в скольких случаях логическое выражение примет значение 1 при следующих значениях n и m:
3. Постройте таблицы истинности для следующих логических выражений:
4. Рассмотрите два составных высказывания
5. Логическое выражение, являющееся истинным при любом наборе входящих в него переменных, называется тождественно истинным. Убедитесь, что следующие логические выражения являются тождественно истинными:
6. Какое из приведённых логических выражений равносильно выражению (А ? С) & (B ? С)?
7. Известен фрагмент таблицы истинности для логического выражения F, содержащего логические переменные А, В и С.
8. Логическая функция F задаётся выражением
Оглавление
§ 18. Алгебра логики
§ 19. Таблицы истинности
§ 20. Преобразование логических выражений