Москва 2001 г тайный язык информатики Чарльз Петцольд ббк 32. 973. 26–018



Pdf көрінісі
бет6/26
Дата07.04.2020
өлшемі3,29 Mb.
#61783
1   2   3   4   5   6   7   8   9   ...   26
Байланысты:
Petcold Kod-Taynyy-yazyk-informatiki.535358

Глава 10

Логика и переключатели

Что есть истина? Аристотель считал, что ответить на этот воп-

рос можно с помощью логики. Собрание его поучений, извес-

тное как Органон (датируемое IV в. до н. э.), — самое раннее

подробное произведение о логике. Для древних греков логика

была средством для анализа языка в поисках истины и потому

считалась отраслью философии. В основе аристотелевой ло-

гики лежит силлогизм. Самый известный силлогизм (кстати, в

трудах Аристотеля его нет) звучит так:

Все люди смертны;

Сократ — человек;

Следовательно, Сократ смертен.

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

Смертность Сократа и без силлогизма достаточно очевид-

на, но приведенным выше примером круг силлогизмов не ог-

раничен. Задумайтесь, например, над следующими двумя по-

сылками, предложенными математиком  XIX века Чарльзом

Доджсоном, носившем также псевдоним Льюис Кэрролл:

Все философы логичны;

Нелогичный человек всегда упрям.

Из этой пары вывести верное заключение уже не так просто.

Кстати, звучит оно так: «Некоторые упрямые люди не явля-

ются философами» (заметьте, что в заключении появилась нео-

пределенность, выраженная словом «некоторые»).


100

Глава десятая

В течение двух тысяч лет математики сражались с логикой

Аристотеля, пытаясь обуздать ее математическими символа-

ми и операторами. До XIX в. подойти близко к решению этой

проблемы удалось лишь Готфриду Вильгельму Лейбницу

(1648–1716), который в начале своей научной деятельности

увлекся было логикой, но затем заинтересовался другими про-

блемами (например, независимо от Ньютона и одновременно

с ним изобрел дифференциальное исчисление).

А затем наступило время Джорджа Буля.

Джордж Буль (George Boole) по-

явился на свет в Англии в 1815 г.

Шансы на успех в жизни у него

были весьма невелики. Он родил-

ся в семье башмачника и бывшей

горничной, и жесткая классовая

структура Британии предполагала,

что сам он также не достигнет боль-

ших высот. Но благодаря своему

пытливому уму и помощи отца

(серьезно увлекавшегося матема-

тикой и литературой), юный

Джордж преуспел в науках, кото-

рые считались привилегией маль-

чиков из высших классов, в том числе в латыни, греческом и

математике. Написав несколько научных статей по математи-

ке, в 1849 г. Буль стал первым профессором математики Кол-

леджа Королевы в ирландском городе Корк.

Над математической формулировкой законов логики ра-

ботали в середине XIX в. многие математики (наибольших ус-

пехов добился Огастес Морган), но только Булю удалось со-

вершить концептуальный прорыв в этой области, сначала в

короткой книжке «Математический анализ логики, или очерк

исчисления дедуктивного рассуждения» (1847), а затем в бо-

лее объемном и амбициозном труде «Исследование законов

мышления, на которых основаны математические теории ло-

гики и вероятностей» (1854), который часто сокращенно на-

зывают просто «Исследование законов мышления». Умер Буль

в 1864 г. от воспаления легких, которое он подхватил, попав

под дождь по дороге на занятия. Ему было всего 49 лет.



101

Логика и переключатели

Название основного труда Буля предполагает решение

грандиозной задачи. Рациональное мышление происходит по

законам логики, а значит, если мы найдем способ описать эти

законы средствами математики, тем самым мы получим мате-

матическое описание работы мозга. Конечно, в наши дни это

представление кажется довольно-таки наивным (возможно,

мы до него все еще не доросли!).

По внешнему виду и действию изобретенная Булем алгеб-

ра подобна обычной алгебре. В последней для обозначения

чисел используются операнды (как правило, буквы латинского

алфавита), а для указания способа объединения чисел — опе-

раторы (например, знаки + или  

´). Традиционная алгебра ис-

пользуется, например, для решения таких задач. У Ани было 3

яблока, у Бетти в 2 раза больше, а у Кармен на 5 яблок больше,

чем у Бетти. Наконец, у Дейдры было яблок в 3 раза больше,

чем у Кармен. Сколько яблок было у Дейдры?

Чтобы решить эту задачу, мы должны заменить слова ариф-

метическими выражениями, подставив вместо имен буквы ла-

тинского алфавита:

A = 3


B = 2 

´ A


C = B + 5

D = 3 


´ C

Подстановками эти выражения можно объединить в одно, а

затем вычислить его:

D = 3 


´ C

D = 3 


´ (B + 5)

D = 3 


´ ((2 ´ A) + 5)

D = 3 


´ ((2 ´ 3) + 5)

D = 33


Вычисляя алгебраические выражения, мы следуем опреде-

ленным правилам. Эти правила настолько глубоко проникли

в наши повседневные расчеты, что мы даже не принимаем их

за правила и не помним их названий. И все же они положены

в основу любых вычислений.

Первое правило заключается в том, что операции сложе-

ния и умножения коммутативны. Это значит, что их операн-

ды можно менять местами и результат не изменится:



102

Глава десятая

A + B = B + A

´ B = B ´ A



А вот операции вычитания и деления коммутативными не яв-

ляются.


Сложение и умножение также являются ассоциативны-

ми, т. е.:

A + (B + C) = (A + B) + C

´ (B ´ C) = (A ´ B) ´ C



Наконец, умножение дистрибутивно относительно сложения:

´ (B + C) = (A ´ B) + (A ´ C)



Другая характерная особенность обычной алгебры в том,

что она всегда работает с числами: количествами, весами, рас-

стояниями, возрастами и пр. Понадобился гений Буля, чтобы

сделать алгебру более абстрактной, отделив ее от концепции

числа. В булевой алгебре (так стали называть алгебру, разра-

ботанную Булем) операнды обозначают не числа, а множества,

т. е. наборы чего угодно.

Поговорим о кошках. Кошки бывают мужского и женско-

го пола. Для удобства будем обозначать котов буквой М, а ко-

шек — Ж. Не забывайте, что эти буквы не обозначают количе-

ство кошек. Число котов и кошек непрерывно меняется —

рождаются новые котята, а старые кошки (увы) отходят в мир

иной. Буквы М и Ж символизируют множества кошек с опре-

деленными свойствами. Чтобы обозначить множество всех

котов, достаточно сказать просто «М».

Буквами можно обозначить и окрас кошки. Например, бук-

ва Р может соответствовать рыжим кошкам, буква Ч — чер-

ным, Б — белым. В множество Д можно определить кошек всех

других цветов, т. е. не входящих в множества Р, Ч и Б.

Наконец, кошка может быть стерилизованной или несте-

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

буква Н.


В обычной (численной) алгебре операторы + и 

´ символи-

зируют сложение и умножение. В булевой алгебре эти знаки

также используются, что может стать причиной некоторой пу-

таницы. Как складывать и умножать обычные числа, знают

практически все, а вот можно ли складывать и умножать мно-



жества?

103

Логика и переключатели

Если говорить точно, то не совсем. В действительности зна-

ки + и 

´ в булевой алгебре имеют несколько иное значение.



Символом + в булевой алгебре обозначается объединение

(union) двух множеств, т. е. множество, состоящее из всех эле-

ментов первого множества и всех элементов второго множе-

ства. Например, в множество Ч + Б входят все черные и белые

кошки.

Символ 


´ в булевой алгебре соответствует  пересечению

(intersection) двух множеств, т. е. множеству, которое содер-

жит только элементы, входящие как в первое, так и во второе

множество. Например, множество Ж 

´ Р состоит из рыжих

кошек женского пола. Как и умножение в обычной алгебре,

пересечение двух множеств можно записать в виде Ж · Р или

просто ЖР (такую запись предпочитал сам Буль).

Чтобы избежать путаницы между обычными и булевыми

алгебраическими операциями, вместо + и 

´ объединение и пе-

ресечение иногда обозначают знаками   и  . Однако значение

нововведений Буля для математики отчасти связано с тем, что

он придал знакомым операторам более общий смысл, поэто-

му я решил присоединиться к его мнению и не вводить в буле-

ву алгебру новые символы.

Коммутативный, ассоциативный и дистрибутивный зако-

ны действуют и в булевой алгебре. Более того, в ней оператор

+ дистрибутивен относительно оператора 

´. Вот такое выра-

жение в обычной алгебре несправедливо:

Б + (Ч 


´ Ж) = (Б + Ч) ´ ( Б + Ж)

Объединение белых кошек с черными кошками женского

пола содержит те же элементы, что и пересечение двух объе-

динений: белых кошек с черными и белых — с кошками жен-

ского пола. Звучит, конечно, не очень внятно, но так оно и есть

на самом деле.

Чтобы завершить описание булевой алгебры, нужно ввес-

ти еще два символа. Выглядят они обычными цифрами, но та-

ковыми на самом деле не являются, поскольку иногда ведут

себя не так, как цифры. Символ 1 в булевой алгебре означает

все, о чем идет речь, например, в нашем случае он означает

множество всех кошек без исключения. Таким образом:

М + Ж = 1


104

Глава десятая

Иначе говоря, в объединение кошек мужского и женского пола

попадают вообще все кошки. Все кошки содержатся также в

объединении множеств рыжих кошек, черных кошек, белых

кошек и кошек других окрасов:

Р + Ч + Б + Д = 1

Построить множество, содержащее всех кошек, можно и так:

С + Н = 1

Если символ 1 используется в сочетании со знаком «ми-

нус», он означает все, кроме чего-то. Так, множество:

1 – М

содержит всех кошек, кроме кошек мужского пола. Понятно,



что в это множество входят кошки женского пола:

1 – М = Ж

Последний символ, который нам понадобится, — 0. В бу-

левой алгебре он означает пустое множество, т. е. множество,

не содержащее ни одного элемента. Пустое множество полу-

чается в результате пересечения неперекрывающихся мно-

жеств, например, множеств кошек женского и мужского пола:

Ж 

´ М = 0



Заметьте: иногда символы 1 и 0 в булевой алгебре ведут

себя подобно своим аналогам в обычной алгебре. Например,

пересечение всех кошек с кошками женского пола есть мно-

жество кошек женского пола:

´ Ж = Ж


Пересечение пустого множества с множеством кошек женско-

го пола есть пустое множество:

´  Ж = 0


Объединение пустого множества с множеством кошек женс-

кого пола есть множество кошек женского пола:

0 + Ж = Ж

Но иногда результат получается не такой, как в обычной

алгебре. Например, объединение множеств всех кошек и ко-

шек женского пола является множеством всех кошек:

1 + Ж = 1


105

Логика и переключатели

В обычной алгебре такое выражение особого смысла не имеет.

Поскольку множество Ж содержит всех кошек женского

пола, а множество (1 – Ж) — всех кошек противоположного

пола, объединение двух этих множеств равно 1:

Ж + (1 – Ж) = 1

а их пересечение — 0:

Ж 

´ (1 – Ж) = 0



Это выражение сыграло важную роль в истории алгебры ло-

гики, поэтому у него есть собственное название — закон про-

тиворечия. Он гласит, что ничто не может быть одновремен-

но собой и своей противоположностью.

А вот в следующем выражении уже проявляется отличие

булевой алгебры от обычной:

Ж 

´ Ж = Ж


В булевой алгебре это выражение исполнено смысла: пересе-

чение множества кошек женского пола с самим собой равно

тому же самому множеству. Если мы подставим вместо мно-

жества обычное число, смысл выражения потеряется. Буль счи-

тал, что его алгебра отличается от обычной только следующим

выражением:

X

2

 = X



Еще одно выражение, которое с точки зрения обычной алгеб-

ры выглядит странно:

Ж + Ж = Ж

объединение множества кошек женского пола с самим собой

равно тому же самому множеству.

В булевой алгебре предлагается математический способ раз-

решения аристотелева силлогизма. Вспомним две его первые

строки:


Все люди смертны;

Сократ — человек.

Обозначим буквой Л множество всех людей, буквой Х — мно-

жество смертных существ, а буквой К — множество Сокра-

тов. Что означает высказывание «Все люди смертны»? Оно оз-

начает, что пересечение множества людей со множеством смер-

тных существ равно множеству людей:



106

Глава десятая

Л 

´ Х = Л



А вот выражение Л 

´ Х = Х было бы неверным, поскольку в

множество смертных существ помимо людей входят кошки,

собаки и даже пальмы.

Высказывание «Сократ — человек» можно передать следу-

ющим образом: пересечение множества Сократов (в нем эле-

ментов не так много) со множеством людей (в нем элементов

гораздо больше) равно множеству Сократов

К 

´ Л = К


Из первого выражения мы знаем, что множество Л равно

Л 

´ Х. Подставим это во второе выражение:



К 

´ (Л ´ Х) = К

Используя ассоциативный закон, переписываем это в виде:

(К 


´ Л) ´ Х = К

Но, как мы знаем, пересечение К 

´ Л равно К, а значит:

К 

´ Х = К



Готово! Эта формула говорит о том, что пересечение множе-

ства Сократов со множеством смертных существ равно мно-

жеству Сократов, а это как раз и означает, что Сократ смертен.

Равенство этого же выражения нулю означало бы, что Сократ

не является смертным. Если бы мы нашли, что пересечение

К 

´ Х равно Х, то пришли бы к выводу, что Сократ — един-



ственное смертное существо, а все остальные существа бес-

смертны!


Пока что у вас могло сложиться впечатление, что мы стре-

ляем из пушки по воробьям, доказывая математическими ме-

тодами смертность Сократа (особенно учитывая, что сам Со-

крат убедительно доказал свою смертность 2 400 лет назад). Но

теми же методами можно проверять выполнение сложного на-

бора условий. Представьте себе, заходите вы однажды в зоома-

газин и говорите продавцу: «Мне нужна кошка мужского пола,

стерилизованная, белая или рыжая; или кошка женского пола,

стерилизованная, любого цвета, кроме белого; или любая кош-

ка черного окраса». А продавец вам отвечает: «А-а, так вам нуж-

на кошка из множества, описываемого выражением:

(М 


´ С ´ (Б + Р)) + (Ж ´ С ´ (1 – Б)) + Ч

107

Логика и переключатели

Верно?» И вы отвечаете: «Да! Именно так!»

Чтобы проверить, правильно ли продавец написал выраже-

ние, забудем на время о понятиях объединения и пересечения и

будем использовать вместо них операторы ИЛИ (OR) и И

(AND). Я специально написал их прописными буквами, чтобы

не путать их с обычными словами. Формируя объединение двух

множеств, вы в действительности выбираете элементы из од-

ного множества ИЛИ из другого множества. В пересечение вы

включаете только элементы, входящие в первое множество И

во второе множество. Кроме того, вместо единицы со знаком

«минус» можно использовать оператор НЕ (NOT). Итак:

вместо оператора объединения + пишем ИЛИ;



вместо оператора пересечения 

´ пишем И;

вместо 1 – (все за исключением чего-то) пишем НЕ.



В современных текстах вместо И и ИЛИ иногда использу-

ют знаки 

Ù и Ú.

С учетом этих замен выражение приобретает вид:



(М И С И (Б ИЛИ Р)) ИЛИ (Ж И С И (НЕ Б)) ИЛИ Ч

Это условие почти совпадает с тем, что вы с самого начала

выразили словами. Обратите внимание на скобки, которые су-

щественно прояснили ваше пожелание. Итак, вам нужна кош-

ка, входящая в одно из трех множеств:

(М  И  С  И  (Б ИЛИ Р))



ИЛИ

(Ж  И  С  И  (НЕ Б))



ИЛИ

Ч

Записав эту формулу, продавец может осуществить про-



верку выполнения ваших условий. А вы и не заметили, как я

потихонечку перешел к другой форме булевой алгебры! В ней

буквы уже не обозначают множеств, и им теперь можно при-

сваивать численные значения. Фокус в том, что выбор допус-

тимых значений очень ограничен: 0 или 1. 1 означает «исти-

на»: да, эта кошка удовлетворяет данному условию. 0 означает

«ложь»: нет, эта кошка не удовлетворяет данному условию.


108

Глава десятая

Для начала продавец приносит вам нестерилизованного ры-

жего кота. Условие покупки кошки выглядит так:

(М 


´ С ´ (Б + Р)) + (Ж ´ С ´ (1 – Б)) + Ч

а если мы подставим вместо отдельных условий 0 и 1, то так:

(1 

´ 0 ´ (0 + 1)) + (0 ´ 0 ´ (1 – 0)) + 0



Обратите внимание, что единице равны только условия М и

Р, поскольку продавец принес рыжую кошку мужского пола.

Теперь нужно вычислить значение этого выражения. Если

оно равно 1, кошка удовлетворяет вашим условиям, 0 — нет.

Проводя вычисления, помните, что наши действия лишь внеш-

не напоминают сложение и умножение, но по сути ими не яв-

ляются. Впрочем, к ним применимо большинство правил

обычной алгебры.

При умножении чисел по правилам булевой алгебры воз-

можны следующие результаты:

´ 0 = 0


´ 1 = 0


´ 0 = 0


´ 1 = 1


Иными словами, результат равен 1, только если левый И пра-

вый операнд оба равны 1. Эта операция работает точно так же,

как обычное умножение. Составим для ее обобщения неболь-

шую таблицу, как мы делали в главе 8.



И

0

1

0

0

0



1

0

1



В логическом сложении возможные результаты таковы:

0 + 0 = 0

0 + 1 = 1

1 + 0 = 1

1 + 1 = 1

Результат равен 1, если левый ИЛИ правый операнд равны 1.

И эта операция мало отличается от обычного сложения за ис-

ключением того, что сумма двух единиц также равна 1. Пост-

роим таблицу и для операции ИЛИ.


109

Логика и переключатели

ИЛИ

0

1

0

0

1



1

1

1



С помощью этих таблиц легко вычислить значение выра-

жения:


(1 

´ 0 ´ 1) + (0 ´ 0 ´ 1) + 0 = 0 + 0 + 0 = 0

Нулевой результат означает, что эта кошка вам не подойдет.

Тогда продавец предлагает вам белую стерилизованную ко-

шечку. Исходное выражение выглядит так:

(М 


´ С ´ (Б + Р)) + (Ж ´ С ´ (1 – Б)) + Ч

Подставляем в него 0 и 1:

(0 

´ 1 ´ (1 + 0)) + (1 ´ 1 ´ (1 – 1)) + 0



Это равно:

(0 


´ 1 ´ 1) + (1 ´ 1 ´ 0) + 0 = 0 + 0 + 0 = 0

Эту бедную киску вы тоже отвергнете…

Наконец, продавец приносит дымчатую стерилизованную

самку (ее цвет попадает в категорию Д — другой, т. е. не бе-

лый, не черный, не рыжий). Выражение:

(0 


´ 1 ´ (0 + 0)) + (1 ´ 1 ´ (1 – 0)) + 0

сводится к виду:

(0 

´ 1 ´ 0) + (1 ´ 1 ´ 1) + 0 = 0 + 1 + 0 = 1



Окончательный результат равен 1 — кошка нашла свой но-

вый дом!


Вечером того же дня кошка дремлет, свернувшись в клу-

бок у вас на коленях, а вы размышляете, можно ли соорудить

из нескольких тумблеров и лампочки устройство, которое оп-

ределяло бы, подходит вам данная кошка или нет (ничего не

скажешь, ребенок вы странноватый). При этом вы не полнос-

тью осознаете, что готовы совершить судьбоносный шаг: объе-

динить алгебру Джорджа Буля с электричеством, т. е. создать

устройство, принципиально сходное с компьютером, работа-

ющим с двоичными числами. Надеюсь, вы не слишком раз-

волновались.



110

Глава десятая

Чтобы начать эксперимент, соедините лампочку с батарей-

кой, как обычно, но включите в цепь два переключателя, а не один.

Переключатели, соединенные таким способом (один за дру-

гим), называются подключенными последовательно (in series).

Если вы замкнете левый переключатель, не случится ничего.

Ничего не случится, если вы замкнете правый переключатель

при разомкнутом правом. Лампочка загорится лишь при од-

ном условии: если вы включите левый и правый переключа-

тели одновременно.



111

Логика и переключатели

Ключевое слово тут — и. Чтобы по цепи шел ток, должны быть

включены левый и правый переключатели.

Эта цепь решает простую логическую задачу. Говоря по-

просту, лампочка отвечает на вопрос «Оба ли переключателя

замкнуты?». Работу цепи можно суммировать в небольшой

таблице.

Левый переключатель

Правый переключатель

Лампочка

Разомкнут

Разомкнут

Не горит


Разомкнут

Замкнут


Не горит

Замкнут


Разомкнут

Не горит


Замкнут

Замкнут


Горит

В предыдущей главе я рассказал, как представлять инфор-

мацию с помощью двоичных цифр, или битов, — от чисел до

направления пальца Роджера Эберта. Мы говорили, что 0 оз-

начает палец вниз, а 1 означает палец вверх. У переключателя

две позиции, поэтому для его описания достаточно одного

бита. Можно сказать, например, что 0 соответствует разомк-

нутой цепи, а 1 — замкнутой. У лампочки также два состоя-

ния, поэтому и ее можно описать одним битом. Значение 0

этого бита означает, что лампа не горит, а 1 соответствует го-

рящей лампе. Теперь перепишем таблицу.

Левый переключатель

Правый переключатель

Лампочка

0

0



0

0

1



0

1

0



0

1

1



1

Заметьте: если левый и правый переключатели поменять мес-

тами, результат не изменится. Поэтому их можно не разли-

чать и переписать таблицу в том же виде, что ранее мы ис-

пользовали для операторов И и ИЛИ.

Переключатели при

последовательном соединении

0

1

0

0

0



1

0

1



112

Глава десятая

Эта таблица выглядит точно так же, как таблица для опера-

тора И. Проверьте:

И

0

1

0

0

0



1

0

1



Эта простая схема выполняет операцию И булевой алгебры.

Теперь подключим переключатели иначе.

Это параллельный (in parallel) способ подключения. Отли-

чие от предыдущего в том, что лампочка будет гореть незави-

симо от того, включили вы верхний переключатель:


113

Логика и переключатели

нижний:


или оба:

Лампа горит, если включен верхний или нижний переключа-

тель. Ключевое слово здесь или.

И снова схема решает логическую задачу. На этот раз воп-

рос звучит так: «Включен ли хоть один переключатель?» Рабо-

та схемы проиллюстрирована в следующей таблице.



114

Глава десятая

Левый переключатель

Правый переключатель

Лампочка

Разомкнут

Разомкнут

Не горит


Разомкнут

Замкнут


Горит

Замкнут


Разомкнут

Горит


Замкнут

Замкнут


Горит

Изменим таблицу, заменяя разомкнутое положение переклю-

чателя и потушенную лампу 0, а замкнутое положение и горя-

щую лампу — 1.



Левый переключатель

Правый переключатель

Лампочка

0

0



0

0

1



1

1

0



1

1

1



1

Учитывая, что положение переключателя роли не играет, пе-

репишем таблицу в упрощенном виде:

Переключатели при

параллельном соединении

0

1

0

0

1



1

1

1



Вы, вероятно, уже догадались, что это таблица для логическо-

го ИЛИ:


ИЛИ

0

1

0

0

1



1

1

1



А это значит, что два параллельных переключателя выполня-

ют логическую операцию ИЛИ.

Зайдя в зоомагазин, вы сказали следующее: «Мне нужен кот,

стерилизованный, белый или рыжий; или кошка, стерилизован-

ная, любого цвета, кроме белого; или любая кошка черного ок-

раса», а продавец перевел это высказывание в выражение:

(М 

´ С ´ (Б + Р)) + (Ж ´ С ´ (1 – Б)) + Ч



Теперь вы знаете, что последовательно соединенные переклю-

чатели выполняют логическую операцию И (выражаемую зна-



115

Логика и переключатели

ком 


´), а параллельно соединенные переключатели выполня-

ют логическую операцию ИЛИ (выражаемую знаком  +), и

можете соединить 8 переключателей в такую схему:

Б

Р



С

С

Ж



Б

Ч

М



Каждый переключатель в этой схеме помечен буквой —

той же, что и в булевом выражении (

_

Б эквивалентно выраже-



нию НЕ Б и является другой формой записи выражения 1 – Б).

Просмотрев схему слева направо и сверху вниз, вы увидите,

что буквы стоят на ней в том же порядке, что и в выражении.

Каждому знаку 

´ в выражении соответствует точка схемы, в

которой два переключателя (или две группы переключателей)

соединены последовательно. Каждому знаку + в выражении

соответствует место на схеме, в котором два переключателя

(или две группы переключателей) соединены параллельно.

Как вы помните, сначала продавец принес нестерилизован-

ного рыжего кота. Включите соответствующие переключатели.

Б

Р



С

С

Ж



Ч

М

Б



116

Глава десятая

Хотя переключатели М, Р и НЕ Б замкнуты, цепь в целом

разомкнута, и лампочка не горит. Затем продавец принес сте-

рилизованную белую кошечку:

Б

Р

С



С

Ж

Ч



М

Б

И снова цепь осталась разомкнутой. И наконец на сцене



появляется стерилизованная серая кошечка:

Б

Р



С

С

Ж



Ч

М

Б



Вот теперь цепь замкнута, а лампочка горит, сигнализируя, что

все ваши условия выполнены.

Джордж Буль такой схемы не разработал. Ему никогда не

хотелось увидеть, как выражения его алгебры оживают в виде

переключателей, проводов и лампочек. Отчасти этому препят-


117

Логика и переключатели

ствовало отсутствие лампы накаливания, которая была изоб-

ретена лишь через 15 лет после смерти Буля. Но работу теле-

графа Сэмюэль Морзе продемонстрировал в 1844 г. — через

десять лет после публикации булевского «Исследования зако-

нов мышления», и в приведенных выше схемах лампочку впол-

не можно было заменить зуммером телеграфа.

Тем не менее, никто в XIX в. не увидел связи между логи-

ческими операторами И и ИЛИ и последовательным и парал-

лельным соединением переключателей. Ни математики, ни

электрики, ни операторы телеграфа — никто. Не сделал этого

даже провозвестник компьютерной революции Чарльз Бэб-

бидж (Charles Babbage) (1792–1871), который переписывался с

Булем, знал о его работах и посвятил большую часть своей жиз-

ни созданию Аналитической Машины, которую век спустя ста-

ли называть прототипом современных компьютеров. Теперь

мы знаем: помочь Бэббиджу могло осознание того, что для ав-

томатизации вычислений вместо колес и рычажков нужно

было использовать телеграфные реле.

Да, телеграфные реле.





Достарыңызбен бөлісу:
1   2   3   4   5   6   7   8   9   ...   26




©www.engime.org 2024
әкімшілігінің қараңыз

    Басты бет