1 of 91

Логические основы компьютеров

1

© К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru

2 of 91

Логические основы компьютеров

§ 18. Логика и компьютер

2

© К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru

3 of 91

Логика, высказывания

3

Аристотель

(384-322 до н.э.)

Логика (др.греч. λογικος) – это наука о том, как правильно рассуждать, делать выводы, доказывать утверждения.

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

Логическое высказывание – это повествовательное предложение, относительно которого можно однозначно сказать, истинно оно или ложно.

Логические основы компьютеров, 10 класс

© К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru

4 of 91

Высказывание или нет?

4

Сейчас идет дождь.

Жирафы летят на север.

История – интересный предмет.

У квадрата – 10 сторон и все разные.

Красиво!

В городе N живут 2 миллиона человек.

Который час?

Логические основы компьютеров, 10 класс

© К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru

5 of 91

Логика и компьютер

5

Двоичное кодирование – все виды информации кодируются с помощью 0 и 1.

Задача – разработать оптимальные правила обработки таких данных.

Почему «логика»?�Результат выполнения операции можно представить как истинность (1) или ложность (0) некоторого высказывания.

Джордж Буль разработал основы алгебры, �в которой используются только 0 и 1�(алгебра логики, булева алгебра).

Логические основы компьютеров, 10 класс

© К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru

6 of 91

Логические основы компьютеров

§ 19. Логические операции

6

© К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru

7 of 91

Обозначение высказываний

7

A – Сейчас идет дождь.

B – Форточка открыта.

простые высказывания (элементарные)

Составные высказывания строятся из простых с помощью логических связок (операций) «и», «или», «не», «если … то», «тогда и только тогда» и др.

Любое высказывание может быть ложно (0) �или истинно (1).

!

A и B

A или не B

если A, то B

A тогда и только

тогда, когда B

Сейчас идет дождь и открыта форточка.

Сейчас идет дождь или форточка закрыта.

Если сейчас идет дождь, то форточка открыта.

Дождь идет тогда и только тогда, когда открыта форточка.

Логические основы компьютеров, 10 класс

© К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru

8 of 91

Операция НЕ (инверсия)

8

Если высказывание A истинно, то «не А» ложно, и наоборот.

А

не А

1

0

0

1

таблица истинности операции НЕ

также , , �not A (Паскаль), �! A (Си)

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

Логические основы компьютеров, 10 класс

© К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru

9 of 91

Операция И

9

Высказывание «A и B» истинно тогда и только тогда, когда А и B истинны одновременно.

220 В

A и B

A

B

Логические основы компьютеров, 10 класс

© К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru

10 of 91

Операция И (логическое умножение, конъюнкция)

10

A

B

А и B

1

0

также: A·B, A ∧ B,�A and B (Паскаль), �A && B (Си)

0

0

0

1

1

0

1

1

0

1

2

3

0

0

конъюнкция – от лат. conjunctio — соединение

A ∧ B

Логические основы компьютеров, 10 класс

© К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru

11 of 91

Операция ИЛИ (логическое сложение, дизъюнкция)

11

Высказывание «A или B» истинно тогда, когда истинно А или B, или оба вместе.

220 В

A или B

A

B

Логические основы компьютеров, 10 класс

© К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru

12 of 91

Операция ИЛИ (логическое сложение, дизъюнкция)

12

A

B

А или B

1

0

также: A+B, A ∨ B,�A or B (Паскаль), �A || B (Си)

0

0

0

1

1

0

1

1

1

1

дизъюнкция – от лат. disjunctio — разъединение

Логические основы компьютеров, 10 класс

© К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru

13 of 91

Задачи

13

В таблице приведены запросы к поисковому серверу. Расположите номера запросов в порядке возрастания количества страниц, которые найдет поисковый сервер по каждому запросу. Для обозначения логической операции «ИЛИ» в запросе используется символ |, а для логической операции «И» – &.

1) принтеры & сканеры & продажа

2) принтеры & продажа

3) принтеры | продажа

4) принтеры | сканеры | продажа

1 2 3 4

Логические основы компьютеров, 10 класс

© К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru

14 of 91

Операция «исключающее ИЛИ»

14

Высказывание «A ⊕ B» истинно тогда, когда истинно А или B, но не оба одновременно (то есть A B).

«Либо пан, либо пропал».

A

B

А ⊕ B

0

0

также: �A xor B (Паскаль), �A ^ B (Си)

0

0

0

1

1

0

1

1

1

1

сложение по модулю 2: А ⊕ B = (A + B) mod 2

арифметическое сложение, 1+1=2

остаток

Логические основы компьютеров, 10 класс

© К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru

15 of 91

Свойства операции «исключающее ИЛИ»

15

A ⊕ A =

(A ⊕ B) ⊕ B =

A ⊕ 0 =

A ⊕ 1 =

A

0

?

A

B

А ⊕ B

0

0

0

1

1

0

1

1

0

0

1

0

0

1

0

0

0

1

1

0

0

1

1

0

A

Логические основы компьютеров, 10 класс

© К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru

16 of 91

Импликация («если …, то …»)

16

Высказывание «A истинно, если не исключено, что из А следует B.

A – «Работник хорошо работает».

B – «У работника хорошая зарплата».

A

B

А B

0

0

0

1

1

0

1

1

1

1

1

0

Логические основы компьютеров, 10 класс

© К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru

17 of 91

Импликация («если …, то …»)

17

«Если Вася идет гулять, то Маша сидит дома».

A – «Вася идет гулять».

B – «Маша сидит дома».

Маша может пойти гулять �(B=0), а может и не пойти (B=1)!

A

B

А B

0

0

1

0

1

1

1

0

0

1

1

1

А если Вася не идет гулять?

?

Логические основы компьютеров, 10 класс

© К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru

18 of 91

Эквивалентность («тогда и только тогда, …»)

18

Высказывание «A ↔ B» истинно тогда и только тогда, когда А и B равны.

A

B

А B

0

0

1

0

1

0

1

0

0

1

1

1

Логические основы компьютеров, 10 класс

© К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru

19 of 91

Базовый набор операций

19

С помощью операций И, ИЛИ и НЕ можно реализовать любую логическую операцию.

ИЛИ

И

НЕ

базовый набор операций

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

?

Логические основы компьютеров, 10 класс

© К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru

20 of 91

Штрих Шеффера, «И-НЕ»

20

A

B

А | B

0

0

1

0

1

1

1

0

1

1

1

0

Базовые операции через «И-НЕ»:

Логические основы компьютеров, 10 класс

© К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru

21 of 91

Стрелка Пирса, «ИЛИ-НЕ»

21

A

B

А ↓ B

0

0

1

0

1

0

1

0

0

1

1

0

Базовые операции через «ИЛИ-НЕ»:

Самостоятельно…

!

Логические основы компьютеров, 10 класс

© К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru

22 of 91

Формализация

22

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

A – «Датчик № 1 неисправен».

B«Датчик № 2 неисправен».

C«Датчик № 3 неисправен».

Аварийный сигнал:

X – «Неисправны два датчика».

X – «Неисправны датчики № 1 и № 2» или

«Неисправны датчики № 1 и № 3» или

«Неисправны датчики № 2 и № 3».

логическая формула

Формализация – это переход к записи на формальном языке!

!

Логические основы компьютеров, 10 класс

© К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru

23 of 91

Вычисление логических выражений

23

Порядок вычислений:

  • скобки
  • НЕ
  • И
  • ИЛИ, исключающее ИЛИ
  • импликация
  • эквивалентность

A

B

+

+

B

C

A

С

1 4 2 5 3

Логические основы компьютеров, 10 класс

© К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru

24 of 91

Составление таблиц истинности

24

A

B

A·B

X

0

0

0

1

1

0

1

1

0

1

2

3

0

1

0

0

0

0

0

1

1

0

1

0

1

1

1

1

Логические выражения могут быть:

    • тождественно истинными (всегда 1, тавтология)
    • тождественно ложными (всегда 0, противоречие)
    • вычислимыми (зависят от исходных данных)

Логические основы компьютеров, 10 класс

© К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru

25 of 91

Составление таблиц истинности

25

A

B

C

A∙B

A∙C

B∙C

X

0

0

0

0

0

1

0

1

0

0

1

1

1

0

0

1

0

1

1

1

0

1

1

1

0

1

2

3

4

5

6

7

0

0

0

0

0

0

1

1

0

0

0

0

0

1

0

1

0

0

0

1

0

0

0

1

0

0

0

1

0

1

1

1

Логические основы компьютеров, 10 класс

© К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru

26 of 91

Задачи (таблица истинности)

26

Символом F обозначено одно из указанных ниже логических выражений от трех аргументов: X, Y, Z. Дан фрагмент таблицы истинности выражения F. Какое выражение соответствует F?

  1. ¬X ¬Y ¬Z
  2. X Y Z
  3. X Y Z
  4. ¬X ¬Y ¬Z

X

Y

Z

F

1

0

0

1

0

0

0

1

1

1

1

0

Логические основы компьютеров, 10 класс

© К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru

27 of 91

Логические основы компьютеров

§ 20. Диаграммы

27

© К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru

28 of 91

Диаграммы Венна (круги Эйлера)

28

A

B

A

B

A

A·B

A

B

A+B

A⊕B

A→B

A↔B

A

B

A

B

Логические основы компьютеров, 10 класс

© К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru

29 of 91

Диаграмма с тремя переменными

29

Хочу

Могу

Надо

1

2

3

4

5

6

7

8

Логические выражения можно упрощать!

!

Логические основы компьютеров, 10 класс

© К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru

30 of 91

Задачи

Известно количество сайтов, которых находит поисковый сервер по следующим запросам :

Сколько сайтов будет найдено по запросу

огурцы | помидоры

30

Запрос

Количество сайтов

огурцы

100

помидоры

200

огурцы & помидоры

50

Логические основы компьютеров, 10 класс

© К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru

31 of 91

Задачи

31

NA|B = NA+ NB

A

B

A

B

NA|B = NA+ NB – NA&B

огурцы | помидоры

50

огурцы

помидоры

100

200

огурцы & помидоры

250

Логические основы компьютеров, 10 класс

© К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru

32 of 91

Задачи

Известно количество сайтов, которых находит поисковый сервер по следующим запросам :

Сколько сайтов будет найдено по запросу

Динамо & Спартак & Рубин

32

Запрос

Количество сайтов

Динамо & Рубин

320

Спартак & Рубин

280

(Динамо | Спартак) & Рубин

430

Общее условие с & можно отбросить !

!

Логические основы компьютеров, 10 класс

© К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru

33 of 91

Задачи

Известно количество сайтов, которых находит поисковый сервер по следующим запросам :

Сколько сайтов будет найдено по запросу

Динамо & Спартак

33

Запрос

Количество сайтов

Динамо

320

Спартак

280

Динамо | Спартак

430

Ответ: 320 + 280 – 430 =

170

Логические основы компьютеров, 10 класс

© К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru

34 of 91

Задачи

34

Динамо

Спартак

Рубин

1

2

3

Динамо & Рубин

= 1 + 2 = 320

Спартак & Рубин

= 2 + 3 = 280

(Динамо | Спартак) & Рубин

= 1 + 2 + 3 = 430

Динамо & Спартак & Рубин

= 2

= (320 + 280) – 430 =

170

Логические основы компьютеров, 10 класс

© К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru

35 of 91

Задачи

Некоторый сегмент сети Интернет состоит из 1000 сайтов. Поисковый сервер в автоматическом режиме составил таблицу ключевых слов для сайтов этого сегмента. Вот ее фрагмент:

Сколько сайтов будет найдено по запросу

(принтер | сканер) & монитор

если по трем следующим запросам найдено:

принтер | сканер – 450 сайтов,

принтер & монитор – 40 сайтов

сканер & монитор – 50 сайтов.

35

Ключевое слово

Количество сайтов, для которых данное слово является ключевым

сканер

200

принтер

250

монитор

450

Логические основы компьютеров, 10 класс

© К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru

36 of 91

Задачи

36

А (сканер)

B (принтер)

NA|B = NA+ NB – NA&B

принтер | сканер

450

сканер

принтер

200

250

0

сканер

принтер

монитор

90

40 + 50 =

принтер & монитор = 40

сканер & монитор = 50

50

40

(принтер | сканер) & монитор = ?

Логические основы компьютеров, 10 класс

© К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru

37 of 91

Сложная задача

37

Ниже приведены запросы и количество страниц, которые нашел поисковый сервер по этим запросам в некотором сегменте Интернета:

мезозой 500

кроманьонец 600

неандерталец 700

мезозой | кроманьонец 800

мезозой | неандерталец 1000

неандерталец & (мезозой | кроманьонец) 200

Сколько страниц будет найдено по запросу

кроманьонец & (мезозой | неандерталец)

Логические основы компьютеров, 10 класс

© К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru

38 of 91

Логические основы компьютеров

§ 21. Упрощение логических выражений

38

© К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru

39 of 91

Законы алгебры логики

39

название

для И

для ИЛИ

двойного отрицания

исключения третьего

операции с константами

повторения

поглощения

переместительный

сочетательный

распределительный

законы де Моргана

Логические основы компьютеров, 10 класс

© К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru

40 of 91

Упрощение логических выражений

40

Шаг 1. Заменить операции ⊕→↔ на их выражения через И, ИЛИ и НЕ:

Шаг 2. Раскрыть инверсию сложных выражений по формулам де Моргана:

Шаг 3. Используя законы логики, упрощать выражение, стараясь применять закон исключения третьего.

Логические основы компьютеров, 10 класс

© К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru

41 of 91

Упрощение логических выражений

41

раскрыли →

формула де Моргана

распределительный

исключения третьего

повторения

поглощения

Как сделать проще?

?

Логические основы компьютеров, 10 класс

© К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru

42 of 91

Задачи (упрощение)

42

Какое логическое выражение равносильно выражению �A ¬(¬B C)?

  1. ¬A ¬B ¬C
  2. A ¬B ¬C
  3. A B ¬C
  4. A ¬B C

Логические основы компьютеров, 10 класс

© К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru

43 of 91

Логические уравнения

43

A=0, B=1, C – любое

2 решения: (0, 1, 0), (0, 1, 1)

или

A=1, B=0, C=1

Всего 3 решения!

!

K=1, L=1,

M и N – любые

4 решения

M=1, L=1, N=1,

K – любое

2 решения

K=1, L=1, M=0,

N – любое

2 решения

Всего 5 решений!

!

Логические основы компьютеров, 10 класс

© К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru

44 of 91

Логические основы компьютеров

§ 22. Синтез логических выражений

44

© К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru

45 of 91

Синтез логических выражений

45

A

B

X

0

0

1

0

1

1

1

0

0

1

1

1

Шаг 1. Отметить строки в таблице, где X = 1.

Шаг 2. Для каждой из них записать логическое выражение, которое истинно только для этой строки.

Шаг 3. Сложить эти выражения и упростить результат.

распределительный

исключения третьего

исключения третьего

распределительный

Логические основы компьютеров, 10 класс

© К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru

46 of 91

Синтез логических выражений (2 способ)

46

A

B

X

0

0

1

0

1

1

1

0

0

1

1

1

Шаг 1. Отметить строки в таблице, где X = 0.

Шаг 2. Для каждой из них записать логическое выражение, которое истинно только для этой строки.

Шаг 3. Сложить эти выражения и упростить результат, который равен .

Шаг 4. Сделать инверсию.

Когда удобнее применять 2-ой способ?

?

Логические основы компьютеров, 10 класс

© К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru

47 of 91

Синтез логических выражений (3 способ)

47

A

B

X

0

0

0

0

1

1

1

0

0

1

1

1

Шаг 1. Отметить строки в таблице, где X = 0.

Шаг 2. Для каждой из них записать логическое выражение, которое ложно только для этой строки.

Шаг 3. Перемножить эти выражения и упростить результат.

Логические основы компьютеров, 10 класс

© К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru

48 of 91

Синтез логических выражений

48

A

B

C

X

0

0

0

1

0

0

1

1

0

1

0

1

0

1

1

1

1

0

0

0

1

0

1

1

1

1

0

0

1

1

1

1

Логические основы компьютеров, 10 класс

© К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru

49 of 91

Синтез логических выражений (2 способ)

49

A

B

C

X

0

0

0

1

0

0

1

1

0

1

0

1

0

1

1

1

1

0

0

0

1

0

1

1

1

1

0

0

1

1

1

1

3-й способ – самостоятельно.

!

Логические основы компьютеров, 10 класс

© К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru

50 of 91

Логические уравнения

50

Запрещены 1!

Запрещены 0!

Запрещены 00** и **00!

0101

0110

0111

1001

1010

1011

1101

1110

1111

01, 10, 11

3

3

пары битов:

3

9 решений!

Логические основы компьютеров, 10 класс

© К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru

51 of 91

Логические уравнения

51

16 – 9 = 7 решений!

4 переменные – всего 24 = 16 вариантов

для уравнения с 1 в правой части – 9 решений

соседние биты разные – биты чередуются

соседние биты одинаковые – все биты одинаковые

Логические основы компьютеров, 10 класс

© К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru

52 of 91

Логические уравнения

52

«запрещена комбинация 10»

Решения: 000000, 000001, 000011, 000111,

001111, 011111, 111111

«после первой единицы все следующие биты – 1»

«все нули, потом все единицы»

Для уравнения с N переменными: N+1 решений.

Логические основы компьютеров, 10 класс

© К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru

53 of 91

Системы логических уравнений

53

Уравнения независимы!

!

7 решений

6 решений

всего 7 × 6 = 42 решения!

Логические основы компьютеров, 10 класс

© К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru

54 of 91

Системы логических уравнений

уравнение связи

54

7 решений

6 решений

X:

000000

000001

000011

000111

001111

011111

111111

Y:

00000

00001

00011

00111

01111

11111

7

7

7

7

4

4

всего 7 × 4 + 4 × 2

= 36 решений!

Логические основы компьютеров, 10 класс

© К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru

55 of 91

Системы логических уравнений

55

Замена переменных:

Биты чередуются!

!

Решения: Z = 010101010,

Z = 101010101

Логические основы компьютеров, 10 класс

© К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru

56 of 91

Системы логических уравнений

56

Решения: Z = 010101010,

Z = 101010101

0 и 1 дают по � 2 решения!

!

29 + 29 = 1024

9 битов

Логические основы компьютеров, 10 класс

© К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru

57 of 91

Системы логических уравнений

57

Замена переменных:

Решения: 010101, 101010

«биты чередуются»

Ответ: 33+33=

54

Логические основы компьютеров, 10 класс

© К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru

58 of 91

Логические основы компьютеров

§ 23. Предикаты и кванторы

58

© К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru

59 of 91

Предикаты

59

Предикат (логическая функция) – это утверждение, содержащее переменные.

Предикат-свойство – от одной переменной:

P(N) = «В городе N живут более 2 млн человек»

P(Москва) = 1

P(Якутск) = 0

Простое(x) = «x – простое число»

Спит(x) = «x всегда спит на уроке»

Предикат-отношение – от нескольких переменных:

Больше(x, y) = «x > y»

Живет(x, y) = «x живет в городе y»

Любит(x, y) = «x любит y»

Логические основы компьютеров, 10 класс

© К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru

60 of 91

Предикаты и кванторы

60

Предикаты задают множества:

Предикаты, которые всегда истинны:

для всех вещественных чисел

«Для любого допустимого x утверждение P(x) истинно»:

высказывание

квантор

Квантор – знак, обозначающий количество.

А

(all – все)

E

(exists – существует)

Логические основы компьютеров, 10 класс

© К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru

61 of 91

Кванторы

61

Какой квантор использовать?

« … моря соленые».

« … кошки серые».

« … числа чётные».

« … окуни – рыбы».

« … прямоугольники – квадраты».

« … квадраты – прямоугольники».

Истинно ли высказывание?

при

при

при

при

Логические основы компьютеров, 10 класс

© К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru

62 of 91

Кванторы

62

Дано:

A = «Все люди смертны» = 1.

B = «Сократ – человек» = 1.

Доказать:

C = «Сократ смертен» = 1.

Доказательство:

P(x) = «x – человек» Q(x) = «x – смертен»

A = 1:

при «x =Сократ»

B = 1:

по свойствам импликации

Сократ

Сократ

Сократ

Сократ

A

B

А B

0

0

1

0

1

1

1

0

0

1

1

1

Логические основы компьютеров, 10 класс

© К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru

63 of 91

Несколько кванторов

63

– предикат от переменной y

Квантор связывает одну переменную:

– предикат от переменной x

Два квантора связывают две переменных:

– высказывание «для любого x существует y, при котором P(x,y)=1»

– высказывание «существует x, такой что при любом y верно P(x,y)=1»

Сравните два последних высказывания при:

Логические основы компьютеров, 10 класс

© К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru

64 of 91

Отрицание

64

НЕ «для любого x выполняется P(x)» ⇔

«существует x, при котором не выполняется P(x

НЕ «существует x, при котором выполняется P(x)» ⇔

«для любого x не выполняется P(x

Логические основы компьютеров, 10 класс

© К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru

65 of 91

Логические основы компьютеров

§ 24. Логические элементы компьютера

65

© К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru

66 of 91

Логические элементы компьютера

66

&

1

1

&

НЕ

И

ИЛИ

ИЛИ-НЕ

И-НЕ

значок инверсии

Логические основы компьютеров, 10 класс

© К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru

67 of 91

Логические элементы компьютера

67

Любое логическое выражение можно реализовать на элементах И-НЕ или ИЛИ-НЕ.

&

И:

НЕ:

&

&

ИЛИ:

&

&

&

Логические основы компьютеров, 10 класс

© К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru

68 of 91

Составление схем

68

последняя операция - ИЛИ

&

1

&

&

И

Логические основы компьютеров, 10 класс

© К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru

69 of 91

Триггер (англ. trigger – защёлка)

69

Триггер – это логическая схема, способная хранить 1 бит информации (1 или 0). Строится на 2-х элементах ИЛИ-НЕ или на 2-х элементах И-НЕ.

1

1

основной

выход

вспомогательный

выход

reset, сброс

set, установка

обратные связи

S

R

Q

режим

0

0

0

1

1

0

1

1

хранение

запрещен

1

1

0

0

сброс

установка 1

0

0

Логические основы компьютеров, 10 класс

© К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru

70 of 91

Триггер – таблица истинности

70

1

1

обратные связи

S

R

Q

режим

0

0

0

1

1

0

1

1

хранение

запрещен

1

1

0

0

сброс

установка 1

0

0

1

0

1

0

0

0

1

0

Логические основы компьютеров, 10 класс

© К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru

71 of 91

Полусумматор

71

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

Σ

сумма

перенос

A

B

P

S

0

0

0

1

1

0

1

1

0 0

0 1

0 1

1 0

&

1

&

&

Схема на 4-х элементах?

?

Логические основы компьютеров, 10 класс

© К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru

72 of 91

Сумматор

72

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

Σ

сумма

перенос

перенос

A

B

C

P

S

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

Логические основы компьютеров, 10 класс

© К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru

73 of 91

Многоразрядный сумматор

73

это логическая схема, способная складывать два �n-разрядных двоичных числа.

перенос

перенос

Σ

Σ

Σ

Логические основы компьютеров, 10 класс

© К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru

74 of 91

Логические основы компьютеров

§ 25. Логические задачи

74

© К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru

75 of 91

Метод рассуждений

75

Задача 1. Министры иностранных дел России, США и Китая обсудили за закрытыми дверями проекты договора, представленные каждой из стран. Отвечая затем на вопрос журналистов: «Чей именно проект был принят?», министры дали такие ответы:

Россия — «Проект не наш (1), проект не США (2)»;

США — «Проект не России (1), проект Китая (2)»;

Китай — «Проект не наш (1), проект России (2)».

Один из них оба раза говорил правду; второй – оба раза говорил неправду, третий один раз сказал правду, а другой раз — неправду. Кто что сказал?

(1)

(2)

Россия

США

Китай

проект России (?)

+

+

+

(1)

(2)

Россия

США

Китай

проект США (?)

+

(1)

(2)

Россия

США

Китай

проект Китая (?)

+

+

+

+

+

Логические основы компьютеров, 10 класс

© К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru

76 of 91

Табличный метод

76

Задача 2. Дочерей Василия Лоханкина зовут Даша, Анфиса и Лариса. У них разные профессии и они живут в разных городах: одна в Ростове, вторая – в Париже и третья – в Москве. Известно, что

    • Даша живет не в Париже, а Лариса – не в Ростове,
    • парижанка – не актриса,
    • в Ростове живет певица,
    • Лариса – не балерина.

Париж

Ростов

Москва

Певица

Балерина

Актриса

Даша

Анфиса

Лариса

0

0

0

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

!

0

1

0

0

0

1

0

0

1

1

0

1

0

0

1

  • Много вариантов.
  • Есть точные данные.

Логические основы компьютеров, 10 класс

© К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru

77 of 91

Использование алгебры логики

77

Задача 3. Следующие два высказывания истинны:

1. Неверно, что если корабль A вышел в море, то корабль C – нет.

2. В море вышел корабль B или корабль C, но не оба вместе.

Определить, какие корабли вышли в море.

… если корабль A вышел в море, то корабль C – нет.

1. Неверно, что если корабль A вышел в море, то корабль C – нет.

2. В море вышел корабль B или корабль C, но не оба вместе.

Решение:

Логические основы компьютеров, 10 класс

© К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru

78 of 91

Использование алгебры логики

78

Задача 4. Когда сломался компьютер, его хозяин сказал «Память не могла выйти из строя». Его сын предположил, что сгорел процессор, а винчестер исправен. Мастер по ремонту сказал, что с процессором все в порядке, а память неисправна. В результате оказалось, что двое из них сказали все верно, а третий – все неверно. Что же сломалось?

Решение:

A – неисправен процессор, B – память, C – винчестер

хозяин:

сын:

мастер:

Если ошибся хозяин:

Если ошибся сын:

Если ошибся мастер:

Логические основы компьютеров, 10 класс

© К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru

79 of 91

Использование алгебры логики

79

Задача 5. На вопрос «Кто из твоих учеников изучал логику?» учитель ответил: «Если логику изучал Андрей, то изучал и Борис. Однако неверно, что если изучал Семен, то изучал и Борис». Кто же изучал логику?

Решение:

A – логику изучал Андрей, B – Борис, C – Семен

«Если логику изучал Андрей, � то изучал и Борис».

1 способ:

«Неверно, что если изучал � Семен, то изучал и Борис».

Логические основы компьютеров, 10 класс

© К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru

80 of 91

Использование алгебры логики

80

Задача 5. На вопрос «Кто из твоих учеников изучал логику?» учитель ответил: «Если логику изучал Андрей, то изучал и Борис. Однако неверно, что если изучал Семен, то изучал и Борис». Кто же изучал логику?

Решение:

A – логику изучал Андрей, B – Борис, C – Семен

«Если логику изучал Андрей, � то изучал и Борис».

2 способ:

«Неверно, что если изучал � Семен, то изучал и Борис».

С

B

С B

0

0

1

0

1

1

1

0

0

1

1

1

A

B

A B

0

0

1

0

1

1

1

0

0

1

1

1

Логические основы компьютеров, 10 класс

© К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru

81 of 91

Использование алгебры логики

81

Задача 6. Суд присяжных пришел к таким выводам:

  • если Аськин не виновен или Баськин виновен, то виновен Сенькин
  • если Аськин не виновен, то Сенькин не виновен

Виновен ли Аськин?

Решение:

A – виновен Аськин, B – Баськин, C – Сенькин

«Если Аськин не виновен или Баськин � виновен, то виновен Сенькин».

«Если Аськин не виновен, то � Сенькин не виновен».

Аськин виновен

Логические основы компьютеров, 10 класс

© К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru

82 of 91

Использование алгебры логики

82

Задача 6б. Суд присяжных пришел к таким выводам:

  • если Аськин не виновен или Баськин виновен, то виновен Сенькин
  • если Аськин не виновен, то Сенькин не виновен

Виновен ли Баськин?

Решение:

A – виновен Аськин, B – Баськин, C – Сенькин

Не получили противоречия: возможно, что и виновен

Логические основы компьютеров, 10 класс

© К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru

83 of 91

Использование алгебры логики

83

Задача 6в. Суд присяжных пришел к таким выводам:

  • если Аськин не виновен или Баськин виновен, то виновен Сенькин
  • если Аськин не виновен, то Сенькин не виновен

Виновен ли Сенькин?

Решение:

A – виновен Аськин, B – Баськин, C – Сенькин

Не получили противоречия: возможно, что и виновен

Логические основы компьютеров, 10 класс

© К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru

84 of 91

Логические основы компьютеров

Задачи ЕГЭ

84

© К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru

85 of 91

Задачи ЕГЭ

85

Для какого из указанных значений X истинно высказывание ¬((X > 2)(X > 3))?

1) 1 2) 2 3) 3 4) 4

Укажите, какое логическое выражение равносильно выражению A ¬(¬B C).

1) ¬A ¬B ¬C

2) A ¬B ¬C

3) A B ¬C

4) A ¬B C

Логические основы компьютеров, 10 класс

© К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru

86 of 91

Задачи ЕГЭ (2)

86

Каково наибольшее целое число X, при котором истинно высказывание

(50 < X·X) (50 > (X+1)·(X+1))

В целых числах:

A

B

Логические основы компьютеров, 10 класс

© К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru

87 of 91

Задачи ЕГЭ (6)

87

Перед началом Турнира Четырех болельщики высказали следующие предположения по поводу своих кумиров:

А) Макс победит, Билл – второй;

В) Билл – третий, Ник – первый;

С) Макс – последний, а первый – Джон.

Когда соревнования закончились, оказалось, что каждый из болельщиков был прав только в одном из своих прогнозов. Какое место на турнире заняли Джон, Ник, Билл, Макс? (В ответе перечислите подряд без пробелов места участников в указанном порядке имен.)

A

B

C

Джон

1

Ник

1

Билл

2

3

Макс

1

4

2

3124

1

4

Ответ:

Логические основы компьютеров, 10 класс

© К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru

88 of 91

Задачи ЕГЭ (7)

88

На одной улице стоят в ряд 4 дома, в каждом из них живет по одному человеку. Их зовут Василий, Семен, Геннадий и Иван. Известно, что все они имеют разные профессии: скрипач, столяр, охотник и врач. Известно, что

(1) Столяр живет правее охотника.

(2) Врач живет левее охотника.

(3) Скрипач живет с краю.

(4) Скрипач живет рядом с врачом.

(5) Семен не скрипач и не живет рядом со скрипачом.

(6) Иван живет рядом с охотником.

(7) Василий живет правее врача.

(8) Василий живет через дом от Ивана.

Определите, кто где живет, и запишите начальные буквы имен жильцов всех домов слева направо. Например, если бы в домах жили (слева направо) Кирилл, Олег, Мефодий и Пафнутий, ответ был бы КОМП.

Логические основы компьютеров, 10 класс

© К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru

89 of 91

Задача Эйнштейна

89

Условие: Есть 5 домов разного цвета, стоящие в ряд. В каждом доме живет по одному человеку отличной от другого национальности. Каждый жилец пьет только один определенный напиток, курит определенную марку сигарет и держит животное. Никто из пяти человек не пьет одинаковые напитки, не курит одинаковые сигареты и не держит одинаковых животных.

Известно, что:

    • Англичанин живет в красном доме.
    • Швед держит собаку.
    • Датчанин пьет чай.
    • Зеленой дом стоит слева от белого.
    • Жилец зеленого дома пьет кофе.
    • Человек, который курит Pallmall, держит птицу.
    • Жилец среднего дома пьет молоко.
    • Жилец из желтого дома курит Dunhill.
    • Норвежец живет в первом доме.
    • Курильщик Marlboro живет около того, кто держит кошку.
    • Человек, который содержит лошадь, живет около того, кто курит Dunhill.
    • Курильщик Winfield пьет пиво.
    • Норвежец живет около голубого дома.
    • Немец курит Rothmans.
    • Курильщик Marlboro живет по соседству с человеком, который пьет воду.

Вопрос: У кого живет рыба?

Логические основы компьютеров, 10 класс

© К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru

90 of 91

Конец фильма

90

ПОЛЯКОВ Константин Юрьевич

д.т.н., учитель информатики

ГБОУ СОШ № 163, г. Санкт-Петербург

kpolyakov@mail.ru

ЕРЕМИН Евгений Александрович

к.ф.-м.н., доцент кафедры мультимедийной дидактики и ИТО ПГГПУ, г. Пермь

eremin@pspu.ac.ru

Логические основы компьютеров, 10 класс

© К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru

91 of 91

Источники иллюстраций

91

  1. http://www.peoples.ru
  2. http://ru.wikipedia.org
  3. авторские материалы

Логические основы компьютеров, 10 класс

© К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru