Top.Mail.Ru

Операции дизъюнкции и конъюнкции в логической математике

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

В математике конъюнкция

Общие сведения

Логическая математика — дисциплина, основанная на анализе булевых выражений, которые применяются при проектировании и разработке программного обеспечения (ПО) для вычислительных систем различных типов. К последним относятся следующие: персональные компьютеры (ПК), ноутбуки, нетбуки, планшетные ПК, специализированные устройства (банкоматы, системы видеонаблюдения, электронная пожарная охрана, проект «Умный дом» и т. д. ).

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

История возникновения

Д. Булем

Изучение любой дисциплины начинается с истории развития и определений. Логическая математика была основана в XIX веке ученым Д. Булем, однако ее долгое время не признавали, считая бесполезной.

В XX веке при проектировании первых электронно-вычислительных машин (ЭВМ) возникла необходимость написания ПО. Встала проблема перевода данных на машинный язык, которая была решена внедрением в алгоритмы обработки информации математики логики. Последнюю еще называют булевой алгеброй, суть которой заключается в указании ложности или истинности логического выражения. Последнее принимает только два значения:

  1. ЛОЖЬ — 0 или FALSE.
  2. ИСТИНА — 1 или TRUE.

Логическим выражением называется математическое тождество, принимающее только два значения (0 или 1). Это и используется в построении алгоритмов для различных вычислительных систем, в которых кодирование данных происходит при помощи устройств. Последние состоят множества элементов, каждый из которых имеет только два состояния (наличие и отсутствие заряда, намагниченности, напряженности, открытие перехода полупроводникового элемента и т. д. ).

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

Операторы сопоставления

Для создания алгоритмов с ветвлением (действия, зависящие от конкретной ситуации) применяются операторы сопоставления величин. К ним можно отнести следующие: >, <, >=, <=, ==, =!, эквивалентно по типу данных (===) и не эквивалентно по типу данных (≠=).

Чтобы рассмотреть суть операторов сопоставления, нужно ввести две переменные t и s. В первом случае (со знаком более — >) выражение будет иметь следующий вид: t>s. Иными словами, оно будет эквивалентно TRUE, когда t будет больше, чем s. Например, при t=8 величина s должна принимать все значения в интервале от минус бесконечности (-inf) до 8 не включительно (любое значение, которое меньше 8).

Конъюнкция и дизъюнкция

Во втором случае ситуация противоположная предыдущей, т. е. t<s. При t=8 все значения s должны быть больше. Если в условии встречаются логические операторы <= или >=, то это означает, что одна величина должна быть больше (меньше) или равна другой. Например, тождество 3>=3 — истинно.

Иногда в алгоритмах требуется указать выполнение какой-либо операции при равенстве двух величин. Следует отметить, что не во всех языках программирования применяется ==. Примером одного из них является турбо паскаль, в котором используется знак равенства =. Во всех остальных последний — присвоение значения переменной.

Операция неравенства используется для упрощения формулировки условия. Например, в программе недопустимо значение переменной, равное 5. Чтобы обработать ошибку компилятора, необходимо указать два элемента, т. е. (t<5)&(t>5). Последнее выражение можно записать в упрощенном варианте: t ≠ 5.

Логическая математика

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

Для примера следует рассмотреть блок с программным кодом и переменной t. Она является компонентом выражения z=5t+1. Пользователь вводит с клавиатуры число 5, которое нужно проверить на эквивалентность числу, т. е. t===5 — выражение истинно. Если будет введено слово «дверь», то при равенстве выражение также будет истинно, поскольку в нем 5 букв, но это неверно и при прибавлении 1 произойдет ошибка в приложении.

Операции логики

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

Специалисты IT-сферы рекомендуют для каждой из них на отдельном листе плотной бумаги составить булевы списки. Они пригодятся при решении сложных тождеств. Следует отметить, что для каждого выражения составляется таблица. Последнее требование — обязательное условие решения любого примера по булевой алгебре. Для полного понимания материала необходимо подробно разобрать каждую операцию логической математики.

Умножение или конъюнкция

Логическая математика Д. Булем

При объединении двух условий в одно необходимо использовать булево произведение. Обозначается оно символом конъюнктора (&) и похоже на обыкновенное умножение, но только с 0 или 1. Ее запись производится в таком виде: t&s или t AND s. Кроме того, логическое умножение обладает такими свойствами:

  1. Значение TRUE только при эквивалентности всех значений единице.
  2. s&(t&p)=s&t&p.
  3. s&t&p=s&p&t=p&t&s=p&s&t=t&s&p=t&p&s.

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

Операторы сопоставления

  1. 0 AND 0=0.
  2. 0 AND 1=0.
  3. 1 AND 0=0.
  4. 1 AND 1=1.

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

  1. 0*0=0.
  2. 0*1=0.
  3. 1*0=0.
  4. 1*1=1.

Можно также вместо символа & использовать служебное слово конъюнкции «AND». В этом случае все выражения берутся в круглые или квадратные скобки, т. е. (1) AND (0)=0. Операция обладает средним приоритетом, поскольку производится после инверсии перед дизъюнкцией.

Булево сложение

Булево сложение — дизъюнкцией. Оно обозначается символом дизъюнктора | (v) или служебным словом «OR». Операция похожа на обыкновенное сложение, но при равенстве всех переменных 1 необходимо учитывать переполнение разрядной сетки. Список истинности дизъюнкции:

  1. 0 OR 0=0.
  2. 0 OR 1=1.
  3. 1 OR 0=1.
  4. 1 OR 1=1.

При рассмотрении обыкновенного алгебраического сложения можно увидеть некоторую взаимосвязь и идентичность результатов:

Умножение или конъюнкция

  1. 0+0=0.
  2. 0+1=1.
  3. 1+0=1.
  4. 1+1=1 (+1 в старший разряд).

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

  1. Только при нулевых значениях переменных получается нулевой результат.
  2. Переместительное свойство: s|t|p=s|p|t=p|t|s=p|s|t=t|s|p=t|p|s.

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

Отрицание или инверсия

Обозначение операции инверсии осуществляется при помощи символа ¬. В некоторых равенствах применяется служебное слово «НЕ» или его английский эквивалент «NOT». Список истинности имеет такой вид:

Булево сложение

  1. ¬(0)=1.
  2. ¬(1)=0.

Следует отметить, что в выражениях переменная берется в скобки, перед которыми пишется служебное слово. Для инверсии характерны операторы неравенства или неэквивалентности. Кроме того, также существует перечень определенных свойств, которые могут быть полезны при решении булевых выражений:

  1. ¬(¬t)=t.
  2. ¬(¬(¬t)=¬t.
  3. ¬(t|s)=(¬t)|(¬s).
  4. ¬(t&s)=(¬t)&(¬s).

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

Решение задачи

Использование операций логического умножения, сложения и отрицания применяется при решении задач по информатике и программированию. Например, в одной из них (самый распространенный вид заданий) требуется составить список истинности или таблицу логического тождества t&(¬s|t)|(t&0)|(1&s). Для этой цели рекомендуется воспользоваться следующим алгоритмом:

  1. Упростить: t&(¬s|t)|(t&0)|(1&s)=[t&(¬s)]v (t)|0|(1&s).
  2. Составить таблицу.
t s Результат
0 0 0
0 1 0
1 0 1
1 1 1

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

Отрицание или инверсия

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

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

Нет комментариев

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

Спасибо! Ваш комментарий появится после проверки.
Это интересно
Adblock
detector