§18. Алгебра логики
Сейчас мы разберёмся, как устроен язык, на котором думает любой компьютер — от твоего смартфона до суперкомпьютеров NASA. Этот язык называется алгебра логики, и без него не существовало бы ни интернета, ни игр, ни искусственного интеллекта.
🕰️ Как один математик изменил мир
Представь: 1854 год. Нет компьютеров, нет даже электричества в домах. И вот британский математик Джордж Буль публикует работу, в которой описывает, как можно записывать логику математическими формулами.
В то время его считали чудаком. Зачем нужна эта «алгебра логики»? Почти сто лет его идеи пылились на полках.
⚡ Прорыв 1938 года
Американский инженер Клод Шеннон понял: электрические схемы работают точно по тем же правилам! Ток либо течёт (истина), либо не течёт (ложь). И вот так алгебра логики стала основой всей цифровой техники.
💡 Определение
Алгебра логики — раздел математики, изучающий высказывания с точки зрения их логических значений (истинности или ложности) и логические операции над ними.
💭 Высказывания: истина или ложь?
Высказывание — это предложение, про которое можно однозначно сказать: истинно оно или ложно.
Превращаем слова в числа, логику — в математику
✅ Примеры высказываний
- «Python — язык программирования» → ИСТИНА
- «2 + 2 = 5» → ЛОЖЬ
- «Алгебра логики — основа компьютеров» → ИСТИНА
❌ НЕ высказывания
- «Какой сегодня день?» — вопрос
- «Сегодня отличная погода» — субъективно
- «Давай пойдём гулять!» — призыв
🔑 Главный трюк алгебры логики
Мы обозначаем высказывания буквами (A, B, C), а их значения — цифрами:
- 1 (или И, true) = ИСТИНА
- 0 (или Л, false) = ЛОЖЬ
Так логика превращается в математику!
📝 Виды высказываний
- Простые (элементарные) — одна мысль: «Идёт дождь»
- Сложные (составные) — несколько мыслей, связанных словами «и», «или», «если»: «Идёт дождь И я взял зонт»
⚙️ Логические операции: инструменты мышления
Из простых высказываний можно строить сложные, используя логические операции. Давай разберём каждую на примерах из жизни.
Логические операции — это машины для обработки истины
НЕ (отрицание, инверсия)
Переворачивает значение наоборот.
Обозначение: ¬A или Ā
Пример: A = «У меня есть интернет»
НЕ A = «У меня НЕТ интернета»
| A | НЕ A |
|---|---|
| 0 | 1 |
| 1 | 0 |
И (конъюнкция, логическое умножение)
Истинна ТОЛЬКО когда ОБА условия истинны.
Обозначение: A ∧ B, A & B, A · B
Пример: «Я пойду гулять» = «Я сделал уроки» И «Хорошая погода»
В коде:
if (homework_done && good_weather) {
go_outside();
}
| A | B | A И B |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
ИЛИ (дизъюнкция, логическое сложение)
Истинна, если истинно ХОТЯ БЫ ОДНО условие.
Обозначение: A ∨ B, A | B, A + B
Пример: «Я посмотрю фильм» = «Это комедия» ИЛИ «Это фантастика»
| A | B | A ИЛИ B |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 1 |
🚀 Продвинутые операции
Для тех, кто хочет глубже понять логику мышления и программирования.
От логики обещаний к логике кода — один шаг
ЕСЛИ..., ТО (импликация)
Причинно-следственная связь.
Обозначение: A → B
Ложна ТОЛЬКО когда из истины следует ложь.
Пример: «ЕСЛИ завтра будет солнечно, ТО я пойду на пляж»
Друг соврал только если было солнечно, а он не пошёл!
| A | B | A → B |
|---|---|---|
| 0 | 0 | 1 |
| 0 | 1 | 1 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
ЛИБО (строгая дизъюнкция, XOR)
Истинна, когда истинно РОВНО ОДНО условие.
Обозначение: A ⊕ B
Пример: «На обед будет ЛИБО пицца, ЛИБО суши»
Применение: В криптографии! XOR — основа многих алгоритмов шифрования.
| A | B | A ⊕ B |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 0 |
ТОГДА И ТОЛЬКО ТОГДА (эквиваленция)
Истинна, когда оба высказывания одинаковы.
Обозначение: A ↔ B
Пример: «Я пойду в кино ТОГДА И ТОЛЬКО ТОГДА, когда пойдёшь ты»
Либо идём вместе, либо оба остаёмся дома.
| A | B | A ↔ B |
|---|---|---|
| 0 | 0 | 1 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
💡 Интересный факт
Эквиваленция — это отрицание строгой дизъюнкции!
A ↔ B = НЕ(A ⊕ B)
🧮 Логические выражения
Из логических переменных и операций можно составлять сложные выражения — как формулы в алгебре.
📋 Порядок выполнения операций (приоритет)
- НЕ (отрицание) — самый высокий приоритет
- И (конъюнкция)
- ИЛИ, ЛИБО (дизъюнкция, строгая дизъюнкция)
- ЕСЛИ..., ТО и ТОГДА И ТОЛЬКО ТОГДА (импликация, эквиваленция) — самый низкий
Скобки меняют порядок — как в математике!
✏️ Пример решения задачи
Задача: Какие слова удовлетворяют условию:
(первая буква согласная → вторая буква согласная) И (последняя буква гласная → предпоследняя буква гласная)?
Проверим слово ОЗОН:
- Первая О — гласная (0), вторая З — согласная (1) → 0 → 1 = 1
- Последняя Н — согласная (0), предпоследняя О — гласная (1) → 0 → 1 = 1
- Результат: 1 И 1 = 1 ✅ Подходит!
🔮 Предикаты: высказывания с переменными
Предикат — это утверждение с переменными, которое становится высказыванием при подстановке конкретных значений.
Находим множество истинных решений предиката
📌 Примеры предикатов
- P(x) = «x — чётное число»
При x = 4 → ИСТИНА, при x = 5 → ЛОЖЬ - Q(x, y) = «x > y»
При x = 10, y = 5 → ИСТИНА
🎯 Множество истинности
Множество истинности предиката — все значения переменных, при которых предикат становится истинным.
✏️ Пример решения
Задача: Найти все целые числа z, для которых истинно: (z > 5) И (z – 2 < 15)
Решение:
- z > 5 → это числа 6, 7, 8, 9, ...
- z – 2 < 15 → z < 17 → это числа ..., 14, 15, 16
- Пересечение (И): {6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16} — 11 чисел
🌍 Где всё это используется в реальной жизни?
Алгебра логики — это не абстрактная теория, а фундамент всего цифрового мира!
Алгебра логики — фундамент цифрового мира
💻 Программирование
Каждая строчка кода с if, while, &&, || — это алгебра логики в действии!
if (age >= 18 && hasLicense) {
allowDriving();
}
🔍 Поисковые системы
Когда ты гуглишь «Python И (книга ИЛИ курс) НЕ игра» — это буквально логическое выражение!
🖥️ Процессоры и микросхемы
Внутри процессора миллиарды логических элементов (транзисторов), которые реализуют операции И, ИЛИ, НЕ.
🤖 Искусственный интеллект
Нейронные сети принимают решения на основе логических условий: «ЕСЛИ вероятность кошки > 0.9, ТО вывести 'это кошка'».
💾 Базы данных
SQL-запросы — чистая логика:
SELECT * FROM users
WHERE age > 18 AND city = 'Moscow'
🔐 Криптография
Операция XOR — основа шифрования. Без неё твои сообщения в мессенджерах мог бы прочитать любой!
🎓 Ключевые выводы
Самое главное, что нужно запомнить об алгебре логики
🤔 Проверь себя
Попробуй ответить на эти вопросы, чтобы проверить понимание материала
1. Объясни младшему брату: чем высказывание отличается от обычного предложения?
Приведи 3 примера высказываний и 3 примера не-высказываний.
2. Житейская задача про импликацию
Ты говоришь другу: «Если ты мне поможешь с математикой, то я помогу тебе с физикой». Когда ты соврёшь, а когда нет? Составь таблицу истинности для всех вариантов.
3. Программистский челлендж
Представь, что пишешь код для игры. Персонаж может открыть дверь ТОЛЬКО если у него есть ключ И он нажал кнопку. Запиши это условие на языке логики, а потом на псевдокоде.
4. Детектив с предикатами
Найди все целые числа x, для которых истинно: (x > 3) И (x² < 50). Сколько таких чисел?
5. Поисковая система
Ты ищешь в интернете информацию о Python, но НЕ про змей. Как записать этот запрос с помощью логических операций?
6. Креативное задание
Придумай свою жизненную ситуацию для каждой из 6 логических операций (НЕ, И, ИЛИ, ЕСЛИ...ТО, ЛИБО, ТОГДА И ТОЛЬКО ТОГДА). Запиши в виде формул.
7. Глубокое понимание: парадокс импликации
Почему импликация «Если 2 > 3, то я президент» считается истинной в алгебре логики, хотя звучит абсурдно? Подумай о разнице между логической истинностью и житейским смыслом.
8. Исследование
Найди в интернете информацию о том, как именно транзисторы в процессоре реализуют логические операции. Зарисуй схему хотя бы для одной операции (И, ИЛИ или НЕ).