Основы алгебра логики

Основы алгебра логики

Опубликовано: 01.04.2024

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


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

Таблица истинности — таблица, описывающая логическую функцию. Под «логической функцией» в данном случае понимается функция, у которой значения переменных (параметров функции) и значение самой функции выражают логическую истинность. Например, в двузначной логике они могут принимать значения «истина» либо «ложь» (True или 1 и False или 2). Таблицы истинности — это математические таблицы, используемые для определения функционирования логических операций в булевой алгебре, которая является основой для логических схем и программирования.

  • T обозначает Истину (True или 1)
  • F обозначает Ложь (False или 0)

Далее рассмотрим подробнее основные логические операции: конъюнкцию, дизъюнкцию, инверсию, импликацию и эквивалентность.

Конъюнкция (логическое умножение/логическое "И")

Обозначение: логический оператор И (AND), обычно обозначается символом ∧.

Определение: конъюнкция двух утверждений истинна, если оба утверждения истинны.

Допустим: A = истина (true), B = ложь (false). Тогда A ∧ B = false.

Пример:
Давайте рассмотрим пример высказывания на естественном языке, использующего конъюнкцию (логическое умножение) с переменными A и B, где A = истина (true), а B = ложь (false).

A (Истина): "На улице идет дождь."

B (Ложь): "Сегодня воскресенье."

Теперь, используя конъюнкцию (A ∧ B), мы соединяем эти два утверждения:

A ∧ B: "На улице идет дождь и сегодня воскресенье."

Поскольку A истинно (действительно идет дождь), но B ложно (сегодня не воскресенье), то вся конъюнкция A ∧ B является ложной. Это демонстрирует основное правило конъюнкции: она истинна только тогда, когда оба утверждения истинны. В нашем случае, поскольку одно из утверждений ложно, вся конъюнкция также становится ложной.

Таблица истинности для конъюнкции. True (T) - Истина, False (F) – Ложь:

А

B

A B

T

T

T

T

F

F

F

T

F

F

F

F

Дизъюнкция (логическое сложение/логическое "или")

Обозначение: ИЛИ (OR), обычно обозначается символом ∨.

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

Допустим: A = true и B = false, то A ∨ B = true.

Пример:
Давайте рассмотрим пример высказывания на естественном языке, использующего дизъюнкцию (логическое сложение) с переменными A и B, где A = истина (true), а B = ложь (false).

A (Истина): "В комнате включен свет."

B (Ложь): "На улице идет снег."

Теперь, используя дизъюнкцию (A ∨ B), мы соединяем эти два утверждения:

A ∨ B: "В комнате включен свет или на улице идет снег."

Поскольку A истинно (в комнате действительно включен свет), даже несмотря на то, что B ложно (на улице не идет снег), вся дизъюнкция A ∨ B является истинной. Это демонстрирует основное правило дизъюнкции: она истинна, если хотя бы одно из утверждений истинно. В нашем случае, поскольку одно из утверждений истинно, вся дизъюнкция также становится истинной.

Таблица истинности для дизъюнкции. True (T) - Истина, False (F) – Ложь:

А

B

A B

T

T

T

T

F

T

F

T

T

F

F

F

Инверсия (логическое отрицание/логическое "не")

Обозначение: НЕ (NOT), обычно обозначается символом ¬ или !.

Определение: инверсия утверждения истинна, если утверждение ложно, и наоборот.

Допустим: если A = true, то ¬A = false.

Пример:
Давайте рассмотрим пример высказывания на естественном языке, использующего инверсию (логическое отрицание) с переменной A, где A = истина (true).

A (Истина): "Сегодня идет дождь."

Теперь, используя инверсию, мы отрицаем это утверждение:

¬A: "Сегодня не идет дождь."

Поскольку исходное утверждение A истинно (действительно идет дождь), его инверсия ¬A будет ложной. Это демонстрирует основное правило инверсии: если утверждение истинно, то его отрицание ложно, и наоборот. В данном случае, поскольку A истинно, ¬A (отрицание A) становится ложным.

Таблица истинности для инверсии. True (T) - Истина, False (F) – Ложь:

A

¬A

T

F

F

T

Импликация (логическое следование)

Обозначение: ИМПЛИКАЦИЯ (IMPLIES), обычно обозначается символом →.

Определение: импликация A → B истинна, если из истинности A следует истинность B. Единственный случай, когда она ложна — если A истинно, а B ложно.

Допустим: если A = true и B = false, то A → B = false.

Пример:
Давайте рассмотрим пример высказывания на естественном языке, использующего импликацию (логическое следование) с переменными A и B, где A = истина (true), а B = ложь (false).

A (Истина): "Я выпил чашку кофе утром."

B (Ложь): "Я не чувствую себя бодрым."

Теперь, используя импликацию (A → B), мы формулируем следующее утверждение:

A → B: "Если я выпил чашку кофе утром, то я чувствую себя бодрым."

В данном случае, A истинно (вы действительно выпили чашку кофе утром), но B ложно (вы не чувствуете себя бодрым, несмотря на выпитый кофе). Согласно правилам импликации, если предпосылка (A) истинна, а заключение (B) ложно, то вся импликация (A → B) является ложной. Это демонстрирует, что импликация истинна во всех случаях, кроме того, когда истинная предпосылка ведет к ложному заключению.

Таблица истинности для импликации. True (T) - Истина, False (F) – Ложь:

A

B

A → B

T

T

T

T

F

F

F

T

T

F

F

T

Эквиваленция (логическое равенство)

Обозначение: ЭКВИВАЛЕНЦИЯ, обычно обозначается символом ↔.

Определение: эквиваленция истинна, если оба утверждения A и B либо истинны, либо ложны одновременно

Пример:
Рассмотрим пример высказывания на естественном языке, использующего эквиваленцию (логическое равенство) с переменными A и B.

A (Истина): "Я закончил свою работу."

B (Истина): "Я свободен на вечер."

Теперь, используя эквиваленцию (A ↔ B), мы соединяем эти два утверждения:

A ↔ B: "Я закончил свою работу тогда и только тогда, когда я свободен на вечер."

В нашем случае, если A истинно (работа действительно закончена) и B также истинно (вы действительно свободны на вечер), то эквиваленция A ↔ B является истинной. Это демонстрирует основное правило эквиваленции: она истинна, когда оба утверждения имеют одинаковую истинностную величину.

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

Таблица истинности для эквиваленции. True (T) - Истина, False (F) – Ложь:

A

B

A ↔ B

T

T

T

T

F

F

F

T

F

F

F

T

 

Приоритет операций в логических выражениях

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

  1. Инверсия (¬)
  2. Конъюнкция (∧)
  3. Дизъюнкция (∨)
  4. Импликация (→)

Пример сложного логического высказывания:

Рассмотрим выражение ¬A ∧ (B ∨ C) → D. Порядок выполнения операций будет следующим:

  1. Вычисление ¬A
  2. Вычисление B ∨ C
  3. Вычисление конъюнкции ¬A ∧ (B ∨ C)
  4. Вычисление импликации этого результата с D.

На естественном языке:

Давайте создадим пример выражения на естественном языке, используя логическую формулу ¬A ∧ (B ∨ C) → D. Для этого мы сначала определим каждую переменную как конкретное утверждение:

  1. A: "Я устал."
  2. B: "На улице солнечно."
  3. C: "Я взял зонт."
  4. D: "Я пойду на прогулку."

Теперь применим логические операции к этим утверждениям:

  1. ¬A (отрицание A): "Я не устал."
  2. B ∨ C (дизъюнкция B и C): "На улице солнечно или я взял зонт."
  3. ¬A ∧ (B ∨ C) (конъюнкция ¬A и (B ∨ C)): "Я не устал, и на улице солнечно или я взял зонт."
  4. ¬A ∧ (B ∨ C) → D (импликация вышеуказанной конъюнкции с D): "Если я не устал, и на улице солнечно или я взял зонт, то я пойду на прогулку."

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


Вам могут быть интересны материалы:

Переменная в информатике

Давайте вместе разберемся, что такое переменная в информатике и программировании?

Применение знаков (операторов) в информатике

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

Как работает модуль fnmatch с масками в python

Модуль fnmatch в Python позволяет сравнивать имена файлов и строки с шаблонами, используя символы подстановки, такие как звёздочка (*) и вопросительный знак (?). Это полезно для поиска файлов, соответствующих определённому шаблону, или для фильтрации строк по определённым критериям.


Наш сайт использует куки.
Пользуясь сайтом вы соглашаетесь
на обработку персональных данных.
Согласиться и закрыть это окно - нажмите «ОК».
OK