Какая логическая функция соответствует заданной таблице истинности

Содержание

�стория науки и техники Com New

Какая логическая функция соответствует заданной таблице истинности

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

Например, для логической функции F = A v B v C (дизъюнкции) трех логических переменных А, В, и С таблица истинности будет иметь вид, показанный на рис. 4.

1. Для записи значений логических переменных и логической функции данная таблица истинности содержит 8 строк и 4 столбца, т. е.

число строк для записи значений аргументов и функции любой таблицы истинности будет равно 2, где п – число аргументов логической функции, а число столбцов равно п + 1.

Р рёсѓ.в 4.1. рўр°р±р»рёс†р° рёсѓс‚рёрѕрѕрѕсѓс‚рё рґр»сџ р»рѕрірёс‡рµсѓрєрѕр№ с„сѓрѕрєс†рёрё f = a v р’ v рў

Таблицу истинности можно составить для любой логической функции, например, на рис. 4.2 приведена таблица истинности логической функции F = A ? B ? C (эквиваленции).

Логические функции имеют соответствующие названия.

Для двух двоичных переменных существует шестнадцать логических функций, названия которых приведены ниже. На рис. 4.

3 представлена таблица, в которой приведены логические функции F, F, F, … , F двух логических переменных A и В.

Функция F = 0 и называется функцией константы нуля, или генератора нуля.

Р рёсѓ.в 4.3. р›рѕрірёс‡рµсѓрєрёрµ с„сѓрѕрєс†рёрё f, f, f,вђ¦ f рґрісѓс… р°сђрісѓрјрµрѕс‚рѕрі рђ рё р’

Функция F = A & B называется функцией конъюнкции.

Функция

называется функцией запрета по логической переменной А.

Функция F = А называется функцией повторения по логической переменной А.

Функция

называется функцией запрета по логической переменной В.

Функция F = В называется функцией повторения по логической переменной В.

Функция

называется функцией исключающее «�Л�».

Функция F = A v В называется функцией дизъюнкции.

Функция

называется функцией Пирса.

Функция

называется функцией эквиваленции.

Функция

называется функцией отрицания (инверсии) по логической переменной В.

Функция F = B ? A называется функцией импликации B ? A.

Функция

называется функцией отрицания (инверсии) по логической переменной А.

Функция F = A ? B называется функцией импликации A ? B.

Функция

называется функцией Шеффера.

Функция F = 1 называется функцией генератора 1.

Среди перечисленных выше логических функций переменных можно выделить несколько логических функций, с помощью которых можно выразить другие логические функции.

Операцию замены одной логической функции другой в алгебре логики называют операцией суперпозиции или методом суперпозиции.

Например, функцию Шеффера можно выразить при помощи логических функций дизъюнкции и отрицания, используя закон де Моргана:

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

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

На практике наиболее широко в качестве такого набора используют три логических функции: конъюнкцию, дизъюнкцию и отрицание.

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

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

В настоящее время существует достаточно много программных продуктов, с помощью которых можно реализовать различные логические функции и форму их представления, например в виде таблиц истинности. Логические функции широко используются и в программе MS Excel. Для вызова этих функций необходимо выполнить следующие команды: [Кнопка Пуск – Программы – MS Office ХР – Microsoft Excel] и далее команду: [Вставка – Функция]. В открывшемся окне (рис. 4.4) «Мастер функций – шаг 1 из 2», выберем: «Категория: „Логические“ и далее можно выбрать необходимую логическую функцию: ЕСЛ�, �, �Л�, �СТ�НА, ЛОЖЬ, НЕ. В этом же окне можно получить справку по каждой из этих функций.

Р рёсѓ.в 4.4. р”рёр°р»рѕрірѕрірѕрµ рѕрєрѕрѕ в«рњр°сѓс‚рµсђ с„сѓрѕрєс†рёр№ вђ“ с€р°рі 1 рёр· 2в»

Как видно из рис. 4.

4, в состав логических функций программы MS Excel входит функционально полный набор логических функций, состоящий из следующих логических функций: � (конъюнкция), �Л� (дизъюнкция), НЕ (отрицание).

Таким образом, с помощью функционально полного набора логических функций программы MS Excel можно реализовать другие функции.

Логическая функция ЕСЛ� (импликация), также входящая в логические функции MS Excel, выполняет логическую проверку и в зависимости от результата проверки выполняет одно из двух возможных действий.

В данной программе она имеет следующий формат:  = ЕСЛ� (арг1;арг2;арг3), где арг1 – логическое условие; арг2 – возвращаемое значение при условии, что значение аргумента арг1 выполняется (�СТ�НА); арг3 – возвращаемое значение при условии, что значение аргумента арг1 не выполняется (ЛОЖЬ). Например, если в произвольную ячейку листа программы MS Excel ввести выражение « = ЕСЛ� (А1 = 5; „пять“; „не пять“)», то при вводе числа 5 в ячейку А1 и нажатии клавиши «Enter» в ячейке А1 автоматически будет записано слово «пять», при вводе любого другого числа в ячейку А1 в ней запишется слово «не пять». Как уже отмечалось, с помощью логических функций программы MS Excel можно представить другие логические функции и соответствующие им таблицы истинности.

Реализуем с помощью логических функций ЕСЛ� и � модифицированную таблицу истинности логической функции F = А & В (конъюнкции), состоящую из двух строк и трех столбцов, которая позволяет при изменении значений (0 или 1) логических переменных А и В автоматически устанавливать, например, в ячейке Е6 значение функции F = А & В, соответствующее значениям этих логических переменных. Для этого в ячейку Е6 введем следующее выражение: «=ЕСЛ�(�(С6;D6);1;0)», тогда при вводе в ячейки С6 и D6 значений 0 или 1 в ячейке Е6 будет выполняться логическая функция F = А & В. Результат этих действий представлен на рис. 4.5.

Р рёсѓ. 4.5. р рµр°р»рёр·р°с†рёсџ рјрѕрґрёс„рёс†рёсђрѕрір°рѕрѕрѕр№ с‚р°р±р»рёс†с‹ рёсѓс‚рёрѕрѕрѕсѓс‚рё р»рѕрірёс‡рµсѓрєрѕр№ с„сѓрѕрєс†рёрё f = a & р’

Построение таблицы истинности онлайн

Какая логическая функция соответствует заданной таблице истинности

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

Калькулятор таблицы истинности, СКНФ, СДНФ, полинома Жегалкина

введите функцию или её вектор

Скрыть клавиатуру

¬

0

1

a

b

c

x

y

z

(

)

X1

X2

X3

X4

X5

X6

Показать настройки

Опускать знак конъюнкции

Построить

Построено таблиц, форм:

Как пользоваться калькулятором

  1. Введите в поле логическую функцию (например, x1 ∨ x2) или её вектор (например, 10110101)
  2. Укажите действия, которые необходимо выполнить с помощью переключателей
  3. Укажите, требуется ли вывод решения переключателем “С решением”
  4. Нажмите на кнопку “Построить”

В качестве переменных используются буквы латинского и русского алфавитов (большие и маленькие), а также цифры, написанные после буквы (индекс переменной). Таким образом, именами переменных будут: 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. Построить таблицу истинности для функции
  2. Найти все наборы аргументов, на которых функция принимает значение 1
  3. Выписать простые конъюнкции для каждого из наборов по следующему правилу: если в наборе переменная принимает значение 0, то она входит в конъюнкцию с отрицанием, а иначе без отрицания
  4. Объединить все простые конъюнкции с помощью дизъюнкции

Алгоритм построения СКНФ для булевой функции

  1. Построить таблицу истинности для функции
  2. Найти все наборы аргументов, на которых функция принимает значение 0
  3. Выписать простые дизъюнкции для каждого из наборов по следующему правилу: если в наборе переменная принимает значение 1, то она входит в дизъюнкцию с отрицанием, а иначе без отрицания
  4. Объединить все простые дизъюнкции с помощью конъюнкции

Алгоритм построения полинома Жегалкина булевой функции

Есть несколько методов построения полинома Жегалкина, в данной статье рассмотрим наиболее удобный и простой из всех.

  1. Построить таблицу истинности для функции
  2. Добавить новый столбец к таблице истинности и записать в 1, 3, 5… ячейки значения из тех же строк предыдущего столбца таблицы истинности, а к значениям в строках 2, 4, 6… прибавить по модулю два значения из соответственно 1, 3, 5… строк.
  3. Добавить новый столбец к таблице истинности и переписать в новый столбец значения 1, 2, 5, 6, 9, 10… строк, а к 3, 4, 7, 8, 11, 12… строкам аналогично предыдущему пункту прибавить переписанные значения.
  4. Повторить действия каждый раз увеличивая в два раза количество переносимых и складываемых элементов до тех пор, пока длина не станет равна числу строк таблицы.
  5. Выписать булевы наборы, на которых значение последнего столбца равно единице
  6. Записать вместо единиц в наборах имена переменных, соответствующие набору (для нулевого набора записать единицу) и объединить их с помощью операции исключающего ИЛИ.

Построим совершенные дизъюнктивную и дизъюнктивную нормальные формы, а также полином Жегалкина для функции трёх переменных 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

Таблица истинности логических операций – алгоритм построения

Какая логическая функция соответствует заданной таблице истинности

Под таблицей истинности понимают свод значений, которые может принять высказывание при сочетании различных входящих комбинаций.

Другими словами, каждому набору функций или сигналам, присутствующим на входе чего-либо, соответствует строго определённые показатели на выходе. Все значения, являющиеся всевозможными высказываниями, называют логическими выражениями.

Если в таблице последние столбцы логичных выражений идентичны, то рассматриваемый объект считается равносильным.

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

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

В 1854 году английский учёный Джордж Буль предложил метод, позволяющий проводить анализ классов и высказываний. Согласно ему, любое значение может принимать одно из двух состояний — истина или ложь.

Эти состояния принято обозначать арабскими цифрами один либо ноль или словами true и false. Это возможно из-за того, что для математики важна только истинность высказываний, а конкретное содержание второстепенно. Простые высказывания принято считать логическими переменными, а сложные — функциями логики. Выражения для упрощения записи обозначают латинскими буквами A, B, C.

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

Суждение о правильности построения таблиц истинности для логических выражений основано на учёте всех переменных и операций, последовательно выполняющихся в рассматриваемой функции. Обычно для начертания используют 2n+1 строк, где n обозначает количество входных переменных, и n+m столбцов, m — число значений на выходе.

Виды логических операций

В качестве наименьшей единицы измерения объёма данных принято считать бит. В него заносится одно из двух значений — ложь (0) или правда (1). Каждая ячейка, соответствующая биту, находится лишь в одном из этих состояний. Существуют определённые операции, используемые для действий с ячейками:

  1. AND (И) — применяется для сравнения двух бит. Результатом действия будет единица, но лишь в том случае, если значения двух ячеек одинаковое. При остальных вариантах итог будет иметь устойчивое нулевое состояние.
  2. OR (ИЛИ) — по сути, операция обратная AND. Результат становится нулевым, если содержимое двух сравниваемых бит одинаковое. В остальных случаях он равный единице.
  3. XOR (ИЛИ) — если значения, содержащиеся в двух сравниваемых битах противоположны, при выполнении логического действия результат будет равный единице. Во всех остальных случаях он будет равняться нулю.
  4. NOT (НЕ) — действие, используемое для одного бита. Если первоначально ячейка находилась в нулевом состоянии, то после выполнения над ней операции она станет равной единице и наоборот. Фактические это логическая инверсия.

Эти операции являются основными элементами при составлении таблиц истинности и получения возможного результата. На основании их построена алгебра Буля.

Некоторые элементы получаются путём объединения нескольких операций. Так, существует состояние: NAND (И-НЕ) и NOR (ИЛИ-НЕ). Первый элемент является инверсией операции «И», а второй — «ИЛИ».

На основании рассмотренных операторов строится работа всех цифровых интегральных схем.

В информатике существует своя терминология, обозначающая то или иное логическое действие. Так, AND называют операцией конъюнкции, OR — дизъюнкции, XOR — сложение по модулю 2, NOT — отрицание. Задача инженера при анализе схем или алгоритма сводится к выполнению булевой арифметики и упрощению выражений. Для этого используют различные правила и положения не требующих доказательства.

Аксиомы и законы

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

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

Поэтому и были сформулированы следующие законы:

  1. Торжества. Записывается в виде утверждения: А = А. В этом случае таблица будет состоять из двух комбинаций: ложной и правдивой. Бинарная логическая связка «Если А, то А» является материальной импликацией. Для такого варианта всегда можно сказать, что А есть А. Этот закон обозначает то, что нельзя подменять одно понятие другим, иначе возникнут логические ошибки.
  2. Противоречия. Согласно ему, утверждение, что А и НЕ-А, неверно: A & A = 0. Другими словами, если А истинное значение, то его отрицание не может быть ложным. То есть их перемножение будет всегда фальшивой операцией. Этот закон довольно часто применяется для упрощения сложных логических суждений.
  3. Третьего исключённого. Закон записывается в виде A v A = 1 и обозначает, что в один и тот же момент высказывание может быть только правдивым или ложным. То есть третьего не дано.

Эти три закона фундаментальны. Без их соблюдения сделать любое правильное утверждение невозможно.

https://www.youtube.com/watch?v=gDYzm7iAeXcu0026t=680s

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

В этом случае считается, что функция истинная лишь тогда, когда оба выражения являются верными: F = A & B. Другое логическое сложение (дизъюнкция).

Оно гласит, что если оба выражения ложны, то и логическая функция будет неверной.

Кроме того, используется закон:

  • инверсии (отрицания) — если логическое высказывание истинно, то отрицание его будет ложным выражением;
  • импликации (следования) — для всегда истинного сложного логического выражения ложь будет тогда, когда из верности следует отрицание;
  • эквивалентности (равнозначности) — выражение будет истинным лишь тогда, когда оба высказывания имеют одинаковое значение.

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

Алгоритм построения

Таблицы истинности показывают, какой вид может принять выражение при различных входящих в него значениях переменных. Для того чтобы их правильно построить и выполнить вычисление логического выражения нужно придерживаться установленного алгоритма. Построение таблиц выполняют в следующей последовательности:

  • подсчитывают количество переменных n;
  • вычисляют число строк для будущей таблицы используя формулу m = 2n+1;
  • определяют число логических операций;
  • устанавливают порядок выполнения операций в соответствии со скобками и приоритетами;
  • строят таблицу с указанием столбцов и наборов значений, заданных логических операций;
  • заполняют оставшиеся ячейки в таблице.

Для заполнения таблиц нужно упрощать выражения с учётом последовательности выполнения операций. При этом учитывать, что если значение какого-то из аргументов функции в соответствующей строке таблицы будет равное нулю, то записывать его нужно в виде отрицания.

Пример задания

Пусть необходимо построить таблицу для логического выражения F = (A → B) * (A + B). Эта формула состоит из двух логических переменных A и B и нескольких операций. Начинают построение с определения строк. Используя формулу 2n+1 для рассматриваемого примера можно установить, что их число будет: x = 22 + 1 = 5.

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

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

Согласно порядку действия над операциями их нумерацию можно представить в следующей очерёдности:

  1. Импликация в первой скобке.
  2. Инверсия во второй скобке переменной A.
  3. Отрицание во второй скобке неизвестной B.
  4. Сложение во втором члене.
  5. Конъюнкция.

В итоге получится, что столбцов будет: Y = 2 + 5 = 7. Теперь нужно построить таблицу 7Х5. В шапку первого и второго столбца вписывают переменные, а затем операции над ними. Затем в строках, соответствующих A и B нужно записать всё, что с ними может произойти. В итоге останется только правильно посчитать последний столбец.

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

Третьей и четвёртой – ноль на один, что в итоге даст ноль. Последний столбец является главным для рассматриваемой логической функции.

По нему можно узнать значение логической функции для любых форм переменных A и B.

Это довольно простая задача, содержащая всего две переменных. Но в реальности, например, в программировании, их может быть намного больше. Решать такие задания методом перебора проблематично. Поэтому при решении сложных примеров функцию вначале пытаются упростить.

Например, заданно выражение (x + y + z) * (x + y). По сути, оно записано в совершенно нормальной конъюнктивной форме. Но для приведения его к этому виду нужно, чтобы во втором выражении стояла z.

Для того чтобы её добавить необходимо обратить внимание на то, что внутри скобок стоит логическое сложение. Поэтому дописав к нему ноль, результат не изменится. Добавить ноль через z можно, как ноль умножить на НЕ z.

В итоге получится выражение (x + y + z) * (x + y + z + z), для которого, используя алгоритм составить таблицу уже не так и сложно.

Вычисления онлайн

В интернете есть сервисы, автоматически строящие таблицы истинности. Такие сайты предлагают свои услуги бесплатно и доступны даже тем, кто слабо ориентируется в теме.

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

Тем более расчёт занимает совсем небольшое количество времени.

Для того чтобы воспользоваться сайтами-калькуляторами пользователю необходимо знать обозначение операций, иметь подключение к интернету и установленный веб-обозреватель, поддерживающий Flash-технологию. Регистрацию, указание личных данных сервисы, предлагающие такого рода услуги, не требуют.

Из различных порталов можно отметить три наиболее популярных калькулятора:

  1. Allcalc.
  2. Programforyou.
  3. Uchim.

Эти сайты имеют интуитивно понятный интерфейс и что довольно полезно, на своих страницах содержат краткую теорию, используемую для составления таблиц истинности и даже примеры решений.

Урок 3: Таблицы истинности

Какая логическая функция соответствует заданной таблице истинности

План урока:

Способы решению задач по логике

Табличный способ – этапы, особенности

Сравнение методов решения

Построение таблиц истинности для различных типов задач

Построение электрических схем, реализующих логические операции

Способы решения задач по логике

Многие задачи можно решить, используя инструменты алгебры логики. Чтобы получить результат, можно пойти 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 места. Какое место заняла каждая из девочек, если есть их высказывания о победителях, но в них лишь половина информации правдива – первая или вторая половина предложения.

https://www.youtube.com/watch?v=WnpoAvQFLX8u0026t=6s

Маша Марина: «Саша заняла второе место, а Света – первое».

Полина Света: «Нет, это не так, Саша – победительница, а Галя, – на втором месте».

Ольга Саша: «Зачем вы всех путаете? Третье место за Мариной, а Света – на четвертом месте».

Составляем таблица для перебора вариантов. Правду обозначаем «1», ложь – «0».

Берем любое (Марины) утверждение и принимаем его первую часть за правду. Значит, Саша – 2 место, тогда Света не 1-ое (вторая половина фразы – ложь), остальных девочек на 2 место ставим «0».

Берем утверждение второй девочки. Так как Саша не может быть победительницей, то в этой фразе первая часть – ложь, а вторая должна быть истинной. Но в нем и вторая часть – неверна (второе место за Сашей, мы так приняли в начале).Уже на второй фразе получается противоречие всему.

Итог: Победительницей олимпиады стала Светлана, на втором месте – Галина, на третьем – Марина, на последнем из четырех – Александра.

 Построение электронных схем, реализующих логические операции

Если рассмотреть электросхемы с точки зрения логики, особенно компьютерные, то их также можно описать при помощи «1» и «0» – электричество идет или не идет по проводам.

Попробуем нарисовать логические элементы схемы питания лампочки для нескольких простых операций.

Электросхема с конъюнктором

 Рассмотрим все варианты:

  • Все контакты включены, тогда источник света горит.
  • Первый контакт в положении «выключено» – свет не горит.
  • Второй контакт выключен – лампа не светит.
  • Все контакты отключены – свет не горит.

Заключение – эта электрическая цепь реализует операцию «И».

Дизъюнктор, схема электропитания

Рассмотрим этот вид электрической цепочки:

  • Все контакты включены – лампа горит.
  • Первый контакт включен, второй выключен – свет горит.
  • Обратная ситуация – выключен первый, включен второй – лампа светится.
  • Все контакты выключены – света нет.

Заключение – такой вид электросхем соответствует логической операции «ИЛИ».

Инвертор в электросхемах

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

Заключение: схема соответствует логической операции «НЕ».

Умение читать и решать логические операции, строить соответствующие электросхемы, позволяет создавать иерархически более сложные конструкции, которые используются для реализации процессов в современных ПК.

Обозначение логических элементов

Удобно создавать электросхемы в ПО SmartNotebook, которое используется с интерактивной доской.

Поделиться:
Нет комментариев

    Добавить комментарий

    Ваш e-mail не будет опубликован. Все поля обязательны для заполнения.