ЛОГИКА В ИНФОРМАТИКЕ. ВВЕДЕНИЕ В МАТЕМАТИЧЕСКУЮ ЛОГИКУ ЛОГИКА (ОТ ДР.ГРЕЧЕСКОГО ΛΟΓΟΣ — МЫСЛЬ) — НАУКА О СПОСОБАХ РАССУЖДЕНИЯ ПРИ ДВИЖЕНИИ К ИСТИНЕ Пример логической задачи: Пока трое мудрецов спали под деревом, озорной ребенок покрасил их головы в красный цвет. Проснувшись, каждый мудрец обнаружил дело рук ребенка на головах своих друзей. Естественно они начали смеяться. Внезапно один замолчал. Почему? Ответ: Мудрец перестал смеяться потому, что понял, что его голова тоже раскрашена. Этому предшествовали следующие мысли: Допустим головы покрашены, только у двоих других мудрецов, но тогда вскоре один из них поймет, что его голова раскрашена, ведь если бы это было не так, то мудрецу с раскрашенной головой не было бы над чем смеяться. Но мудрецы не перестают смеяться, значит, моё допущение неверно, и моя голова тоже раскрашена. (Ещё один пример логики, на этот раз женской: Таких, как я, немного: только я... ) Логика - инструмент анализа логических схем. ИММАНУИ́Л КАНТ (НЕМ. IMMANUEL KANT [КЁНИГСБЕРГ) — НЕМЕЦКИЙ ФИЛОСОФ, РОДОНАЧАЛЬНИК НЕМЕЦКОЙ КЛАССИЧЕСКОЙ ФИЛОСОФИИ. Логика, развиваемая с помощью математических методов, получила название математической логики. Эта наука исследует соотношения между основными понятиями математики, на основе которых доказывается истинность математических утверждений. Формы мышления Мышление всегда осуществляется в каких - либо формах. Важными формами мышления являются: ◦ Понятия (например, треугольник, компьютер). Понятие фиксирует основные, существенные признаки объекта. ◦ Высказывания – суждения, выраженные в форме повествовательных предложений. Высказывание может быть либо истинно, либо ложно. Например, сумма углов в треугольнике равна 180 градусам. (В геометрии Евклида это высказывание является истинным, а в геометрии Лобачевского - ложным) Простому высказыванию поставим в соответствие логическую переменную Х (У, Z), которая принимает значение 1, если высказывание истинно, и 0, если высказывание ложно. Например: «Два умножить на два равно четырем» истинное высказывание, ему соответствует значение логической переменной 1: Х=1. « Два умножить на два равно пяти» - ложное высказывание, ему соответствует значение логической переменной 0: У=0. Высказывание, состоящее из нескольких простых высказываний, которые связаны с помощью логических союзов «И», «ИЛИ», «ЕСЛИ, ТО» и др., является сложным. Пример: Солнце встало (Х), и птицы запели (У). Булевы функции: логические выражения и логические операции Каждое сложное высказывание можно выразить в виде формулы, в которую войдут логические переменные (Х, У и т.д.) и знаки логических операций (, и т.д.). Пример: Х У Любое логическое выражение можно рассматривать как логическую функцию, аргументами которой являются логические переменные. И сама функция, и аргументы могут принимать только два значения: «истина» или «ложь» – 0 или 1. Функции такого вида называются булевыми по имени Джорджа Буля (1815-1864), английского математика и логика (отца Этель Лилиан Войнич). Джордж Буль (1815-1864) английский математик и логик Булева алгебра (алгебра ключей) – теоретическая основа построения телефонных сетей. Телефонистка за работой, фотография предположительно начала XX века Унарные функции (операции) Унарные функции имеют один аргумент. Отрицание - логическая операция инверсии (логическое "НЕТ"), результатом которой является суждение «противоположное» исходному. Обозначается X или Х, читается не X, удобно представить в виде таблицы: X 0 1 X 1 0 ЛОЖЬ = 0, ИСТИНА = 1 или X ЛОЖЬ ИСТИНА X ИСТИНА ЛОЖЬ Унарные функции (операции) продолжение Повторение - тождественная функция, логическое "ДА". Таблица истинности: X 0 1 X 0 1 Тождественный ноль, тождественная ложь, тождественное "НЕТ". Таблица истинности: X 0 1 0 0 0 Унарные функции (операции) продолжение Тождественная единица, тождественная истина, тождественное "ДА". Таблица истинности: X 0 1 1 1 1 Все четыре унарные функции можно представить в одной таблице: X 0 X X 1 0 0 1 0 1 1 0 0 1 1 Унарные функции (операции) продолжение Пример. Пусть аргументы унарной функции описывают состояние погоды: Х = 1 – светит солнце (хорошая погода), а Х = 0 –дождливая погода (плохая погода). Пусть результаты унарной функции описывают поведение детей с различными характерами и, поэтому, с разными отношениями к прогулкам: Y = 1 – ребенок гуляет на улице, Y = 0 – ребёнок сидит дома. Тогда таблица примет вид: Погода «домосед» «упрямец» «послушный» плохая сидит дома хорошая гуляет сидит дома сидит дома «гулёна» сидит дома гуляет гуляет гуляет Бинарные функции Бинарные функции имеют два аргумента Дизъюнкция (логическое «ИЛИ», логическое сложение) логическая операция по своему применению максимально приближённая к союзу «или» в смысле «или то, или это, или оба сразу». Обозначается X Y (или X Y), читается X или Y, удобно представить в виде таблицы истинности: X 0 0 1 1 Y 0 1 0 1 XY 0 1 1 1 Пример: Пусть Х=1, Y=-1, если 1<Х<3 или Y<0, то Х=Х+1; иначе Х=Х-2 Выражение А=(1<Х<3)=ЛОЖЬ, выражение B=(Y<0)=ИСТИНА, выражение C=AB=ИСТИНА. Следовательно, Х=2. Бинарные функции продолжение Конъюнкция (логическое "И", логическое умножение) логическая операция, по своему применению максимально приближённая к союзу "и". Обозначается X Y (или X Y, X & Y), читается X и Y, таблица истинности: X 0 0 1 1 Y 0 1 0 1 XY 0 0 0 1 Пример: Х=1, Y=-1, если 1<Х<3 и Y<0, то Х=Х+1; иначе Х=Х-2 Выражение А=(1<Х<3)=ЛОЖЬ, выражение B=(Y<0)=ИСТИНА, выражение C=AB= ЛОЖЬ. Следовательно, Х=-1. Бинарные функции продолжение Штрих Шеффера (операция И-НЕ) — обозначается X | Y, таблица значений: X 0 0 1 1 Генри Морис Шеффер (1882 — 1964) американский логик Y 0 1 0 1 X|Y 1 1 1 0 Штрих Шеффера можно выразить через отрицание и конъюнкцию: X | Y = (X Y) Чтобы это показать, построим таблицу для конъюнкции и инвентируем результат: X 0 0 1 1 Y 0 1 0 1 XY 0 0 0 1 (X Y) 1 1 1 0 Бинарные функции продолжение Стрелка Пирса (операция ИЛИ-НЕ) — означает «ни X, ни Y», обозначается X ↓ Y, таблица значений: X 0 0 1 1 Чарльз Сандерс Пирс (1839 — 1914), американский философ, логик, математик. Y 0 1 0 1 X↓Y 1 0 0 0 Стрелку Пирса можно выразить через отрицание и дизъюнкцию: X ↓ Y = (X Y) Чтобы это показать, построим таблицу для дизъюнкции и инвентируем результат: X 0 0 1 1 Y 0 1 0 1 XY 0 1 1 1 (X Y) 1 0 0 0 Бинарные функции продолжение Импликация (implication (англ.) - следствие, вывод) логическая операция, по своему применению приближенная к союзам «если… то…». Обозначается X Y (или X Y), таблица истинности: X Y XY 0 0 1 0 1 1 1 0 0 1 1 1 Пример: "Житейская" модель импликации: Х — начальник. Он может приказать "работай" (1) или сказать "делай что хочешь" (0). Y — подчиненный. Он может работать (1) или бездельничать (0). В таком случае импликация — послушание подчиненного начальнику. Послушания нет только тогда, когда начальник приказывает работать, а подчиненный бездельничает. Пример: если фигура А квадрат, то фигура А — прямоугольник (1,0,0). Бинарные функции продолжение Эквивалентность — логическая операция. Обозначается X ≡ Y (или X ↔ Y), означает «X то же самое, что Y», «X эквивалентен Y», «X тогда и только тогда, когда Y». Таблица истинности: X 0 0 1 1 Y 0 1 0 1 X≡Y 1 0 0 1 Тождественный ноль, тождественная ложь, тождественное "НЕТ". Таблица истинности: X 0 0 1 1 Y 0 1 0 1 0 0 0 0 0 Бинарные функции продолжение Тождественная единица, тождественная истина, тождественное "ДА". Таблица истинности: X 0 0 1 1 Y 0 1 0 1 1 1 1 1 1 Все названные бинарные функции можно представить в одной таблице X Тождественная единица, тождественная истина, Y 0 XY XY X|Y X↓Y XY X≡Y тождественное "ДА". Таблица истинности: 1 0 0 0 0 0 1 1 1 1 1 0 1 0 1 0 1 0 1 0 1 1 0 0 1 0 1 0 0 0 1 1 1 0 1 1 0 0 1 1 1 Есть и другие бинарные операции. Всего бинарных операций - 16. Тернарные функции Среди логических функций трёх аргументов (X,Y,Z) широко известной является мажоритарная функция, на основе которой в своё время строились комбинационные схемы элементов вычислительной техники. Мажоритарная функция Fm принимает значение «истина», в тех случаях, когда два или три её аргумента истинны. Иными словами, таблица истинности функции отражает торжество большинства единиц. Отсюда и название – мажоритарная, т.е. отображающая большинство X 0 0 0 0 1 1 1 1 Y 0 0 1 1 0 0 1 1 Z 0 1 0 1 0 1 0 1 Fm 0 0 0 1 0 1 1 1 Некоторые свойства логических операций Среди логических функций трёх аргументов (X,Y,Z) широко известной является мажоритарная функция, на основе которой в своё время строились комбинационные схемы элементов вычислительной техники. Мажоритарная функция Fm принимает значение «истина», в тех случаях, когда два или три её аргумента истинны. Иными словами, таблица истинности функции отражает торжество большинства единиц. Отсюда и название – мажоритарная, т.е. отображающая большинство X Y Z Fm 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 1 1 1 1 1 Некоторые свойства логических операций СВОЙСТВО коммутативность (переместительный закон) ассоциативность (сочетательный закон) дистрибутивность (распределительный закон) закон двойного отрицания закон исключения третьего законы де Моргана (общая инверсия ) Закон непротиворечия Правила исключения констант: 1) Для логического сложения, 2) Для логического умножения. Раскрытие импликации Раскрытие эквивалентности ДЛЯ ЛОГИЧЕСКИХ ОПЕРАЦИЙ XY=YX XY=YX (X Y) Z= X (Y Z) (X Y) Z= X (Y Z) X (Y Z) =(XY) (XZ) Х=Х Х Х = 1 (X Y) = Х Y (X Y) = Х Y Х Х = 0 Х 1 = 1, Х 0 = X Х 1 = Х, Х 0 = 0 X→Y=XY X↔Y=(XY)(XY) АНАЛОГИЯ ДЛЯ ОПЕРАЦИЙ С ЧИСЛАМИ a+b=b+a ab = ba (a + b) + c = a + (b + c) (ab)c = a(bc) a(b + c) = ab + ac -(-a) = a Законы легко проверяются с помощью таблиц истинности для обеих частей равенств на всех наборах переменных. Пример: законы де Моргана можно проверить, построив таблицу значений для: (X Y), Х Y, (X Y), Х Y Огастес де Морган (1806-1871), шотландский математик и логик, учитель Ады Лавлейс. X Y (XY)=X↓Y X Y Х Y 0 0 1 1 0 1 0 1 1 0 0 0 1 1 0 0 1 0 1 0 1 0 0 0 X Y (XY)=X|Y X Y Х Y 0 0 1 1 0 1 0 1 1 1 1 0 1 1 0 0 1 0 1 0 1 1 1 0 Приоритет логических операций Пример. ¬АВСD = (( ¬ А) В) (С D). -A B+C D = ((- A) B) + (C D) приоритет логических операций 1) инверсия 2) конъюнкция 3) дизъюнкция приоритет для операций с числами 1) отрицание 2) умножение 3) сложение Операции одного приоритета выполняются слева направо. Для изменения порядка действий используются скобки. №411 «По крайней мере, в одной из этих аудиторий размещается кабинет информатики» №412 «Кабинет физики находится в другой аудитории» Решение логических задач с помощью теории булевых функций Условия логической задачи следует записать в виде логической функции. Далее упрощают полученную формулу, что приводит к ответу. Пример: На кафедре биофизики в каждой из двух аудиторий может находиться либо кабинет информатики, либо кабинет физики. На дверях аудиторий студенты-шутники повесили таблички, про которые известно, что либо они обе истинны, либо ложны. На первой аудитории повесили табличку « По крайней мере, в одной из этих аудиторий размещается кабинет информатики», а на второй аудитории – табличку с надписью «Кабинет физики находится в другой аудитории». Определите, какой кабинет размещается в каждой из аудиторий. Переведем условие задачи на язык алгебры логики. Так как в каждой из аудиторий может находиться кабинет информатики, то пусть: А – « В первой аудитории находится кабинет информатики» В – « Во второй аудитории находится кабинет информатики» Отрицания этих высказываний: А – « В первой аудитории находится кабинет физики» B – « Во второй аудитории находится кабинет физики» Высказывания на табличках: На первой двери – « По крайней мере, в одной из этих аудиторий размещается кабинет информатики», соответствует логическому выражению: Х=АВ На второй двери - «Кабинет физики находится в другой аудитории»: У= А Содержащееся в условии задачи утверждение о том, что надписи на табличках одновременно истинные, соответствуют функции эквивалентности: (Х ↔ У) = 1 Раскроем функцию эквивалентности: (ХУ ) ( ХУ) = 1 Подставим вместо Х и У соответствующие им выражения: ((АВ) А ) ( (АВ)А) = 1 Упростим первую и вторую части выражения отдельно: (АВ) А =( А А) ( В А) , в соответствии с правилом дистрибутивности. В соответствии с законом непротиворечия: ( А А) ( В А) = 0 ( В А) В соответствии с правилом исключения констант: 0 (В А) = ( В А) В соответствии с законом Де Моргана и законом двойного отрицания: ( (АВ)А) = (АВА) = (А А В) В соответствии с законом непротиворечия: (А А В) = (0 В) = 0 В результате преобразования первого и второго слагаемых получаем: ( В А) 0 = 1 В соответствии с правилом исключения констант: ( В А) = 1 Что означает, что справедливы следующие высказывания: В – « Во второй аудитории находится кабинет информатики», А – « В первой аудитории находится кабинет физики». Логические схемы Компьютеры выполняют программы (или алгоритмы). При выполнении программы логические элементы компьютера оперируют с сигналами, представляющими собой электрические импульсы. На вход логического элемента поступают сигналы – аргументы, на выходе появляются сигналы-функции. Преобразование сигнала логическим элементом задаётся фактически таблицей истинности, соответствующей логической функции (с ними мы уже познакомились). Любая логическая функция может быть представлена в виде комбинации трёх базовых, поэтому логические схемы компьютера, производящие обработку или хранение информации, могут быть собраны из базовых логических элементов, как из кирпичиков. •«Кирпичик» - ВЕНТИЛЬ В компьютерах первого поколения логические схемы делали на электронных лампах, в компьютерах второго поколения - на транзисторах, сейчас для создания логических схем используют большие интегральные схемы. Базовые логические элементы реализуют три базовые логические операции: Логический элемент «И»(конъюнктор) – логическое умножение; Логический элемент «ИЛИ»(дизъюнктор) – логическое сложение; Логический элемент «НЕ» (инвертор) – инверсию. дизъюнктор XY конъюнктор XY инвертор X Пример: Схемы, выполняющие бинарные функции, изображены в таблице: дизъюнктор XY конъюнктор XY штрих Шеффера (X Y) стрелка Пирса (X Y) В компьютерах первого поколения логические схемы делали на электронных лампах, в компьютерах второго поколения - на транзисторах, сейчас для создания логических схем используют большие интегральные схемы. Рассмотрим подробнее принцип работы логического элемента «И» (Рис. 1.1): На входы Х1 и Х2 логического элемента подаются четыре пары сигналов, а на выходе получается последовательность из четырёх сигналов, значения которых определяются в соответствии с таблицей истинности операции логического умножения. Простейшей моделью логического элемента «И »может быть электрическая схема, состоящая из источника тока, лампочки и двух выключателей. Из схемы видно, что если оба выключателя замкнуты (на обоих входах 1), по цепи идёт ток и лампочка горит (на выходе 1). Если хотя бы один выключатель разомкнут (на одном из входов 0), то тока нет и лампочка не горит (на выходе 0) Логические схемы А И А В ИЛИ НЕ В Устимкина Л.И., ББСОШ №1 40 В третьем устройстве в качестве переключателя используются автоматический ключ. Когда тока в цепи ключа нет, пластинка замыкает контакты и лампочка горит. Если на ключ подать напряжение, то вследствие явления электромагнитной индукции пластинка прижимается к электромагниту и цепь размыкается. Лампочка не горит. Правило построения логических схем. 1) Определить число логических переменных. 2) Определить количество базовых логических операций и их порядок 3) Изобразить для каждой логической операции соответствующий ей вентиль. 4) Соединить вентили в порядке выполнения логических операций. Пример. Построить логическую схему соответствующую логическому выражению AvBA . Решение: AvBA = Av(BA). Сначала строим конъюнктор BA. Выход конъюнктора и вход А - входы для следующего дизъюнктора: Решение: Первым (слева) стоит конъюнктор BС. Выход конъюнктора и А - входы для следующего дизъюнктора Av(BС). Последним стоит инвентор. Получаем: (AvBC). Пример логической схемы персонального компьютера, разработанного А.Ф.Волковым из г. Днепродзержинска в 1985 г. и печатная плата машины Pentagon - 1024 SL, реализованная на базе ПЛИС FPGA EP2C8Q208C8N . pentagon.nedopc.com Этапы конструирования логического устройства. Конструирование логического устройства состоит из следующих этапов: 1. Построение таблицы истинности по заданным условиям работы проектируемого узла (т.е. по соответствию его входных и выходных сигналов). 2. Конструирование логической функции данного узла по таблице истинности, ее преобразование (упрощение), если это возможно и необходимо. 3. Составление функциональной схемы проектируемого узла по формуле логической функции. Обработка любой информации на компьютере сводится к выполнению процессором различных арифметических и логических операций. Для этого в состав процессора входит так называемое арифметико-логическое устройство (АЛУ). Оно состоит из ряда устройств, построенных на рассмотренных выше логических элементах. Важнейшими из таких устройств являются триггеры, полусумматоры, сумматоры, шифраторы, дешифраторы, счетчики, регистры.