понедельник, 2 декабря 2019 г.

Операция "ИЛИ"

Высказывание "Сейчас идёт дождь или форточка открыта" истинно тогда, когда истинно хотя бы одно из входящих в него высказываний (в том числе, когда истинны оба высказывания одновременно).

В алгебре логики операция "ИЛИ" обозначается как А + В или А ∨ В, в языках программирования - А or В (Паскаль, Бейсик), в русских языках программирования - А или В, А丨丨В (Си).

Для понимания операции "ИЛИ" вы можете кликнуть по этой гиперссылке или по гиперссылке под названием "Операция ИЛИ" в колонке "Основные страницы блога". Это схема с двумя выключателями, соединёнными параллельно. Чтобы лампочка загорелась, достаточно, чтобы хотя бы один выключатель был включён. В последнем столбце таблицы истинности будет только один ноль, для варианта А = В = 0.

Операцию "ИЛИ" называют логическим сложением, потому что она похожа на обычное математическое сложение. Единственное отличие - в последней строке таблицы истинности: а математике 1 + 1 = 2, а в алгебре логики - 1. Можно считать, что в результате применения операции "ИЛИ" из исходных значений выбирается наибольшее. Другое название этой операции - дизъюнкция. 

Операция "И"

Пусть есть два высказывания: А - "Сейчас идёт дождь", В - "Форточка открыта". Сложное высказывание "А и В" выглядит так: "Сейчас идёт дождь и форточка открыта". Оно будет истинным только в том случае, когда оба высказывания А и В истинны одновременно. Для понимания операции "И" вы можете кликнуть по этой гиперссылке или по гиперссылке под названием "Операция И" в колонке "Основные страницы блога". Это схема состоящая из лампочки и соединённых последовательно двух выключателей. Чтобы лампочка горела, нужно обязательно включить оба выключателя. Вместе с тем, чтобы выключить лампочку, достаточно отключить хотя бы один выключатель.

Операция "И" в отличие от "НЕ" выполняется с двумя логическими значениями, которые мы обозначим как А и В.

Результат этой операции в алгебре логики записывают как А・В, А ∧ В или А & В. В языках программирования используют обозначения, так как А and В (Паскаль, Бейсик), А и В в русских языках программирования, А && В (Си).

В таблице истинности будет не один столбец с исходными данными, а два.

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

Операция "НЕ"

Эту операцию называют отрицанием. или инверсией. В алгебре логики всего два возможных значения (0 и 1), поэтому логическое отрицание - это переход от одного значения к другому, от 0 к 1 и наоборот. Если высказывание А истинно, то НЕ А ложно и наоборот.

Операция "НЕ" может обозначаться по-разному:
ㄱА, Ā, в языках программирования not А или не А, в языке си обозначается!А.

Операцию "НЕ" можно задать в виде таблицы:
Таблица состоит из двух частей: слева перечисляются все возможные значения исходной величины (0 и 1), а в последнем столбце записывают результат выполнения операции для каждого из вариантов. Такая таблица называется таблицей истинности.

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

Первое знакомство с логическими операциями

Высказывания бывают простые и сложные. Простые высказывания нельзя разделить на более мелкие высказывания. Примеры простых высказываний: "Сейчас идёт дождь"; "Форточка открыта". Сложные высказывания строятся из простых с помощью логических связок (операций) "И", "ИЛИ", "НЕ", "если..., то", "тогда и только тогда".

В алгебре логики высказывания обычно обозначаются  латинскими буквами. Таким образом, можно уйти от конкретного содержания высказываний, поскольку нам интересна их истинность или ложность. Например можно обозначить буквой А - высказывание "Сейчас идёт дождь", а буквой Б - высказывание "Форточка открыта". Так как высказывания могут быть истинными или ложными, введённые символы А и Б можно рассматривать как логические переменные, которые могут принимать два возможных значения: "ложь" (0) и "истина" (1). Из простых высказываний строятся сложные высказывания:

НЕ А: "Сейчас нет дождя".
НЕ Б: "Форточка открыта".
А и Б: "Сейчас идёт дождь и открыта форточка".
А или Б: "Сейчас идёт дождь или открыта форточка".

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

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

Связь логики и компьютера


В быту, мы часто употребляем слова "логика", "логично". Логика (от древнегреческого λόγος - "мысль, рассуждение") - это наука о том, как правильно рассуждать, делать выводы, доказывать утверждения.

Логика - это наука о законах и формах правильного мышления.

Аристотель (384-322 гг. до н. э.)
В естественном языке рассуждения связаны с самыми разными предметами и понятиями, и поэтому исследовать всё это многообразие достаточно сложно. Древнегреческий философ Аристотель стал основоположником формальной логики, которая отвлекается от конкретного содержания понятий и изучает общие правила построения правильных выводов из известной информации, которая считается истинной. Формальная логика изучает логические высказывания.

Логическое высказывание - это повествовательное предложение, про которое можно однозначно сказать, истинно оно или ложно.

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

1) Сейчас идёт дождь.
2) Вчера жирафы улетели на север.
3) Красиво!
4) Который час?
5) В городе N живут более 2 млн. человек.
6) Посмотрите на улицу.
7) У квадрата 10 сторон, и все разные.
8) История - интересный предмет.

Здесь высказываниями являются предложения 1, 2 и 7, остальные не удовлетворяют определению. Утверждения 3 и 4 - это не повествовательные предложения. В предложении 5 не хватает конкретики. Предложение 6 - призыв к действию. 8 кто-то посчитает истинным, а кто- то ложным, здесь нет однозначности. 

Так какая же связь между логикой и компьютерами? В классической формальной логике высказывание может быть истинно или ложно, третий вариант исключается. Однако существуют неклассические логические системы, например трёхзначная логика, где кроме "истинно" и "ложно" есть ещё состояние "не определено" (или "невозможно").

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

Дж. Буль (1815-1864)
Важный шаг в этом направлении сделал английский математика Джордж Буль. Он предложил применить для исследования логических высказываний математические методы. Позже этот раздел математики получил название алгебра логики или алгебра высказываний.

Алгебра логики - это математический аппарат, с помощью которого записывают, вычисляют, упрощают и преобразуют логические высказывания.

Алгебра логики определяет правила выполнения операций с логическими величинами, которые могут быть обозначены как 0 ("ложь") и 1 ("истинна"), т. е. с двоичными данными. Используя эти правила, можно строить запоминающие элементы в компьютере и выполнять арифметические действия. О том, как это делается, вы узнаете далее.

Ответьте для себя на следующие вопросы:

1) Объясните значение слов "логика", "формальная логика", "алгебра логики".
2) Чем отличается формальная логика от "обычной", "бытовой"?
3) Что такое высказывание?
4) Можно ли считать высказываниями следующие предложения:
  • Не плачь!
  • Почему я такой?
  • Купите слоника!
  • Клубника очень вкусная.
  • Сумма X и Y равна 36.