Реферат: Лобанов Владимир Иванович, вед научн сотрудник фгуп «цнии «Комета», к т. н., e mail : lobanov V i @ mail ru


Лобанов Владимир Иванович, вед.научн.сотрудник ФГУП «ЦНИИ «Комета», к.т.н., e-mail:lobanov-v-i@mail.ru.
Русская логика в информатике (Букварь математической логики).
Аннотация

Данная брошюра в популярной форме знакомит читателей с наиболее значимыми разделами Русской логики, которая опровергает многие постулаты классической логики, являясь на сегодня единственной истинно математической логикой. Автор обвиняет современных матлогиков в невежестве и безграмотности. Брошюра рассчитана на школьных преподавателей математики и информатики, но может быть освоена и школьниками 5-7-ых классов. Брошюра весьма полезна преподавателям и студентам вузов, а также всем профессорам и академикам.
Предисловие
Знает ли хоть кто-нибудь математическую логику? Вы сами ответите на этот вопрос, пройдя тестирование по следующему вопроснику.

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

Как работать с картой Карно на 8 и более переменных?

Что такое метод обобщённых кодов Мавренкова?

Что можно вычислить с помощью кванторного исчисления?

Алгебра множеств и алгебра логики. Назовите различия.

Логика предикатов и логика суждений. В чём разница?

Физический смысл и вывод формулы импликации.

Фигуры и модусы Аристотеля. В чём их практическая ценность?

Правильны ли правила посылок в силлогистике?

Как выглядят аналитические представления для Axy, Exy и Ixy?

В чём смысл логики П.С. Порецкого?

В чём главное достижение логики Л. Кэрролла?

Что такое вероятностная логика?

Что такое 4-значная комплементарная логика?

Как решаются логические уравнения?

Что такое логическое вычитание и деление?

Как найти обратную логическую функцию?

Ответы на эти вопросы вы найдёте в «РВЛ», которую можно бесплатно скачать с моего сайта http://logicrus.ru или сайта РГБ http://www.rsl.ru . На этих же сайтах вы сможете прочесть основополагающую работу Платона Сергеевича Порецкого.

Преподавание логики в русской школе имеет достаточно давние традиции. Этот предмет в качестве основного впервые ввёл в гимназиях и Академии великий русский учёный М.В. Ломоносов. С тех пор логику в обязательном порядке изучали в гимназиях России и по указанию Сталина в 1946 – 1957 гг. (после смерти Сталина с 1953г. по 1957г. – по «инерции») в школах СССР. Причём в дореволюционной гимназии на логику отводилось вдвое больше времени, чем на математику. А русские математики были, есть и, я надеюсь, будут сильнейшими математиками в мире. Но для этого нужно восстановить старую русскую математическую школу, уничтоженную академиком Колмогоровым и его последователями. Для начала убрать всю макулатуру по математике современных авторов и вернуть в среднюю школу учебники выдающегося математика и педагога Киселёва Андрея Петровича. Затем следует возродить преподавание логики, начиная с четвёртого класса. При этом нужно иметь в виду, что математическая логика является фундаментом искусственного интеллекта (ИИ), стратегического направления науки 21-го века. К сожалению, математическую логику в объёме классической преподают невежественно даже в ведущих вузах России: МГТУ, МФТИ, МГУ. Во всяком случае, Порецкого П.С., который создал истинно математическую логику в 1884 году, там не знают, т.е. его работ не понял ни один математик мира. Это свидетельство невежества, безграмотности и бестолковости. Получается, что мы, Русские – иваны, не помнящие родства. Россия может и должна гордиться Порецким, решившим проблему, с которой всё человечество не справилось за 25 веков.

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

Автор предлагаемого пособия – нормальная посредственность в мышлении, поэтому русским преподавателям математики стыдно будет не освоить (или опровергнуть) «Русскую логику в информатике». Не верьте ни единому утверждению в Русской логике. Возражайте, опровергайте, но аргументированно.

^ Логика дисциплинирует мышление. Ещё Гераклит говорил, что учить нужно многомыслию, а не многознанию. Не путайте Божий дар с яичницей: телевизионные «знатоки» - это не мыслители, они зарабатывают деньги не «своим собственным умом», а совсем противоположным местом.

Все мои книги и многие статьи выложены в открытом доступе на указанных в перечне литературы сайтах [1].

Материал этой брошюры прошёл апробацию в 5«А» классе СШ №3 г.Москвы. Это обычная нематематическая средняя школа. Были проведены 4 двухчасовых занятия ознакомительного курса. Пятиклассники активно и с большим интересом осваивали Русскую логику.

Нормальная программа-минимум должна выглядеть следующим образом.

№п/п

Вид занятий

Тема и краткое содержание занятий

Кол-во

часов

Дом.

Зад.

Раз-

делы

1

Урок

Предмет логики. Алгебра логики.

2




1.1-1.2

2

Урок

Синтез логических функций

4

ДЗ1

1.3-1.5

3

Семинар

Синтез логических функций

2

ДЗ2

1.1-1.5

4

Урок

Законы логики суждений

2

ДЗ3

2

5

Семинар

Законы логики суждений

2

ДЗ4

2

6

Урок

Силлогистика

2

ДЗ5

3

7

Семинар

Силлогистика

2

ДЗ6

3

8

Контр.работа




2




1-3



^ 1. Алгебра логики 1.1 Основные положения алгебры логики

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

В алгебре логики (булевой алгебре) переменные могут принимать два значения: 1 (истинно) или 0 (ложно). Для двух аргументов существуют 16 логических функций (операций, логических действий). Полная система этих функций(z0 – z15) для двух аргументов(x,y) показана в таблице.




Над переменными в основном производятся три логических действия: сложение, умножение, отрицание (инверсия), что соответствует функциям ИЛИ, И, НЕ. Все функции в булевой алгебре могут быть описаны с помощью таблицы истинности. В нижеследующих таблицах описаны функции И(z1), ИЛИ(z7),НЕ(z12).



Вместо функции И часто используется термин «конъюнкция», вместо функции ИЛИ - термин «дизъюнкция». Вместо функции НЕ употребляется термин «инверсия» или «отрицание». Для двоичной логики понятия «инверсия» и «отрицание» эквивалентны.

При написании логических формул для функции И используются следующие символы: &, Λ, точка или ее отсутствие; для функции ИЛИ - V, +. Функция НЕ обозначается штрихом над аргументом. Мы для обозначения отрицания будем использовать апостроф. Таким образом, можно записать:

z1= x2& x1= x2 Λ x1= x2x1z7= x2V x1= x2+ x1

z12= x’

Какой смысл имеют логические функции И, ИЛИ, НЕ. Поясним это на примерах. Пусть школьник принял решение: « Я пойду в кино, если выучу уроки и покатаюсь на лыжах». Обозначим через f1 – «я пойду в кино», x1 – «я выучу уроки», x2 – «я покатаюсь на лыжах». Тогда решение школьника будет записано в виде логической формулы так:

f1= x2x1.

Родители заявили ученику: «Ты посмотришь телефильм, если перед этим покатаешься на лыжах или поиграешь в хоккей». Пусть f2 – «посмотришь телефильм», x1 – «покатаешься на лыжах», x2 – «поиграешь в хоккей». Тогда заявление родителей можно представить в виде логической формулы так:

f2= x2+x1.

Тренер сказал футболисту-юниору: «Ты останешься в команде, если у тебя не будет двоек». Пусть f3 – «ты останешься в команде», x – «будут двойки», тогда приказ тренера выразится следующей формулой: f3= x’.
^ 1.2 Основные законы алгебры Буля.

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

1 + a = 1; 0 + a = a; a & 1 = a; a & 0 = 0; a + a’ = 1.

Эти соотношения легко проверяются по таблице истинности для логической функции ИЛИ подстановкой 0 или 1 вместо аргумента a.





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

а) Переместительный закон

а + в = в + а; ав = ва

б) Сочетательный закон

( а + в ) + с = а + ( в + с) ; ( ав )с = а(вс)

в) Распределительный закон

а( в + с ) = ав + ас ; а + вс = (а + в)( а+с )

г) Закон поглощения

а + ав = а( 1 + в ) = а ; а( а + в ) = а + ав = а

д) Закон склеивания

ав + ав’ = а(в + в’) = a & 1 = a; ( а + в )(а + в’) = а

е) Идемпотентный закон

a + a = a; a & a = a

Вышеприведённые законы легко проверяются подстановкой 0 и 1 вместо аргументов a, b, c.

ё) Правила де Моргана

Эти правила справедливы для любого числа аргументов.

а + в + с + .... + z = ( а’в’с’...z’ )’

авс... = ( а’ + в’ + с’ + ... + z’ )’

Правила можно описать таким алгоритмом.

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

1) проинвертировать все слагаемые в отдельности;

2) заменить знаки сложения знаками умножения;

3) проинвертировать получившееся выражение.

Аналогично выполняется переход от логического произведения к логической сумме. В инженерной практике используются лишь правила де Моргана и закон склеивания.

Кроме основных функций И(f1), ИЛИ(f2), НЕ(f3), в алгебре логики часто используются функции равнозначности (эквивалентности) и неравнозначности (сумма по модулю 2). Для обозначения этих функций применяют следующие символы: равнозначность - ~ и =, сумма по модулю 2 -  и ≠. Содержание этих функций отражено в таблице.



Смысл этой таблицы прост: если a = b, то функция равнозначности z9 = 1. Если же a  b, то z9= 0, а функция неравнозначности z6 = 1. Для того, чтобы по таблице истинности построить булеву функцию, достаточно выписать все наборы входных переменных и представить их в виде логической суммы. Если какая-либо переменная входит в набор нулём, то она в символьном виде отображается своей инверсией.

Из таблицы получаем:

z9= а ~ в = 00 + 11 = а’в’ + ав – равнозначность;

z6= a  в = 01 + 10 = а’в + ав’ – сумма по модулю 2, или неравнозначность.

Из таблицы видно, что

z9= z6’ или z9’ = z6.

Таким образом,

а’в’ + ав = ( ав’ + а’в )’, или

а~в = ( а  в )’, а  в = (а~в)’.


^ Особое место в алгебре логики занимает функция импликации: a→b = a’+b. Переводится приведённая формула импликации на русский язык так: если истинно a, то b тоже истинно. Например, пусть a – я выучу все энциклопедии, а b – обыграю всех телезнатоков. Тогда запись a→b будет означать следующее суждение: если я выучу все энциклопедии, то обыграю всех телезнатоков.

Все вышеприведённые правила и законы даны не для запоминания-зубрёжки, а в качестве справочного материала. Нужно никогда не забывать, что главным инструментом является Ваша светлая голова, Ваше мышление.

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

Задача 1.1.

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

Решение.

Пусть f - функция большинства голосов. f = 1, если большинство членов комиссии проголосовало за приём абитуриента, и f = 0 в противном случае.

Обозначим через x4 голос председателя комиссии. x4 = 1, если председатель комиссии проголосовал за приём абитуриента. x3, x2, x1- голоса членов приёмной комиссии.

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

Заполнение таблицы осуществляем с учётом того, что функция f является полностью определённой, т.е. она определена на всех возможных наборах переменных x1- x4. Для n входных переменных существует N = 2n наборов переменных. В нашем примере N = 24 = 16 наборов.

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

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

Все наборы, на которых функция принимает значение 1 , будем называть единичными, или рабочими. Наборы, на которых функция принимает значение 0, будем называть нулевыми, или запрещенными (по Мавренкову Л.Т.).

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




Таким образом,

f = 0111+1001+1010+1011+1100+1101+1110+1111

или в символьном виде

f = x4’x3x2x1+x4x3’x2’x1+x4x3’x2x1’+x4x3’x2x1+x4x3x2’x1’+x4x3x2’x1+

+x4x3x2x1’+x4x3x2x1

Полученная форма функции называется совершенной дизъюнктивной нормальной формой (СДНФ), здесь каждое логическое слагаемое представляет собой конъюнкцию всех аргументов. В случае, когда не каждое слагаемое представляет собой конъюнкцию всех аргументов, то такая форма представления логической функции называется просто ДНФ. Очевидно, применяя основные законы булевой алгебры, мы могли бы аналитически уменьшить сложность полученного выражения. Но это наихудший способ минимизации булевых функций.
1.4.Минимизация полностью определённых булевых функций.
Карты Карно позволяют решить задачу минимизации логической функции элегантно и просто. Карно был толковым инженером (кстати, за 30 лет я так и не нашёл его биографии: узнал только, что это американец 20-го столетия), но поленился или не сумел описать алгоритм работы со своими картами. Поэтому до сих пор неблагодарное человечество не научилось работать с ними. Алгоритм работы с картами Карно (этот алгоритм не известен ни одному логику в мире) был разработан автором более 30 лет назад [2 - 10]. Здесь алгоритм приводится в сокращённом варианте.
^ Алгоритм «НИИРТА» графической минимизации булевых функций от 4-х и менее переменных.
1. Заполнить карту Карно (КК) нулями и единицами в соответствии с таблицей истинности или заданным алгебраическим выражением.

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

3. Каждому прямоугольнику Карно соответствует одна импликанта (логическое слагаемое), причём если в границах прямоугольника Карно какая-либо переменная принимает значения как 0 , так и 1 , то эта переменная склеивается, т.е. удаляется из импликанты.

Под прямоугольником Карно (этот термин пришлось ввести в 1977г.) для не более чем от 4-х аргументов, можно понимать любую, в том числе и разорванную, симметричную фигуру покрытия, количество клеток (элементарных прямоугольников Карно) в которой составляет целую степень двойки: 1, 2, 4, 8. Все клетки ПК являются соседними, т.е. закодированы соседними кодами. Два кода называются соседними, если они отличаются друг от друга только в одном разряде. Например, коды 1010 и 1011 являются соседними.

На нижеприведённом рисунке даны примеры КК и прямоугольников Карно для различного числа аргументов.

На КК для 4-х переменных представлены два прямоугольника Карно, один из которых (Р) является разорванной фигурой покрытия. На КК для 6 переменных изображены прямоугольники Карно A – G, K, M, N, большинство из которых также являются разорванными фигурами покрытия. Общее для всех свойство - симметричность по Лобанову [2 - 4], необходимое и достаточное условие для определения ПК.

В современной логике появились попытки представить ПК просто фигурой покрытия с 2n клетками КК. Пример фигур покрытия, содержащих 23 клеток КК и не являющихся прямоугольниками Карно, представлен на следующем рисунке. Фигуры М и N не обладают симметричностью по Лобанову.








Решение задачи 1.1 с помощью карты Карно представлено на рисунке.



Из карты Карно получено соотношение:

f = x4x1+ x4x2+ x4x3+ x3x2x1

Это выражение представляет собой пример минимальной дизъюнктивной нормальной формы (МДНФ). В некоторых случаях приведение результата минимизации к скобочной форме (вынесение общего множителя за скобки) позволяет уменьшить количество интегральных схем (ИС), необходимых для реализации булевой функции. Скобочная форма для f имеет вид:

f = x4(x1+ x2+ x3) + x3x2x1

Смысл скобочной формулы прост: за абитуриента должны проголосовать либо все 3 члена комиссии, либо хотя бы один из них, но совместно с председателем.
^ Формы задания булевых функций.
Об одной форме задания булевых функций мы уже говорили - это таблица истинности. Иногда применяется более компактная запись, использующая двоичные, восьмеричные, десятичные или шестнадцатеричные эквиваленты наборов. Это так называемые обобщённые коды. Например, набор x4x3x2’x1’ может быть представлен обобщённым двоичным кодом 1100 , десятичным эквивалентом которого является число 12. Удобнее всего 8-чные и 16-чные коды. Автором создана Паскаль-программа синтеза псевдослучайных кодов для задания произвольных булевых функций при проведении семинаров или контрольных работ. Эту программу можно разработать самостоятельно или найти её на сайте http://logicrus.ru [7].

Поскольку мы будем работать с функциями не более чем от 4-х переменных, то нам пригодится таблица перевода 10-чисел от 0 до 15 в двоичные коды.



Десятичное

число

Двоичное

число

Десятичное

число

Двоичное

число

0

0000

8

1000

1

0001

9

1001

2

0010

10

1010

3

0011

11

1011

4

0100

12

1100

5

0101

13

1101

6

0110

14

1110

7

0111

15

1111



Задание 1.

Найти минимальную форму полностью определённых булевых функций, заданных 10-чными рабочим наборами (число в скобках указывает количество переменных):

1-1) РН(4) = 0, 1, 5, 7 - 9, 13, 15

1-2) РН(4) = 4, 6, 8, 10, 13

1-3) РН(4) = 1 - 8

1-4) РН(4) = 7 - 15

1-5) РН(4) = 3 – 15

1-6) РН(3) = 1, 3, 5, 7

^ 1.5. Минимизация недоопределённых булевых функций

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


Задача 1.5.1.

Найти минимальную форму функции y от 4-х аргументов, заданную десятичными рабочими (РН) и запрещёнными (ЗН) наборами:

РН(4): 1, 2, 9;

ЗН(4): 7, 13.

Решение.

Функция задана только на 5 наборах (число в скобках указывает количество переменных). Добавим к трём рабочим наборам ещё пять, а именно : 0000, 0011, 1000, 1011, 1010. Все оставшиеся наборы доопределим как запрещённые. В результате такого доопределения получим прямоугольник Карно, состоящий из 8 элементарных квадратов Карно. Этому прямоугольнику соответствует функция:

y = х3’



Задание 2.


2-1. Построить по заданной таблице истинности 2/(2-10) преобразователь для делителя частоты на 24, работающего в коде 16-8-4-2-1. Этот преобразователь использовался на заре цифровой схемотехники в радиолюбительских электронных часах.

x4x3x2x1x0

y5y4

y3y2y1y0

x4x3x2x1x0

y5y4

y3y2y1y0

0 0 0 0 0

0 0

0 0 0 0

0 1 1 0 0

0 1

0 0 1 0

0 0 0 0 1

0 0

0 0 0 1

0 1 1 0 1

0 1

0 0 1 1

0 0 0 1 0

0 0

0 0 1 0

0 1 1 1 0

0 1

0 1 0 0

0 0 0 1 1

0 0

0 0 1 1

0 1 1 1 1

0 1

0 1 0 1

0 0 1 0 0

0 0

0 1 0 0

1 0 0 0 0

0 1

0 1 1 0

0 0 1 0 1

0 0

0 1 0 1

1 0 0 0 1

0 1

0 1 1 1

0 0 1 1 0

0 0

0 1 1 0

1 0 0 1 0

0 1

1 0 0 0

0 0 1 1 1

0 0

0 1 1 1

1 0 0 1 1

0 1

1 0 0 1

0 1 0 0 0

0 0

1 0 0 0

1 0 1 0 0

1 0

0 0 0 0

0 1 0 0 1

0 0

1 0 0 1

1 0 1 0 1

1 0

0 0 0 1

0 1 0 1 0

0 1

0 0 0 0

1 0 1 1 0

1 0

0 0 1 0

0 1 0 1 1

0 1

0 0 0 1

1 0 1 1 1

1 0

0 0 1 1



2-2. Построить 4-входовой сумматор для суммирования одноразрядных двоичных чисел по заданной таблице истинности.

x4x3x2x1

y2y1y0

x4x3x2x1

y2y1y0

0 0 0 0

0 0 0

1 0 0 0

0 0 1

0 0 0 1

0 0 1

1 0 0 1

0 1 0

0 0 1 0

0 0 1

1 0 1 0

0 1 0

0 0 1 1

0 1 0

1 0 1 1

0 1 1

0 1 0 0

0 0 1

1 1 0 0

0 1 0

0 1 0 1

0 1 0

1 1 0 1

0 1 1

0 1 1 0

0 1 0

1 1 1 0

0 1 1

0 1 1 1

0 1 1

1 1 1 1

1 0 0


1.6. Практикум по синтезу и минимизации логических функций.

Задача 1.2.

Полностью определённая булева функция от 4-х переменных задана десятичными рабочими наборами: РН(4) = 5, 6, 7, 8, 9, 10, 11.Число в скобках указывает количество переменных. Найти минимальную форму этой функции.

Решение.

Так как функция является полностью определённой, то запрещёнными наборами ЗН(4) являются наборы 0 - 4, 12 - 15. Исходя из этой информации, составляем таблицу истинности и осуществляем минимизацию по карте Карно.


Таблица 4.


РН(4)

x4x3x2x1

f

5

0 1 0 1

1

6

0 1 1 0

1

7

0 1 1 1

1

8

1 0 0 0

1

9

1 0 0 1

1

10

1 0 1 0

1

11

1 0 1 1

1




ЗН(4)

x4x3x2x1

f

0

0 0 0 0

0

1

0 0 0 1

0

2

0 0 1 0

0

3

0 0 1 1

0

4

0 1 0 0

0

12

1 1 0 0

0

13

1 1 0 1

0

14

1 1 1 0

0

15

1 1 1 1

0


По карте Карно получаем результат: f = x4x3’ + x4’x3(x1+ x2)




Задача 1.3.

Найти минимальную форму функции y, представленной на рисунке.

Решение.

Функция задана только на 7 наборах. Добавим к пяти рабочим наборам ещё три, а именно : 0000, 1000, 1011. Все оставшиеся наборы доопределим как запрещённые. В результате такого доопределения получим прямоугольник Карно, состоящий из 8 элементарных квадратов Карно. Этому прямоугольнику соответствует функция: y = x3’





Задача 1.4.

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

x4x3x2x1

y5y4y3y2y1

x4x3x2x1

y5y4y3y2y1

0 0 0 0

0 0 0 0 0

0 1 1 0

0 0 1 1 0

0 0 0 1

0 0 0 0 1

0 1 1 1

0 0 1 1 1

0 0 1 0

0 0 0 1 0

1 0 0 0

0 1 0 0 0

0 0 1 1

0 0 0 1 1

1 0 0 1

0 1 0 0 1

0 1 0 0

0 0 1 0 0

1 0 1 0

1 0 0 0 0

0 1 0 1

0 0 1 0 1

1 0 1 1

1 0 0 0 1


Решение.

Для каждой функции yi заполняем карту Карно, производим доопределение и осуществляем минимизацию. Весь процесс отражён на рисунке.

В результате минимизации получаем систему функций:

y1= x1y2= x4’x2y3= x3y4= x4x2’ y5= x4x2



Задача 1.5.

Построить один разряд многоразрядного сумматора, заданного таблицей истинности. Здесь ai и вi - значения i-ых разрядов слагаемых а и в , Pi и Si - значения переноса и суммы на выходе i-го разряда, Pi-1 - значение переноса на выходе предыдущего разряда.


aiвiPi-1

Pi

Si

0 0 0

0

0

0 0 1

0

1

0 1 0

0

1

0 1 1

1

0

1 0 0

0

1

1 0 1

1

0

1 1 0

1

0

1 1 1

1

1


Решение.

Имеем систему полностью определённых булевых функций. Производим раздельную минимизацию каждой функции (см. рисунок).



Из карт Карно после минимизации получаем следующие результаты.

Si= ai’вi’Pi-1+ ai’вiPi-1’ + aiвi’Pi-1’ + aiвiPi-1

Pi= вiPi-1+ aiPi-1+ aiвi
^ 2. Законы логики суждений
Суждение – это повествовательное предложение, которое может быть истинным или ложным. Логика суждений изучает законы правильных рассуждений. Автор не открывает здесь ничего нового, но, излагая данный материал, хочет показать всю простоту выводов данных законов, следовательно, и их никчёмность: незачем заучивать десятки правил, если доказательство столь примитивно. Всё дело в том, что в классической логике доказательство построено на громоздком аппарате таблиц истинности, а мы будем использовать формулу импликации и карту Карно.
^ Алгоритм «Импульс».
Алгоритм инженерного анализа законов логики суждений чрезвычайно прост:

1)произвести замену всех знаков импликации на символы дизъюнкции в соответствии с известной формулой x  y = x’ + y;

2)привести полученное выражение к ДНФ;

3)занести ДНФ в карту Карно и убедиться, что она вся покрыта единицами – это свидетельствует об истинности проверяемого закона или суждения.

Воспользуемся перечнем импликативных законов для проверки алгоритма «Импульс».

Законы импликативных выражений.

1.Закон исключённого третьего: p или неверно, что p.

В переводе на язык логики этот закон выглядит так: p + p’ = 1. Проверяется простой подстановкой.

2.Закон непротиворечивости: неверно, что [р и не р].

На языке логики: p & p’ = 0. Это равенство также проверяется тривиальной подстановкой.

3.Закон двойного отрицания: если [не (не р)], то р.

Необходимо доказать, что (p’)’  p = 1.Доказательство основано на двойном отрицании и импликации: (p’)’  p = p  p = p’ + p = 1.

4.Обратный закон двойного отрицания: если р, то [не (не р)].

p  (p’)’= p’ + p = 1.

5.Закон контрапозиции: если (если р, то q), то [если (не q), то(не р)].

(p  q)  (q’  p’) = (p’ + q)  (q + p’) = pq’ + p’ + q = 1.

6.Законы, характеризующие конъюнкцию.

6.1.Если (р и q), то (q и р): pq  qp = (pq)’ + pq = 1.

6.2.Если (р и q),то р: (pq)  p = (pq)’ + p = p’ + q’ + p = 1.

6.3.Если (р и q), то q: (pq)  q = (pq)’ + q = p’ + q’ + q = 1.

6.4.Если р, то [если q, то (p и q)]: p  (q  pq) = p’ + q’ + pq = 1.

7.Законы импликативных суждений.

7.1.Если [(если р, то q) и (если р,то r)], то [если р, то(q и r )].

[(p  q)(p  r)]  (p  qr) = [(p’ + q)(p’ + r)]’ + p’ + qr =

= (p’+qr)’+p’+qr = 1.

7.2.Если [(если р, то q) и (если r,то s)],то [если(р и r),то (q и s)].

[(pq)(rs)]  (prqs) = [(p’+q)(r’+s)]’+p’+r’+qs = pq’+rs’+p’+r’+qs = 1.

7.3.Если [(если р, то q) и (если q, то r)],то (если р, то r).

[(pq)(qr)]  (pr) = pq’+qr’+p’+r = 1.

7.4.Если [(если р, то q) и (если r, то q)],то [если (р или r), то q].

[(pq)(rq)]  [(p+r) q] = pq’+rq’+p’r’+q = 1.

8.Законы, характеризующие дизъюнкцию.

8.1.Если (р или q), то (q или p).

(p+q)  (q+p) = (p+q)’+(p+q) = 1.

8.2.Если (р или q), то (если не р, то q).

(p+q)  (p’q) = p’q’+p+q = 1.

Закон Лобановой С.В.

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

Проверим Русскую логику (РЛ) на задачах Катречко (Катречко С. Л. Введение в логику. – М.: УРАО, 1997.):

Задача 2.1.

Если в суффиксе данного полного прилагательного или причастия пишется два н, то они пишутся и в соответствующем наречии. Неверно, что в суффиксе данного наречия пишется два н. Следовательно, в суффиксе полного прилагательного или причастия, из которого образовалось наречие, пишется одно н.

Решение.

X – в причастии два н,

Y – в полном прилагательном два н,

Z – в наречии два н.

((x+y)  z)z’  x’y’ = (x’y’+z)z’  x’y’ = x’y’z’  x’y’ = x+y+z+x’y’ = 1.

Мы доказали заданное заключение.


Задача 2.2.

Он сказал, что придёт, если не будет дождя (а на его слова можно полагаться). Но идёт дождь. Значит, он не придёт.

Решение.

X – он придёт,

Y – нет дождя.

М = (y  x)y’  x’ = (y’+x)y’  x’ = y’  x’ = y+x’  1.

Следовательно, вывод был опрометчивым.


Задача 2.3.

Если равнодействующая всех сил, действующих на движущееся тело, не равна 0, то оно движется неравномерно или непрямолинейно, так как известно, что если эта равнодействующая равна 0, то тело движется равномерно и прямолинейно.

На этом примере покажем важность правильной и полной формулировки задачи.

Решение.

Проверим это утверждение. Введём следующие обозначения:

X – равнодействующая всех сил равна 0,

Y – движение равномерно, Z - движение прямолинейно.

Тогда по алгоритму “Импульс” получим:

(x  yz)  (x’  (y’+z’)) = (x’+yz)  (x+y’+z’) = x(y’+z’)+x+y’+z’ =

= x+y’+z’  1.

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

(x  yz)(yz x)  (x’  (y’+z’)) = (x’+yz)((yz)’+x)  (x+y’+z’)=

= x(yz)’+x’yz+x+y’+z’ = 1.

В данном случае результат соответствует законам физики.

Большое количество примеров и задач по логике суждений можно найти в [5].


2.1. Практикум по логике суждений.

Задача 2.1.1.

Джонс утверждает, что не встречал этой ночью Смита. Если Джонс не встречал этой ночью Смита, то либо Смит был убийцей, либо Джонс лжёт. Если Смит не был убийцей, то Джонс не встречал его этой ночью, а убийство было совершено после полуночи. Если убийство было совершено после полуночи, то либо Смит был убийцей, либо Джонс лжёт. Следовательно, убийцей был Смит.

Решение.

X – Джонс не встречал Смита, Y – Смит – убийца,

Z – убийство было совершено после полуночи.

(x  ( y+x’))(y’  xz)(z  (y+x’))  y = (x’+y)(y+xz)(z’+y+x’)  y =

xy’+y’(x’+z’)+xy’z+y = 1.

Т. е. Смит – убийца.


Задача 2.1.2 [12, с.79, №78].

По обвинению в ограблении перед судом предстали А, В и С. Установлено следующее:

Если А не виновен или В виновен, то С виновен.

Если А не виновен, то С не виновен.

Можно ли установить виновность каждого из трёх подсудимых?

Решение.

Обозначим через a, b, c виновность А, В и С. Тогда получим полную единицу системы в виде:

M = ((a’+b) → c)(a’ → c’) = (ab’+c)(a+c’) = ab’+ac.

Подозреваемый А виновен безусловно.

Задача 2.1.3.

Прямые a и b или параллельны, или пересекаются, или скрещиваются. Если прямые a и b лежат в одной плоскости, то они не скрещиваются. Прямые a и b лежат в одной плоскости и не пересекаются. Следовательно, прямые a и b параллельны.

Решение.

X – прямые параллельны,

Y – прямые пересекаются,

Z – прямые скрещиваются,

U – прямые лежат в одной плоскости.

(xy’z’+x’yz’+x’y’z)(u  z’)uy’  x = (xy’z’+x’yz’+x’y’z)(u’+z’)uy’  x =

(xy’z’+x’yz’+x’y’z)’+uz+u’+y+x = 1.


Задача 2.1.4 [12, с.76, №72].

Подозреваемые А, В и С были вызваны для допроса. Установлено следующее:

Никто, кроме А, В и С, в хищении не замешан.

А никогда не идёт на дело без по крайней мере одного соучастника.

С не виновен.

Виновен или не виновен В?

Решение.

Обозначим через a, b, c виновность А, В и С. Тогда получим полную единицу системы в виде:

M = (a+b+c)(a → (abc’+ab’c+abc))c’ = (a+b+c)(a’+b+c)c’ = (a+b+c)(a’c’+bc’) = bc’.

Итак: В виновен безусловно, но, возможно, виновен и А.


Задача 2.1.5.

Известно, что, если данный многоугольник правильный, то в него можно вписать окружность.

Данный многоугольник правильный, следовательно, в него можно вписать окружность.

В данный многоугольник нельзя вписать окружность, следовательно, он неправильный.

В данный многоугольник можно вписать окружность, следовательно, он правильный.

Проверить эти утверждения.

Решение.

X – многоугольник правильный, Y – в многоугольник можно вписать окружность.

(x  y)x  y = (x’+y)x  y = xy  y x’+y’+y = 1.

(x  y)y’  x’ = (x’+y)y’  x’ = x’y’+x’ x+y+x’ = 1.

(x  y)y  x = (x’+y)y  x = y  x y’+x  1.

Действительно, в некоторые трапеции можно вписать окружность, но от этого они не станут правильными многоугольниками.


Задача 2.1.6.

Если число делится на 4, то оно чётное. Число – чётное. Значит, оно делится на 4.

Решение.

X – число делится на 4, Y – число чётное.

(x  y)y  x = (x’+y)y  x = y  x = y’+x  1.


Задача 2.1.7.

Если бы он не пошёл в кино, то он не получил бы двойки. Если бы он подготовил домашнее задание, то не пошёл бы в кино. Он получил двойку. Значит, он не подготовил домашнее задание.


Решение.

x – пошёл в кино, y – получил двойку, z – подготовил домашнее задание.

(x’  y’)(z  x’)y  z’ = (x+y’)(z’+x’)y  z’ = x’y+xz+y’+z’ = 1.


Задача 2.1.8.

Если аргументы некоторого рассуждения истинны, а его тезис не является таковым, то рассуждение не является правильным. Данное рассуждение правильно и его аргументы истинны. Следовательно, его тезис является истинным.


Решение.

X – аргументы верны, Y – тезис верен, Z – рассуждение верно.

(xy’  z’)xz  y = (x’+y+z’)xz  y = xyz  y = x’+y’+z’+y = 1.


Задача 2.1.9 [12, с.27, №29].

На острове живут только лжецы и рыцари. Рыцари всегда говорят правду, а лжецы всегда лгут. Смаллиан спросил у жителей А и В, кто они. Предположим, что А ответил: « Или я лжец, или В рыцарь». Кто из двух персонажей А и В рыцарь и кто лжец?

Решение.

a – А – рыцарь, b – В - рыцарь .

Вар.1.

a(a’+b)  a’(a’+b)’ = ab  a’ab’ = ab.

Вар.2.

[a  (a’+b)][a’  (a’+b)’] = (a’+a’+b)(a+ab’) = (a’+b)a = ab.

Оба варианта дали правильный ответ: персонажи А и В – рыцари. Каждый вариант решения занимает всего одну строчку. У Смаллиана эта процедура растягивается на две страницы [12, c.33 – 35], что говорит о безграмотности и бестолковости Смаллиана: весь использованный нами математический аппарат в его время был уже известен. Кроме того, Смаллиан просит связку ИЛИ-ИЛИ считать обыкновенной дизъюнкцией, хотя на самом деле это разделительное ИЛИ, т.е. «сумма по модулю 2».


Задача 2.1.10.

Если Джон - автор этого слуха, то он глуп или беспринципен. Следовательно, если Джон не глуп или не лишён принципов, то он не является автором этого слуха.

Решение.

X – Джон – автор слуха, Y – Джон глуп, Z – Джон беспринципен.

(x  (y+z))  ((y’+z’)  x’) = (x’+y+z)  (yz+x’) = xy’z’+yz+x’  1.

Джон может быть автором вздорного слуха, т.е. заключение неверно.


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

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

Рассмотрим достаточно очевидный пример силлогизма:

Все люди талантливы.

Все школьники – люди.

Все школьники талантливы.

Здесь общим термином является слово «люди», крайние термины – «талантливые» и «школьники». Это очень простой силлогизм: полученное заключение, связывающее крайние термины, «Все школьники талантливы» не вызывает сомнений. Чуть посложнее задачка – и все «ло
еще рефераты
Еще работы по разное