47
ЛОГИКА В ИНФОРМАТИКЕ. ВВЕДЕНИЕ В МАТЕМАТИЧЕСКУЮ ЛОГИКУ

Логика в информатике. Введение в математическую логику

  • Upload
    morton

  • View
    56

  • Download
    0

Embed Size (px)

DESCRIPTION

Логика в информатике. Введение в математическую логику. Логика (от др.греческого λογος — мысль) — наука о законах человеческого мышления. - PowerPoint PPT Presentation

Citation preview

Page 1: Логика в информатике.  Введение в математическую логику

ЛОГИКА В ИНФОРМАТИКЕ. ВВЕДЕНИЕ В МАТЕМАТИЧЕСКУЮ ЛОГИКУ

Page 2: Логика в информатике.  Введение в математическую логику

ЛОГИКА (ОТ ДР.ГРЕЧЕСКОГО ΛΟΓΟΣ — МЫСЛЬ)

— НАУКА О ЗАКОНАХ

ЧЕЛОВЕЧЕСКОГО МЫШЛЕНИЯ

Page 3: Логика в информатике.  Введение в математическую логику

Пример логической задачи: Пока трое мудрецов спали под деревом, озорной ребенок покрасил их головы в красный цвет. Проснувшись, каждый мудрец обнаружил дело рук ребенка на головах своих друзей. Естественно они начали смеяться. Внезапно один замолчал. Почему?

Page 4: Логика в информатике.  Введение в математическую логику

Логика, развиваемая с помощью математических методов, получила название математической логики.

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

Page 5: Логика в информатике.  Введение в математическую логику

Формы мышления◦Понятия (например, треугольник,

компьютер). Понятие фиксирует основные, существенные признаки объекта.

◦ Простые высказывания – суждения, выраженные в форме повествовательных предложений. Высказывание может быть либо истинно, либо ложно.

Простому высказыванию поставим в соответствие логическую переменную Х (У, Z), которая принимает значение 1, если высказывание истинно, и 0, если высказывание ложно.

Page 6: Логика в информатике.  Введение в математическую логику

Например: «Два умножить на два равно

четырем» - истинное высказывание, ему соответствует значение логической переменной 1: Х=1.

« Два умножить на два равно пяти» - ложное высказывание, ему соответствует значение логической переменной 0: У=0.

Page 7: Логика в информатике.  Введение в математическую логику

Сложные высказыванияВысказывание, состоящее из

нескольких простых высказываний, которые связаны с помощью логических союзов «И», «ИЛИ», «ЕСЛИ, ТО» и др., является сложным.

Пример: Солнце встало (Х), и птицы запели (У).

Page 8: Логика в информатике.  Введение в математическую логику

Логические выражения и логические операцииЛогическое выражение можно

рассматривать как логическую функцию, аргументами которой являются логические переменные.

Функция и аргументы могут принимать только два значения: «истина» или «ложь» – 0 или 1.

Функции такого вида называются булевыми по имени Джорджа Буля (1815-1864).

Джордж Буль

(1815-1864) английский математик и

логик

Page 9: Логика в информатике.  Введение в математическую логику

Унарные функции (операции)Унарные функции имеют один аргумент.Отрицание - логическая операция инверсии

(логическое «НЕТ», «противоположное» исходному. Обозначается X или Х, читается «не X». Таблицы истинности:

X X0 11 0

X XЛОЖЬ ИСТИНА

ИСТИНА ЛОЖЬ

ЛОЖЬ = 0, ИСТИНА = 1 или

Page 10: Логика в информатике.  Введение в математическую логику

Бинарные функцииБинарные функции имеют два аргумента

Дизъюнкция (логическое «ИЛИ», логическое сложение) - логическая операция по своему применению максимально приближённая к союзу «или» в смысле «или то, или это, или оба сразу».

Обозначается X Y (или X Y), читается « X или Y». Таблица истинности:

X Y X Y0 0 00 1 11 0 11 1 1

Page 11: Логика в информатике.  Введение в математическую логику

Бинарные функциипродолжение

Конъюнкция (логическое "И", логическое умножение) - логическая операция, по своему применению максимально приближённая к союзу "и". Обозначается X Y

(или X Y, X & Y), читается « X и Y», таблица истинности:

X Y X Y0 0 00 1 01 0 01 1 1

Page 12: Логика в информатике.  Введение в математическую логику

Бинарные функциипродолжение

Штрих Шеффера (операция И-НЕ) — обозначается X | Y, таблица значений:

X Y X | Y0 0 10 1 11 0 11 1 0

Штрих Шеффера можно выразить через отрицание и конъюнкцию: X | Y = (X Y)Чтобы это показать, построим таблицу для конъюнкции и инвентируем результат:

X Y X Y (X Y)0 0 0 10 1 0 11 0 0 11 1 1 0

Генри Морис Шеффер (1882 —

1964) американски

й логик

Page 13: Логика в информатике.  Введение в математическую логику

Бинарные функциипродолжение

Стрелка Пирса (операция ИЛИ-НЕ) — означает «ни X, ни Y», обозначается X ↓ Y, таблица значений:

X Y X ↓ Y0 0 10 1 01 0 01 1 0

Стрелку Пирса можно выразить через отрицание и дизъюнкцию:X ↓ Y = (X Y) Чтобы это показать, построим таблицу для дизъюнкции и инвентируем результат:

X Y X Y (X Y)0 0 0 10 1 1 01 0 1 01 1 1 0

Чарльз Сандерс

Пирс (1839 — 1914),

американский философ,

логик, математик.

Page 14: Логика в информатике.  Введение в математическую логику

Бинарные функциипродолжение

Импликация (implication (англ.) - следствие, вывод) - логическая операция, по своему применению приближенная к союзам «если… то…». Обозначается X Y (или X Y), таблица истинности:

X Y X Y0 0 10 1 11 0 01 1 1

Пример: если фигура А квадрат, то фигура А — прямоугольник

Page 15: Логика в информатике.  Введение в математическую логику

Бинарные функциипродолжение

Эквивалентность — логическая операция. Обозначается X ≡ Y (или X ↔ Y), означает «X то же самое, что Y», «X эквивалентен Y», «X тогда и только тогда, когда Y». Таблица истинности:

X Y X ≡ Y0 0 10 1 01 0 01 1 1

Page 16: Логика в информатике.  Введение в математическую логику

Все названные бинарные функции можно представить в одной таблице

Тождественная единица, тождественная истина, тождественное "ДА". Таблица истинности:

X Y 0 X Y X Y X | Y X ↓ Y X Y 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.

Page 17: Логика в информатике.  Введение в математическую логику

Тернарные функции Функция трёх аргументов Fm = Fm(X,Y,Z) - широко

известная мажоритарная функция. Мажоритарная функция (отображающая большинство) Fm принимает значение «истина», в тех случаях, когда два или три её аргумента истинны. Иными словами, таблица истинности функции отражает торжество большинства единиц.

X Y Z Fm

0 0 0 00 0 1 00 1 0 00 1 1 11 0 0 01 0 1 11 1 0 11 1 1 1

Page 18: Логика в информатике.  Введение в математическую логику

Алгебра логикиСВОЙСТВО ДЛЯ ЛОГИЧЕСКИХ ОПЕРАЦИЙ АНАЛОГИЯ ДЛЯ ОПЕРАЦИЙ С ЧИСЛАМИ

коммутативность (переместительный закон)

X Y = Y XX Y = Y X

a + b = b + aab = ba

ассоциативность (сочетательный закон)

(X Y) Z= X (Y Z)(X Y) Z= X (Y Z)

(a + b) + c = a + (b + c)(ab)c = a(bc)

дистрибутивность (распределительный закон) X (Y Z) =(XY) (XZ) a(b + c) = ab + ac

закон двойного отрицания Х=Х -(-a) = a

закон исключения третьего Х Х = 1

законы де Моргана (общая инверсия )

(X Y) = Х Y (X Y) = Х Y

Закон непротиворечия Х Х = 0

Правила исключения констант:1) Для логического сложения,2) Для логического умножения.

Х 1 = 1, Х 0 = XХ 1 = Х, Х 0 = 0

Раскрытие импликации X→Y=XY

Раскрытие эквивалентности X↔Y=(XY)(XY)

Page 19: Логика в информатике.  Введение в математическую логику

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

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

(X Y), Х Y, (X Y), Х Y

X Y (XY)=X↓Y X Y Х Y

0 0 1 1 1 10 1 0 1 0 01 0 0 0 1 01 1 0 0 0 0

X Y (XY)=X|Y X Y Х Y

0 0 1 1 1 10 1 1 1 0 11 0 1 0 1 11 1 0 0 0 0

Огастес де Морган

(1806-1871),

шотландский

математик и логик.

Page 20: Логика в информатике.  Введение в математическую логику

Приоритет логических операций

Пример. ¬ А В С D = (( ¬ А) В) (С D).

- A B + C D = ((- A) B) + (C D)

приоритет логических операций приоритет для операций с числами

1) инверсия 2) конъюнкция 3) дизъюнкция

1) отрицание 2) умножение 3) сложение

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

Page 21: Логика в информатике.  Введение в математическую логику

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

логической функции. Далее упрощают полученную формулу, что приводит к

ответу. Пример: На кафедре биофизики в каждой из двух аудиторий

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

Page 22: Логика в информатике.  Введение в математическую логику

Переведем условие задачи на язык алгебры логики.

Так как в каждой из аудиторий может находиться кабинет информатики, то пусть:

А – « В первой аудитории находится кабинет информатики»

В – « Во второй аудитории находится кабинет информатики»

Отрицания этих высказываний: А – « В первой аудитории находится

кабинет физики» B – « Во второй аудитории находится

кабинет физики»

Page 23: Логика в информатике.  Введение в математическую логику

Высказывания на табличках: На первой двери – « По крайней мере, в одной из этих аудиторий

размещается кабинет информатики», соответствует логическому выражению:

Х = А В На второй двери - «Кабинет физики находится в другой

аудитории»: У = А Содержащееся в условии задачи утверждение о том, что надписи

на табличках одновременно истинные, соответствуют функции эквивалентности:

(Х ↔ У) = 1 Раскроем функцию эквивалентности: (ХУ ) ( ХУ) = 1

Подставим вместо Х и У соответствующие им выражения: ((АВ) А ) ( (АВ)А) = 1

Упростим первую и вторую части выражения отдельно: (АВ) А =( А А) ( В А) , в соответствии с правилом

дистрибутивности. В соответствии с законом непротиворечия: ( А А) ( В А) = 0 ( В А) В соответствии с правилом исключения констант: 0 (В А) = ( В А)

Page 24: Логика в информатике.  Введение в математическую логику

В соответствии с законом Де Моргана и законом двойного отрицания:

( (АВ)А) = (АВА) = (А А В) В соответствии с законом непротиворечия: (А А В) = (0 В) = 0 В результате преобразования первого и второго слагаемых

получаем: ( В А) 0 = 1 В соответствии с правилом исключения констант: ( В А) = 1 Что означает, что справедливы следующие

высказывания: В – « Во второй аудитории находится кабинет

информатики», А – « В первой аудитории находится кабинет

физики».

Page 25: Логика в информатике.  Введение в математическую логику

Логические схемы Компьютеры выполняют программы (или алгоритмы).

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

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

•«Кирпичик» - ВЕНТИЛЬ

Page 26: Логика в информатике.  Введение в математическую логику

Базовые логические элементы реализуют три базовые логические

операции:Логический элемент «И»(конъюнктор) –

логическое умножение;Логический элемент «ИЛИ»(дизъюнктор)

– логическое сложение;Логический элемент «НЕ» (инвертор) –

инверсию.

дизъюнкторX Y

конъюнкторX Y

инвертор X

Page 27: Логика в информатике.  Введение в математическую логику

Пример: Схемы, выполняющие бинарные функции, изображены в таблице:

дизъюнкторX Y

конъюнкторX Y

штрих Шеффера (X Y)

стрелка Пирса (X Y)

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

Page 28: Логика в информатике.  Введение в математическую логику

Рассмотрим подробнее принцип работы логического элемента «И» (Рис. 1.1):

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

Page 29: Логика в информатике.  Введение в математическую логику

Пример. Построить логическую схему соответствующую

логическому выражению AvBA

Page 30: Логика в информатике.  Введение в математическую логику

Правило построения логических схем.1) Определить число логических

переменных.2) Определить количество

базовых логических операций и их порядок

3) Изобразить для каждой логической операции соответствующий ей вентиль.

4) Соединить вентили в порядке выполнения логических операций.

Page 31: Логика в информатике.  Введение в математическую логику

А

В

&

1

1

0

0

1

1

Page 32: Логика в информатике.  Введение в математическую логику

Пример. По логической схеме получить логическое

выражение: &

1

В

С

А

Page 33: Логика в информатике.  Введение в математическую логику

Решение: Первым (слева) стоит конъюнктор BС. Выход конъюнктора и А - входы для следующего дизъюнктора Av(BС). Последним стоит инвентор. Получаем: (AvBC).

Page 34: Логика в информатике.  Введение в математическую логику

Алгоритм синтеза цифрового устройства

Задать словесное описание автомата.

Определить количество входов и выходов.

Составить таблицу истинности.Записать структурную

формулу.Начертить структурную

(функциональную схему).

Page 35: Логика в информатике.  Введение в математическую логику

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

соревнованиях по тяжелой атлетике (штанга) используется транспарант «Вес взят правильно». Транспарант освещается, получив сигнал от троих судей: старшего и двоих помощников. Вес считается взятым правильно, при единодушии всех судей или двоих при условии, что один из судей – старший.

Page 36: Логика в информатике.  Введение в математическую логику

Пример логической схемы персонального компьютера, разработанного А.Ф.Волковым из г. Днепродзержинска в 1985 г. и печатная плата машины Pentagon - 1024 SL, реализованная на базе ПЛИС FPGA EP2C8Q208C8N .pentagon.nedopc.com

Page 37: Логика в информатике.  Введение в математическую логику
Page 38: Логика в информатике.  Введение в математическую логику

Обработка любой информации на компьютере сводится к выполнению

процессором различных арифметических и логических операций

. Для этого в состав процессора входит так называемое арифметико-логическое устройство (АЛУ). Оно состоит из ряда устройств, построенных на рассмотренных выше логических элементах. Важнейшими из таких устройств являются триггеры, полусумматоры, сумматоры, шифраторы, дешифраторы, счетчики, регистры.

Page 39: Логика в информатике.  Введение в математическую логику
Page 40: Логика в информатике.  Введение в математическую логику

СумматорСумматор - это электронная

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

Page 41: Логика в информатике.  Введение в математическую логику

Входы Выходы

A B P Y

0 0 0 0

0 1 0 1

1 0 0 1

1 1 1 0

Составим таблицу логических значений для сумматора, где А, В — слагаемые, Р и Y — перенос и цифра разряда для суммы соответственно:Заметим, что Р — это функция, реализующая операцию конъюнкции двух переменных A и В, а Y - отрицание операции эквивалентности:Р = А & В; Y = (A v В) & ¬(А & В).

Page 42: Логика в информатике.  Введение в математическую логику

Эта схема называется полусумматором, так как в ней отсутствует третий вход — перенос из предыдущего разряда.

Page 43: Логика в информатике.  Введение в математическую логику

Триггер.Основной принцип работы ячеек оперативной

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

Триггер – электронная схема, применяемая для хранения одного бита информации.

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

Page 44: Логика в информатике.  Введение в математическую логику

Самый распространённый тип триггера — так называемый RS-триггер (S и R, соответственно, от английских set — установка, и reset — сброс). Условное обозначение триггера — на рис.

Page 45: Логика в информатике.  Введение в математическую логику
Page 46: Логика в информатике.  Введение в математическую логику
Page 47: Логика в информатике.  Введение в математическую логику

Шифратор и дешифратор.Шифратор и дешифратор

являются типовыми узлами ЭВМ. Шифратор (кодер) преобразует единичный сигнал на одном из входов в n-разрядный двоичный код.