Логические основы построения компьютера 1. Основные понятия формальной логики 2. Высказывания: истинные и ложные, простые и сложные 3.

Download Report

Transcript Логические основы построения компьютера 1. Основные понятия формальной логики 2. Высказывания: истинные и ложные, простые и сложные 3.

Логические основы
построения компьютера
1. Основные понятия формальной логики
2. Высказывания: истинные и ложные, простые и
сложные
3. Логические выражения и логические операции
4. Алгоритм построения таблицы истинности
5. Законы алгебры логики
Серебренникова Н.В.
учитель информатики
МАОУ СОШ №35 г.Улан-Удэ
1. Основные понятия формальной логики
Слово логика означает совокупность правил, которым
подчиняется процесс мышления.
Основными формами мышления являются:
Понятие
Суждение
это форма мышления, которая выделяет существенные
признаки предмета или класса предметов, отличающие
его от других (например: человек, компьютер).
это мысль, в которой что-то утверждается или
отрицается о предметах (например: «дважды два равно
четыре»).
Умозаключение
это приём мышления, позволяющий на основе
одного или нескольких суждений-посылок
получить новое суждение (знание или вывод)
(например: доказательства теорем в геометрии).
Из истории:
IV в. до н.э. Великий греческий учёный Аристотель (ученик Платона,
воспитатель Александра Македонского) впервые разработал научную
систему логики, заложил основы формальной логики.
XVII в. Великий немецкий учёный Готфрид Вильгельм Лейбниц
попытался перевести формальную логику из словесного царства в
царство математики.
XVIII в. Великий английский математик Джордж Буль
изобрёл своеобразную алгебру (алгебра Буля или булева
алгебра)– систему обозначений и правил, применяемую
к всевозможным объектам.
Современный вид математическая логика приобрела в 1880-е годы в
трудах немецкого логика, математика и философа Готлоба Фреге. Он ввёл
впервые аксиомы логики высказываний и предикатов и сделал попытку
свести математику к логике.
Формальная логика (математическая логика)– это
наука о законах и формах мышления. Изучает вопросы
применения математических методов для решения
логических задач и построения логических схем,
которые лежат в основе работы компьютера.
Высказывания
Суждения
или
Логические
выражения
Алгебра высказываний (алгебра логики, алгебра Буля,
булева алгебра) - раздел математической логики,
занимающийся обработкой логических выражений.
2. Высказывания: истинные и ложные,
простые и сложные
Высказывание — это повествовательное предложение, о
котором всегда можно сказать, истинно оно или ложно.
Например:
«Каждый ромб параллелограмм»
«Каждый параллелограмм – ромб»
Сложное (составное) высказывание получается из простых
высказываний с использованием союзов-связок «И», «ИЛИ»
и частицы «НЕ».
Простые или сложные высказывания называют логическими
выражениями.
Задание: из двух простых высказываний составить
сложное высказывание.
«На улице светит солнце»
«На улице пасмурная погода»
3. Логические выражения и логические
операции
Логическое выражение - это символическая запись,
состоящая из логических величин (констант и переменных),
объединённых логическими операциями.
Обозначаются логические переменные буквами латинского
алфавита (А, В, …), которые могут принимать два значения:
ИСТИНА или ЛОЖЬ.
Обозначения истинности и ложности переменных:
Истина И True
Ложь
T
Л False F
1
0
Связки «НЕ», «И», «ИЛИ» заменяются логическими
операциями инверсия, конъюнкция, дизъюнкция –
основные логические операции.
Дополнительные операции – импликация,
эквивалентность и исключающая дизъюнкция.
Пусть А и В – некоторые произвольные высказывания.
Рассмотрим таблицу логических операций над этими
высказываниями:
Операция
Название
операции
Краткое
прочтение
Полное прочтение
Инверсия
Не А
Неверно, что А
A B
Конъюнкция
АиВ
Верно, что А, и верно,
что В
A B
Дизъюнкция
А или В
Верно, что А, или
верно, что В
AB
Эквивалентность
А тогда и только Верно, что А, тогда и
тогда, когда В;
только тогда, когда
А эквивалентно В верно, что В
AB
Импликация:
А – условие,
В - следствие
Если А, то В;
А влечёт В
A
A B
Исключающая
«ИЛИ»
Либо А, либо В
Если верно, что А, то
верно, что В
Либо верно, что А, и
неверно, что В, либо
верно, что В, и неверно,
что А
Таблица истинности:
А
В
A
1
1
0
1
1
1
1
0
1
0
0
0
1
0
0
1
0
1
1
0
1
0
1
1
0
0
1
0
0
1
1
0
A B A B
A  B A B A B
1. Инверсия – одноместная логическая операция,
соответствует частице «НЕ» - логическое отрицание.
А
0
1
A
1
0
Результат инверсии ложь(0), если исходное
выражение истинно(1), и наоборот, результат
истина(1), если исходное ложь(0).
Пример: «Петя будет дежурным» - А
«Петя не будет дежурным» - A
«Трижды три равно семи» - В
«Неверно, что трижды три равно семи» - В
2. Конъюнкция – двухместная логическая операция,
соответствует союзу «И» - логическое умножение.
А
0
0
1
1
В
0
1
0
1
A B
0
0
0
1
А&В или АВ
Результат конъюнкции истина (1),
когда оба выражения истина (1).
Пример:
«К – чётное число» - А
«К – делится на три» - В.
Чему равен результат логического
умножения А&В?
2. Конъюнкция – двухместная логическая операция,
соответствует союзу «И» - логическое умножение.
Решение:
Множество всех случаев, когда А истина:
К = 2, 4, 6, 8, 10, 12, 14, 16, 18…
Множество всех случаев, когда В истина:
К = 3, 6, 9, 12, 15, 18…
Множество всех случаев, когда истина А&В:
К = 6, 12, 18…
А
А&B
В
3. Дизъюнкция – двухместная логическая операция,
соответствует союзу «ИЛИ» - логическое сложение.
А
0
0
1
1
В
0
1
0
1
A B
0
1
1
1
А+В
Результат дизъюнкции истина (1), когда
истина (1) хотя бы одно из исходных
высказываний.
Пример:
«К – чётное число» - А
«К – делится на три» - В.
Чему равен результат логического
сложения А  В ?
3. Дизъюнкция – двухместная логическая операция,
соответствует союзу «ИЛИ» - логическое сложение.
Решение:
Множество всех случаев, когда А истина:
К = 2, 4, 6, 8, 10, 12…
Множество всех случаев, когда В истина:
К = 3, 6, 9, 12, …
Множество всех случаев, когда истина АВ:
К = 2, 3, 4, 6, 8, 9…
А
АВ
В
4. Импликация – условная двухместная логическая операция,
соответствует связке «ЕСЛИ…, ТО…» - логическое следование.
А
0
0
1
1
В
0
1
0
1
A B
1
1
0
1
Результат импликации ложь (0),
когда условие истина (1), а
следствие ложь(0).
Пример:
«К – делится на 9» - А
«К – делится на 3» - В
Операция А→В означает:
«Если число делится на 9, то оно
делится и на 3».
4. Импликация – условная двухместная логическая операция,
соответствует связке «ЕСЛИ…, ТО…» - логическое следование.
а) А – ложно, В – ложно. К={4,17,22…}
б) А – ложно, В – истина. К={6,12,21…}
в) А – истина, В – истина. К={9,18,27…}
г) А –истина, В – ложно
К= нет таких чисел.
5. Эквивалентность – двухместная логическая операция,
соответствует связке «ТОГДА, и ТОЛЬКО ТОГДА, КОГДА» равнозначность.
А
0
0
1
1
В
0
1
0
1
A B
1
0
0
1
А~В или А≡В
Результат эквивалентности истина (1),
когда оба исходных выражения
одновременно истина (1) или ложь (0).
Пример: Высказывание А: «сумма цифр,
составляющих число К, делится на 3»;
высказывание В: «К – делится на 3».
Операция А↔В означает: «число делится на 3 тогда и только
тогда, когда сумма его цифр делится на 3».
6. Исключающая дизъюнкция – двухместная логическая
операция, соответствует связке «ЛИБО…, ЛИБО…» неэквивалентность.
А
0
0
1
1
В
0
1
0
1
A B
0
1
1
0
Результат неэквивалентности истина
(1), когда одно из исходных выражений
истина (1), другое ложь (0).
Пример: Высказывание: «За
контрольную работу мне поставят 4 или
5» истинно, т.к. одновременно 4 и 5 за
контрольную получить нельзя.
«Июнь месяц я проведу в деревне или в пионерском
лагере». Союз ИЛИ подчёркивает мысль, что можно быть
либо в деревне, либо в лагере, но никак не в обоих местах
одновременно.
Задачи:
1. Из каких двух высказываний составлено следующее
высказывание: «Для сдачи экзамена необходимы
знания или везение» ? Какой операции равносильно
это высказывание?
2. Один зажиточный человек очень боялся грабителей и
заказал замок, который открывался двумя ключами
одновременно. С какой логической операцией можно
сравнить процесс открывания?
Задачи:
3. Из трёх следующих высказываний составить логическое
произведение и определить его истинность:
А: «Утки зимуют на юге»
В: «Лето утки проводят на севере»
С: «Утки не совершают перелётов»
4. Приведите пример высказывания, соответствующий
логической операции – импликация.
5. Приведите пример высказывания, соответствующий
логической операции – эквивалентность.
Порядок выполнения логических операций:
слева направо с учётом скобок в следующем
порядке:
1. Инверсия 
2. Конъюнкция 
3. Дизъюнкция 
4. Импликация →
5. Эквивалентность 
6. Исключающая дизъюнкция 
Задача 1: перевести на язык алгебры логики
высказывание.
«Я поеду в автобусе или в трамвае и почитаю по
дороге книгу».
Решение: Данное высказывание создано из трёх простых
высказываний :
А: «Я поеду в автобусе»
В: «Я поеду в трамвае»
С: «По дороге я почитаю книгу»
А и В образуют логическую сумму: А В
Сумма (А В) вместе с высказыванием С образуют
логическое произведение: (А В) С
Задача 2: для высказываний расшифровать
выражения.
Даны высказывания:
А: «Петя едет в автобусе»
В: «Петя читает книгу»
С: «Петя насвистывает»
Расшифровать выражения:
а) Х = ¬А  В  ¬С
«Петя не едет в автобусе
и, не насвистывая, читает
книгу»
б)
Х = ¬(АВ)
«Неверно, что Петя
едет в автобусе и
насвистывает»
Задача 3: перевести на язык алгебры логики
высказывание.
«Вася пойдёт на рыбалку и, если ему повезёт, он
вернётся домой с уловом».
Решение: Данное высказывание создано из трёх простых
высказываний :
А: «Вася пойдёт на рыбалку»
В: «Ему повезёт»
С: «Он вернётся домой с уловом»
В и С образуют импликацию: В → С
Импликация (В →С) вместе с высказыванием А
образуют конъюнкцию: А  (В→С)
Задача 4: перевести на язык алгебры логики
высказывание.
«Неверно, что если дует ветер, то солнце светит
лишь тогда, когда нет дождя».
Решение: Высказывание разобьём на три простых:
А: «Дует ветер»
В: «Солнце светит»
С: «Дождь идёт»
В и ¬С образуют эквивалентность: В ↔  С
Высказывание А с эквивалентностью (В ↔С)
образуют импликацию: А → (В↔С)
Результат: ( A  ( B  C ))
4. Алгоритм построения таблицы
истинности
1. Определить количество наборов входных переменных
n
по формуле: Q  2 ,где n – количество входных
переменных.
A B C
2. Внести в таблицу все наборы
входных переменных, используя
0 0 0
двоичную арифметику.
A
0
0
1
1
B
0
1
0
1
0
0
0
1
0
1
1
0
и т.д.
1
0
1
0
3. Определить количество логических операций
и последовательность их выполнения.
4. Заполнить столбцы результатами выполнения
логических операций в обозначенной
последовательности.
Количество
столбцов
Количество
строк
Количество переменных +
количество операций
Количество наборов Q
входных переменных +
«шапка таблицы»
Пример1: Построить таблицу истинности для
логической функции
F ( A, B, C)  A & (B  C)
1. Количество входных переменных равно 3 (А, В, С).
Значит количество входных наборов Q  23  8 ,т.е. 8
строк.
2. Внести в таблицу все наборы входных переменных,
используя двоичную арифметику.
3. Определить количество логических операций и
последовательность их выполнения.
2
3
1
F ( A, B, C)  A & (B  C)
Количество строк = 1 + 8 = 9
Количество столбцов = 3 + 3 = 6
F ( A, B, C)  A & (B  C)
Таблица истинности:
А
В
С
BC
A
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
1
1
0
1
1
1
1
1
1
1
0
0
0
0
A & ( B  C)
0
1
1
1
0
0
0
0
Пример2: Построить таблицу истинности
для функции
F  A & ( A  B  C)
2
1
F  A & ( A  B  C)
Количество строк = 9
Количество столбцов = 3 + 2 = 5
F  A & ( A  B  C)
Таблица истинности:
А
В
С
A B  C
F
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
5. Законы алгебры логики
Для операций конъюнкции, дизъюнкции и инверсии определены законы
булевой алгебры, позволяющие производить тождественные
преобразования логических выражений:
1. Закон идемпотентности (отсутствие степеней и коэффициентов):
А&A=A
AA=A
2. Закон коммутативности (переместительный):
A  B = B A
A&B=B&A
3. Закон ассоциативности (сочетательный):
(A B) C = A (B  C)
(A & B) & C = A & (B & C )
4. Законы дистрибутивности (распределительные):
(A B) & C = (A & C) (B & C)
(A & B) C = (A C)&(B C)
5. Законы де Моргана: первый – A & B = A B
второй – A B = A & B
6. Закон двойного отрицания: А = A
7. Закон исключения третьего (тождественно-истинное высказывание): A  А = 1 (всегда истина)
8. Закон противоречия (тождественное высказывание):
A & А = 0 (всегда ложь )
9. Действия с логическими константами: A 1 = 1 (всегда истина)
А&1=A
А 0 = А
А & 0 = 0 (всегда ложь)
Следствие основных законов:
1. Формулы поглощения: А  А & В = A
А  (А & В) = A  B
A & (A  B) = A
A & (A  B) = A & B
2. Формулы склеивания: A & B A & B = A (A B) & (A B) = A
3. Формулы замены операций: A ↔ B = A & B A & B
A ↔ B = (A B) & (A  B)
A ↔ B = (A→B) & (B→A )
A→B = ¬A B
Закон
Закон де выражения:
Упростить
идемпотентности
Моргана 1-й
Закон де
Закон де
Моргана
2-й
Моргана
1-й
а) AФормула
 B B  A B  B  A B
поглощения
б) B  C  C  ( B  C )  C  ( B  C )  C 
 ( B  C)  C  C
в) A  C  B  C  A  C  B  C  A  C
Минимизировать функцию:
Распределительный
закон
( x  y) z  xyz( z  xy)  zxy  xy z 
xz  yz  xyzz  xyzxy  y z( x  x) 
xz  yz  0  xyz  y z 
xz  0  y  xz  y