как узнать сколько столбцов в таблице истинности
Учитель информатики
Сайт учителя информатики. Технологические карты уроков, Подготовка к ОГЭ и ЕГЭ, полезный материал и многое другое.
Таблицы истинности
Информатика. 10 класса. Босова Л.Л. Оглавление
§ 19. Таблицы истинности
19.1. Построение таблиц истинности
Таблицу значений, которые принимает логическое выражение при всех сочетаниях значений (наборах) входящих в него переменных, называют таблицей истинности логического выражения.
Для того чтобы построить таблицу истинности логического выражения, достаточно:
Пример 1. Построим таблицу истинности для логического выражения
В этом выражении две логические переменные и пять логических операций. Всего в таблице истинности будет пять строк (22 плюс строка заголовков) и 7 столбцов.
Начнём заполнять таблицу истинности с учётом следующего порядка выполнения логических операций: сначала выполняются операции отрицания (в порядке следования), затем операции конъюнкции (в порядке следования), последней выполняется дизъюнкция.
Обратите внимание на последний столбец, содержащий конечный результат. Какой из рассмотренных логических операций он соответствует?
Логические выражения, зависящие от одних и тех же логических переменных, называются равносильными или эквивалентными, если для всех наборов входящих в них переменных значения выражений в таблицах истинности совпадают.
Таблица истинности, построенная в предыдущем примере, доказывает равносильность выражений
С помощью таблиц истинности докажите равносильность выражений
Функцию от n переменных, аргументы которой и сама функция принимают только два значения — 0 и 1, называют логической функцией. Таблица истинности может рассматриваться как способ задания логической функции.
19.2. Анализ таблиц истинности
Рассмотрим несколько примеров.
Пример 2. Известен фрагмент таблицы истинности для логического выражения F, содержащего логические переменные А, В и С.
Сколько из приведённых ниже логических выражений соответствуют этому фрагменту?
Ответить на поставленный вопрос можно, вычислив значение каждого логического выражения на каждом заданном наборе переменных и сравнив его с имеющимся значением F.
1) Логическое выражение (A v С) & В соответствует данному фрагменту таблицы истинности:
2) Логическое выражение (A v В) & (С → А) не соответствует данному фрагменту таблицы истинности, т. к. уже на первом наборе значение рассматриваемого логического выражения не совпадает со значением F. Проведение дальнейших вычислений не имеет смысла.
3) Логическое выражение (А & В v С) & (В → А & С) не соответствует данному фрагменту таблицы истинности:
4) Логическое выражение (А → В) v (С v А → В) соответствует данному фрагменту таблицы истинности:
Итак, имеется два логических выражения, соответствующих заданному фрагменту таблицы истинности.
Можно ли утверждать, что в результате решения задачи мы нашли логическое выражение F?
Пример 3. Логическая функция F задаётся выражением:
Ниже приведён фрагмент таблицы истинности, содержащий все наборы переменных, на которых F истинна.
Определим, какому столбцу таблицы истинности функции F соответствует каждая из переменных х, y > z.
В исходном логическом выражении задействовано три логические переменные. Полная таблица истинности для этого выражения должна состоять из 8 (2 3 ) строк.
Наборам переменных, на которых логическое выражение истинно, соответствуют десятичные числа 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:
1) n = 6, m = 15;
2) n = 7, m = 100;
3) n = 10, m = 500.
3. Постройте таблицы истинности для следующих логических выражений:
4. Рассмотрите два составных высказывания:
• F1 = «Если одно слагаемое делится на 3 и сумма делится на 3, то и другое слагаемое делится на 3»;
• F2 = «Если одно слагаемое делится на 3, а другое слагаемое не делится на 3, то сумма не делится на 3».
Формализуйте эти высказывания, постройте таблицы истинности для каждого из полученных выражений и убедитесь, что результирующие столбцы совпадают.
5. Логическое выражение, являющееся истинным при любом наборе входящих в него переменных, называется тождественно истинным. Убедитесь, что следующие логические выражения являются тождественно истинными:
6. Какое из приведённых логических выражений равносильно выражению (А → С) & (B → С)?
1) А & В → С;
2) А → В → С;
3) A v Б → С;
4) А ↔ Б → С.
7. Известен фрагмент таблицы истинности для логического выражения F, содержащего логические переменные А, В и С.
Какое из приведённых далее логических выражений соответствуют этому фрагменту?
8. Логическая функция F задаётся выражением
Ниже приведён фрагмент таблицы истинности, содержащий все наборы переменных, на которых F ложна.
Какому столбцу таблицы истинности функции F соответствует каждая из переменных А, В, С?
Построение таблицы истинности. СДНФ. СКНФ. Полином Жегалкина.
Онлайн калькулятор позволяет быстро строить таблицу истинности для произвольной булевой функции или её вектора, рассчитывать совершенную дизъюнктивную и совершенную конъюнктивную нормальные формы, находить представление функции в виде полинома Жегалкина, строить карту Карно и классифицировать функцию по классам Поста.
Калькулятор таблицы истинности, СКНФ, СДНФ, полинома Жегалкина
введите функцию или её вектор
Построено таблиц, форм:
Как пользоваться калькулятором
Видеоинструкция к калькулятору
Используемые символы
Для смены порядка выполнения операций используются круглые скобки ().
Обозначения логических операций
Что умеет калькулятор
Что такое булева функция
Что такое таблица истинности?
Довольно часто встречается вариант таблицы, в которой число столбцов равно n + число используемых логических операций. В такой таблице также первые n столбцов заполнены наборами аргументов, а оставшиеся столбцы заполняются значениями подфункций, входящих в запись функции, что позволяет упростить расчёт конечного значения функции за счёт уже промежуточных вычислений.
Логические операции
Логическая операция — операция над высказываниями, позволяющая составлять новые высказывания путём соединения более простых. В качестве основных операций обычно называют конъюнкцию (∧ или &), дизъюнкцию (∨ или |), импликацию (→), отрицание (¬), эквивалентность (=), исключающее ИЛИ (⊕).
Таблица истинности логических операций
a | b | a ∧ b | a ∨ b | ¬a | ¬b | a → b | a = b | a ⊕ b |
0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 |
0 | 1 | 0 | 1 | 1 | 0 | 1 | 0 | 1 |
1 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 1 |
1 | 1 | 1 | 1 | 0 | 0 | 1 | 1 | 0 |
Как задать логическую функцию
Есть множество способов задать булеву функцию:
Рассмотрим некоторые из них:
Чтобы задать функцию в виде формулы, необходимо записать математическое выражение, состоящее из аргументов функции и логических операций. Например, можно задать такую функцию: a∧b ∨ b∧c ∨ a∧c
Способы представления булевой функции
С помощью формул можно получать огромное количество разнообразных функций, причём с помощью разных формул можно получить одну и ту же функцию. Иногда бывает весьма полезно узнать, как построить ту или иную функцию, используя лишь небольшой набор заданных операций или используя как можно меньше произвольных операций. Рассмотрим основные способы задания булевых функций:
Совершенная дизъюнктивная нормальная форма (ДНФ)
Простая конъюнкция — это конъюнкция некоторого конечного набора переменных, или их отрицаний, причём каждая переменная встречается не более одного раза.
Дизъюнктивная нормальная форма (ДНФ) — это дизъюнкция простых конъюнкций.
Совершенная дизъюнктивная нормальная форма (СДНФ) — ДНФ относительно некоторого заданного конечного набора переменных, в каждую конъюнкцию которой входят все переменные данного набора.
Например, ДНФ является функция ¬a bc ∨ ¬a ¬b c ∨ ac, но не является СДНФ, так как в последней конъюнкции отсутствует переменная b.
Совершенная конъюнктивная нормальная форма (КНФ)
Простая дизъюнкция — это дизъюнкция одной или нескольких переменных, или их отрицаний, причём каждая переменная входит в неё не более одного раза.
Конъюнктивная нормальная форма (КНФ) — это конъюнкция простых дизъюнкций.
Совершенная конъюнктивная нормальная форма (СКНФ) — КНФ относительно некоторого заданного конечного набора переменных, в каждую дизъюнкцию которой входят все переменные данного набора.
Например, КНФ является функция (a ∨ b) ∧ (a ∨ b ∨ c), но не является СДНФ, так как в первой дизъюнкции отсутствует переменная с.
Алгебраическая нормальная форма (АНФ, полином Жегалкина)
Алгебраическая нормальная форма, полином Жегалкина — это форма представления логической функции в виде полинома с коэффициентами вида 0 и 1, в котором в качестве произведения используется операция конъюнкции, а в качестве сложения — исключающее ИЛИ.
Примеры полиномов Жегалкина: 1, a, a⊕b, ab⊕a⊕b⊕1
Алгоритм построения СДНФ для булевой функции
Алгоритм построения СКНФ для булевой функции
Алгоритм построения полинома Жегалкина булевой функции
Есть несколько методов построения полинома Жегалкина, в данной статье рассмотрим наиболее удобный и простой из всех.
Примеры построения различных представлений логических функций
Построим совершенные дизъюнктивную и дизъюнктивную нормальные формы, а также полином Жегалкина для функции трёх переменных F = ¬a b∨ ¬b c∨ca
1. Построим таблицу истинности для функции
a | b | c | ¬a | ¬a ∧b | ¬b | ¬b ∧c | ¬a ∧b∨ ¬b ∧c | c∧a | ¬a ∧b∨ ¬b ∧c∨c∧a |
0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 |
0 | 0 | 1 | 1 | 0 | 1 | 1 | 1 | 0 | 1 |
0 | 1 | 0 | 1 | 1 | 0 | 0 | 1 | 0 | 1 |
0 | 1 | 1 | 1 | 1 | 0 | 0 | 1 | 0 | 1 |
1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 |
1 | 0 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 1 |
1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
Построение совершенной дизъюнктивной нормальной формы:
Найдём наборы, на которых функция принимает истинное значение: < 0, 0, 1 > < 0, 1, 0 > < 0, 1, 1 > < 1, 0, 1 >
В соответствие найденным наборам поставим элементарные конъюнкции по всем переменным, причём если переменная в наборе принимает значение 0, то она будет записана с отрицанием:
Объединим конъюнкции с помощью дизъюнкции и получим совершенную дизъюнктивную нормальную форму:
Построение совершенной конъюнктивной нормальной формы:
Найдём наборы, на которых функция принимает ложное значение: < 0, 0, 0 > < 1, 0, 0 >
В соответствие найденным наборам поставим элементарные дизъюнкции по всем переменным, причём если переменная в наборе принимает значение 1, то она будет записана с отрицанием:
Объединим дизъюнкции с помощью конъюнкции и получим совершенную конъюнктивную нормальную форму:
Построение полинома Жегалкина:
Добавим новый столбец к таблице истинности и запишем в 1, 3, 5 и 7 строки значения из тех же строк предыдущего столбца таблицы истинности, а значения в строках 2, 4, 6 и 8 сложим по модулю два со значениями из соответственно 1, 3, 5 и 7 строк:
a | b | c | F | 1 | |
0 | 0 | 0 | 0 | → | 0 |
0 | 0 | 1 | 1 | ⊕ 0 | 1 |
0 | 1 | 0 | 1 | → | 1 |
0 | 1 | 1 | 1 | ⊕ 1 | 0 |
1 | 0 | 0 | 0 | → | 0 |
1 | 0 | 1 | 1 | ⊕ 0 | 1 |
1 | 1 | 0 | 0 | → | 0 |
1 | 1 | 1 | 1 | ⊕ 0 | 1 |
Добавим новый столбец к таблице истинности и запишем в 1 и 2, 5 и 6 строки значения из тех же строк предыдущего столбца таблицы истинности, а значения в строках 3 и 4, 7 и 8 сложим по модулю два со значениями из соответственно 1 и 2, 5 и 6 строк:
a | b | c | F | 1 | 2 | |
0 | 0 | 0 | 0 | 0 | → | 0 |
0 | 0 | 1 | 1 | 1 | → | 1 |
0 | 1 | 0 | 1 | 1 | ⊕ 0 | 1 |
0 | 1 | 1 | 1 | 0 | ⊕ 1 | 1 |
1 | 0 | 0 | 0 | 0 | → | 0 |
1 | 0 | 1 | 1 | 1 | → | 1 |
1 | 1 | 0 | 0 | 0 | ⊕ 0 | 0 |
1 | 1 | 1 | 1 | 1 | ⊕ 1 | 0 |
Добавим новый столбец к таблице истинности и запишем в 1 2, 3 и 4 строки значения из тех же строк предыдущего столбца таблицы истинности, а значения в строках 5, 6, 7 и 8 сложим по модулю два со значениями из соответственно 1, 2, 3 и 4 строк:
a | b | c | F | 1 | 2 | 3 | |
0 | 0 | 0 | 0 | 0 | 0 | → | 0 |
0 | 0 | 1 | 1 | 1 | 1 | → | 1 |
0 | 1 | 0 | 1 | 1 | 1 | → | 1 |
0 | 1 | 1 | 1 | 0 | 1 | → | 1 |
1 | 0 | 0 | 0 | 0 | 0 | ⊕ 0 | 0 |
1 | 0 | 1 | 1 | 1 | 1 | ⊕ 1 | 0 |
1 | 1 | 0 | 0 | 0 | 0 | ⊕ 1 | 1 |
1 | 1 | 1 | 1 | 1 | 0 | ⊕ 1 | 1 |
Окончательно получим такую таблицу:
a | b | c | F | 1 | 2 | 3 |
0 | 0 | 0 | 0 | 0 | 0 | 0 |
0 | 0 | 1 | 1 | 1 | 1 | 1 |
0 | 1 | 0 | 1 | 1 | 1 | 1 |
0 | 1 | 1 | 1 | 0 | 1 | 1 |
1 | 0 | 0 | 0 | 0 | 0 | 0 |
1 | 0 | 1 | 1 | 1 | 1 | 0 |
1 | 1 | 0 | 0 | 0 | 0 | 1 |
1 | 1 | 1 | 1 | 1 | 0 | 1 |
Выпишем наборы, на которых получившийся вектор принимает единичное значение и запишем вместо единиц в наборах имена переменных, соответствующие набору (для нулевого набора следует записать единицу):
Объединяя полученные конъюнкции с помощью операции исключающего или, получим полином Жегалкина: c⊕b⊕bc⊕ab⊕abc
Programforyou — это сообщество, в котором Вы можете подтянуть свои знания по программированию, узнать, как эффективно решать те или иные задачи, а также воспользоваться нашими онлайн сервисами.
Информатика
План урока:
Способы решения задач по логике
Многие задачи можно решить, используя инструменты алгебры логики. Чтобы получить результат, можно пойти 3 путями:
Логический подход подразумевает перевод условия из естественного языка на язык символов, схем и формул. Для такой формализации высказываний нужно выполнить ряд шагов.
Этапы решения логических задач:
Табличный способ – этапы, особенности
Таблица истинности – табличное выражение результата логических операций для каждого отдельного набора значений переменных.
Такие таблицы позволяют абстрагироваться от маловажной информации, сосредоточиться только на связях между исходными данными, над происходящими процессами. Таким образом, человек может абстрагироваться от непонятной для него информации, решать неспецифические задачи.
Метод таблиц
Чтобы использовать таблицы истинности, необходимо формализовать условие, то есть отойти от деталей задачи, обозначая первоначальную информацию при помощи букв и цифр 0 и 1.
Существует общий алгоритм построения таблиц:
Если необходимо перебрать все значения простых выражений, то для задач:
Если словесно описывать все эти комбинаций, на каждый из примеров понадобится десятки строк текста.
Обязательно учитывают приоритет операций:
Обозначение логических операций:
Сравнение методов решения
Метод рассуждений
Он заключается в пошаговом анализе условий с промежуточными выводами на каждом этапе. Выполняется анализ таблицы истинности каждого логического выражения.
Пример №1.
Андрей, Владимир, Георгий и Дмитрий живут на одной улице, они соседи. Они работают по таким специальностям: гитарист, плотник, егерь и стоматолог.
Чтобы рассуждать было проще, добавим изображение зданий, присвоим им номера:
Но стоматолог живет левее егеря, а правее егеря – плотник. Получается, что дом гитариста не может быть последним, а дом стоматолога не может быть предпоследними. То есть, егерь живет в предпоследнем доме:
Между домами Андрея и Дмитрия стоит один дом, значит, дом Андрея не может быть предпоследним, получается номер – 4, что автоматом исключает проживание там Дмитрия и Владимира.
Условие задачи заняло 2 предложения, а рассуждений получилось на 2 страницы.
Такой подход лучше не использовать, если условие сложное или много данных.
Табличный метод
Более удачным подходом к решению задач с большим количеством данных (несколько множеств), считается табличный, или графический (диаграммы).
Чтобы построить таблицу истинности логических выражений, следует:
Чтобы преобразовывать условие задачи в логические выражения и операции, удобно пользоваться такой сводной таблицей истинности логических операций:
Рассмотрим тот же пример.
Определяем, что только гитарист может жить в первом доме, далее смотрим на заметки и условия и получаем таких жителей:
Метод компактнее, для некоторых задач нагляднее.
Построение таблиц истинности для различных типов задач
Несмотря на многообразие задач, многие условия повторяются, если оставить сухие формулы, не вникая в имена, места, профессии. Разобравшись с примером один раз, можно решать аналогичные задачи без труда. Рассмотрим несколько любопытных заданий, решив при помощи логически.
Пример 2.
Известно, что если первый студент летал в Англию на стажировку, то и второй тоже летал, но неправда, что если летал третий, то и второй.
Разобьём условие на 3 простые высказывания, присвоим им буквенные обозначения:
А — «Первый студент летал в Англию»;
В — «Второй студент летал в Англию»;
С — «Третий студент летал в Англию».
Запишем выясненные данные при помощи логических операций:
Пример 3.
Есть три 8-ых класса (А, В, С), которые соревнуются между собой за средний бал. Учителя в начале года сделали такие предположения:
По завершении года оказалось, что 2 предсказания оказались верными, а одно – ошибочным.
Выясним, какие же классы добились высшего бала.
Разбиваем условие задачи на элементарные высказывания:
А – «А добьется высшего бала»;
В – «В добьется высшего бала»;
С – «С добьется высшего бала».
Запишем логические операции, описанные в примере:
Мы заполнили таблицу истинности для всех возможных значений исходных данных. В примере говорилось, что только 2 утверждения в конце года казались истинными, а 1- ложным. Такому условию отвечает 3-я строка в таблице.
Пример 4.
Во время знакомства девушка, любительница загадок, сказала, что ее имя узнать легко:
Предложенные имена: Арина, Артур, Кэтрин, София.
Решим задачу, используя таблицу.
Сначала решим пошагово, выполняя операции по приоритету:
Указанному условию соответствует первое имя.
Пример 5.
Попробуем решать задачи, в которые нет четких высказываний, истинных или ложных. В них половина информации, правда, половина – ложь, при этом неизвестно, какая именно. Под такой тип задач можно подставить любое условие, но научившись решать его, можно разобраться со всеми аналогичными.
Известно, что в олимпиаде по химии участвовали 4 ученицы 8 класса: Марина, Света, Саша и Галя. Они заняли первые 4 места. Какое место заняла каждая из девочек, если есть их высказывания о победителях, но в них лишь половина информации правдива – первая или вторая половина предложения.
Маша Марина: «Саша заняла второе место, а Света – первое».
Полина Света: «Нет, это не так, Саша – победительница, а Галя, – на втором месте».
Ольга Саша: «Зачем вы всех путаете? Третье место за Мариной, а Света – на четвертом месте».
Составляем таблица для перебора вариантов. Правду обозначаем «1», ложь – «0».
Берем любое (Марины) утверждение и принимаем его первую часть за правду. Значит, Саша – 2 место, тогда Света не 1-ое (вторая половина фразы – ложь), остальных девочек на 2 место ставим «0».
Берем утверждение второй девочки. Так как Саша не может быть победительницей, то в этой фразе первая часть – ложь, а вторая должна быть истинной. Но в нем и вторая часть – неверна (второе место за Сашей, мы так приняли в начале).Уже на второй фразе получается противоречие всему.
Итог: Победительницей олимпиады стала Светлана, на втором месте – Галина, на третьем – Марина, на последнем из четырех – Александра.
Построение электронных схем, реализующих логические операции
Если рассмотреть электросхемы с точки зрения логики, особенно компьютерные, то их также можно описать при помощи «1» и «0» – электричество идет или не идет по проводам.
Попробуем нарисовать логические элементы схемы питания лампочки для нескольких простых операций.
Электросхема с конъюнктором
Рассмотрим все варианты:
Заключение – эта электрическая цепь реализует операцию «И».
Дизъюнктор, схема электропитания
Рассмотрим этот вид электрической цепочки:
Заключение – такой вид электросхем соответствует логической операции «ИЛИ».
Инвертор в электросхемах
В этой схеме переключатель не ручной, а автоматический. Здесь процесс обратный – когда ток не идет, контакты замыкаются, горит свет. Если же в сеть подается электричество, пластинка размыкается вследствие электромагнитной индукции, и сеть разъединяется – света нет.
Заключение: схема соответствует логической операции «НЕ».
Умение читать и решать логические операции, строить соответствующие электросхемы, позволяет создавать иерархически более сложные конструкции, которые используются для реализации процессов в современных ПК.
Обозначение логических элементов
Удобно создавать электросхемы в ПО SmartNotebook, которое используется с интерактивной доской.