Игра разума. Как Клод Шеннон изобрел информационный век. Джимми СониЧитать онлайн книгу.
способностями.
В 1930-е годы в мире насчитывалась лишь горстка людей, которые одинаково хорошо владели «символическим исчислением», или строго научной математической логикой, и умением собирать электрические цепи. Звучит это и вправду удивительно: до того, как две эти области знаний соединились в голове Шеннона, мало кто представлял, что они могут иметь нечто общее. Одно дело было сравнить логику с машиной – и совсем иное показать, что машины способны действовать логично.
В Мичигане Шеннон узнал (на занятиях по философии, заметьте), что любое логическое утверждение можно представить в символах и уравнениях и что эти уравнения можно решить с помощью ряда простых, похожих на математические, правил. Вы можете доказать, что утверждение истинно или ложно, даже не понимая, что оно означает. На самом деле вы будете меньше отвлекаться, если предпочтете не понимать значения: дедукция может быть автоматизирована. Ключевой фигурой процесса перевода прихотливых слов в точные математические величины стал гений девятнадцатого века по имени Джордж Буль, английский математик-самоучка, чей отец-сапожник смог дать ему образование лишь до шестнадцати лет. Незадолго до того, как Томсон задумал свой первый анализатор, Буль доказал, что он сверходаренный человек, написав книгу, название которой хоть и звучало довольно самонадеянно, но было вполне оправданным: «Законы мышления». Эти законы, показал Буль, основываются всего на нескольких фундаментальных операциях: например, И, ИЛИ, НЕТ и ЕСЛИ.
Скажем, нам нужно определить всех голубоглазых левшей, живущих в Лондоне. Обозначим свойство «голубые глаза» величиной х, а свойство «левша» – у. Пусть функцию умножение обозначает И, сложение – ИЛИ, а простой апостроф (заменяющий знак минус) – НЕТ. Помните, что цель всего этого – доказать верность или неверность утверждения. Поэтому пусть 1 означает «верно», а 0 – «неверно». Все это начальные знания для превращения логики в математику.
Таким образом, группа всех лондонцев, которые одновременно голубоглазы и левши, становится просто ху. А группа всех лондонцев, которые либо голубоглазы, либо левши, это х + у. Теперь представьте, что мы хотим оценить истинность утверждения «этот конкретный житель Лондона голубоглаз и левша». Его верность зависит от верности х и у. И здесь Буль выдвигает принципы для оценки утверждения 1 или 0, учитывая то, что мы знаем о х и у:
0 · 0 = 0
0 · 1 = 0
1 · 0 = 0
1 · 1 = 1
Эти уравнения легко перевести обратно на обычный язык. Если житель Лондона не является ни голубоглазым, ни левшой, то утверждение, которое мы пытаемся оценить, конечно, неверно. Если лондонец только голубоглаз или только левша, утверждение снова неверно. Если лондонец и голубоглаз, и левша, вот тогда утверждение становится верным. Другими словами, знак операции «И» дает «верно», только если все положения, которыми он оперирует, верны.
Но булева алгебра – это больше, чем просто переделка на новый лад обычной