Несколько математиков в середине 1800-х годов работали над формальным определением логики (среди них особо выделялся Огастес де Морган). Однако именно Буль совершил настоящий концептуальный прорыв: сначала в короткой книге «Математический анализ логики, или Очерк исчисления дедуктивных умозаключений» (1847), затем в гораздо более объемном и амбициозном произведении «Исследование законов мышления, на которых основаны математические теории логики и вероятностей» (1854), которое кратко также называется «Исследование законов мышления». Буль умер в 1864 году в возрасте 49 лет от пневмонии, которую он подхватил, попав под дождь по дороге на лекцию.
Название книги Буля 1854 года говорит о постановке амбициозной задачи: поскольку мозг разумного человека мыслит, используя логику, то, найдя способ математического представления логики, мы получим математическое описание того, как работает мозг. Разумеется, в наше время такое в и дение кажется весьма наивным (или просто оно значительно опережает свое время).
Изобретенная Булем алгебра очень похожа на обычную. В обычной алгебре операнды (обычно буквы) обозначают цифры, а операторы (например, «+» и «×») указывают, как эти числа должны объединяться. Как правило, мы используем обычную алгебру для решения таких задач: у Ани есть три яблока. У Бетти в два раза больше яблок, чем у Ани. У Кармен на пять яблок больше, чем у Бетти. У Дейрдре в три раза больше яблок, чем у Кармен. Сколько яблок у Дейрдре?
Чтобы решить эту задачу, сначала преобразуем ее в арифметические выражения, используя четыре буквы, соответствующие количеству яблок, имеющихся у каждой из четырех женщин:
A = 3;
Б = 2 × A;
К = Б + 5;
Д = 3 × К.
Мы можем объединить эти четыре выражения в одно путем подстановки, а затем уже выполнить операции сложения и умножения:
Д = 3 × К;
Д = 3 × (Б + 5);
Д = 3 × ((2 × А) + 5);
Д = 3 × ((2 × 3) + 5);
Д = 33.
Имея дело с обычной алгеброй, мы следуем определенным правилам. Эти правила настолько укоренились в практике, что мы больше не думаем о них как о правилах и даже иногда забываем их названия. Однако любая форма математики подчиняется им.
Первое правило заключается в том, что сложение и умножение являются коммутативными операциями. Это означает, что можно менять операнды местами в обеих частях выражения, не влияя на результат:
A + B = B + A;
A × B = B × A.
Напротив, операции вычитания и деления не являются коммутативными.
Сложение и умножение — ассоциативные операции, то есть:
A + (B + C) = (A + B) + C;
A × (B × C) = (A × B) × C.
Наконец, умножение дистрибутивно по отношению к сложению:
A × (B + C) = (A × B) + (A × C).
Другой характеристикой обычной алгебры является то, что она всегда оперирует числами, например килограммами сыра, количеством уток, расстоянием, которое прошел поезд, или возрастом членов семьи. Гений Буля сделал алгебру более абстрактной, отделив ее от концепции числа. В булевой алгебре (именно такое название получила алгебра Буля) операнды относятся не к числам, а к классам . Класс — это просто набор предметов, который в дальнейшем стал множеством .
Поговорим о кошках. Кошки могут быть мужского и женского пола. Для удобства множество котов будем обозначать буквой M , а множество кошек — Ж . Имейте в виду, что эти два символа не соответствуют количеству кошек. Количество котов и кошек может меняться с течением времени по мере того, как новые особи рождаются, а старые, к сожалению, уходят в мир иной. Эти буквы обозначают классы кошек со специфическими характеристиками. Говоря о котах, мы можем просто сказать «М».
Мы также можем использовать другие буквы для обозначения окраса кошек: буквой Р описать множество рыжих, буквой Ч — множество черных, буквой Б — множество белых, а буквой Д — множество кошек всех «других» цветов, то есть кошек, не входящих в классы Р, Ч или Б.
Наконец (по крайней мере, в нашем примере) кошки могут быть либо стерилизованными, либо нет. Давайте обозначим буквой С множество стерилизованных кошек, а буквой Н — множество нестерилизованных.
В обычной (числовой) алгебре операторы «+» и «×» используются для обозначения операций сложения и умножения. В булевой алгебре применяются те же символы «+» и «×», что может вызвать путаницу. Всем известно, как складывать и умножать числа в обычной алгебре, но как можно складывать и умножать классы ?
Дело в том, что в булевой алгебре мы фактически ничего не складываем и не умножаем. Вместо этого символы «+» и «×» означают нечто совершенно иное.
Читать дальше
Конец ознакомительного отрывка
Купить книгу