psilogic: (Default)
[personal profile] psilogic
Простейшие логические операции (закрепление)

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


1. Как они выражаются в естественной речи

А давайте-ка составим русско-логический и логически-русский словари. Пусть x и y – высказывания (т.е. завершенные по смыслу утверждения). Тогда вот так будут выглядеть правила перевода с языка математической логики на естественный язык и обратно:

Язык логики: “НЕ x”
Язык логики: “NOT x”
Естественный язык: “Неправда, что x.”

Язык логики: “x И y”
Язык логики: “x AND y”
Естественный язык: “x, и y.”

Язык логики: “x ИЛИ y”
Язык логики: “x OR y”
Естественный язык: “x, или y, или и то, и другое вместе.”

Язык логики: “x XOR y”
Естественный язык: “Либо x, либо y, но не то, и другое вместе.”

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

2. Логические операции как функции

Если говорить строго математически, то всякая функция – это некоторое бинарное отношение типа “гомоморфизм”. Понятия “гомоморфизм” и “бинарное отношение” подробно рассматривались в 5 параграфе. Вкратце поясню, что это значит в данном случае: для каждого аргумента (или набора аргументов) функции существует ровно одно значение. На “входе” функции задается какой-то аргумент (или аргументы), на “выходе” получаем какой-то результат.
Операции – это те же функции, просто запись немножко в другой форме. Вот, например, функция “синус”. У нее 1 аргумент, и пишется она так: “sin(x)”. А вот логическая операция отрицания. У нее тоже 1 аргумент, только пишется она без скобок: “НЕ x”. В математике есть и другие “нестандартные” формы записи. Например, факториал – тоже функция от 1 аргумента, а пишется вот так: “x!”.
Функции от двух аргументов пишутся как-нибудь так: “f(x, y)”. Пример из школьной программы – функция логарифма: “logx y”. Тоже нестандартная форма записи. Математики развлекаются по-всякому. Логические операции И, ИЛИ, XOR – это тоже функции от двух аргументов с нестандартной формой записи. Например: “x ИЛИ y”. Всякие арифметические операции, кстати, тоже функции. Например “x + y” можно было бы записать как-нибудь так: “sum(x, y)”.

3. Как их вычислять

Запоминать правила вычисления можно по-разному. Я предложу несколько способов, а вы сами выберете тот, который вам больше подойдет.

Таблицы истинности

Вы, наверное, помните еще со школы, что функции иногда можно задавать таблицами: слева – аргумент (или аргументы), справа – значение. Для табличного представления логических функций зачем-то придумали особое название: “таблицы истинности”. Наверное, это особо круто звучит.
Вот эти таблички:
x НЕ x
false true
true false


x y x И y
false false false
false true false
true false false
true true true


x y x ИЛИ y
false false false
false true true
true false true
true true true


x y x XOR y
false false false
false true true
true false true
true true false


Тут, наверное, и пояснять особо нечего. Последняя колонка – результат, остальные колонки – аргументы. Все просто.

Cловесные правила

Можно запомнить операции через простые словесные правила:
Операция “НЕ” переворачивает аргумент наоборот.
Операция “И” дает true, когда оба аргумента true. А иначе false.
Операция “ИЛИ” дает false, когда оба аргумента false. А иначе true.
Операция “XOR” дает true, когда ровно один аргумент true. А иначе false.

Правила с пересчетом

Эти операции можно описать еще и так: задать вопрос: сколько аргументов должны быть true, чтобы результат был true?
“НЕ” – ровно 0 аргументов
“XOR” – ровно 1 аргумент
“И” – ровно 2 аргумента
“ИЛИ” – от 1 до 2 аргументов



Анонс на следующий раз:
Мы рассмотрим законы поглощения. Вы увидите, как из них очень просто получаются разнообразные следствия, для которых древние философы придумывали витиеватые наименования типа "закона исключенного третьего".

Комментарий к AND

Date: 2007-03-14 12:52 pm (UTC)
From: [identity profile] ex-neo-is-fl156.livejournal.com
Язык логики: “x И y”
Язык логики: “x AND y”
Естественный язык: “x, и y.”


Мне кажется, в естественном языке "x, и y" обычно считается как бы двумя отдельными statements: "x. y." Пример: "Я сходил в кино, и жена приготовила вкусный обед". Это сложносочинённое предложение, в котором два независимых друг от друга утверждения. Если кто-нибудь спросит "правда ли это?", то обычно мы получим два ответа: "правда, в кино ходил, и неправда, обеда не было".

Для эквивалентности AND'а естественному языку я бы рекомендовал такую формулировку: "одновременно исполняются: x и y". В этом случае очевидно явное обобщение и сведение двух высказываний к одному сложному, которое будет истинно только если x и y оба истинны.

Re: Комментарий к AND

Date: 2007-03-14 12:59 pm (UTC)
From: [identity profile] alisarin.livejournal.com
Пример: "Я сходил в кино, и жена приготовила вкусный обед". Это сложносочинённое предложение, в котором два независимых друг от друга утверждения.

Это означает что существуют зоны "запрещенные для образования отношений вообще". Мы же не знаем, какое отношение имел в виду говорящий, напр., "в моей жизни сегодня два события". Т.е. между "бузиной в огороде" и "дядькой в Киеве" ... отношение есть.

Это такой ... философский комментарий. :)

Re: Комментарий к AND

Date: 2007-03-14 01:19 pm (UTC)
From: [identity profile] psilogic.livejournal.com
То рассуждение, которое ты привел, равно применимо к любому высказыванию сложной структуры. Например, можно так же говорить про "или":
"Я потерял паспорт или у меня его украли"
- правда ли это? правда, что потерял и неправда, что украли.

На самом деле не надо ничего усложнять. Мы можем говорить об истинности сложного высказывания в целом и об истинности его частей. Можно говорить об истинности X, истинности Y и истинности (X и Y).

Re: Комментарий к AND

Date: 2007-03-14 11:03 pm (UTC)
From: [identity profile] ex-neo-is-fl156.livejournal.com
Я, честно говоря, не пытаюсь философствовать, просто мысленно подставляю примеры в pattern, представляю себе что услышал их в естественной речи, и думаю, как это могло бы быть воспринято.

"Я потерял паспорт или у меня его украли" - некорректная иллюстрация, потому что у вас не было "x или y" среди примеров "естественного языка". У вас было "x, или y, или и то, и другое вместе", т.е. "я потерял паспорт, или у меня его украли, или и то, и другое вместе". Услышав эту фразу, мне кажется, средний человек, руководствуясь "бытовой логикой" догадается собрать эти два высказывания в одно сложное, и при вопросе "правда ли это?" будет судить о сложном высказывании (x OR y), а не об отдельных частях.

Может быть, я не правильно понял смысл вашей колоночки "Естественный язык: ... " ? Я его понял как "pattern, наиболее точно соответствующий логической формуле, для естественной речи".

Re: Комментарий к AND

Date: 2007-03-15 10:11 am (UTC)
From: [identity profile] psilogic.livejournal.com
[ т.е. "я потерял паспорт, или у меня его украли, или и то, и другое вместе". ]

- да, просто я немного подсократил.

[ Услышав эту фразу, мне кажется, средний человек, руководствуясь "бытовой логикой" догадается собрать эти два высказывания в одно сложное ]

Ну так и в примере с "и". Вообще, я признаю, что эффект, о котором вы сказали, существует. Возьмем длинный текст, скажем, целую главу исторической книги, описывающую происшедшие события. По идее, если там сплошь повествовательные предложения, то мы должны объединить их логическим "и". Допустим, в тексте только одно предложение не соответствует действительности. Будет ли текст в целом ложным? В быту мы так не сказали бы, а сказали бы что-то типа: это правда, за исключением ...

Но фишка в том, что "это правда, за исключением..." - это не true и не false. Тут в естественной речи проявляется использование многозначной логики, конкретно - многомерной или векторной, когда истинность некоего высказывания определяется не одним значением true/false, а вектором значений типа
(true, true, true, ... false, .... true, true, true)
- где каждый элемент вектора отражает истинность некоторой части текста.
Многомерная логика будет разновидностью нечеткой (многозначной логики). Если же рассматривать этот текст в двузначной логике, то получится false. Это "false" как бы огрубляет результат, повышает погрешность, лишает нас информации о том, сколько в тексте лжи и в каком она месте. Но с т.з. двузначной логики все будет правильно - текст ложный, т.к. имя не соотвествует вещи - описание не соответствует событиям (пусть даже в 1 пункте).

Re: Комментарий к AND

Date: 2007-03-15 11:32 am (UTC)
From: [identity profile] ex-neo-is-fl156.livejournal.com
Спасибо! Теперь у меня всё "стало на свои места".

Альтернативный вариант

Date: 2007-03-14 11:21 pm (UTC)
From: [identity profile] ex-neo-is-fl156.livejournal.com
По аналогии с "x или y, или и то, и другое вместе", предлагаю следующее уточнение к AND "x и y, но не только одно из них". В этом случае не будет явного обобщения (как в "одновременно исполняются: ...") но уточняющая добавка будет исполнять эту обобщающую функцию.

Что вы думаете на этот счёт?

Re: Альтернативный вариант

Date: 2007-03-15 10:14 am (UTC)
From: [identity profile] psilogic.livejournal.com
Мне кажется, что в операции "и" такого рода неоднозначности нет. Только одно - это уже не "и". Там есть другие неоднозначности. Иногда союз "и" несет дополнительный смысл "потом" или "из-за этого". Например: "Я украл, и меня посадили".

Date: 2007-03-15 04:57 pm (UTC)
From: [identity profile] anoubis.livejournal.com
(хихикаю) А "Параграф 78" будет?

Date: 2007-03-15 09:44 pm (UTC)
From: [identity profile] psilogic.livejournal.com
а фих его знает :)))

Date: 2007-03-16 04:03 am (UTC)
From: [identity profile] anoubis.livejournal.com
Дава-а-ай, на Куценко охота поглядеть. :)))
Page generated Aug. 22nd, 2025 12:00 am
Powered by Dreamwidth Studios