Добавить в корзинуПозвонить
Найти в Дзене
Информатика

🧠 Алгебра логики: язык, на котором думают все компьютеры планеты

Ты когда-нибудь задумывался, почему процессор в твоём телефоне принимает миллиарды решений в секунду — и ни разу не ошибается в том, какой пиксель зажечь? 🤯
Или почему TikTok знает, что тебе показать следующим? За всем этим стоит одна идея, которой почти 200 лет. Её придумал математик Джордж Буль — и она до сих пор лежит в основе абсолютно каждого компьютера на земле. Называется это алгебра логики. И нет, это не про «логичное мышление» в разговорном смысле.
Это буквально математика для истины и лжи. Есть стандартный способ разобраться с логическим выражением — построить таблицу истинности. Перебираешь все комбинации переменных, проверяешь результат. Звучит несложно. Но вот цифры: Именно так проектируются реальные процессоры, где переменных — тысячи. Очевидно, что таблицами здесь никто не занимается. Вместо этого используют законы алгебры логики — набор правил, которые позволяют упрощать выражения символьно, не перебирая ни одной строки. Это как разница между тем, чтобы вручную пересчи
Оглавление
Алгебра логики — язык компьютеров
Алгебра логики — язык компьютеров

Ты когда-нибудь задумывался, почему процессор в твоём телефоне принимает миллиарды решений в секунду — и ни разу не ошибается в том, какой пиксель зажечь? 🤯
Или почему TikTok
знает, что тебе показать следующим?

За всем этим стоит одна идея, которой почти 200 лет. Её придумал математик Джордж Буль — и она до сих пор лежит в основе абсолютно каждого компьютера на земле.

Называется это алгебра логики.

И нет, это не про «логичное мышление» в разговорном смысле.
Это буквально математика для истины и лжи.

📊 Почему таблицы — это тупик (и что вместо них)

Таблица истинности и рост сложности
Таблица истинности и рост сложности

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

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

Но вот цифры:

  • три переменные — 8 строк
  • десять переменных — 1024 строки
  • двадцать переменных — больше миллиона строк

Именно так проектируются реальные процессоры, где переменных — тысячи.

Очевидно, что таблицами здесь никто не занимается.

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

Это как разница между тем, чтобы вручную пересчитать все пиксели кадра — или просто применить формулу сжатия. ⚙️

🔄 Де Морган: самый полезный закон, о котором ты, скорее всего, не слышал

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

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

Законы де Моргана:

НЕ(A И B) = НЕ-A ИЛИ НЕ-B
НЕ(A ИЛИ B) = НЕ-A И НЕ-B

Мнемоника простая:
разбиваешь скобку — переворачиваешь операцию.

Пример из Python:

not (user.is_admin and user.is_active)
абсолютно эквивалентно
(not user.is_admin) or (not user.is_active)

Второй вариант в некоторых ситуациях работает быстрее, потому что компьютер может остановиться, как только первое условие окажется ложным. 🚀

Это называется оптимизация.

И именно этим занимаются компиляторы — автоматически применяют законы де Моргана к твоему коду, чтобы он выполнялся эффективнее.

Ты пишешь понятно для себя — машина переписывает понятно для себя.

♻️ Почему A & A = A — это не очевидно, но гениально

В обычной математике 3 × 3 = 9.

В алгебре логики:

A & A = A

Если переменная может принимать только два значения — 0 или 1 — то:

  • «истина И истина» даёт «истину»
  • «ложь И ложь» даёт «ложь»

Результат совпадает с исходным.
Никакого накопления. Никакого роста.

Этот закон идемпотентности — один из тех моментов, где логика ведёт себя совсем не как привычная алгебра.

Именно такие особенности делают её мощным инструментом для описания двоичного мира.

🧱 16 функций, одна из которых управляет всей электроникой планеты

NAND как универсальный элемент
NAND как универсальный элемент

Для двух переменных существует ровно 16 различных логических функций.

Среди них — И, ИЛИ, НЕ, импликация, эквиваленция.

Но есть одна, которая стоит особняком.

Это штрих Шеффера (или NAND — «И-НЕ»):

A | B = НЕ(A И B)

Вот в чём фокус:

из одного только NAND можно построить абсолютно любую логическую схему.

Любую операцию — НЕ, И, ИЛИ — можно выразить только через NAND.
Это называется
функциональная полнота.

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

  • запускать операционную систему
  • рендерить 3D
  • шифровать твою переписку

Из одного кирпича — любое здание. 🔥

🧩 Как получить формулу из таблицы (и зачем это вообще нужно)

Упрощение формулы — меньше транзисторов
Упрощение формулы — меньше транзисторов

Бывает обратная задача:

Есть таблица истинности — набор ситуаций, при которых что-то должно работать — и нужно превратить её в формулу.

Алгоритм называется СДНФ (Совершенная Дизъюнктивная Нормальная Форма).

Он работает так:

  1. Находишь все строки, где результат равен 1.
  2. Для каждой такой строки записываешь конъюнктивный минтерм — берёшь все переменные:
    единицы — как есть
    нули — с отрицанием
  3. Соединяешь все минтермы через ИЛИ.

Получаешь рабочую формулу.
Громоздкую — но рабочую.

Дальше начинается упрощение.

Последовательно применяешь законы — исключённое третье, дистрибутивность, поглощение — и выражение сокращается. Иногда в разы.

Каждый «лишний» элемент в формуле — это:

  • лишний транзистор
  • лишнее тепло
  • лишняя энергия
  • лишняя цена производства

Вот почему инженеры Intel и AMD буквально зарабатывают на жизнь упрощением логических выражений. ⚡

🌍 Что это всё значит для тебя

Алгебра логики — это не абстрактная математика из учебника.

Это базовый язык, на котором написаны:

  • процессоры
  • компиляторы
  • алгоритмы безопасности
  • системы принятия решений

Когда ты понимаешь де Морган — ты понимаешь, как компилятор оптимизирует код.

Когда ты понимаешь NAND — ты понимаешь, почему чипы устроены одинаково в самой своей основе.

Когда ты понимаешь СДНФ — ты понимаешь, как из таблицы требований рождается работающая программа или схема.

Это фундамент, на котором стоит весь цифровой мир вокруг тебя.

Полный учебный материал с детальными примерами, разбором задач и схемами — по ссылке.