Текст
                    SYMBOLIC LOGIC
AND
INTELLIGENT MACHINES
EDMUND С "BERKELEY
Berkeley Enterprises, Inc.
Newtonvllle, Massachusetts
REINHOLD PUBLISHING CORPORATION
New York
Chapman & Hall Ltd., London


Э. БЕРКЛИ СИМВОЛИЧЕСКАЯ ЛОГИКА И РАЗУМНЫЕ МАШИНЫ Перевод с английского И. В. СОЛОВЬЕВА Под редакцией и с предисловием Г. Н. ПОВАРОВА Издательство ИНОСТРАННОЙ ЛИТЕРАТУРЫ Москва 1961
Аннотация Эта книга, написанная видным американским популяризатором кибернетики, представляет собой общедоступное введение в симво- символическую (математическую) логику и вопросы ее применения к син- синтезу машин, моделирующих некоторые операции человеческого мыш- мышления. От простейших машин, способных решать элементарные логиче- логические задачи, автор переходит к современным цифровым автоматиче- автоматическим счетным машинам, описывает их. структуру и программирование. Тот, кто интересуется роботами, обнаружит здесь пример составле- составления логических уравнений, на основе которых можно строить кибер-. нетических «зверьков», обладающих простым поведением. Книга рассчитана на широкие круги читателей; она может быть полезна математикам различных специальностей, инженерам, рабо- работающим в области связи, автоматики и телемеханики, студентам втузов и др. Для ее понимания достаточно знания математики и физики в объеме средней школы. Редакция литературы по математическим наукам
ПРЕДИСЛОВИЕ РЕДАКТОРА ПЕРЕВОДА I С древнейших времен человек непрерывно стремился сделать свой труд более эффективным и производитель- производительным с помощью все более совершенных и сложных ору- орудий, усиливающих данные ему природой органы. Одни из этих орудий усиливают наши мускулы, другие — наши органы чувств, третьи — мозг, центральную нервную сж> тему и, наконец, остальные представляют собой комби- комбинации орудий этих трех видов. К орудиям, усиливающим наши мускулы, мы давно привыкли. Эти орудия достигли высокого уровня разви- развития и дифференциации, применяются в нашей жизни в мас- массовых количествах, способны выполнять разнообразней- разнообразнейшие функции и намного превосходят органы человеческого тела по'силе и ловкости. Мы умеем комбинировать в одном таком орудии и энергетические установки, и обрабатываю- обрабатывающий инструмент. Обобщенно эти орудия можно назвать исполнительными, или рабочими, ору- орудиями. Орудия, усиливающие наши органы чувств, обобщенно можно назвать чувствительными, или вос- воспринимающими, орудиями. В целом они раз- развивались медленнее, чем исполнительные орудия, ибо, вообще говоря, они тоньше, деликатнее и сложнее. Однако сейчас они также достигли высокого уровня развития, выполняют весьма разнообразные функции и прочно вошли в нашу жизнь. Может ли человек сейчас работать без телескопа и микроскопа, без часов и термометра, без осциллографа, без всего комплекса разнообразной изме- измерительной аппаратуры?
Предисловие редактора перевода Орудия, усиливающие наш мозг, обобщенно можно наз- назвать умственными, или решающим и*),орудиям и. Такие орудия, разумеется, еще тоньше, еще деликатнее, еще сложнее. Их подлинный, всесторонний расцвет только- только начинается. Лишь сейчас умственные орудия при- приобретают обилие форм и функций, и мы еще только при- привыкаем к их своеобразию и разнообразию. Для ясности скажем сразу же, что умственное, или решающее, орудие в нашем смысле не есть непременно какой-то сверхчудовищный «механический мозг», усили- усиливающий наш мозг сразу во многих направлениях, как это делает, например, гипотетический «усилитель умствен- умственных способностей», предложенный английским ученым Р. В. Эшби. Любой скромный прибор, усиливающий хотя бы одну, быть может весьма узкую и несложную функцию мозга, уже есть умственное орудие. При этом, конечно, вовсе не нужно, чтобы такое орудие было похоже на мозг по своему физическому строению в большей степени, чем очки похожи на глаза или паровая машина — на мус- мускулы. На протяжении веков умственные орудия были пре- преимущественно орудиями памяти и связи: они усиливали лишь способность мозга хранить поступающую в него информацию и передавать ее от органов чувств или заменяющих их чувствительных орудий к мускулам или заменяющим их исполнительным орудиям. Обе эти функ- функции — память и связь — тесно связаны друг с другом: одна есть передача информации во времени, другая — передача информации в пространстве. Обе функции носят как бы пассивный характер: информация лишь сохраняется и распространяется, но не подвергается активной, целе- целенаправленной переработке. Уже ветка на дереве, которую какой-нибудь охотник на мамонтов загибал для лучшего запоминания обратного пути или для указания своего пути собратьям, была ору- орудием, памяти или соответственно орудием связи, а следова- следовательно, и,умственным орудием в указанном выше смысле. *) Слово «решающий» берется здесь скорее в смысле «прини- «принимающий решения о необходимости тех или иных действий», чем в смысле «ищущий решение какого-лдбо уравнения или задачи».
Предисловие редактора перевода В дальнейшем появились такие орудия памяти и связи, как письменность, книгопечатание, фотография, телеграф, телефон, звукозапись, кино, радио, телевидение и т. д., без которых совершенно нельзя себе представить современную цивилизацию. Таким образом, орудия памяти и связи прочно и разно- разносторонне вошли в жизнь еще в XVIII—XIX веках. Однако эти два специальных вида умственных орудий, обслужи- обслуживающие пассивные функции мозга, не раскрывают еще. всей характерной природы умственных орудий и соста- составляют лишь преддверие их эволюции. II Опыт показывает, что с помощью орудий можно усили- усиливать не только память и связь, ио и другие, более актив- активные функции мозга. Так, различные управляющие и регулирующие устрой- устройства — назовем их обобщенно управляющими орудиями — усиливают способность мозга координи- координировать сложные движения и процессы и отвечать определен- определенными реакциями мускулов и исполнительных орудий на раздражения органов чувств и чувствительных орудий. Простейший случай такой координации — координация раздражений и ответов при повторяющихся, стереотипных работах, осуществляемая мозгом большей частью с по- помощью рефлексов, условных (навыки) и безуслов- безусловных (инстинкты). Простейшие управляющие орудия и уси- усиливают рефлексы (главным образом навыки) при стерео- стереотипных работах. Соединяя управляющие орудия с чувствительными и исполнительными, помещая первые между вторыми и тре- третьими вместо человека с его центральной нервной систе- системой, мы получаем комбинированное, сложное орудие, уси- усиливающее уже не отдельный орган, а систему органов, весь организм всего человека, хотя, быть может, и в весьма узкой функции. Усиление может выражаться просто в облегчении работы мозга по координации, но может состоять и в пол-
Предисловие редактора перевода ной передаче этой работы управляющим орудиям. В пос- последнем случае мы имеем дело с «автоматом» — само- самодействующим орудием, получающим определенные- сигна- сигналы из внешней среды или непрерывно следящим за какими- то ее параметрами и отвечающим на различные изменения этой среды теми или иными своими действиями. Таким образом, управляющие орудия составляют как бы «мозг» автомата, чувствительные орудия — как бы его .«глаза» и «уши», а исполнительные элементы — его «руки» и «ноги», хотя большей частью этот «мозг» и очень часто также эти «глаза» и «уши» оказываются столь бедными эрзацами наших замечательных натуральных органов, что их сходство — почти риторическая метонимия. В целом автомат — это упрощенное искусственное подобие чело- человека, у которого одни способности гипертрофированы (на- (например, сила, быстрота, ловкость), а другие атрофированы (например, ум). Существуют и совсем «примитивные» автоматы, состоя- состоящие только из управляющих и исполнительных орудий и аппаратуры пуска и остановки (скажем, кнопок «пуск» и «стоп») без каких-либо других чувствительных орудий. Такие автоматы не могут реагировать на перемены во внешней среде, в частности на результаты своей собствен- собственной деятельности, и лишь циклически повторяют одни и те же действия под влиянием «спонтанной активности». своего искусственного «мозга» (отсюда их название— «циклические автоматы»). Спорадически автоматы изобретались еще первобыт- первобытными людьми (самодействующие капканы и ловушки). Самое слово «автомат» появилось в античном обществе для обозначения самодействующих механических моде- моделей. Вспомним также «театр автоматов» русского изобре- изобретателя XVIII века Кулибина. В XIX веке и в первые деся- десятилетия XX века различных автоматов было уже много. Однако широкое внедрение автоматов и автоматических систем в технику, революционизировавшее всю промыш- промышленность, началось лишь в последнее десятилетие, когда стали систематически осуществлять комплексную автома- автоматизацию производства. Этот расцвет автоматов выразился не только в их коли- количественном распространении, но и/в дальнейшем усложне-
Предисловие редактора перевода нии их «мозга» — управляющих орудий, которые теперь способны делать нечто большее, чем просто воспроизво- воспроизводить рефлексы,при повторяющихся работах. К чисто упра- управляющим орудиям, усиливающим координационные функ- функции мозга, были присоединены орудия для усиления еще более тонких, сложных и активных функций мозга — счетно-вычислительных и логических. Такие счетно-вычислительные и логические орудия опять-таки были известны очень давно: еще в древности появились, например, счеты (абак), а в XIX веке — настольные счетные машины (арифмометры и комптометры) и счетно-аналитические машины с перфокартами, усили- усиливающие не только нашу способность к вычислениям, но и способность к таким логическим операциям, как сор- сортировка и группировка данных по различным при- признакам. В том же XIX веке начали конструировать и чисто логи- логические машины, вроде «логического пианино» английского логика У. С. Джевонса, способные выполнять определен- определенные логические операции над заданными им суждениями, понятиями и т. д. Развитые счетно-вычислительные и логические орудия можно назвать умственными, или р &ш а ю щ и- ми, автоматами, поскольку они представляют собой соединение не только более простых счетно-вычислитель- счетно-вычислительных или логических орудий, но включают и "управляющие орудия (например, рефлексного типа), согласующие работу этих простых орудий, а также орудия памяти и связи, в том числе устройства для вывода информации и чув- чувствительные орудия для ввода информации. Описанные же выше автоматы, содержащие исполнительные, или рабочие, орудия, можно для отличия назвать и с- полнительными, или рабочими, автома- автоматами. Таким образом, подобно голове профессора Доуэля в известном романе А. Р. Беляева, умственные автоматы состоят лишь из «мозга»^ «органов чувств» и «языка». Подобно этой голове, они лишь «советуют» нам, что делать. Наиболее сложные из счетно-аналитических машин с пер- перфокартами и логических машин уже можно отнести к умст- умственным автоматам.
10 Предисловие редактора перевода Подлинный расцвет счетно-вычислительных орудий так- также наступил лишь в последнее десятилетие, когда были созданы и получили широкое распространение .и при- применение быстродействующие вычислительные машины, способные совершать тысячи арифметических и логических операций в секунду под управлением специальных упра- управляющих устройств согласно программам, хранящимся в их орудиях памяти (запоминающих устройствах). Так как эти программы можно менять, современные вычислитель- вычислительные орудия являются универсальными, т. е. могут осуще- осуществлять любые вычислительные работы. Специализированные логические машины еще остаются прообразами машин будущего, однако электронные уни- универсальные вычислительные машины путем подходящего их программирования неоднократно использовались как орудия усиления не только арифметических и даже не только логических, но и других способностей мозга. Под- Подходящие программы, введенные в память машин, заста- заставляли их доказывать теоремы, переводить с одного языка на другой, играть в шахматы, сочинять музыку и т. п., и хотя уровень исполнения у машин фактически ниже уровня мастеров, тем не менее машины могут принести здесь пользу даже мастерам, выполняя стандартную часть их работы и просматривая большое число вариантов за- замысла. Благодаря такой широте в усилении функций мозга умственные автоматы, и в особенности современные боль- большие вычислительные машины, нередко именуют «искус- «искусственным мозгом», «электронным мозгом» и т. п. Рабочий автомат, «мозг» которого содержит, наряду с чисто управляющими орудиями, еще и целый умствен- умственный автомат, скажем большую электронную вычислитель- вычислительную машину, способен к неизмеримо более сложному и дифференцированному поведению, чем прежние рабочие автоматы с «мозгом» без счетно-вычислительных и логиче- логических орудий. Вот почему развитие вычислительных ав- автоматов стало одним из важнейших факторов, обуслови- обусловивших широкое развертывание автоматизации в последние годы. Подводя итоги всей нарисованной картине, нетрудно сделать вывод, что глубокое своеобразие техники нашего
Предисловие редактора перевода П времени определяется в значительной степени тем, что мы вступили в эру широкого развития и распространения сложных умственных орудий и сложных автоматов, исполь- использующих эти орудия в качестве своего «мозга». III Все это ставит перед нами ряд интересных и глубоких вопросов, и в частности: 1) Можно ли создать сложное умственное орудие — назовем его «полной мозговой машиной»,—которое было бы вполне эквивалентно нашему мозгу во всех его творческих функциях или даже пре- превосходило бы его, так что, оснастив эту «полную моз- мозговую машину» чувствительными и исполнительными ору- орудиями, мы получили бы «механического человека», способ- способного сделать абсолютно все, что и мы, или даже гораздо большее? 2) Являются ли универсальные вычислительные маши- машины, которыми мы располагаем сегодня или будем распола- располагать в обозримом будущем, такими «полными мозговыми машинами»? 3) Будет ли «полная мозговая машина» (и снабженный ею автомат) обладать разумом, сознанием, жизнью или, несмотря на все свое функциональное сходство с живым мозгом, она останется его мертвой, хотя и страшно сложной и подвижной, моделью? Или, быть может, «полная мозговая машина» будет обладать лишь разумом и сознанием, но не жизнью? 4) Если «полная мозговая машина» должна обладать разумом, сознанием или жизнью, то будут 'ли обладать этими свойствами, хотя бы частично, в зачатках, в проблес- проблесках, менее совершенные умственные орудия — «частичные мозговые машины» (и снабженные ими автоматы)? 5) В частности, обладают ли этими свойствами, хотя бы частично, в зачатках, в проблесках, существующие «час- «частичные мозговые машины», например универсальные вычислительные машины или специализированные логи- логические машины?
12 Предисловие редактора перевода Эти вопросы в той или иной форме служат предметом широкой и нередко острой дискуссии, развернувшейся в последние годы на фоне развития автоматизации и.триум- и.триумфального шествия электронных вычислительных машин. Достаточно упомянуть о спорах вокруг кибернетики, с которой многие связывали положительное решение вопросов об «искусственном разуме» и «искусственной жизни». Как бы то ни было, но «полной мозговой машины» пока еще, безусловно, не существует. И в этом отноше- отношении на вопрос № 2 из нашего списка надо дать отрицатель- отрицательный ответ. Но сказать весомое «нет» на вопрос № 1 не так-то просто. Такой ответ, конечно, должен опираться на глу- глубокий анализ тех конкретных причин, которые делали бы невозможным построение «полной мозговой машины». В самом деле, принцип невозможности полной мозговой машины имел бы, по всей видимости, не меньшее значе- значение, чем, скажем, принцип невозможности вечного двига- двигателя второго рода. Таким образом, изучение и совершенствование существу- существующих «частичных мозговых машин», существующих умствен- умственных орудий представляет не только большой практический, промышленный интерес, но и большой научный, теоретиче- теоретический интерес. Даже в случае, если будет доказан принцип невозможности полной мозговой машины, необходимо уста-, довить точный предел совершенствования умственных ору- орудий. Если же, напротив, полная мозговая машина была бы построена, то это, конечно, явилось бы событием огромной важности. IV Одним из важнейших теоретических инструментов раз- развития современных «частичных мозговых машин» и слож- сложных умственных и рабочих автоматов вообще является математическая, или (как ее еще нередко назы- называют) символическая, логика. Математическая логика представляет собой одно из направлений современной логики, возникшее в XIX веке. Различные соотношения между понятиями, суждениями и умозаключениями записываются в ней с помощью сим-
Предисловие редактора перевода 13 волических формул подобно тому, как в математике запи- записываются соотношения между числами или величинами. В математической логике стремятся найти для логических операций расчетные процедуры («алгорифмы»), с помощью которых эти операции можно было бы выполнять путем стандартных действий нйд символическими формулами, подобно математическим вычислениям. Такая формализация логических операций способствует детальному анализу логического строения мысли и откры- открывает поразительные возможности автоматизации логиче- логических процессов, возможности использовать для их осуще- осуществления автоматические машины. Поэтому математиче- математическая логика является необходимым инструментом для машинизации умственного труда. Однако математическая логика важна для техники не только благодаря ее способности алгоритмизировать мыслительные процессы для их машинизации. Важнейшее значение имеет и ее непосредственное применение для ана- анализа и синтеза самих автоматов и их частей. Возможность такого применения логики на первый взгляд может пока- показаться неожиданной, но тем не менее оно действительно возможно и в наши дни играет немалую роль в развитии «умственных» и других орудий. Особенно широко исполь- используется в технике булева алгебра, сформировав- сформировавшаяся как «алгебра логики» ещё. в XIX веке и получившая свое название по имени английского ма- математика и логика Дж. Буля. Эта «алгебра логики» была исторически первым разделом математической логики. Сейчас вполне можно говорить о технической логике как об особом направлении или ветви матема- математической логики. Другим крупным направлением в мате- математической логике является теория математи- математических доказательств, возникшая из приме- применения логических вычислений к вопросам оснований мате- математики. Это направление также достигло значительных успехов. Математическая -»логика имеет и другие при- применения, и в целом можно считать, что она вполне выдержала проверку жизнью, хотя кое-кому в XIX веке она казалась чем-то очень абстрактным и искус- искусственным.
14 Предисловие редактора перевода Заметим, что на возможность применения алгебры логики к технике впервые указано в работах известного физика П. Эренфеста A910 г.) и известного специалиста по гидротехническим сооружениям, впоследствии члена- корреспонденту АН СССР Н. М. Герсеванова A923 г.-). Систематическое развитие технической логики начинается с середины 30-х годов с работ русского физика В. И. Шес- такова, американского математика и инженера К. Э. Шен- Шеннона и других исследователей. Книга Э. Беркли «Символическая логика и разумные машины» содержит популярное, общедоступное объяснение основных методов математической логики и ее приме- применений к проектированию и программированию автоматов и вычислительных машин —«частичных мозговых машин», как мы называли их выше. Эдмунд Каллис Беркли — американский математик, конструктор малых рекламных и учебных роботов, издатель журнала «Computers and Automation», автор ряда статей и книг. Беркли называет автоматы более сложного типа и вычислительные машины - «разумными машинами». Он принимает определение «разума» (intelligence) как спо- способности учиться на опыте, приобретать и хранить инфор- информацию, быстро и целесообразно реагировать на новые ситуации. С этих позиций он отвечает утвердительно на вопрос о существовании «разумных машин» в современной технике. В этом смысле будет, например, разумным, хотя лишь в небольшой степени, автоматический светофор, управляющий уличным движением с учетом его интенсив- интенсивности, тем более что такой светофор может работать лучше, чем регулировщик уличного движения. Такая концепция разума представляется, конечно, чрезвычайно "широкой, ибо в этом смысле будет «разумной» и амеба, и, скажем, сосна (если только не обращать внимания на то, что их реакции недостаточно быстры). По-видимому, то свойство, которое перечисленные авто- автоматы и машины действительно разделяют с живыми орга-
Предисловие редактора перевода 15 низмами, точнее было бы называть «относитель- «относительной активной приспособляемостью ко внешней сред е»*). Именно это свойство позво- позволяет автомату или организму реагировать быстро и целе- целесообразно на новые ситуации, в которые он попадает, в отли- отличие от «пассивной приспособляемости», скажем, цикличе- циклического автомата. Конечно, и активная приспособляемость не безгранична — она относительна и при слишком рез- резком изменении окружающей среды отказывает. Если же говорить о собственно разуме, разуме как способности к мышлению, то мыслят ли рассматриваемые Беркли машины? Единственными кандидатами на звание «мыслящей машины» могут быть лишь машины, способ- способные выполнять логические операции, т. е. специализиро- специализированные логические машины и универсальные вычислитель- вычислительные машины, ибо какое же мышление возможно без логи- логических операций? Автор описывает ряд малых логических машин, в том числе силлогистическую машину. Мыслят ли эти машины? Автор говорит: «...Вы можете сказать, что малая машина не понимает процесса рассуждения, ибо в ее схему не были введены какие-либо знания о процессе рассуждения. Это так. Но то же самое можно сказать о человеке. Человек не знает, как в его мозгу развертывается про- процесс рассуждения. Человеческий мозг более недоступен для исследования, чем вершина горы Эверест». И далее: «Вы можете сказать, что малая машина не может изобрести процесс рассуждения или какую-ли- какую-либо его часть. Это так. Но достаточно большая и достаточно мощная машина теоретически должна быть способна сама приду- придумать процесс рассуждения. *) Это свойство в еще большей мере присуще самонастраиваю- самонастраивающимся и самоорганизующимся Системам, успешная разработка кото- которых началась лишь в самое последнее время. Такие автоматы с помощью своих чувствительных элементов быстро воспринимают новую ситуацию и на основе анализа своих ошибок в прошлом и сведений о настоящем вырабатывают оптимальную линию пове- поведения.
16 Предисловие редактора перевода И опять-таки, то же самое можно сказать и о человеке: никакой отдельный человек не изобрел процесса рассужде- рассуждения, которым пользуются люди. Этот процесс является про- продуктом шести тысяч лет развития языка, культуры и циви- цивилизации, шести тысяч лет развития мышления и вычисле- вычисления, непрерывных небольших усовершенствований шагов рассуждения и непрерывных небольших усовершенство- усовершенствований изобретений (таких-, как письмо и счеты), помогаю- помогающих капризной, несовершенной памяти приматов, которая так ясно обнаруживается у многих людей, а также у шим- шимпанзе и других обезьян». «И, заглядывая в завтра, мы можем быть уверены в том, что малые рассуждающие машины будут повсюду — в школах и университетах, в домах и учреждениях; люди будут использовать их как при обучении процессу рассуж- рассуждения, так и при получении результатов посредством строгих рассуждений, выполненных машинами». Аргументация автора касается существенных пунктов, и большое будущее логических машин несомненно. Однако остается ряд более серьезных возражений, которых эта аргументация не затрагивает. В частности, выражение «понимать процесс мышления» двусмысленно. Человек дей- действительно не знает, какие именно процессы происходят в его мозгу при том или ином мыслительном акте, и тем не менее он обладает способностью наблюдать и анализи- анализировать свое мышление. Дело в том, что человек обладает сознанием, внутренним субъективным миром, и в рамках этого внут- внутреннего субъективного мира он может свободно наблюдать, различать и формировать свои мысли, смотря на них своим «духовным оком», если будет позволено воспользоваться этим старинным термином. Таким образом, дело обстоит гораздо сложнее, чем это представляется автору. Можно думать, например, что современные логические машины не мыслят, а только моделируют мышление, осуществляя лишь некоторые фор- формальные, хотя и весьма важные его функции (формальные логические операции). Существующие логические машины и вычислительные машины не имеют субъективного внут- внутреннего мира, который они бы сознательно могли анали- анализировать. Они считают и размышляют так же, как цирко-
Предисловие редактора перевода Г7 вые лошади, которые якобы умеют считать и даже «извле- «извлекать корни», но на самом деле обладают лишь набором рефлексов, привитых дрессировщиком. Однако, хотя по вопросам о наличии разума и мышле- мышления у современных «частичных мозговых машин» с Беркли можно поспорить, его книга в целом дает хорошее пред- представление о строении и работе таких машин и о логи- логическом анализе их с помощью современного логического исчисления. В целом она представляет собой полезное посо- пособие, облегчающее инженерам и другим специалистам освое- освоение методов математической логики и показывающее им возможности машинизации логических операций. Приводя большое число примеров и применений, автор просто и порой даже занимательно излагает сложный материал, подбирает колоритные сопоставления. Так, отме- отмечая происхождение понятия класса объектов из наблюде- наблюдений над реальным миром, автор приводит образную цитату из известной книги лауреата Нобелевской премии Дж. Томсона «Предвидимое будущее» о «массовом» производ- производстве в природе —«тенденции природы к почти бесконеч- бесконечному повторению всех порождаемых ею существ». Или еще: в связи с обсуждением силлогистической машины автор высмеивает «силлогизм» в духе сенатора Маккарти: «Все коммунисты нападают на меня. Такой-то нападает на меня. Следовательно, такой-то — коммунист». Книга рассчитана на широкие круги инженеров, науч- научных работников и просто образованных читателей. Не обя- обязательно читать книгу «от корки до корки»: в зависимости от своих нужд читатель может опустить часть разделов. Некоторые разделы интересны и для квалифицированных специалистов в области математической и технической логики, например главы об «алгебре событий и состоя- состояний» — собственном изобретении автора в математиче- математической логике. Обсуждение общих свойств и возможностей «разумных машин» в целом тоже интересно, но требует, в свете сде- сделанных замечаний, критичеекого подхода и скорее выдви- выдвигает вопросы, чем их решает. Критического подхода тре- требует и ряд других общих положений книги, напри- например положение о природе и структуре математической ло- логики. 2 Э. Беркли
18 Предисловие редактора перевода При переводе в двух-трех случаях были допущены незначительные отступления от оригинала в связи с неко- некоторыми трудно передаваемыми оттенками' английского языка. В нужных местах книга снабжена при переводе примечаниями. .. Конечно, следует иметь в виду, что Беркли дает лишь введение в предмет и что для углубленного.-ознакомления с математической логикой и с современными автоматами, логическими и вычислительными машинами, надо обра- обратиться к дальнейшей литературе. Литература, указываемая самим Беркли, рассчитана на читателей, пользующихся английским языком. Далеко не все упомянутые им работы переведены на русский язык и к тому же в ряде случаев они имеют сильную философскую окраску в духе буржуаз- буржуазных философских учений. Поэтому к переводу книги при- приложен список дополнительной литературы. Г. Н. Поваров
ПРЕДИСЛОВИЕ Согласно словарю, разум есть способность учиться или извлекать уроки из опыта, приобретать и сохра- сохранять знания и способность быстро и целесообразно реаги- реагировать на новые ситуации, добиваясь с помощью этих способ- способностей успеха при решении различных задач. Этими способностями обладают теперь, по крайней мере час- частично, некоторые машины. Из этих машин, пожалуй, самыми замечательными являются большие автоматические вычислительные маши- машины. Некоторые из них могут выполнять свыше 10 000 счет- счетных операций в секунду, и притом над числами, состоя- состоящими больше чем из 10 десятичных разрядов. Но имеется и много других видов автоматических машин, которые также ведут себя дифференцированно и целесообразно в ответ на различные сигналы. Мы вправе называть все такие машины разумными машинами. Работа разумных машин зависит от появления или прерывания сигналов и электрических цепей, т. е., иными словами, от способа взаимодействия многих «да» и «нет». Вследствие этого наука о способах взаимодействия мно- многих «да» и «нет» приобрела в последнее время большое значение. Эта наука по существу представляет собой скорее символическую логику, чем математику, потому что в ней рассматриваются в основном,неколичественные отношения. Например, высказывание: «Если А—отец В, а В— отец С, то А — дед С» — выражает неколичественное отношение, как и высказывание: «Если цепь А замкнута, а цепь В разомкнута, то последовательное соединение цепей А я В разомкнуто, а параллельное соединение цепей 2*
20 Предисловие А и В замкнуто». И действительно, символическая логика применяется сейчас все шире и шире: при исследовании правил, условий и договоров, при проектировании элек- электрических схем для вычислительных машин, телефонных систем и регулирующих устройств, при программировании автоматических вычислительных машин и вообще при опи- описании и проектировании многих типов схем- и механизмов. Главная цель этой' книги — объяснить существо сим- символической логики и свойства разумных машин и пока- показать, как эти две области связаны друг с другом и как эта связь их обогащает. Другая цель этой книги — объяснить, как применяется символическая логика при проектирова- проектировании машин, обладающих разумным поведением. Материал, содержащийся в книге, можно охарактери- охарактеризовать двояко: с одной стороны, он будет интересен и поле- полезен многим читателям для разнообразных целей; это, например, изложение некоторых вопросов булевой алгебры и правил для вычислений с ее помощью; с другой сто- стороны, в книге имеется трудный или дополнительный мате- материал— сводки, таблицы, запутанные схемы, сжатое обсуж- обсуждение идей и т. д., который включен в эту книгу для некоторых читателей и для некоторых целей. Многие сочтут эти. разделы ненужными для себя и могут их выпустить. Книгу совсем не обязательно читать последо- последовательно от начала до конца, без пропусков. Толчком к написанию этой книги послужил один раз- разговор — я помню его, как будто это было вчера,— раз- разговор в 1927 г. с моим профессором математики, д-ром Джорджем Д. Биркгофом, когда я был второкурсником в Гарварде. Я сказал ему, что мне хотелось бы, чтобы существовала алгебра языка — алгебра, с помощью кото- которой можно было бы вычислять ответ на довод, не плавая в океане слов. Он ответил мне, что такая алгебра есть, и рассказал о книге под названием «Законы мышления» Джорджа Буля, изданной в 1854 г. Я тотчас же отыскал эту книгу в библиотеке, и хотя она привела меня в сму- смущение, так как я не знал тогда о дальнейшем развитии булевой алгебры, тем не менее самый факт существования алгебры, имеющей дело с такими вещами, как классы и высказывания, и с такцми операциями, как И, ИЛИ, НЕ, широко открыл передо мною захватывающую перепек-
Предисловие 21 тиву — возможность того, что весь язык мысли действи- действительно может стать вычислимым, подобно математике. Эта возможность сейчас стала более реальной, чем когда- либо раньше, благодаря колоссальным возможностям авто- автоматических вычислительных машин. Поэтому я надеюсь, что материал, изложенный в этой книге, может дать пищу воображению многих читателей и воодушевить их. Было бы слишком смелым сказать, что каждое утвер- утверждение в этой книге правильно. Я буду весьма призна- признателен за все добавления, исправления, замечания и пред- предложения, которые мне пришлют читатели. Эдмунд К- Беркли 19 февраля 1959 г. Ныотонвиль 60, Массачусетс
ГЛАВА 1 СИМВОЛИЧЕСКАЯ ЛОГИКА. ВВЕДЕНИЕ 1. Чем занимается символическая логика? Когда мы приступаем к изучению новой дисциплины, то наша первая задача — выяснить, чем она занимается и что в ней изучается. К своему удивлению, мы часто обна- обнаруживаем, что уже знакомы с ее содержанием и пользова- пользовались ею, даже если ее специальная терминология нам совер- совершенно неизвестна. Мы подобны богачу из пьесы Мольера «Мещанин во дворянстве», который обнаружил, что всю свою жизнь говорил прозой. Вы и я, и каждый из тех, кого мы знаем, всю свою жизнь сталкиваемся со многим из того, что составляет предмет символической логики. Она не является для нас чем-то совершенно новым: символическая логика образует основную «ткань» большей части нашего мышления. Мы быстро и совершенно бессознательно приноравливаемся ко многим ее тонкостям. Но мы почти все совершенно незнакомы с современной наукой, изучающей эти понятия. Предмет символической логики включает многие самые обычные понятия, выражаемые самыми обычными словами и фразами нашего языка. В табл. 1.1 приведены некоторые из этих слов и фраз. Тот некоторый да нет из существует тот же самый отличный от есть как Другой чем один из иной к для через с от имеет Таблица 1.1 это вещь род вид который Все эти слова обычно применяют шестилетние дети. Если воспользоваться более сложными словами, словами,
24 Глава 1 которые, вероятно, будут понятны выпускникам коллед- колледжей, То предмет символической логики включает поня- понятия, выражаемые следующими словами и фразами: высказывания, суждения, предложения; истина, ложь, утверждение, отрицание; рассуждение, выводы, теоремы, доказательства; индивидуумы, элементы, вещи; свойства, отношения; классы, группы, собрания, типы; выбор, отбор, размещение, сравнение, согласование, соответствие, слияние, сопоставление, сортировка. Но слова обычного языка часто неточны и неясны. Бывает очень трудно высказать именно то, что подразуме- подразумевают, если употреблять лишь отдельное, изолированное слово, взятое само по себе, вне какого-либо контекста. Ведь каждое слово имеет много различных значений, и при отсутствии других указаний, кроме самого этого слова, мы не знаем точно, какое значение ему придать. Возьмем, например, слово «да». В обычном языке оно может иметь много значений. Вот некоторые значения слова «да», встре- встречающиеся в разговорной речи: «да» № 1: высказывание верно; «да» № 2: я не хочу высказать свое несогласие с вами публично; «да» № 3: вероятно; «да» № 4: может быть, возможно; «да» № 5: я не слышал, что вы сказали, но хочу быть вежливым. Вследствие неопределенности слов обычного языка нам не только оказывается трудно узнать точно, что значит такое слово, когда его употребляют другие, но мы и сами заблуждаемся, употребляя его. Чтобы придать точное значение словам, ученые, рабо- работающие в области символической логики и изучающие законы мышления, придумали особые символы и припи- приписали им точные значения. Посредством каждого придуманного символа .выби- .выбирается, обозначается и указывается одно, отдельное зна- значение слова. Всякий раз, когда применяется этот символ, подразумевают именно это значение. И это значение закреп- закрепляется, сохраняется и уточняется благодаря установке-
Символическая логика. Введение 25 нию точных (вычислимых) связей между данным симво- символом и другими точными символами. Например, в символи- символической логике понятие «этот, тот» связано с предпосылкой «существует один и только один». Например, когда вы говорите: «статуя Свободы, которая стоит в Нью-Йорке», вы подразумеваете также справедливость утверждения «существует одна и только одна статуя Свободы, которая стоит в Нью-Йорке». Благодаря наличию точных значений у символов и вычислимости отношений между ними мы достигаем чрез- чрезвычайной ясности — такой чудесной ясности, что многие понятия, которые мы не в состоянии представить, понять или выразить словами обычного языка, становятся вырази- выразимыми и доступными изучению и пониманию. Благодаря этому мы теперь стали гораздо лучше понимать основа- основания математики. Хорошая символика, точно соответствующая какой-либо данной области мышления, становится необходимым ору- орудием для работы в этой области. 2. Что такое символическая логика? Теперь мы можем попытаться ответить на вопрос: что такое символическая логика? Символическая логика в широ- широком смысле есть наука, характеризуемая следующими чертами: а) она изучает главным образом неколичественные отно- отношения; б) она ищет точные значения и необходимые следствия; в) ее главное орудие — оперативные символы. Имея дело с какой-либо частной областью применения, символическая логика изучает неколичественные высказы- высказывания и отношения в этой области. В широком смысле, безотносительно к какой-либо частной области применения, символическая логика изучает общие свойства высказы- высказываний и отношений, основания математики и основы рас- рассуждения вообще. Кроме названия «символическая логика», для обозна- обозначения этой дисциплины применялись и другие названия, как-то: «математическая логика», «аксиоматический метод».
26 Глава 1 «логистика», «логистический метод». Однако название «сим- «символическая логика» в настоящее время наиболее распро- распространено1. 3. Сравнение символической логики и математики. Из всех наук математика — наиболее близкая родствен- родственница символической логики. Многие даже считают, что символическая логика — это часть математики. Однако символическая логика отличается от математики в несколь- нескольких отношениях. - В компетенцию символической логики обычно не входят числа или числовые понятия, как «два», «три», и числовые операторы, как «плюс», «минус», «умножить», «разделить», или количественные отношения, как «больше чем», «меньше чем», или неопределенные количества, как «несколько», «большая часть», «много». Все эти понятия представляют область собственно математики. Математика рассматривает главным образом: числа, например: 3,1/3, 0,216; фигуры, например: круг или квадрат; размещения, например: шесть возможных после- последовательностей из букв А, Е, Т; конфигурации, например: конфигурации паркет- паркетного пола. Символическая логика рассматривает: высказывания, например: «переключатель А уста- установлен в положение Р»; классы, например: «переключатели», «реле», «кон- «контакты»; отношения, например: «переключатель А включен только тогда, когда включен переключатель 5»; свойства, например: «медленнодействующий», «про- «проводящий», «магнитный». Математика ищет ответы на такие вопросы, как: сколько? как далеко? как ¦ долго? i Символическая логика рассматривает такие вопросы,^Гкак: что это зна- значит? имеются ли в этом наборе высказываний противо- противоречия или лазейки? каково] основание этого доказатель- доказательства?
Символическая логика. Введение 27 Пример правила математики: «Обратная величина обратной величины числа есть само число». Пример пра- правила символической логики: «Отрицание отрицания выска- высказывания есть само высказывание». Исторически символическая логика появилась в резуль- результате применения мощного аппарата математической сим- символики к логике2. 4. Простой пример символической логики Простым примером символической логики служит сле- следующая система сокращенных обозначений для наличия или отсутствия свойств. Допустим, что имеются десять свойств, каждое из которых в каком-либо частном случае может присутствовать или отсутствовать. Это могут быть десять способностей людей, или десять особенностей работы, или десять признаков в какой-то, классификации, где может быть значительное перекрытие признаков. Мы можем установить следующую систему сокращенных обо- обозначений: а) для обозначения десяти свойств мы применяем соот- соответственно буквы А, В, С,..., J; б) для обозначения любого сочетания свойств, имею- имеющихся в данном случае, мы применяем буквы имеющихся свойств (для удобства мы можем записать их в алфа- алфавитном порядке); в) для обозначения отсутствия всех свойств мы при- применяем букву Z. Эта система сокращенных обозначений может оказаться полезной; каждое обозначение указывает точно, какие свойства имеются и какие отсутствуют; кроме того, если нам даны какие-либо сочетания свойств вместе с прави- правилом, определяющим выбор свойств по этим сочетаниям, то мы можем быстро записать сочетание, определенное правилом. Например, есл^ даны четыре сочетания свойств ABCDE, DHIJ, ABDEFHIJ, BCEFHI и правило: «выбрать то сочетание, которое содержится & первом или во втором сочетании и отсутствует в общей части третьего и четвертого сочетания», то таким ответом
28 Глава 1 будет ACDJ. Действительно, сочетание свойств, входя- входящих в первое или второе сочетание, есть ABCDEHIJ, а общая часть в третьем и четвертом сочетании есть BEFHI; и если мы исключим последнее из первого, оста- останется ACDJ. Эта система обозначений нечисловая, но она оперативна и позволяет производить неколичественные вычисления. Несколько расширенная форма этой системы приме- применяется в химии. Обозначение NaOH для соединения «гид- «гидрат натрия» указывает только на присутствие элементов Na (натрий), О (кислород) и Н (водород) (в пропорции: один атом каждого элемента на каждую молекулу соеди- соединения). Обозначение Н2О для воды указывает на присут- присутствие водорода и кислорода (в пропорции: два атома водо- водорода и один атом кислорода на каждую молекулу соеди- соединения). Здесь факты относятся к химии, числа — к мате- математике, а система сокращенных обозначений — к симво- символической логике. 5. Разделы символической логики В символической логике имеются по крайней мере четыре общепризнанных раздела. Один из них (и притом в настоящее время наиболее важный с точки зрения прак- практических приложений) — это булева алгебра, алгебра опе- операций И, ИЛИ, НЕ и высказываний (или классов). Напри- Например, одно из правил булевой алгебры гласит: «ни а, ни 6» есть то же самое, что «не-а и не-6». Здесь а и b суть выска- высказывания, или классы, или элементы электрических схем, но не числа (кроме чисел 1 и 0). Булева алгебра нашла применение в проектировании и проверке электрических схем, в которых используются реле, электронные лампы или другие элементы, работающие по принципу «да — нет». Это применение символической логики имеет важное зна- значение в проектировании и конструировании разумных машин и описывается подробно в дальнейших главах. В другом разделе символической логики исследуются основания математики. В нем изучаются такие вопросы, как: что такое число? что такое .математическая функ- функция? Символическая логика получила ответы на многие
Символическая логика. Введение 29 из этих вопросов. Большую роль в развитии символической логики сыграла книга «Начала математики» Бертрана Рас- Рассела и А. Н. Уайтхеда (изданная в 1910—1913 гг. в Кем- Кембридже, Англия), которая в значительной степени дала логическое обоснование всем разделам математики3. Третий раздел символической логики называется алгеб- алгеброй отношений. Эта алгебра рассматривает такие поня- понятия, как «симметрические отношения», «транзитивные отношения», «ряды» и т. д. Еще один раздел символической логики занимается так называемыми проблемами разрешимости, т. е. разыска- разысканием действенных вычислительных процедур для опре- определения истинности или ложности целых классов выска- высказываний4. Специалисты по символической логике исследо- исследовали проблему доказательства высказываний в любой произвольной математической системе. Эти исследования привели к замечательным результатам. Например, можно показать, что в арифметике и других математических сис- системах существуют классы высказываний, относительно кото- которых никогда нельзя узнать, истинные они или ложные; под этим понимается следующее: можно показать, что не существует действенной вычислительной процедуры для разрешения этого вопроса*). *) Davis M., Computability and Unsolvability, 1958, N. Y.
ГЛАВА 2 СИМВОЛИЧЕСКАЯ ЛОГИКА. ОСНОВНЫЕ ПОНЯТИЯ 1. Иллюстративный пример Чтобы объяснить специфические понятия символиче- символической логики и показать возможности их применения и их могущество, мы приведем иллюстративный пример, взятый не из математики, а из повседневной жизни, а именно род- родственные отношения. Не выходя за пределы этого примера, можно показать, как эти отношения описываются с помо- помощью слов двоякого рода: слов, относящихся специально к области родственных отношений (мы можем назвать их «словами-кирпичами»), и слов, вполне общих и относя- относящихся к символической логике (мы можем назвать их «словами-цементом»). Задача 1. Определить понятие «отец» через понятия «родитель» и «мужской пол» и разделить слова-кирпичи и слова-цемент. Решение. Определение: Один человек есть отец другого человека тогда и только тогда, когда он (есть) мужского пола и есть родитель этого другого человека. Разделяя два вида слов, получим: а) слова, относящиеся к области родственных отноше- отношений (слова-кирпичи): «человек», «отец», «мужской пол», «родитель»; б) слова, относящиеся к символической логике (слова- цемент): «одно... есть... другого... тогда и только тогда, когда оно есть и есть... этого другого...». (Мы заменяем мужской род на средний, чтобы не подразумевалась оду- одушевленность.) Задача 2. Выразить понятие «дядя» через понятия «родитель» и «мужской пол».
Символическая логика. Основные понятия Решение. Сначала мы определим -понятие «брат». Определение. Один человек есть брат другого человека тогда и только тогда, когда он мужского пола и суще- существует некто, кто есть родитель их обоих. Слова-кирпичи (слова, относящиеся к родственным отношениям): «человек», «брат», «мужской пол», «роди- «родитель». Слова-цемент (слова, относящиеся к символической логике): «Одно... есть... другого... тогда и только тогда, когда оно есть... и существует нечто, что есть... их обоих». (Мы должны заменить «кто» на «что», чтобы не подразуме- подразумевалась одушевленность.) Теперь, определив понятие «брат», определим понятие «дядя». Определение. Один человек есть дядя другого человека тогда и только тогда, когда он есть брат родителя этого другого человека. Слова-кирпичи: «человек», «дядя», «мужской пол», «брат», «родитель». Слова-цемент: «Одно... есть... другого... тогда и только тогда, когда оно есть... этого другого...». 2. Предметы, или элементы Теперь мы должны избавиться от некоторой незакон- незаконченности этих комбинаций логических слов, вызванной пробелами. Нам нужно устранить пробелы и вставить наиболее общие понятия, подразумеваемые под этими пробелами. Чтобы облегчить эту задачу и представить понятия более четко, будем говорить «предмет» вместо «человек». Слова «элемент» или «индивидуум» были бы более подходящими в том смысле, что они правильнее, так как мы имеем в виду также и нефизические предметы; но «предмет» — удобное повседневное слово, вполне прием- приемлемое для наших целей. "* Итак, условимся применять заглавные буквы О, М, Р, Б, Д вместо слов «отец», «мужской пол», «родитель», «брат», «дядя», стараясь, однако, подразумевать под этими буквами еще более общие понятия. С этими изменениями наши высказывания примут такой вид:
32 Глава 2 Высказывание 1. Один предмет есть О другого предмета тогда и только тогда, когда он (первый предмет) есть М и есть Р этого другого предмета (второго предмета). Высказывание 2. Один предмет есть Б другого предмета тогда и только тогда, когда он есть М и существует некий предмет, который есть Р обоих. Высказывание 3. Один предмет есть Д другого предмета тогда и только тогда, когда он есть Б относительно Р этого другого предмета. Теперь мы можем начать рассмотрение некоторых основных понятий символической логики. Попытаемся объяснить, что они собой представляют. 3. Один..., другой..., еще один... Чтобы говорить о предметах в некотором классе или собрании, мы часто применяем какую-нибудь схему для их указания одного за другим, опуская их названия и кратко ссылаясь на них. Этот процесс или схема отно- относится к области символической логики. Потребность в крат- кратком указании ранее упомянутых предметов признана в грамматике нашего натурального языка, в которой при- применяются местоимения: «он», «она», «оно», «они» (или ана- аналогичные слова в других языках) для указания ранее упо- упомянутых предметов. Но грамматика натурального' языка соединяет логическую потребность в ясном обозначении ранее упомянутых предметов с неотносящейся к логике потребностью в указании рода (мужской, женский, сред- средний) и числа (единственное, множественное). В символической логике мы не интересуемся грамма- грамматическим родом, как и полом. Кроме того, в символиче- символической логике мы обычно мало интересуемся различием между единственным и множественным числом, хотя очень часто находим необходимым или желательным в символи- символической логике делать различие между понятиями «один» и «более чем один». Перевод понятий «один...», «другой...», «еще один...» на язык символической логики можно сделать несколь- несколькими способами. Один способ, который обычно неудо- неудобен,— это применять различные $уквы, например: один предмет — х, другой предмет — у, еще один предмет — г.
Символическая Логика, основные понятия 33 Другой способ — применять нижние индексы, например: один предмет — хх; другой предмет — х2, еще один предмет — х3, xt, хъ, ... . Третий способ заключается в том, чтобы не применять никакой отметки для первого из упо- упомянутых предметов, для второго из упомянутых предметов применять штрих ('), для третьего из упомянутых предме- предметов — два штриха ("): х, х' (читается: «х прим»), х" (читается: <адва штриха»). Если мы имеем в виду не более трех предметов в классе, то. этот метод весьма удобен. Заметим, что эти символы могут применяться и тогда, когда наш другой предмет х' оказывается тем же самым, что и первый предмет х; например, мы будем сталкиваться со случаями, когда то или иное правило становится гораздо более общим вследствие того, что слу- случай х=х' не запрещен схемой обозначений. 4. Свойства, особенности, роды, виды Говоря- о каком-нибудь предмете, мы часто делаем высказывания о том, какими свойствами и особенностями он обладает, какого он рода и вида. Например: «он муж- мужчина», «он отец», «он дядя», «он дикий», «он дикарь». Заметим, что свойство грамматически может быть суще- существительным или прилагательным. Для обозначения свойства или класса мы будем в общем случае применять заглавную букву К. (первую букву в сло- слове «класс»): хК, означает «х имеет свойство /С»; х ? К, означает «х находится в классе К», <а есть член класса /С». Иногда мы подразумеваем свойство К «быть мужского пола», «иметь мужские свойства», «быть отцом», «состоять в отцовстве». Иногда мы подразумеваем класс К — «лица мужского пола», «отцы», группу или собрание или набор всех предметов, обладающих указанным свойством. Хотя понятия «свойство» и «класс» во многих отношениях тож- тождественны, в символической логике для выражения этого основного понятия применяют два различных, но в значи- значительной мере взаимозаменимых способа: хК и х ? К. Э. Беркли
34 Глава 2 5. Отношения О каком бы предмете мы ни говорили, мы часто делаем высказывания о том, какое отношение он имеет к другим предметам, какие соединения или связи он имеет с дру- другими предметами. Например: «х есть О относительно х'», «х есть Р относительно х'», ах есть брат х'ъ, «х имеет то- того же отца, что и х'». Всякое высказывание, в котором упо- упоминаются два предмета и утверждается наличие некоторого вида связи или соединения между ними, есть высказывание, выражающее то или иное отношение. Для обозначения отношения мы будем в общем случае применять заглавную букву R (первую букву в латинском слове «Relatio»— отношение): xRx' означает: <а имеет отношение R к х'ч>. Мы можем рассматривать эти предметы х, х' (читается «х запятая х прим») как упорядоченную пару, или диаду, и затем писать, если пожелаем, что х, х 6 R. Это означает: «упорядоченная пара х, х' есть член от R». В таких случаях мы рассматриваем отношение R как класс упорядоченных пар элементов. Например, допустим, что мы рассматриваем отношение «противоположен» и четыре стороны света: север (С), вос- восток (В), юг (Ю), запад C). Класс С, В, Ю, 3, обозначающий четыре стороны света, содержит четыре элемента. Мы можем составить из них 16 упорядоченных пар: С, С В, С Ю, С 3, С С, В В, В Ю, В 3, В с, ю в, ю ю, ю з, ю С, 3 В, 3 Ю, 3 3, 3 Из этих 16 пар только четыре находятся в отношении «противоположен», именно: С, Ю Ю, С В, 3 3, В Другие 12 упорядоченных пар находятся в отношении «не противоположен». Чтобы полностью описать отношение, может оказаться необходимым упомянуть больше чем два члена. Например, состояние «между» есть отношение
^ Символическая Логика. Основные ПоНЯЬШк 3S с тремя членами: «Нью-Хейвен находится между Босто- Бостоном и Нью-Йорком». Состояние «между» есть класс упо- упорядоченных троек, или триадическое отношение. Далее, обмен есть отношение с четырьмя членами: «обмен чего-то кем-то с кем-то другим на что-то другое». Следовательно, обмен по существу есть класс упорядоченных четверок, т. е. упорядоченных наборов из четырех элементов, или тетрадическое отношение. 6. Высказывания, суждения, утверждения, предложения Одним из самых основных понятий символической логи- логики является понятие высказывания (суждения, утвержде- утверждения, предложения). В общем случае высказывание есть выражение, которое может быть истинным или ложным. Например: «у Джека была корь», «х мужского пола», «соединение между точками А и В разорвано». Чтобы обозначить высказывание, мы будем в общем случае применять букву S. Условились говорить, что «значением истинности» выска- высказывания является «истина», или «да», или «галочка» (V). или Т, или 1, если высказывание истинно, и «ложь», или «нет», или «крестик» ( х ), или F, или 0, если высказывание ложно. Мы пишем: Т (S)=значение истинности высказывания S, равное 1, если S истинно, и равное 0, если S ложно. 7. Связки высказываний Мы можем легко составить из данных высказываний новые высказывания посредством логических связок, (или конъюнкций, или операторов). Например, мы можем соче- сочетать два высказывания с помощью связки «или», в смысле «и/или». Мы можем также превратить высказывание в его отрицание. S-S' означает: «S и S'», «и S, и S'»; S\yS' означает: «S или S', или оба», «S и/или S'»; 3*
36 Глава 2 __^ S^-S' означает: «если S, то S'», «из S вытекает S'»; S*~+S' означает: «S тогда и только тогда, когда S'», «если S, то S', и если S', то S». В этот набор нужно также ввести связку «не», выражаю- выражающую отрицание всего высказывания: —S означает «не-S», «не верно, что S». Между высказываниями могут стоять связки, не отно- относящиеся к символической логике, например «S, потому что S'», поскольку отношения причины и действия отно- относятся к науке; «S, пока S'», поскольку понятие времени находится вне символической логики. Все эти пять операторов: И, ИЛИ, ЕСЛИ..., ТО, ТОГДА И ТОЛЬКО ТОГДА, НЕ — обладают очень важным свой- свойством: значение истинности высказывания, полученного с помощью их сочетаний, можно вычислить из значений истинности составляющих высказываний. Например, зна- значение истинности S и S' указано в перечне четырех воз- возможных случаев, приведенных в следующей таблице: Одно Другое Высказывание, полу- полувысказывание высказывание чающееся из их соче- S S' тания с помощью И S-S' ' О О О 0 1 О 1 О О 1 1 ' 1 Многие связки равносильны комбинациям этих пяти связок. Например, «S, если не S'» то же самое, что «если не-S', то S». Например, «Джон придет, если не будет дождя» то же самое, что «если не будет дождя, то Джон придет». ' Другой связкой между высказываниями в символиче- символической логике служит равенство, или взаимозаменяемость, S=S'. Высказывание S=S' верно тогда и только тогда,
Символическая логика. .Основные понятия 37 когда каждое из высказываний S и S' утверждает одно и то же, как, например, высказывание «два плюс три соста- составляют пять» и «two plus three make five»; оба высказывания утверждают одно и то же. Но мы не можем вычислить значение истинности высказывания S=S', зная лишь зна- значение истинности для S и значение истинности для S'. 8. Оператор общности и оператор существования Если имеется высказывание: <а обладает свойством /С», можно построить другое высказывание: «всякое х обла- обладает свойством /С». Это высказывание переводится на язык символической логики при помощи так называемого «опе- «оператора общности», и высказывание будет теперь записы- записываться в следующей форме: (Ах)(хК). Это читается так: «для всякого х х обладает свойством /С» или «для всех х х обладает свойством К». Из высказывания <а обладает свойством /С» мы можем также построить высказывание «некоторое х имеет свой- свойство /(»• Это высказывание имеет то же значение, что и «суще- «существует, х, такое, что х имеет свойство /(»• Это высказыва- высказывание переводится на язык символической логики при помощи так называемого «оператора существования» и записы- записывается в следующей форме:. (Ex)(xK). Это читается так: «существует х, такое, что х обладает свойством /С». Для обозначения этих операторов разные авторы, пишу- пишущие о символической логике, ^применяют различные сим- символы. Например, можно опустить знак А оператора общности и писать (х)(хК). Или в операторе существова- существования можно писать 3 — зеркальное отображение заглав- заглавной буквы Е. Однако какие бы символы ни применялись, значение их остается тем же самым Б.
38 Глава 2 ._ 9. Три формулировки ответов, переписанные на языке символической логики Вернемся к трем высказываниям, представляющим ответы на две приведенные выше задачи. Как они выгля- выглядят в новых символах, которые мы только что ввели? Высказывание 1. Предмет есть О другого предмета тогда и только тогда, когда он есть М и есть Р этого другого предмета: хОх'<~*(хЩ-{хРх'). Высказывание 2. Предмет есть Б другого предмета тогда и только тогда, когда он есть М и существует некий предмет, который есть Р их обоих: хБх' <-- [хМ. -{Ех") {х"Рх-х"Рх'I Высказывание 3. Предмет есть Д другого предмета тогда и только тогда, когда он есть Б (относительно) Р этого другого предмета: хЛх' <-- [(Ех") (хБх" -х"Рх')]. * Теперь мы исключили из этих высказываний натуральный язык и выразили точную схему взаимосвязей на языке символической логики. Это ценное достижение, ибо мы устранили перефразировки,- выкристаллизовали понятия и подготовились для вычислений и точных рассуждений. Как это не раз бывало в развитии математической науки, избавившись от случайного и не относящегося, к делу и сосредоточив внимание на основном, мы открыли себе путь к новым достижениям. 10. Оператор класса Если дано высказывание <ах имеет свойство /С», то мы можем говорить о классе всех х, которые обладают свойством К. Этот класс обозначается символом (Сх)(хК). Это читается так: «класс всех х, таких,, что х имеет свой- свойство /С». Этот класс равен К в смысле класса, но не свой- свойства.
Символическая логика. Основные понятия 39 11. Относительное произведение Если х есть R относительно R' относительно х', или, другими словами, х имеет отношение R к некоему предмету, который имеет отношение R' к х', то мы пишем xR\R'x'. Точное значение этого выражения следующее: xR I R'x' = (Ex") {xRx"-x"R'x'). R\R' называется относительным произведением R и R'. Зная эти определения, мы теперь подготовлены к рас- рассмотрению более трудной задачи. 12. Определения родственных отношений Задача 3. При описании родственных отношений людей можно использовать следующие понятия: 1. Мать 6. Тетка 11. Братья и сестры 16. Свекровь (теща) 2. Дитя 7. Дед (бабуш- 12. Двоюродный (ая) 17. Незаконное ка) (сестра) брат дитя 3. Сестра 8. Муж 13. Единокровный 18. Предок (единоутробный) брат 4. Сын 9. Жены 14. Внучатная тетка 5. Дочь 10. Супруг (а) 15. Племянник а) Какие три основных термина из области родственных отношений могут выразить при помощи понятий символи- символической логики любое из этих понятий? б) Каковы их выражения? в) Каким образом мужчина может быть своим соб- собственным дедом по браку? Решение, а) Один из перечней трех основных терми- терминов таков: «мужской пол», «родитель», «состоящий(ая) ь браке». (Вместо этого можно применять другие перечни
40 Глава 2 основных терминов, например: «женский пол», «дитя», «состоящий(ая) в браке». Пусть хМ = «х мужского пола»; хРх'^вх есть родитель х'»; хЪх' = «х в браке с х'». б) Применяя символы символической логики, мы можем выразить все 18 перечисленных понятий в виде сжатых и точных определений следующим образом: 1. х Мать х' — хРх' -~хМ. Словами: «х есть мать х'» — это то же самое, что «х есть родитель х прим, и х не мужского пола». 2. х Дитя х' = х'Рх. Словами: «х есть дитя х'» — это то же самое, что «х прим есть родитель х». 3. х Сестра х' =-^ хМ-(Ех")(х"Рх-х"Рх'). Словами: х не мужского пола, и существует другое лицо х два штриха, такое, что х два штриха есть роди- родитель х а х два штриха есть родитель х прим. 4. л: Сын х' = х'Рх-хМ. х прим есть родитель х, а х мужского пола. 5. х Дочь х' — х'Рх-^ jcM. х прим есть родитель х, и х не мужского пола. 6. х Тетка *' = х Сестра | Родитель х'. х есть сестра родителя х прим. 7. л; Дед (бабушка) л:' = х Родитель | Родитель х'. х есть родитель родителя х прим. 8. х Муж х' = хЪх'-хМ. х в браке с х прим, и х мужского пола. 9. Жены х' = (Сх)(хЪх'-~х№). Словами: «класс всех х, таких, что х в браке с х прим, и л: не мужского пола». 10. х Супруг(а)х' = л:Бл:'. х в браке с х прим. 11. Братья и сестры х' —(Сх) [х (брат V сестра) х']. Класс всех х, таких, что х есть брат или сестра х прим. 12. х Двоюродный(ая) брат (сестра) х' = х Дитя | (Брат VCecTpa) | Родитель х'. t х есть дитя брата или сестры родителя х прим.
Символическая логика. Основные понятия 41 13. х Единокровный (единоутробный) брат х' — — хЖ-Е{х2,х3)(х2ф х3-х2Рхх2Рх' -х3Рх-~ х3Рх'). х мужского пола, и существуют два разных лица, х два и х три, такие, что х два есть родитель х и х два есть родитель х прим и х три есть роди- родитель х, но х три не есть родитель х прим. 14-' х Внучатная тетка х' — х Сестра | Дед (бабушка) х'. х есть сестра деда (бабушки) х прим. 15. х Племянник х' —х Сын | (брат V сестра) х'. х есть сын брата или сестры х прим. 16. х Теща (Свекровь) х' = х Мать | Супруг (а) х'. х есть мать супруга(и) х прим. . 17. х Незаконное дитя х' = х'Рх-[(Ех")(х" Ф х'-х"Рх х Х~х"Ъх')]. % х прим есть родитель х; и существует х два штри- штриха, такой, что х два штриха отличен от х прим, и х два штриха есть родитель х, и х два штриха не в браке с х прим. 18. П (ЕК{(К'К(А)[(К ) Словами: «х есть предок х' тогда и только тогда, когда существует класс лиц К (включающий х и х'), который обладает таким свойством: для всякого лица х2 в К (за исключением х) существует некое лицо х3 в К, такое," что х3 есть родитель х2». в) Мужчина а женится на матери т девушки g, кото- которая выходит замуж за отца этого человека /. Иначе го- говоря: а Супруг т-т Родительница g-g Супруга /•/ Роди- Родитель а. Следовательно, а Супруг | Родитель | Супруга | Родитель а. Таким образом, а является своим собственным дедом по браку. 13. Главные понятия символической логики Итак, каковы же важнейшие понятия главной ветви символической логики и какие символы применяются для их обозначения? Многие из главных понятий символической логики определяются и объясняются в упомянутых выше «Нача-
42 Глава 2 лах математики», хотя в этой работе их очень нелегко уяснить себе, так как авторы, стремясь избежать пред- предвзятых понятий, пользовались лишь одним символиче- символическим языком. Другим хорошим источником, где приво- приводятся эти понятия, может служить глава 2 книги Дж. Вуд- жера «Аксиоматический метод в биологии»*). Большинство понятий этой главной ветви символиче- символической логики (с некоторыми видоизменениями, введенными в последнее время) приводится в сжатом виде в табл. 2.1; при этом некоторые сложные типографские символы заме- заменены более простыми. ВАЖНЕЙШИЕ ПОНЯТИЯ СИМВОЛИЧЕСКОЙ Символ X, X', *",¦¦. К, К', К",.. R> R', R",... S, S'. S",... ~ S s\ys' S-S' Значение Предметы, индивиду- индивидуумы,... (читается: ч.х, х прим, х два штри- штриха...», что означает: их, другое х, еще одно X,...*) . Классы, группы, множе- множества (К—первая буква нем. слова Klasse) Отношения (R—первая буква лат. слова rela- tio). Примечание: это почти всегда двучлен- " ные отношения Высказывания, предло- предложения (S—первая бук- буква англ. слова state- statement) He-S S или S', или оба ShS' Таблица 2.1 ЛОГИКИ Определение Первичное Первичное Первичное Первичное Первичное ~ (~S- ~ Первичное *) W о о d g e r J. H., Axiomatic Method in Biology, Univer- University Press. Cambridge, Eng., 1937, 174 pp.
Символ х К xRx' х, x' (Ах) (Ex) х=х' Значение Если S, то S'; из S вы- вытекает S' S тогда и только тогда, когда S' Есть элемент в..., есть член от..., находится в... (знакпроисходит от греческого эпсилон, на- начальной буквы слова «ест», что значит «есть»). Предмет х находится в классе К Предмет х обладает свой- свойством К. (Примечание: эта форма редко при- применяется) х нмеет отношение Rkx' Упорядоченная пара предметов х, х' нахо- находится в отношении R. (Примечание: эта фор- форма редко применяется) Для любого х, х нахо- находится в К. Любое х есть К (справедливо для области допусти- допустимых значений х) Существует х, такое, что х находится в К- Не- Некоторое х находится в К х равно х' Класс всех х, таких, что х находится в К (спра- (справедливо для области допустимых значений х) х, такое, что х находит- находится в К Продолжение табл. 2.1 Определение (S-^S')-(S' —>S) Первичное Первичное Эквивалентно по смыслу Первичное Эквивалентно по смыслу xRx' ~(Ех) (~ Первичное (А/С) (х?К. Первичное Первичное, но необходи- необходимо, чтобы имело место (Ех)-[(Ах') (x'etf — ->*'=*)!
Продолжение табл. 2.1 Символ К KczK' К=К' КУК' К-К' ~к V А КфК' R RCR' R=R' R-R' Значение Класс К; класс всех х, таких, что х находится в К К лежит в К' К равно К' К или К', или оба К и К' Не-К Универсальный класс Нулевой класс К и К' различны Отношение R; класс всех упорядоченных пар х, х', таких, что xRx' R лежит в R' R равно R' . Логическое произведение Определение (Сх) (х?К) (Ах) (х?К->х?К') (Ах) (х?К *—* х?К') (Сх) (х?К V х?К') (Сх) (х?К-х?К') (Сх) (~ х?К) (Сх) (х?К V ~ xiK) (Сх) (х?К- ~ х?К) (Ex)№K-~x?K')V (Сх, х') (xRx') (Ах, х') (xRx'->xR'x') (Ах, х') (хЯх'«--*xR'x') (Сх, х') (хДх'-хЯ'х') двух отношений, R и R' ' ' . Логическая сумма двух (Сх,х') (xRx' V xR'x) отношений R н R' Отрицание отношения R; (Сх,л') (-~xRx') класс всех пар х, х', таких, что xRx' ложно Единственное R от х'; (х) (xRx') х, такое, что xRx' Разные R от х'; класс (Сх) (xRx') всех х, таких, что xRx' Класс всех х', таких,что (Сх') (xRx') xRx' Разные R от разных К (Сх) [(Ех') (х'^К-хйх)] Область отношения R (Сх) [(Ex') (xRx')\ Обратная область отно> (Сх')[(Ех) (xRx')\ шения R
Продолжение табл. 2.1 Символ Значение Определение I Поле отношения R (Сх) (Ex') (xRx' V \/x'Rx); это равно- равносильно D'R\ZQlR Обратное отношение к Я; (С*', х) (xRx') класс упорядоченных пар *',*, таких, что xRx'' R< Относительное произве- (С*, х") [(Ex1) (xRx' x дение отношений R и xx'R'x")] R' Квадрат отношения R R\ R Куб отношения R R*\ R i Класс симметрических (CR) (Ax, x') (xRx'—> отношений -+x'Rx) Класс асимметрических (CR) (Ax, x') (xRx' —» отношений —» ~ x'Rx) Класс рефлексивных от- (CR) (Ax, (x^F'R-^xRx) ношений Класс иррефлексивных (CR) (Ax, x') (xRx' —» отношен ий —> х ф х') Класс транзитивных от- (CR) (Ах, х'х") (xRx' x ношений хх'Rx"—> xRx") Класс связных отношений (CR) (Ax, x')(x,x'^F'R^ ->(xRx' \/Rx \/x = Класс интразитивных (CR) (Ах, х', x")(xRx' x отношений х х' Rx" —» ~ xRx") Класс одно-многозначных (CR) (Ax, x', x")(xRx' x отношений х x'Rx"—¦> * = *') Класс много-однозначных (CR) (Ax, x',x")(xRx' x отношений х xRx" —>х' =х") Класс одно-однозначных onma-maon отношений -« Класс К подобен классу (ER) (R?onon-D'R = A — Л ' \1 *\ — Л ) Кардинальное число клас- (СК1) (K'Sim К) са К Класс рядов as m- trans -соппех
46 Глава Этот перечень приводит к определениям кардинального числа — полного числа элементов в классе и -ряда — ма- математического понятия набора элементов, имеющих по- последовательный порядок, которые могут быть размещены один за другим в одной последовательности. Пытаться уяснить себе эти понятия, лишь .просматри- .просматривая их одно за другим, не так то легко, да это и не реко- рекомендуется делать. К ним' привыкают постепенно, читая и изучая книги по символической логике, например книгу М. У. Квайна «Математическая логика»*). Кроме того, многие из этих понятий еще не являются необходимыми для современных применений символиче- символической логики к разумным машинам. В этих целях до сих пор применялась лишь булева алгебра, т. е. алгебра свя- связок И, ИЛИ, НЕ и условий (см. дальнейшие главы). Однако булева алгебра представляет собой лишь неболь- небольшую часть символической логики; вероятно, в конце кон- концов гораздо большая часть символической логики выйдет из сферы чистых и неприкладных дисциплин и будет при- применена для анализа и программирования разумных машин. 14. Можно ли выразить оперативными символами какие-либо другие отношения? После этого краткого обзора основных понятий симво- символической логики уместно задать несколько вопросов: 1) Существуют ли какие-либо другие понятия в языке, которые можно было бы кристаллизовать в оперативные символы и которыми можно было бы производить вычис- вычисления? 2) Возможно ли, что весь язык мысли станет вычисли- вычислимым, подобно' математике и символической логике? 3) Мыслимо ли, что в будущем всякого рода споры будут разрешаться не людьми, а автоматическими вычис- вычислительными машинами, которые будут вычислять ответы? Я считаю, что на все эти вопросы нужно ответить «да»6. Обычный натуральный язык есть жильная порода, руда, расплавленная магма, из которой кристаллизуются, подобно алмазам, идеи и символы математики и символи- *) Q u i n e M. W., Mathematical Logic, New York, 1940.
Символическая'Логика. Основные понятия 4? ческой логики. Чем больше будут люди понимать приме- применяемые ими натуральные языки, чем больше они будут представлять себе, как эти языки раскрывают и скрывают идеи, отображают и искажают понятия, тем больше они научатся извлекать из языков кристаллы и самородки ясности, которые следует искать в таких областях, как математика и символическая логика. Конечно, решающий шаг состоит не в том, чтобы создать новый символ, а в том, чтобы создать полезные символы, посредством которых- можно вычислять, которые можно строго связывать с армией других символов в логических и математических отношениях. История развития математики и символической логики служит ясным доказательством этих взглядов. Понятия, которые оставались невыраженными или плохо выражен- выраженными в языке в течение столетий, постепенно вышли из языка и отложились в системе оперативных символов. И появление мощных автоматических вычислительных машин ускоряет этот процесс, раскрывая новые области мысли для символического вычисления. Примером недавно выкристаллизовавшегося раздела является алгебра со- состояний и событий, изложенная в одной из последую- последующих глав.
ГЛАВА» БУЛЕВА АЛГЕБРА. ВВЕДЕНИЕ 1. Часть символической логики с полезными применениями Особенно многочисленные и неожиданные применения нашла часть символической логики, представляющая со- собой методику обращения с И, ИЛИ, НЕ и условиями. Она называется булевой алгеброй. Некоторые из этих применений относятся к составле- составлению правил, договоров и соглашений, например класси- классификация случаев и действий, которые следует предпринять по отношению к ним. Вот типичная задача, к которой при- применима булева алгебра,— обеспечить отсутствие в наборе предложений противоречий и лазеек. Здесь применяется один из видов булевой алгебры — алгебра классов, т. е. методика символических вычислений с классами или собра- собраниями случаев при помощи связок И, ИЛИ, .НЕ, ИСКЛЮ- ИСКЛЮЧАЯ и т. д. . Но большинство важных применений булевой алгебры относится к переключателям, схемам, сигналам, управле- управлению и вычислению — к различным разделам проектиро- проектирования и конструирования разумных машин. Здесь булева алгебра представляет собой алгебру элементов типа «да — нет» — методику символических вычислений с ком- комбинациями схемных элементов, которые могут быть вклю- включены или выключены, проводить или не проводить ток, находиться в том или ином положении и т. д., будучи при этом связаны друг с другом физическими соединениями, выражающими И, ИЛИ, НЕ, ИСКЛЮЧАЯ и т. д. Каким образом булева алгебра может применяться к двум столь далеким друг от друга областям? По существу причина этого заключается в том, что булева алгебра имеет дело с понятиями, выраженными наиболее употребитель-
Булева алгебра. Введение 49 ными словами языка. Поскольку эти слова используются во многих областях, мы вправе ожидать, что" и булева алгебра будет применяться во многих областях. 2. Слова, принадлежащие булевой алгебре Один из способов получить представление о содержании булевой алгебры — это выписать слова обычного языка, входящие в сферу компетенции булевой алгебры; подобно этому, слова ПЛЮС, МИНУС, УМНОЖИТЬ НА, РАЗДЕ- РАЗДЕЛИТЬ НА характеризуют сферу компетенции обычной алгебры. Эти слова приведены в табл. 3.1. Большая часть значений этих слов рассматривается точно и строго в^ булевой алгебре. Большая часть, но не все значения, потому что слова являются продуктом раз- развития языка и в слове часто слиты воедино значения, родив- родившиеся в разных областях мышления. Возьмем, например, слово «но», связывающее два высказывания. «Но» и «и», если они связывают два высказывания в булевой алгебре, переводятся одинаково как И: связывая два высказыва- высказывания, они утверждают, что оба эти высказывания истинны. Иначе говоря, «но» имеет то же логическое значение связы- связывания, что и слово «и»; однако по сравнению с «и» «но» передает еще такую мысль: «вы бы этого не ожидали», «против ожидания». А оттенки ожидания, выражаемые говорящим слушателю, не относятся к булевой ал- алгебре. Сравнивая эти слова с перечнем слов в табл. 1.1, мы не обнаружим между ними большого сходства. В обеих таблицах содержится много слов, принадлежащих симво- символической логике; в первой таблице помещены некоторые слова, входящие в символическую логику, но не в булеву алгебру. 3. Типичная задача и ответ из булевой алгебры Существует и другой хороший способ получить представ- представление о том, чем занимается булева алгебра,— ознако- ознакомиться с типичной задачей и ответом на нее. Вот одна такая задача, предложенная Джоном Венном в 1888 г. ¦* Э. Беркли
'Таблица 3.1 обУчные слова и фразы, принадлежащие булевой алгебре один группа (означает только «класс»^ все -ы, -и, -а, -я (означают только если множественное число) всякий перекрывает если и или или...или оба или...или...любое одно или несколько из них или, но не оба или иначе сорт (означает «класс») множество (означает «класс») вид (означает «класс») некоторый нечто тип (означает «класс») если не который есть которые суть да и/или любой что-либо суть быть оба но класс совокупность состоит из содержит каждый как..., так и тот или другой либо... либо пустой все исключая исключает исключающий тогда и только тогда, когда если..., то в включает включая есть содержится в включен в род (означает «класс») лежит в ни...ни ни один нет * никакой ни не , не оба ничего
^ Булева аАгебрд. Введение 51 Задача. В уставе одного клуба записаны следующие правила: 1) финансовый комитет должен быть избран из состава общего комитета; 2) никто не может быть чле- членом одновременно и общего и библиотечного комитетов, если только он не состоит также в финансовом комитете; 3) никто из членов библиотечного комитета не может быть в финансовом комитете. Упростите эти правила. Ответ. Правила можно упростить следующим образом: 1) финансовый комитет должен быть избран из состава общего комитета; 2) никто из членов общего комитета не может быть в библиотечном комитете. Здесь существенно, что: 1) три высказывания с семью упоминаниями классов сведены к двум высказываниям с четырьмя упоминаниями классов; 2) можно строго дока- доказать, что упрощенные правила в ответе точно эквивалент- эквивалентны более длинным правилам в задаче. Способ вычисления этого ответа с помощью булевой алгебры приведен на стр. 79—81. И вообще с помощью булевой алгебры мы можем ана- анализировать системы правил или условий и преобразовы- преобразовывать их в различные формы, логически эквивалентные или логически вытекающие одна из другой, и мы можем делать это прямо, строго и легко. Кроме того, если при использо- использовании булевой алгебры получается слишком много вычис- вычислений или они слишком трудны для человеческих спо- способностей, то можно передать их автоматической вычис- вычислительной машине и с-ее помощью получить ответ. 4. Происхождение булевой алгебры Булева алгебра названа по имени великого английского математика Джорджа Буля A815—1864), который в 1854 г. опубликовал ставшую впоследствии знаменитой книгу «Исследование законов мышления». В начале гл. 1 он написал: «Назначение настоящего трактата — исследовать ос- основные законы тех операций ума, посредством которых производится рассуждение; выразить их на символическом языке некоторого исчисления и на этой основе установить науку логики и построить ее метод; сделать этот метод 4*
52 Глава 3 ^_ основой общего применения математической доктрины ве- вероятностей; и, наконец, собрать из различных элементов истины, выявленных в ходе этих изысканий, некоторые правдоподобные указания относительно природы и строе- строения человеческого ума». В этой книге Буль изложил большую часть новой ал- алгебры, особенно пригодную для анализа классов и предло- предложений (высказываний). Другие математики и логики, в том числе Джон Венн и Эрнст Шредер, впоследствии значительно усовершенство- усовершенствовали и расширили алгебру Буля7. В 1938 г. Клод Э. Шеннон, в то время студент Масса- Массачусетсского технологического института, впоследствии известный математик и инженер Белловских телефонных лабораторий, а в настоящее время профессор Массачусет- ского технологического института, показал, что булеву алгебру можно прекрасно применять при синтезе переклю- переключательных электрических схем. Его статья «Символический анализ релейно-переключательных схем»*) представляет собой веху в развитии применений булевой алгебры8. 5. Как булева алгебра связана с обычной алгеброй? В обычной алгебре, изучаемой в средней и высшей школе, рассматриваются: 1) числа и буквы, их обозначающие, т. е. элементы; 2) операции, например сложение, умножение, возве- возведение в степень и т. д.;" 3) другие понятия, например уравнения, функции, неизвестные и т. д. Хотя эта алгебра и получила специальное название элементарной алгебры, многие ее задачи совсем не элемен- элементарны. Название это было ей присвоено просто потому, что математики должны были найти для нее какое-нибудь название, чтобы отличать ее от других, недавно развивших- развившихся «современных» алгебр, таких, как линейная ассоциа- ассоциативная алгебра, алгебра структур, алгебра колец и т. д. *) Диссертация на соискание ученой степени магистра в Мас- Массачусетсском технологическом институте, опубликована Амери- Американским институтом ннженеров-электрнков.
Булева алгебра. Введение 53 Булева алгебра в такой же мере алгебра, как и элемен- элементарная алгебра, хотя она имеет дело с иными элементами и операциями. Во многих отношениях она сходна с эле- элементарной алгеброй, но в некоторых отношениях проще и легче. Элементарная алгебра применяется главным образом к числам, включая дроби и корни. Булева алгебра приме- применяется главным образом к классам, высказываниям и усло- условиям. Такими классами здесь могут быть классы служащих, классы вычислительных машин, классы договоров — факти- фактически все классы, типы, виды или собрания. Элементарная алгебра использует операции ПЛЮС, МИНУС, УМНОЖИТЬ НА, РАЗДЕЛИТЬ НА и некото- некоторые другие. Булева алгебра использует операции И, ИЛИ, НЕТ и ИСКЛЮЧАЯ почти в их обычном значении. В элементарной алгебре есть правило а+а=2а, а ПЛЮС а—2а. Это правило верно, какое бы число ни изо- изображалось буквой а. В булевой алгебре ему соответствует правило а\/а=а, или а ИЛИ а=а,— верное независимо от того, какой класс изображается буквой а; ведь знак V обозначает ИЛИ, которое не исключает обе альтернативы, т. е. ... ИЛИ... ИЛИ ОБА (эта связка выражается также в виде И/ИЛИ). Весь наш опыт говорит нам, что сказать а ИЛИ а ИЛИ ОБА есть лишь другой и более длинный спо- способ сказать а. Пример к правилу элементарной алгебры: 7 ПЛЮС 7=ДВАЖДЫ 7. А вот пример к правилу булевой алгебры: служащие в возрасте 50 лет или выше ИЛИ служа- служащие в возрасте самое меньшее 50 лет ИЛИ и те и другие= служащие, которые пережили свой 50-й день рождения (без- (безразлично, как описывается класс, лишь бы не менялось его содержание). Знак V выбран для обозначения «или», потому что это начальная буква латинского слова «vel», означающего «и/или», в отличие от латинского слова «aut», означающего «или иначе». (Интересно отметить, что римляне отличали «и/или» от «или иначе» при ^помощи двух разных слов.) В элементарной алгебре" а-а=аг, а УМНОЖИТЬ НА а=а В КВАДРАТЕ. Но в булевой алгебре а-а=а, а И а—а, так как точка (•) теперь означает... И..., в смыс- смысле И... И. Весь наш опыт подтверждает, что И а И а — это то же самое, что одно а.
54 Глава 3 . Вот, следовательно, в каком отношении булева алгебра проще и легче, чем элементарная алгебра: в булевой ал- алгебре нет чисел. Ибоa\Jа нлиа\/а\/а или а • а или а-а-а, или... суть просто повторения а и могут быть сразу заменены одним а. Это значит, что в булевой алгебре нет кратных, дробей, степеней, численных коэффициентов. И, поэтому вычислять в булевой алгебре часто бывает быстрее и легче. Третья операция в булевой алгебре — НЕ. НЕ-а пи- пишется так же, как а'. НЕ имеет некоторое сходство с опера- операцией МИНУС и с операцией ОБРАТНАЯ ВЕЛИЧИНА ОТ, ибо НЕ-НЕ-а=а, так же как—(—а)=а и \1(\1а)=а. Для операции ИСКЛЮЧАЯ по существу не нужно нового знака, ибо ее можно легко выразить через И и НЕ. Класс предметов а ИСКЛЮЧАЯ Ъ есть то же самое, что класс предметов, которые суть а И НЕ b=a-b'. Не требуется нового знака и для другого ИЛИ, для ИЛИ ИНАЧЕ, т. е. для ИЛИ, которое исключает совместность обеих альтернатив. Действительно, а ИЛИ Ь, НО НЕ ОБА, есть то же самое, что а ИЛИ Ъ ИСКЛЮЧАЯ И а И Ъ. Эту операцию можно записать как (a\jb)-(a-b)'. Последнее вы- выражение можно упростить и написать a-b'\/b-a'. Иными словами, булева алгебра есть алгебраическая методика действий с классами предметов с помощью опера- операций И, ИЛИ и НЕ. Она кажется простой, и она действи- действительно проста. Элементарная алгебра на самом деле столь сложна, что человечеству потребовались столетия, чтобы разработать достаточно хорошие символические приемы для решения задач о числах, с которыми оно сталкивалось. С другой стороны, предмет булевой алгебры относительно настолько прост, что люди плутали в течение столетий, не имея алгебраического выражения для него. Вместо этого они применяли громоздкий и весьма неполный заме- заменитель — раздел формальной логики, рассматривающий силлогизмы и ведущий начало от Аристотеля. Из-за этих громоздких орудий человечество затратило много труда на исправление великого множества логических ошибок. 6. Понятие класса До сих пор мы применяли понятие класса, или группы, или рода, или вида, или типа, или собрания, или сорта,
Булева алгебра. Введение 55 не уделяя ему особого внимания. Однако это понятие яв- является фундаментальным в том же смысле, в каком фунда- фундаментально понятие высказывания (или предложения, или утверждения): это один из краеугольных камней мысли. Понятие класса возникает, конечно, из наблюдений над действительным миром — миром науки. Я не могу найти лучшего объяснения понятия класса, чем следую- следующие замечания сэра Джорджа П. Томсона, известного фи- физика и лауреата Нобелевской премии, высказанные им. в его проникновенной книге «Предвидимое будущее»: «Миру, в котором мы живем, присуща одна особенность столь общего и столь универсального характера, что она не привлекла к себе, по-видимому, должного внимания. Я назову ее, за отсутствием лучшего определения, «прин- «принципом массового производства». Это — тенденция при- природы к почти бесконечному повторению всех порождаемых ею существ. Нагляднее всего эта тенденция проявляется, видимо, в мире мельчайших объектов. В том количестве чернил, которое требуется для написания одной буквы в данной фразе, имеется, пожалуй, достаточно атомов, чтобы наделить ими по одному всех живых существ не только на Земле, но и на всех планетах, столь же густо населенных, как Земля, если бы такие планеты имелись у каждой звезды нашей Галактики. Но во Вселенной существует меньше ста разновидностей атомов, а сами эти сто разновидностей состоят из очень малого числа (из двух или трех) обычных элементарных частиц —элек- —электронов, протонов и нейтронов (если допустить, что эти последние являются самостоятельными объектами). На этом уровне все индивидуумы, образующие мно- множество объектов, идентичны; то, что они в строго'м смысле слова не отличимы друг от друга, представляет собой принцип квантовой теории, который может быть поставлен в один ряд с другими нашими принципами невозможности. Более крупные объекты уже не явля- являются строго идентичными,^ однако они чрезвычайно похожи друг на друга. Примеры, подтверждающие это положение, могут быть найдены в мире как живой, так и неживой природы: дождевые капли, песчинки-, частицы дыма, бактерии, клетки любого куска с виду однородной органической ткани. И хотя в каждом случае может суще-
56 Глава 3 ^__ ствовать множество отличимых друг от друга видов, каж- каждый из видов представлен таким числом, которое даже хладнокровный математик называет значительным, а обык- обыкновенный человек — неисчислимым. Особенно заметно это проявляется в мире живой природы. Береза представляет собой один из видов, образованных множеством особей, которые, по сути дела, совершенно различны, нб вместе с тем в своей совокупности -явно отличаются от других видов, ... например от китов или орхидей. Всякое дерево покрыто летом большим, хотя, быть может, и не вполне одинаковым количеством листьев. Каждый лист состоит из множества сравнительно немногочисленных разновид- разновидностей клеток... ... С моей точки зрения, эта множественность представ- представляет собой самую замечательную особенность вселенной, какой она предстает перед нами. Внимательный наблю- наблюдатель обнаруживает это даже визуально, а прогресс в области разработки точных инструментов и в развитии научных познаний выявляет эту особенность уже с полной и поразительной очевидностью. Конечно, такое представле- представление обусловлено до известной степени бедностью нашего языка; мы даем названия отличимым классам, но, по- поскольку в нашем распоряжении существует только огра- ограниченное число названий, наша классификация является иногда несколько произвольной, в силу чего у нас соз- создается впечатление о существовании четко, определенных видов там, где их, быть может, не существует вообще. Однако правильнее будет сказать, что в процессе своего становления наш язык испытал на себе влияние естест- естественной классификации. Поскольку существуют отличимые группы, каждая из которых состоит из множества отдель- отдельных индивидуумов, человек изобрел «универсалии», сыграв- сыгравшие столь значительную роль в рассуждениях мета- метафизиков. Это, безусловно, одно из основных явлений мира, ко- которых не изменят никакие новые открытия. Атомизм в самом широком смысле этого понятия — массовое произ- производство, осуществляемое природой,— представляет собой глубочайшую из научных истин»*). *) Т о м сои Дж. П., Предвидимое, будущее, М, ИЛ, 1958, стр. 35—37.
Г Л А В А 4 БУЛЕВА АЛГЕБРА. ОСНОВНЫЕ ПОНЯТИЯ 1. Исходные положения Основные понятия булевой алгебры (при интерпрета- интерпретации их в алгебре классов) следующие: 1) Мы говорим о классах, группах или множествах, которые можно обозначать буквами а, Ь, с, ..., х, у, ... Почему мы отказываемся теперь от х, х', х" и xv x2, xs, х4...? Потому что в булевой алгебре классов мы встречаемся с математическими объектами лишь одного типа, а не не- нескольких, как в символической логике, в которой нужно помнить о предметах, свойствах, классах, отношениях, суждениях и т. д. Поэтому удобно вернуться к системе обозначений, более сходной с системой обозначений эле- элементарной алгебры. 2) ayb (читать: «а вэ bi>) означает а ИЛИ b ИЛИ ОБА, т. е. класс предметов, содержащихся либо в классе а, либо в классе Ь, либо в обоих классах. Иногда в литературе вместо а\/Ь применяют а-\-Ь, но это неудобно, потому что существует одна интерпретация буле- булевой алгебры (мы изложим ее ниже), при которой элемен- элементами, обозначаемыми буквами а, Ь,с,..., служат числа 1 и О, и получается, что а\/ b=a+b—ab, где ПЛЮС (+) и МИ- МИНУС (—) имеют теперь свое обычное арифметическое зна- значение; поэтому целесообразно оставить за знаком плюс его обычный смысл. 3) a- b, ab (читать: «а точка Ь», «ab») означает а И Ь, т. е. класс предметов, содержащихся и в классе а ив классе Ь. Удобно, чтобы было два знака для И (точка и написание рядом), подобно тому как в арифметике операция РАЗДЕ-
58 Глава 4 1__ ЛИТЬ НА обозначается косой чертой (/) и знаком деления (:). В той интерпретации булевой алгебры, в которой -имеются лишь два числа 1 и 0, обозначаемые буквами а, Ь, с опера- операция а И & в смысле булевой алгебры есть то же самое, что операция а УМНОЖИТЬ НА b в арифметическом смысле, и поэтому для того и другого, не впадая в противоречие, можно применять одно и то же обозначение. 4) а' (читается: «а прим») означает НЕ-а и рассматри- рассматривается всегда как класс всех предметов, которые не находятся в классе а. Иногда в литературе для НЕ-а применяется а (читается «а с чертой»), но это обозначение неудобно для печати и написания, особенно когда нужно обозначить повторные отрицания сложных выражений; например ((а'\/ЬУ\/с)' гораздо удобнее, чем ((а\/Ь)\/с). Иногда в литературе для НЕ-а применяют —а; это обозначение гораздо удобнее, чем а (а с чертой), но тильда (~) на пишущей машинке отсутствует; кроме того, она имеет ширину в три полных знака, так что выражения будут длиннее, чем в других обозначениях. 5) Z или 0 (читается: «ничто, пустота, нуль») обозна- обозначает нулевой класс, т. е. класс, который не содержит ничего, т. е. класс, который не содержит совершенно никаких предметов. Независимо от того, «существует» ли этот класс или нет, его удобно рассматривать как существующий. Между чис- числом нуль и нулевым классом есть, различие: число нуль есть число элементов в нулевом классе. В булевой алгебре число нуль в большинстве случае совсем не появляется, и поэтому удобно применять для нулевого класса знак О (нуль).. В интерпретации булевой алгебры, состоящей из двух чисел 1 и 0, нулевому классу соответствует число О, так что и здесь путаницы не возникает. 6) U или 1 (читается: «всё», «универсальный класс», «единица») обозначает универсальный класс, т. е. класс всех предметов, затрагиваемых при обсуждении какого-либо вопроса (который поэтому меняется при переходе к обсуждению другого вопроса, но остается постоянным в обсуждении одного вопроса). Лица,
Булева алгебра. Основные понятия 59 участвующие в обсуждении, должны условиться и прий- прийти к соглашению об универсальном классе; в против- противном случае НЕ будет иметь неоднозначный смысл, тогда как операция ИСКЛЮЧАЯ будет все же одно- однозначной. Между числом элементов в универсальном классе и числом единица есть различие. В любом случае число элементов в универсальном классе есть положительное целое число; часто это большое число или бесконечное число; и лишь изредка оно бывает единицей. Поскольку число единица лишь изредка появляется при обсуждении вопросов с по- помощью булевой алгебры, то цифру 1 удобно использовать для обозначения универсального класса. В тех случаях, когда может возникнуть путаница в отношении универ- универсального класса и числа единица, удобно применять для обозначения универсального класса заглавную бук- букву U- 7) а=Ь (читается: «а равно Ы) означает: «а взаимоза- менимо с Ь»; это высказывание а=Ь верно тогда и толь- только тогда, когда предметы, содержащиеся в. классе а, суть те же самые предметы, что и содержащиеся в клас- классе Ь. Здесь обнаруживается различие между свойствами и клас- классами. Один класс есть то же самое, что другой класс, когда он содержит точно те же самые элементы. Но одно свой- свойство может быть не тем же самым, что другое свойство, даже в том случае, если из описаний свойств вытекает, что они относятся к одному и тому же классу. Например, предполо- предположим, что нас интересуют все ныне существующие животные и мы рассматриваем свойства «быть единорогом» и «быть динозавром». В нашем случае класс единорогов пустой и класс динозавров пустой, и оба класса равны нулевому классу и, следовательно, равны друг другу. Но необосно- необоснованно и не обязательно утверждать, что свойство быть еди- единорогом то же самое, что свойство быть динозавром. Здесь как бы есть противоречие между понятием свойства и огра- ограничением «класс всех предметов, рассматриваемых в дан- данном случае». Понятие «свойство» относится как бы к любому возможному предмету, о котором имеет смысл утверждать «... имеет свойство».
60 8) афЬ (читается ш не равно 6») означает: «а не взаимо- заменимо с Ь; это верно тогда и только тогда, когда имеется по меньшей мере один предмет, содержащийся в одном из классов а или Ъ и не содержащийся в другом. 9) adb (читается: «а в Ъ, а подкова 6») означает: «а НАХОДИТСЯ В 6», «а СОДЕРЖИТСЯ В •&»; это верно тогда и только тогда, когда все предметы, содер- содержащиеся в классе а, содержатся в классе Ь. В литературе, кроме подковы (С), для этого отношения иногда применяются и другие обозначения. Например, в булевой алгебре высказываний это отношение обычно выражается стрелкой (—>). Однако стрелка —» в мень- меньшей степени подходит для обозначения отношения «а на- находится в Ь», чем С, потому что специфическая форма под- подковы и соответствующее расположение хорошо выражают то, что включающим классом является Ъ. 2. Распознавание понятий булевой алгебры, выраженных на обычном языке Как же мы распознаем эти основные понятия, когда они выражены на обычном языке? Для них существует много словесных выражений, помимо тех, которые мы ис- использовали выше, • когда определяли основные понятия булевой алгебры. Ввиду этих различий задача их перевода с обычного языка на язык булевой алгебры не проста и требует изучения. Таким же образом, прежде чем люди смогут применять арифметику, они должны приобрести опыт, обращения с от- отдельными числами, такими, как один, два, три и боль- большие числа. Они должны также развить в себе способ- способность распознавать числа в окружающей их среде и в языке, и им нужно научиться распознавать отношения и взаимо- взаимосвязи чисел. Все мы начинаем заниматься этой задачей в очень раннем возрасте; первым числом, которое мы узна- узнаем, оказывается два; и к тому времени, когда мы подходим к первым школьным ступеням, мы уже прошли практиче- практические повседневные начала арифметики. Прежде чем мы сможем легко применять булеву алгебру, мы должны научиться определять, что значит универсаль-
Булева алгебра. Основные понятия 61 ный класс, нулевой класс и другие классы; мы должны приобрести навык в распознавании классов. Мы должны также приобрести способность видеть отношение и взаимо- взаимосвязи классов как в окружающей нас среде, так и в языке. Приобретение этих способностей в общем несложно; оно основано на рассмотрении многих примеров, показываю- показывающих нам постепенно, шаг за шагом, процесс распознавания классов и их отношений. Поэтому мы разберем много примеров высказываний и их переводов в булеву алгебру. Особое внимание будет уделяться тому обстоятельству, что одно и то же положение булевой алгебры может выражаться многими различными перефразировками на обычном языке. 3. Включение классов Разберем пример. Предположим, что мы берем класс всех служащих Компании Великих] озер (несуществую- (несуществующей). Класс этот определяется положениями, приведен- приведенными в (гипотетической) брошюре «Устав компании и усло- условия пенсионной системы». Таким образом, этот класс яв- является универсальным классом для данного обсуждения. ВЫРАЖЕНИЕ 1. Все члены пенсионной системы Компании Великих озер получают пенсионную прибавку. Перевод. ВСЕ [члены пенсионной системы Компании Великих озер (g)] СУТЬ [служащие, получающие пенсионную при- прибавку (d)]. Все g суть d. g СОДЕРЖИТСЯ В d. gad. Перефразировки, Члены пенсионной системы Компании Великих озер получают пенсионную прибавку. Каждый член пенсионной системы Компании Великих озер получает пенсионную прибавку. Всякий член пенсионной системы Компании Великих озер получает пенсионную прибавку.
65 Глава 4 | Любой член пенсионной системы Компании Великих озер получает пенсионную прибавку. Класс служащих — членов пенсионной системы Компа- Компании Великих озер — включен в класс служащих, которые получают пенсионную прибавку. Мы замечаем, как предикат «получают пенсионную при- • бавку» переводится в предикат точно с таким же смыслом «суть служащие, получающие пенсионную прибавку»; этот последний уже относится к классу «служащие, получающие пенсионную прибавку». Другой пример — предложение «Все моллюски прячутся» можно преобразовать в предло- предложение «все моллюски суть моллюски, которые прячутся». Предложение «Все х имеют свойство К» можно преобразо- преобразовать во «Все х суть х, которые имеют свойство К». Таким образом, очень много предложений обычного языка легко преобразуются в высказывания, выражающие отношения между классами. Итак, мы привели, во-первых, выражение на обычном языке (в данном случае полное высказывание), во-вторых, его "перевод в булеву алгебру, последовательные шаги и результат, и, в-третьих, некоторые из обычных перефра- перефразировок этого выражения (т. е. другие способы сказать то же самое, имеющиеся в обычном языке). Каждая из этих перефразировок после преобразования дает тот же. результат, gad. Слова и суффиксы в перефразировках, обозначающие отношение с и указывающие, что оно везде то же самое, выделены курсивом ввиду их важности. Этот пример одного из положений булевой алгебры поясняет, как эта методика рассуждения сберегает труд мышле- мышления: вместо десятка способов высказать нечто, каждый из которых требует десятка слов, мы имеем теперь просто gdd. Сравним это с примерами из элементарной алгебры. Пусть нам дано следующее высказывание: выражение. Количество работы, проделанной человеком за один час, прямо пропорционально его почасовой оплате и обрат- обратно пропорционально квадратному ^орню из числа часов, которые он работает в сутки.
В у лева алгебра. Основные понятия Перевод. (Количество работы (ш), проделанной человеком за один час) ПРЯМО ПРОПОРЦИОНАЛЬНО (его почасовой оп- оплате) (р) И ОБРАТНО ПРОПОРЦИОНАЛЬНО (квад- (квадратному корню из) (числа часов (/г), которые он работает в сутки). w прямо пропорционально р и обратно пропорционально Vn. w~p-{\lVn). Очевидно, эти два процесса перевода имеют много об- общего. Перевод не делается в уме одним махом, сразу из слов обычного языка в точные символы. Он осуществляется четырьмя этапами: 1) Отмечают упоминаемые предметы; мысленно выде- выделяют и разделяют их, группируют в целые единицы, за- заключают их в математические скобки. 2) Выбирают сжатые, способствующие запоминанию символы для их сокращенного обозначения. 3) Затем отмечают другие слова, выражающие соотноше- соотношения. 4) Распознают эти отношения и обозначают их симво- символами, регулярно используемыми для их выражения. В элементарной алгебре упоминаемые предметы почти всегда суть числа. Если в задаче точно указано, какое это число, мы чаще всего применяем его нормальное обозна- обозначение в десятичной системе". Например, если нам говорят о числе «дюжина», мы пишем 12. Если число не указано, то мы используем какую-нибудь букву, например а, Ъ, х, у, для обозначения числа, упомянутого в этом месте, точно так же как в языке местоимение обозначает ранее упомянутое существительное. Отношение, выраженное оставшимися словами, будет почти всегда состоять из од- одной или нескольких операций сложения, умножения и дру- других, хорошо известных арифметических операций* В булевой алгебре упоминаемые предметы или являются классами, или преобразуются в классы в результате пере- перефразировки. Поскольку для классов нет стандартной си- системы обозначений, мы обычно должны присвоить им буквы как в случае, когда точно знаем, какой это класс, так и в случае, когда мы не знаем, какой это класс. Отношение,
64 Глава 4 . выраженное оставшимися словами, можно обычно распо- распознать без затруднения: оно будет той или иной комбина- комбинацией операций И, ИЛИ, НЕ и других операций булевой алгебры. 4. Равенство классов Рассмотрим теперь еще несколько примеров из булевой алгебры, выраженных на обычном языке. ВЫРАЖЕНИЕ 2. Служащие с непрерывным стажем работы не меньше пяти лет являются членами пенсионной системы Компании Великих озер. Перевод. [Служащие с непрерывным стажем не меньше пяти лет (/)] СУТЬ ТЕ ЖЕ [служащие, которые являются членами пенсионной системы (g) Компании Великих озер]. / суть те же g. f РАВНО g. f=S- Перефразировки. Служащие с непрерывным стажем работы не меньше пяти лет состоят членами пенсионной системы Компании Великих озер. Служащие с непрерывным стажем не меньше пяти лет тождественны со служащими, которые являются членами пенсионной системы Компании Великих озер. Служащие с непрерывным стажем не меньше пяти лет — то же самое, что и служащие, которые состоят в пенсионной системе Компании Великих озер. Этот пример поясняет два существенных обстоятельства. Во-первых, когда члены обоих классов одни и те же, от- отношение РАВНО будет справедливо, каковы бы ни были словесные описания этих двух классов; в данном случае описания весьма различны, но содержание одно и то же. Во-вторых, слово «суть» может выражать либо включение, либо равенство («суть те же»), так что при отсутствии по- пояснений оно может быть истолковано совсем иначе, чем имелось в виду.
Булева алгебра. Основные понятия 65 5. Неравенство классов ВЫРАЖЕНИЕ 3. Неверно, что служащие с непрерывным стажем работы не меньше пяти лет те же самые, что и члены пенсионной системы Компании Великих озер. Перевод. НЕ ВЕРНО, ЧТО (служащие с непрерывным стажем работы не меньше пяти лет) СУТЬ ТЕ ЖЕ (члены пенсионной системы Компании Великих озер). Не верно, что / есть то же, что g. f не равно g. f*g- Перефразировки. Служащие с непрерывным стажем работы не меньше пяти лет не тождественны с членами пенсионной системы Компании Великих озер. Имеется различие между работниками с непрерывным стажем работы не меньше пяти лет и членами пенсионной системы Компании Великих озер. Выражение 3 противоречит выражению 2. Но, как и в математике, мы можем рассматривать в ходе решения задачи как а=Ь, так и аф Ь. 6. Нулевой класс ВЫРАЖЕНИЕ 4. Нет служащих с особой пенсионной прибавкой 500 дол- долларов в год или выше. Перевод. НЕТ (служащих с особой пенсионной прибавкой 500 дол- долларов в год или выше). Нет s. s РАВНО НУЛЕВОМУ КЛАССУ. s=0. Перефразировки. Ни один служащий не получает особой пенсионной при- базки.500 долларов в год или выше. Никто не получает особой пенсионной прибавки 500 дол- долларов в год или выше. 5 Э. Берклм
'66 _ Глава 4 . Невозможно, чтобы какой-либо служащий получил пен- пенсионную прибавку 500 долларов в год и выше. . Назначение какому-нибудь служащему особой пенсион- пенсионной прибавки 500 долларов в год или выше не соответствует правилам. Если какой-нибудь служащий получит особую пенсион- пенсионную прибавку 500 долларов в год или выше, то он автома- автоматически перестанет иметь особую пенсионную прибавку 500 долларов в год или выше. Число служащих, имеющих особую пенсионную при- прибавку 500 долларов в год или выше, равно нулю. Нет примеров, когда служащие получали бы особую пен- пенсионную прибавку 500 долларов в год или выше. fe> Осмысленной перефразировкой в данном случае является следующая: «не соответствует правилам»; большинство слу- случаев «невозможности» являются лишь случаями положения «не соответствует правилам», и поэтому они основаны на правилах. Если бы классом всех обсуждаемых предметов были бы служащие Компании Великих озер, действительно существующей при реальных правилах, а не служащие Компании Великих озер (положение которых определяется правилами упомянутой брошюры), то вполне возможно, что служащие могли бы получить особые ежегодные пен- пенсионные прибавки более чем по 500 долларов. 7. Классы, которые не являются пустыми ВЫРАЖЕНИЕ 5. Имеются служащие, получающие пенсионную прибавку. Перевод. ИМЕЮТСЯ ^служащие, получающие пенсионную при- прибавку). Имеются d. d HE РАВНО НУЛЕВОМУ КЛАССУ. di=0. Перефразировки. Некоторые служащие получают пенсионную прибавку. То, что работник получает пенсионную прибавку, соот- соответствует правилам, t Служащему возможно получить пенсионную прибавку.
Булева алгебра. Основные понятия 67 Имеются некоторые примеры, когда служащие полу- получают пенсионную прибавку. Число служащих, получающих пенсионную прибавку, не равно нулю. Во второй и третьей перефразировке этого выражения явно подчеркивается, что мы рассматриваем правила бро- брошюры, а не действительное положение вещей. В первой, четвертой и пятой перефразировке это обстоятельство подразумевается, потому что при всяком строгом обсужде- обсуждении всегда имеют в виду класс всех обсуждаемых предметов. На самом деле в какой-нибудь промежуток времени слу- случайно может не оказаться работников, получающих пен- пенсионную прибавку, в то же время право на получение ее работниками вполне соответствует правилам; брошюра должна была бы содержать пункты, предусматривающие этот случай. 8. И; распознавание классов несколькими способами ВЫРАЖЕНИЕ 6. Служащие мужского пола с непрерывным стажем работы не меньше пяти лет, получающие пенсионную прибавку. Перевод «а». (Служащие (е) мужского пола с непрерывным стажем работы, получающие пенсионную прибавку.) е Перевод «б». Служащие, которые суть (работники мужского пола (т)) И (служащие, имеющие стаж непрерывной работы не мень- меньше пяти лет (/)) И (служащие, получающие пенсионную прибавку (d)). т u f и d. - tn-f-d. mfd. , . Перефразировки. Служащие мужского пола,-которые имеют стаж непре- непрерывной работы не меньше пяти лет и получают пенсионную прибавку (заметим, что запятая и союз «и» также представ- представляют важную часть языка, указывая на отношение). Служащие, которые удовлетворяют всем следующим условиям: 1) являются мужчинами; 2) имеют стаж непре- 5*
68 Глава 4 - рывной работы не меньше пяти лет; 3) получают пен- пенсионную прибавку. • .. ' ¦ Очевидно, что e=tnfd, так как содержание е то же самое, что содержание mfd. Различные переводы получаются из-за того, что применение булевой алгебры допускает некоторую свободу в выборе классов, подлежащих обозна- обозначению и обсуждению. Какой перевод лучше, зависит от цели рассмотрения. Перевод «б» поясняет также, какое из нескольких значений слова И является значением опера- оператора-точки (•) булевой алгебры, а именно И, которое экви- эквивалентно ограничительному относительному предложению, И, которое обособляет и ограничивает какой-нибудь род предметов. 9. Отрицание класса ВЫРАЖЕНИЕ 7. Не члены пенсионной системы Компании Великих озер. Перевод. НЕ-(члены пенсионной системы (g) Компании Великих озер). НЕ*. п'- ВЫРАЖЕНИЕ 7а. Все служащие Компании Великих озер, которые яв- являются не членами пенсионной системы Компании Вели- Великих озер. Перевод. Служащие, которые суть (служащие Компании Вели- Великих озер), НО НЕ (члены пенсионной системы Компании Великих озер). 1 и не g. 1*'. ¦ В чем различие между этими двумя выражениями? Один ответ может быть таким: Gа) представляется точным и ясным, а G) — двусмысленным. В тех случаях, когда лица, участвующие в обсуждении, пришли к соглашению об универсальном классе, т. е. классе всех обсуждаемых пред- предметов, G) и Gа) в точности эквивалентны: g'=I -g'. в булевой алгебре, так же как (—8)=1 УМНОЖЕННОЕ НА —8
Булева алгебра. Основные понятия 69 в элементарной алгебре; выражение G) является точным и ясным. Именно это и происходит в данном случае, так как мы условились, что нас интересуют все служащие Компании Великих озер. Но в тех случаях, когда обсуж- обсуждающие не договорились об универсальном классе, не вы- выбрали одну и ту же область, подлежащую обсуждению, НЕ является двусмысленным, так как обозначает разные предметы для разных лиц. Поэтому выражение G) неясно, и применение булевой алгебры не достигает цели вслед- вследствие несоблюдения ее правил. Перефразировки выражений G) или Gа). Все служащие Компании Великих озер, за исключением входящих в пенсионную систему Компании Великих озер. Служащие—не члены пенсионной системы Компании Ве- Великих озер. Другие служащие, помимо членов пенсионной системы Компании Великих озер. 10. Исключение ВЫРАЖЕНИЕ 8. . Служащие, которые не входят в пенсионную систему, будучи приемлемыми кандидатами, за исключением служа- служащих, которые, будучи приемлемыми кандидатами, не рабо- работают. Перевод. (Служащие, которые не входят (/) в пенсионную си- систему, будучи приемлемыми кандидатами), ИСКЛЮЧАЯ [служащих, которые, будучи приемлемыми кандидатами, не работают (больны) (&)]. t исключая k t и не k t-k' Перефразировки. Служащие, которые не вхрдят в пенсионную систему, будучи приемлемыми кандидатами, но не служащие, кото- которые, будучи приемлемыми кандидатами, не работают. Служащие, которые не входят в пенсионную систему, будучи приемлемыми кандидатами, помимо служащих, которые, будучи приемлемыми кандидатами, не работают.
70 Глава 4 . Служащие, которые не входят в пенсионную систему, будучи приемлемыми кандидатами, исключая случай, когда таковые служащие, будучи приемлемыми кандидатами, не работают. Служащие, которые не входят в пенсионную систему, будучи приемлемыми кандидатами, за исключением служа- служащих, которые, будучи приемлемыми кандидатами, не рабо- работают. П. ИЛИ (И/ИЛИ, ИЛИ ЖЕ) ВЫРАЖЕНИЕ 9. Все служащие, имеющие право на ежегодную пенсион- пенсионную прибавку или особую пенсионную прибавку. Перевод. (Служащие, имеющие право на ежегодную (а) пенсион- пенсионную прибавку) ИЛИ (служащие, имеющие право на особую (р) пенсионную прибавку). а или.р или оба. аур. Перефразировки. Служащие, имеющие право на ежегодную пенсионную прибавку или на особую пенсионную прибавку или и на то и другое. Служащие, имеющие право на ежегодную пенсионную прибавку и/или на особую пенсионную прибавку. Служащие, которые удовлетворяют одному или обоим из следующих условий: 1) имеют право на ежегодную пенсион- пенсионную прибавку; 2) имеют право на особую пенсионную при- прибавку. Значение оператора ИЛИ (V) в булевой алгебре есть значение союза ИЛИ, которое не исключает наличия обоих, нескольких или всех упомянутых альтернатив. Ниже по- поясняется «исключающее» ИЛИ. ВЫРАЖЕНИЕ. 10. Служащие, имеющие право на ежегодную пенсионную прибавку или на особую пенсионную прибавку, но не имею- имеющие право на то и другое. Перевод. (Служащие, имеющие право на ^ежегодную пенсионную прибавку) ИЛИ (служащие, имеющие право на особую пен-
Булева алгебра. Основные понятия сионную прибавку), НО НЕ (служащие, имеющие право и на ежегодную и на особую пенсионные прибавки). а или р, но не а и р. (аур).(ар)'. Перефразировки. Служащие, имеющие право на ежегодную, пенсионную прибавку или же на особую пенсионную прибавку-. Либо служащие, имеющие право на ежегодную пенсион- пенсионную прибавку, либо служащие, имеющие право на особую пенсионную прибавку. Служащие, имеющие право пату или иную из пенсион- пенсионных прибавок — ежегодную или особую, исключая тех, которые имеют право на обе. Слово ИЛИ иногда применяют в смысле «или же», а иногда в смысле «и/или». Это двусмысленное применение является одной из наиболее неприятных двусмысленно- двусмысленностей обычного языка. В булевой алгебре эта двусмыслен- двусмысленность пропадает, так как разные значения передаются раз- различными символами. Но при переводе со слов обычного языка в булеву алгебру нужно уметь правильно определять из контекста, какое ИЛИ в действительности имеется в виду — И/ИЛИ или ИЛИ ЖЕ. 12. Нулевой класс и универсальный класс ВЫРАЖЕНИЕ 11. Никто из служащих не может быть и мужчиной, и жен- женщиной. Перевод. (Никто из служащих не) ЕСТЬ И (мужчина (т)) Й НЕ (мужчина). О есть и т, и не т Перефразировки Нет ни одного служащего, являющегося и мужчиной и не мужчиной. Число служащих, каждый из которых является и муж- мужчиной, и не мужчиной, равно нулю. ВЫРАЖЕНИЕ 12. Все служащие суть либо мужчины, либр женщины,
72 Глава 4 . Перевод. (Все служащие) СУТЬ ЛИБО (мужчины), ЛИБО НЕ (мужчины). 1 есть либо т, либо не т. \ = (тут') (т-т'у. Перефразировки. Любой служащий есть или мужчина, или же не мужчина. 13. Только ... может быть... ВЫРАЖЕНИЕ 13. Только служащие, являющиеся конторскими служа- служащими, могут получить особую пенсионную прибавку. Перевод. ТОЛЬКО (служащие, являющиеся конторскими (с) слу- служащими) МОГУТ БЫТЬ (служащими, получающими осо- особую (р) пенсионную прибавку). Только с могут быть р. Все р суть с. pCZc Перефразировки. Только конторские служащие являются приемлемыми кандидатами на особую пенсионную прибавку. В число служащих, работающих в конторе, входят все служащие, получающие особую пенсионную прибавку. Служащие, работающие в конторе, включают всех слу- служащих, получающих особую пенсионную прибавку. Следует заметить, что это выражение является просто обратным по отношению к выражению «все... суть...». 14. Последний пример ВЫРАЖЕНИЕ 14. Служащие, оставляющие работу в Компании Великих озер, не получают компенсации взамен пенсии, которая могла бы быть им гарантирована, если бы они продолжа- продолжали работу, за исключением служащих женского пола с непрерывным стажем работы не меньше одного года, которые увольняются ввиду выхода замуж, предупреждая об этом заранее.
Булева алгебра. Основные понятия 73 Перевод. (Служащие, оставляющие работу (г) в Компании) СУТЬ [НЕ (служащие, которым выплачивается компенсация взамен причитающейся (q) им пенсии)], ИСКЛЮЧАЯ: слу- служащие, которые суть НЕ (мужского пола (т)) И имеют (непрерывный стаж работы не меньше одного (о) года) И (увольняются ввиду выхода замуж (w)) И (подают заранее заявление (л) об уходе), СУТЬ (служащие, получающие при увольнении компенсацию взамен причитающейся (q) им пенсии). Все г суть (не q), исключая: гинетиоишил суть q rm'ownCZq; г (т'own)' a q'- Из этого примера можно сделать несколько выводов. Во-первых, во многих фразах, в которых понятие «слу- «служащие», по-видимому, отсутствует, его можно заставить появиться, задавая тем самым некоторый класс; ведь класс — основной элемент булевой алгебры классов, как число — основной элемент арифметики. Во-вторых, слово «исключая» в этом выражении описывает скорее отношение между двумя предложениями, чем отношение между двумя классами. 15. Сводка переводов В табл. 4.2 дается сводка переводов обычных выражений русского языка в булеву алгебру. Обычные слова 1. Все 2. Все 3. Все а а а 4. а есть 5. а и 6 суть 6 не суть 6 суть не-6 6 Стандартные булевы слова 1) а находится в 6 ДВУСМЫСЛЕННО— см. № 3 и № 17 а находится в не-6 а находится в 6 ДВУСМЫСЛЕННО— см. № 7, № 22, № 25 Таблица 4. Стандартное ние булевой ad Ь ас 6' аСЬ 2 выраже- алгебры ') Булевы слова «или» и «и» не являются двусмысленными.
Продолжение табл. 4.2 Обычные слова 6. Любое а есть 6 7. То, что есть и а и 6 8. а исключая 6 9. Все есть а 10. а за исключением 6 И. Если это есть а, то это есть 6 12. Это есть а тогда и только тогда, когда это есть 6 13. а включены в 6 14. Никакие а не суть 15. Ни а ни 6 16. Не а и 6 одновре- одновременно 17. Не все а суть 6 18. Ни одно а не есть 19. а или же 6 20. а или 6, но не оба 21. а или 6 22. а или 6 или оба 23. Это есть а только в том случае, если это есть 6 24. Некоторые а суть 6 25. а, которые суть 6 26. 6, которые суть а Стандартные булевы слова 1) а находится в 6 а и 6 Стандартное выраже- выражение булевой алгебры a-b а и не-6. а-Ь' а равно универсаль- а= 1 ному классу а и не-6 а-Ь' а находится в 6 а равно 6 а находится в 6 а и 6 пусто не-(а или 6) не-(а и 6) а и не-6 не пусто а и 6 пусто а и не-6 или 6 и не-а а или 6 и не (а и 6) ДВУСМЫСЛЕННО— см. № 19 и 22 а и/или 6, а или 6 а находится в 6 а и 6 не пусто а и 6 6 и а ас 6 а=6 ad Ь а-6 = 0 (а V 6)' (а-6)' а-Ь' фО а-Ь = 0 а-Ь' у Ь-а' (ауЬ).(а-Ь)', что сводится к а-Ь'у Ь-а' ayb aczb а-ЬфО а-Ь Ь-а, то же самое, ЧТО а-Ь
Продолжение табл. 4.2 Обычные слова Стандартные булевы Стандартное выраже- слова ') ние булевой алгебры 27. Не существует ни а пусто а = 0 одного а 28 Не существует а пусто а=0 никаких а 29. Существует неко- а не пусто а Ф О торое а 30. Существуют не- а не пусто афО которые а : 31. Имеется некоторое а не пусто афО а 32. Нет ни одного а а пусто а=0 1) Булевы слова «или» н «н»~не являются двусмысленными.
ГЛАВА 5 БУЛЕВА АЛГЕБРА. ВЫЧИСЛЕНИЯ 1. Сводка правил для символических вычислений с помощью булевой алгебры Как же производить вычисления в булевой алгебре? В булевой алгебре имеется дюжины три правил, доста- достаточных для того, чтобы решать почти все задачи. Сформу- Сформулируем их в символах и словах: 1. а V Ь = Ь V а о, или Ь есть то же самое, что Ь или а 2. (aVb)\/с = а\/(byс) (а или Ь) или с есть то же самое, что а или (Ь или с). 3. ab = Ьа а и b есть то же самое, что b и а 4. (a-b)-с = а-(Ь -с) (а и Ь) и с есть то же самое, что а и (Ь и с). Эти четыре правила совпадают с правилами обычной ал- алгебры для операций ПЛЮС и УМНОЖИТЬ НА. Первое и третье правила называются коммутативными, или переме- стительными, законами; другие два — ассоциативными, или сочетательными, законами. 5. a(b\/c) = ab\/ac а и (Ь или с) есть то же самое, что а и b или а и с. 6. aVbe = (ayb)(aVс) а или (Ь и с) есть то же самое, что (а или Ь) и (а или с). Эти два правила суть дистрибутивные, или распредели- распределительные, законы булевой алгебры. В обычной алгебре чисел имеется только один дистрибутивный закон: а-(Ь + с) = Ь +
Булева алгебра. Вычисления 77 7. а\/а — а а или а есть то же самое, что а 8. а-а —а а к а есть то же самое, что а Первое правило верно в обычной алгебре только для числа 0. Второе правило верно только для чисел 0 и 1. Напротив, в булевой алгебре эти правила верны для всех классов без исключения. 9. а\/(а-Ь) = а То, что есть а или (а и 6), есть то же самое, что а. 10. а(а\/Ь) = а То, что есть а и (а или 6), есть то же самое, что а. Эти два правила называются законами поглощения, так как добавочный член или коэффициент в выражении «погло- «поглощается». Теперь мы переходим к шести правилам об уни- универсальном классе и нулевом классе: 11. а\/0 = а То, что есть а или ничто, есть то же самое, что а. 12. а-1=а То, что есть и а и все, есть то же самое, что а. 13. а\/1 = 1 То, что есть а или все, есть то же самое, что все. 14. a-0 = 0 То, что есть и а и ничто, есть то же самое, что ничто. 15. а\/а' — \ Все есть а или не-a (вы- (выражено в обратном поряд- порядке ввиду свойств языка). 16. а-а' — 0 Ничто не есть и а и не-а (выражено в обратном по- порядке). Некоторые правила об отрицании: 17. а\/Ь = (а' -Ь'У а или Ь есть то же самое, , что не (не-a и не-6). 18. [ауЬ)' = а' -Ь' То, что не есть ни а, ни Ь, есть то же самое, что есть не-a и не-6. 19. a-b — {a'\/b')' а и b есть то же самое, что не-(не-а или не-6).
78 Глава 5 20. (а-Ьу = a'Vb' То, что не есть и а и Ь, есть то же самое, что есть не-а или не-Ь. 21. ab\/ab' = a То, что есть а и Ь или а и не-й, есть то же самое, что а. 22. {ayb){ayb') = a To, что есть и (а или Ь) и (а или не-b), есть то же самое, что а. 23. (а')'=а . То, что не есть не-а, есть^ то же самое, что а. 24. О' = ] То, что есть не-ничто, есть все. 25. 1' = 0 То, что есть не-все (есть не-что-либо), есть ничто. Правила об отношении НАХОДИТСЯ В или о включении классов: 26. adb эквивалентно а-Ь'— 0, или ab = а, нлаа'\/Ь = 1, или a\/b — b, или b' da'. Выражая это словами, мы гово- говорим, что следующие высказывания все взаимозаменимы: 1) а находится в Ь. 2) Ничто не есть и а и не-Ь. 3) То, что есть и а и Ь, есть то же самое, что а. 4) Все есть не-а или Ь. 5) То, что есть а или Ь, есть то же самое, что Ь. 6) Не-b находится в не-а. Обобщение предыдущих правил для большего числа классов: 27. l=(aVa')(bVb')(cVC)... Все есть либо а, либо не-а, и b или не-b и с или не-е... 28. {aybycy...)' =а'Ь'с'... То, что не есть (а или b или с или ...), есть то же самое, что есть не а и не-b и не-с ... Правила об отношении равенства между классами: 29. а = Ь эквивалентно отношениям ab'\/a'b = 0, или ayb = ab, или аЬуа'Ь' = 1, или и adb и bda. Все следующие высказывания эквивалентны: 1) Класс а равен классу Ь. 2) Ничто не есть а и не-b или b и не-а.
Булева алгебра. ^Вычисления 3) Все есть и а и Ь или и не-а и не-b. ^ 4) а находится в Ь, и Ь находится в а. Некоторые правила для действий с равенствами, функция- функциями и значениями переменных: 30. xVу = 0 эквивалентно х = 0 иг/ = О. Следующие высказывания взаимозаменимы: 1) Ничто не есть х или у. 2) Ничто не есть х и ничто не есть у. 31. х\/у=\ и ху = 0 эквивалентно х = у' или у = х'. Следующие высказывания взаимозаменимы: 1) Все есть х или у, или ничто не есть и х и у. 2) х есть не-г/. 3) у есть не-х. 32. Любое выражение можно привести к виду Ах\/Вх',— «нормальной форме» функции /(х) одной переменной х так: f(B) = AB, AB a f (x) CZ A V В для всякого х. 33. Уравнение Ак\/?л;' = 0' эквивалентно BcixczA', или х = Ви'\/А'и для любого ы. 34. Для любого a, OdaCll. 35. Для любых а и 6 не обязательно, чтобы имело место либо aCZb, либо bcia. . 2. Пример вычислений В дальнейшем мы приведем много примеров вычислении с помощью этих правил. Однако чтобы уже сейчас пока- показать, каким образом можно применить эти правила, обра- обратимся к задаче Дж. Венна, сформулированной на стр. 51, и решим ее. Задача. В уставе одного клуба записаны следующие правила: 1) Финансовый комитет должен быть избран из
80 Глава 5 состава общего комитета. 2) Никто не может быть членом и общего и библиотечного комитетов, если он не входит также в финансовый комитет. 3) Никто из членов библиотечного комитета не может быть в финансовом комитете. Упростить эти правила. Решение. Пусть /—члены финансового комитета, g — члены общего комитета и b — члены библиотечного комитета. Данные условия можно перевести на язык булевой алгебры следующим образом: 1) Все / суть g. fg' = 0 на основании правила 26 2) Все, которые суть и g и Ь, суть /. gbCZf gbf = 0 на основании правила 26 3) Нет членов, являющихся и /и g. fg'Vgbf'Vbf = fg'Vbf'gVbfgVbfg' = O (fg'Vbfg')V(bf'gVbfg) = O объединения этих усло- условий пишем каждое условие так, чтобы оно равнялось нулевому классу и связываем посредством ИЛИ (правило 30) Располагаем члены в алфавит- алфавитном порядке, чтобы облегчить систематическую обработку. Используем правило а = а {с\/с') (правило 21) Используем правилоа(с\/с')~ = ас\/ас' (правило 5) Перегруппировка Используем правило а\/ас = а и ab\/ac — a{b\/c) (правила 9,5) Используем правило ауа' = 1 и а-1=а (правила 15, 12)
Булева алгебра. Вычисления 81 fg' = O, bg = O Если х\/# = 0, то х = 0 и у = 0 (правило 30) fag Если ab' = 0, то а С. 6 (правило 26) Переводим эти два упрощенных предложения: Ответ. Правила можно упростить следующим образом: 1) финансовый комитет должен быть избран из состава общего комитета; 2) никто из членов общего комитета не может быть в библиотечном комитете. 3. Почему верны правила вычислений в булевой алгебре? Для того чтобы правильно ответить на этот вопрос, нужно сначала установить различие между истиной, осно- основанной на наблюдениях, и истиной, основанной на логиче- логическом рассуждении, различие между «фактами» и «обосно- «обоснованными доводами», между истинами наблюдаемыми и исти- истинами доказываемыми. С точки зрения внимательного наблюдателя реального мира эти правила верны потому, что они подытоживают на- наблюдаемые свойства и отношения классов, причем не заме- замечалось никаких исключений. Мы можем сказать, например, что ученые изучали классы и их отношения и подытожили свои наблюдения в этих эмпирических правилах. Например, в следующем параграфе этой главы мы рассмотрим изобра- изображения точек на листе бумаги и сами сможем произвести достаточно наблюдений, чтобы убедиться в том, что мно- многие из этих правил почти'наверное истинны. Однако с точки зрения, математика или логика эти пра- правила истинны по другой причине: они логически вытекают из нескольких основных исходных понятий и допущений. Если принять эти «неопределимые понятия» и «недоказу- «недоказуемые допущения», то все вытекающее отсюда должно быть логически правильным. Цсе приведенные выше правила вычислений либо вклюяены в допущения, либо могут быть доказаны методами логики на^ основе этих допущений. Далее, можно доказать, что булева алгебра внутренне свободна от противоречий, непротиворечива в том смысле, что не могут быть одновременно верными какое-либо предложение булевой алгебры и его отрицание. 6 Э. Беркли
82 Глава б Между прочим, для элементарной алгебры (алгебры обычных чисел) было обнаружено, что отсутствие противо- противоречия нельзя доказать. Это недавнее и довольно обескура- обескураживающее открытие. Таким образом, в шутку можно было бы утверждать, что булева алгебра лучше элементарной. 4. Сводка правил для графических вычислений с помощью булевой алгебры Как можно представить графически классы, их свойства и отношения? Мы изображаем универсальный класс, класс всех обсуждаемых предметов, прямоугольником: Каждый из упоминаемых классов может перекрываться со всеми остальными. Поэтому мы изображаем их в ви- виде замкнутых областей внутри прямоугольника так, что каждый класс перекрывается со всяким сочетанием осталь- остальных. НЕ-а изображается всей областью в прямоугольнике вне а. Для одного класса а: Для двух классов а и Ъ: Для трех классов а, Ъ и с: Нулевой класс как таковой -не имеет специального местоположения. Но класс, который мы считаем пустым,
Булева алгебра. Вычисления 83 изображается заштрихованной областью. НЕ-а пусто: а' = 0: Класс, о котором известно или доказано, что он непу- непустой, отмечается звездочкой в его области. Некоторые а суть Ь: аЬфО: Если не ясно, где находится непустой класс, то звез- звездочка соединяется прямой линией с другими звездочками, чтобы указать многозначность положения непустого класса. Некоторые а суть Ь: аЬфО: Вот некоторые примеры графического представления отношений классов: Все а есть Ь: acib: а есть то же, что Ь: а = Ь: ab'\/a'b = 0: б*
84 Глава 5 Все а есть b или с: a(byc)': Ни одно а не есть Ь: Только а может быть Ь: baa: Ьа' = 0: Для изображения отдельных предметов, содержащихся в классах, можно применять точки. Например, допустим, что мы рассматриваем всех служащих инспекционного от- отдела Компании Великих озер на 1 января 1938 г. (пусть это будут Адаме (А), Браун (В), Коэн (С), Дэйвис (D), Эдварде (?), Филдс (F), Грей (G)) и служащих, имеющих непрерывный стаж работы не меньше пяти лет (пусть это будут Адаме, Браун и Грей), и служащих, являющихся пароходными инспекторами (пусть это будут Браун, Коэн, Дэйвис и Грей). Эту ситуацию можно изобразить следую- следующей графической диаграммой: В этом, случае можно начертить огромное число диаг- диаграмм, и все они будут одинаково хороши. Например, f можно с таким же успехом изобразить любой дру- другой границей, охватывающей А, В, G, ибо, по опреде- определению, если предметы класса я те же самые, что и предметы класса Ь, то а=Ь. Теперь ясно, почему
Булева алгебра. Вычисления 85 и а с I UHUmluil! /XN : : 4, нулевой класс не имеет специального местоположения: его можно поместить где угодно, лишь бы он не содержал ни одной из семи точек А, В, С, D, E, F и G. Граница класса не обязательно должна быть одной
86 Глава 5 замкнутой кривой. Однако если каждый член представлен одной областью, то обозревать отношения классов стано- становится значительно легче. Поэтому было приложено много усилий, чтобы построить диаграммы для 4, 5,6... классов, в которых каждый класс был бы ограничен одной кривой и все границы перекрывались, образуя 16,32,64... подраз- подразделений. Простейшим решением является, по-видимому, последовательность диаграмм на стр. 85 (при этом нужно представлять себе, что каждая диаграмма расположена внутри прямоугольного универсального класса). Для этой последовательности правило перехода от диаграммы п к диаграмме п+1 можно сформулировать следующим обра- образом: «Выбрать чередующиеся прямые в прямоугольном участке диаграммы и отметить их. Проследовать по этим прямым в криволинейный участок диаграммы и также от- отметить их. Используя эти отметки в качестве «наброска» размещения искомого дополнительного класса, перечертить диаграмму, включив новые классы». Таким образом, при переходе от диаграммы № 4 к диаграмме № 5 отрезок грани- границы класса а, отмеченный перекрестными штрихами, обрисо- обрисовывает расположение и 'подковообразную форму класса е. Функции булевой алгебры, например f(x)=Ax \/Вх', и уравнения, например Dy V Бу'=0 (решение: у=Еи' VD'u для любого и), можно представить графически следующим образом: Для х, указанного на ри- рисунке, f есть заштрихованная область. Для некоторых и, указан- указанных на рисунке, решение у есть заштрихованная область. X /Г—-' v У' D ив555 Е 5. Пример графического вычисления Как применять эти правила графических вычислений? Вернемся к задаче Венна о трех комитетах (формулировка задачи—на стр. 79). Три сформулированных выше условия
Булева алгебра. Вычисления 87. можно изобразить различными штриховками: Шипим! fg'-0 12)/////// gbf'=-0 (JAssww bf-0 Рассматривая диаграмму, мы видим, что можно выделить те же области двумя штриховками вместо трех: (I) mi fg'-0 G)= ьд-0 Эти две штриховки изображают упрощенные правила.
ГЛАВА 6 БУЛЕВА АЛГЕБРА. МАТЕМАТИЧЕСКОЕ ОПРЕДЕЛЕНИЕ 1. Математическое определение булевой алгебры До сих пор у нас фигурировали три интерпретации булевой алгебры: 1) Алгебра классов, существо которой мы подробно объ- объяснили выше. 2) Алгебра переключательных элементов, о которой мы упомянули лишь однажды и которая подробно излагается и объясняется в дальнейших главах. 3) Алгебра множеств точек или областей, которую мы использовали для графических вычислений в булевой алгебре. Существуют и другие интерпретации, причем все они интересны и некоторые из них важны. Но прежде всего зададим вопрос: когда что-либо называется булевой ал- алгеброй? каково определение булевой алгебры? Та или иная математическая система есть булева алгеб- алгебра, если она отвечает (удовлетворяет) известному набору требований, изложенных ниже (или другим наборам требо- требований, взаимозаменимых с первыми). Набор требований, определяющий математическую систему, называется систе- системой постулатов. Постулаты суть требования. Постулаты булевой алгеб- алгебры — это такие требования, которые (если они удовлетво- удовлетворены) позволяют логически вывести все остальные поло- положения булевой алгебры. Иными словами, постулаты в дан- данной системе — это основные высказывания, или аксиомы, которые приводят через цепочки логических шагов ко вся- всякому другому высказыванию о данной системе. Постулаты состоят из понятий и предложений! которые принимаются
Булева алгебра. Математическое определение 89 как данные. Тогда другие понятия устанавливаются по- посредством определения, а предложения доказываются путем рассуждения. Существует несколько способов выбора системы (набора) постулатов для булевой алгебры. Ниже изложена одна из возможных систем постулатов. Постулаты булевой алгебры оказываются полезными при проверке любой пред- предложенной математической системы, если желают узнать, обладает ли она свойствами, аналогичными свойствам буле- булевой алгебры. По существу, проверка математической системы по си- системе постулатов напоминает сопоставление выборочных случаев с общими положениями с целью проверить, яв- является ли общее положение ложным для какого-нибудь одного случая или истинным для всех случаев. Любая си- ситуация, в которой изучают ряд отдельных случаев и сопостав- сопоставляют их с правилами, которым подчиняются эти случаи, есть по существу ситуация, относящаяся к «математической теории постулатов», к теории первичных высказываний. 2. Система постулатов Ниже изложен набор постулатов, определяющих бу- булеву алгебру, который предложил Э. В. Хантингтон в 1904 г. Всякая математическая система, описываемая этими постулатами, является булевой алгеброй. Понятия, принимаемые как данные: а, Ь, с,...— элементы; их можно представлять себе как предметы в каком-то списке К (возможно, бесконечном). © (читается «псевдоплюс») — операция; ее можно представлять себе как правило, посредством которого два элемента из списка, например а и Ъ, определяют другой предмет или предметы (может быть, входящие в этот спи- список, может быть, и не входящие), обозначаемые совокупно символом а ©Ь. Правило" этр по существу есть таблица с двумя входами, указывающая для каждого значения а в боковой графе и для каждого значения Ь в верхней графе, что такое предмет или предметы а©Ь. Хотя знак плюс (+) входит в ф, эта операция может существенно отличаться от сложения.
90 Глава 6 Предложения, принимаемые как данные: 1) а@а = а. 3) (a@b)@c 4) Существует по меньшей мере один элемент г, такой, что a@z=a для всякого а. 5) Существует по меньшей мере один элемент и, такой, что и@а=и для всякого а. 6) а@Ь определяет некоторый элемент в К. 7) Существует по меньшей мере один элемент а' для всякого а, такой, что если я© а=а и если х@а'—а', x=z (где г — такой элемент, что b@z=b для всякого Ь) и а®а'=и (где и — такой элемент, что и@с=и для всякого с). 8) Если а@ Ь' Ф Ь', то существует по меньшей мере один элемент х, такой, что а@х=а и b@x=b и, однако, для некоторого с, с@хфс. Определения: 1) adb эквивалентно а®Ь=Ь. 2) a06=(fl'©6'). 3) и, которое оказывается единственным, так как весьма легко доказать на основании постулатов, что суще- существует только одно и, удовлетворяющее постулатам. 4) г, которое оказывается единственным, поскольку можно точно так же легко доказать, что существует только одно г, удовлетворяющее постулатам. о< Иначе говоря, если мы сталкиваемся с собранием или перечнем математических элементов (которые, очевидно, можно обозначить через а, Ъ, с,...) и операцией (которую, конечно, всегда можно назвать псевдоплюсом©), связываю- связывающей два из них и указывающей третий (который может быть тем же самым элементом или иным), то мы можем найти, проверяя свойства этой математической системы (т. е. со- собрания и операции) по каждому из-вышеизложенных восьми положений, является ли эта система булевой^ алгеброй или нет. В этом и состоит определение булевой алгебры. Оно не только указывает набор критериев для проверки—более того, всякое правило и теорема булевой алгебры могут быть строго доказаны на основе этих.постулатов. Оказывается также, что постулаты в этой системе независимы: ни один
Булева алгебра. Математическое определение 91 из них нельзя доказать на основе какого-либо сочетания других; это можно доказать на восьми умело подобранных примерах математических систем, где каждому постулату соответствует одна система. Наконец, следует отметить, что, помимо этой хантингтоновской системы, имеются, конечно, и другие системы постулатов булевой алгебры. 3. Интерпретации булевой алгебры Постулаты булевой алгебры описывают по меньшей мере шесть математических систем. Другими словами, понятия и правила, выраженные постулатами, можно истолковать так, чтобы они верно описывали по меньшей мере шесть различных сторон действительности. Интерпретация 1. КЛАССЫ. В этой интерпретации символам, содержащимся в постулатах, приписаны такие значения: а, 6, с. . . . Классы а 0 6 а\/Ь, а ИЛИ Ь ИЛИ ОБА а0 6 а-6, а И 6 а' а', НЕ-о а © 6 а © 6, а СОДЕРЖИТСЯ В 6 и 1, УНИВЕРСАЛЬНЫЙ КЛАСС, ВСЕ z . О, НУЛЕВОЙ КЛАСС, НИЧТО Этой интерпретацией мы уже воспользовались, когда вво- вводили понятия и разъясняли смысл булевой алгебры. Обратимся к примеру. Предположим, что мы рассма- рассматриваем всех служащих инспекционного отдела Компании Великих озер [пусть это будут Адаме (А), Браун (В), Коэн (С), Дэйвис (D), Эдварде (?), Филдс (F) и Грей (G)] и служащих, имеющих непрерывный стаж работы не меньше пяти лет (лусть это будут Адаме, Браун и Грей). Мы сразу переходим на язык булевой алгебры, где: 1 = все служащие инспекционного отдела (т. е. класс, содержащий члены A,B,C,D,E,F и G); f = служащие этого отдела с непрерывным стажем работы не меньше пяти лет (т. е. класс, содержа- содержащий члены A,B,G);
92 Глава 6 • /' — служащие атого отдела, не имеющие непрерывного стажа работы не меньше пяти лет (т. е. класс, содержащий члены C,D,E,F); О = нулевой класс, не содержащий ни одного работ* ника. В перечне К элементов математической системы мы будем иметь как раз четыре элемента l,f,f'nO, но не боль- больше. Таблица операции ф будет иметь вид: Ф I 1 / /' о 1. / /' 0 1 1 1 1 1 / 1 / 1 1 /' /' 1 f 1 }' 0 Если мы будем проверять каждый постулат с помощью этой математической системы, то обнаружим, что постулаты совершенно верно описывают эту систему. Следовательно, мы доказали, что данная система есть булева алгебра. Интерпретация 2. ДВУХП03ИЦИ0ННЫЕ ПЕРЕ- ПЕРЕКЛЮЧАТЕЛЬНЫЕ ЭЛЕМЕНТЫ. В этой интерпретации символам в постулатах присвоены такие значения: а,Ь,с,... переключательные элементы электрических схем, например контакты, которые могут быть замкнуты или разомкнуты, или провода, которые могут проводить или не проводить ток, и т. д. На схеме кружок О означает «источник» тока, А означает «спад» тока или землю и знаком Л обозначен подвижный контакт переключателя. а и Ь, соединенные параллельно: с=а V Ь; т. е. ток есть в с тогда, когда а замкнуто ИЛИ Ь замкнуто ИЛИ ОБА замкнуты.
Булева алгебра. Математическое определение 93 aQb а и Ь, соединенные последовательно: с=а- b; ток в с есть тогда, когда а замкнуто И Ь замкнуто. с=а'; ток в с есть тогда, когда а не замкнуто. Ток в с есть всегда: с=\. Тока в с нет никогда: с=0. Интерпретация 3. ОБЛАСТИ. а, Ь, с, ... Области на плоскости. а06 Область, содержащая а и содержащая Ь, но так, что всякая их общая часть считается лишь однажды; объединение а и Ь. а 06 Область, общая а и 6; пересечение а а Ь. а' Область вне а. a <Qb Область а НАХОДИТСЯ В области Ь. и Вся плоскость, везде. 2 Нигде. Интерпретация 4. МНОЖИТЕЛИ НЕКОТОРЫХ ЧИСЕЛ. а, Ь, с, ... Множители числа 30 (другими словами любые из чисел 1, 2, 3, 5, 6, 10, 15, 30). а@Ь Наименьшее общее, кратное чисел а и Ъ. aQb Наименьший общий делитель чисел а и . а' 30. деленное на а.
94 Глава 6 и г а есть множитель числа Ь. 30. 1. Вместо 30 'можно взять любое число, не содержащее кратных множителей, являющихся простыми числами. Интерпретация 5.. НУЛЬ 'и БЕСКОНЕЧНОСТЬ. а, Ь, с, . . aQb Числа 0 - НУЛЬ и оо - БЕСКОНЕЧНОСТЬ. а ПЛЮС Ь, согласно таблице 0 + 0 = 0 или 0 + оо = оо, 0 оо со+0= оо, 0 Го оо~ оо + оо = оо, оо|оо оо а, УМНОЖЕННОЕ НА Ь, согласно таблице О оо 0 оо 0 0 0 оо ОБРАТНОЕ а, согласно таблице а I а' и г 0 оо оо 0 оо 0 4. Интерпретация с помощью значений истинности предложений Имеется еще одна интерпретация булевой алгебры, кото- которая столь важна, что сама по себе заслуживает внима- внимательного рассмотрения. Эту интерпретацию можно назвать «алгеброй значений истинности» или «алгеброй предложе-
Булева алгебра. Математическое определение 95 ний». Мы объясним сейчас смысл выражений «значение истинности» и «предложение». В этой интерпретации основным символам,содержащимся в постулатах, присвоены такие значения: а, Ь, с, ... переменные, каждая из которых означает число 1 или 0; двоичные переменные. a @b a\/b, согласно таблице aQb и z a 0 0 1 1 b\ 0 1 0 1 aVb 0 1 1 1 а Ь, согласно таблице a b \ a, b 0 0 1 1 0 1 0 1 0 0 0 1 а', согласно таблице а 0 1 а' 1 0 1, число ЕДИНИЦА 0, число НУЛЬ. Следует отметить, что число переменных а, Ь, с, ... и т. д. может быть велико, как и в элементарной алгебре; но число различных элементов4 в этой математической сис- системе равно в точности двум: 1 и 0, тогда как в элементар- элементарной алгебре число различных элементов бесконечно велико, будучи равно числу различных чисел, таких, как 2, 3, и 1/7, 0,1429, УТО? и т. д.
96 Глава 6 _____ Что такое предложение и что такое значение истин- истинности? Предложение есть высказывание или утверждение, которое может быть истинным или ложным, взятое или рассматриваемое независимо от конкретных слов или языка, использованных для выражения высказывания. Напри- Например, высказывания «два и три равно пяти», «two and three are five», «deux et trois font cinq», «2+3=5» — все они выражают одно и то же предложение; это предложение, конечно, истинно. Предложение является тем же самым, что и другое предложение, только тогда, когда оба предложения «гово- «говорят в точности об одном и том же». Обычно мы будем счи- считать, что подлежащее и сказуемое каждого предложения должны иметь соответственно одно и то же значение или смысл. Предложение часто обозначают заглавной буквой Р, или Q, или R. Значение истинности предложения Р есть «истина», если предложение истинно, и «ложь», если предложение ложно. Значение истинности можно изобразить такими словами или знаками, как «да», «галочка» (V). Т, 1, «верно», «правильно», «истина», «справедливо» и т. д. Значение истинности «ложь» можно изобразить такими словами или знаками, как «нет», «не так», «крестик» (X), F, 0, «ложно», «ложь», «неверно», «неправильно» и т. д. Из всех этих символов для обычных вычислений лучше всего подходят 1 и 0. Мы получаем возможность произво- производить численные вычисления, обращаясь с 1 и 0 как с числа- числами. В дальнейшем мы будем обычно применять для зна- значений истинности знаки 1 и 0. Значение истинности одного предложения может быть таким же, как значение истинности другого предложения, хотя между предложениями может и не быть никакой связи. Удобно выражать «значение истинности от...» симво- символом Т (...) и писать Т(Р)=р, где Р — предложение; если Q — другое предложение, то пишем T{Q)=.q. Благодаря этому, когда мы не знаем значения истинности р предложе- предложения, мы можем все-таки говорить определенно о р, как и в том случае, когда не знаем действительного числа элемен- элементов в некоторой совокупности и тем не менее можем гово- говорить определенно об п.
Булева алгебра. Математическое определение 97 В этой булевой алгебре применяются три обычные отно- отношения, или связки, высказываний: ИЛИ, И, НЕ. Если Р и Q — высказывания, то значение истинности выска- высказывания Р ИЛИ Q (в зависимости от значения истинности Р и Q) будет определяться следующей таблицей: р 0 0 1 1 Q 0 1 0 1 Р или Q 0 1 1 1 Значение истинности высказывания Р и Q задается сле- следующей таблицей: Р Q I Р и Q 0 0 1 1 0 1 0 1 ' 0 0 0 1 Значение истинности высказывания НЕ-Р (отрицание Р) задается следующей таблицей: Р IHE-P О' 1 1 О Легко показать* что Т (Р ИЛИ Q ИЛИ ОБА) Т (Р И Q) Т (НЕ-Р) Т (Р ИЛИ ДЕ Q) Т (НИ Р, НИ Q) , Т (НЕ-Р ИЛИ Q) Т (ЕСЛИ Р, ТО Q) - • - Т (Р ТОГДА И ТОЛЬКО ТОГДА, КОГДА (?) Т (Р ИСТИННО) Т (Р ЛОЖНО) | Т (Р ЛОЖНО ИЛИ Q ИСТИННО) *: Э. Беркли =p. =p' q = pq'\Zp'q = P' = P' ¦=pq =p •q' V? yp'q1
98 Глава 6 Т (ЛЮБОЕ ИСТИННОЕ ПРЕДЛОЖЕНИЕ) = 1 . ,Т_(ЛЮБОЕ ЛОЖНОЕ ПРЕДЛОЖЕНИЕ) =0 Далее, поскольку 1 и 0 — числа, мы можем задать такой вопрос: имеются ли какие-нибудь выражения в обычной элементарной алгебре чисел, дающие нам р \/ q, р- q н р'? Ответ на этот вопрос утвердительный. Это видно из следующих проб: . р 0 0 1 1 0 1 0 1 р УМНОЖЕННОЕ = РЧ 0 0 0 1 Р 0 1 НА q р ПЛЮС q МИНУС pq =p+q—pq=pVq 1 МИНУС р = \-р=р> 1 0 0 1 1 1 Продолжая дальнейшие операции с этой алгеброй чисел 1 и 0, легко показать, что Т (Р ИЛИ ЖЕ Q) Т (НИ Р, НИ Q) Т (ЕСЛИ Р, ТО Q) Т (НЕ-Р ИЛИ Q) Т (Р ТОГДА И ТОЛЬКО ТОГДА, КОГДА Q) Т (Р ЛОЖНО ИЛИ ИСТИННО Q) = Р + Ч— 2 pq = 1— р—q+pq = l—p+pq = l—p-\-pq , — 1— Р—9+2 pq = l—p+pq Отсюда мы видим также, что отношения значений истин- истинности сами имеют свои значения истинности. Поэтому мы можем сразу написать: p 0 0 1 1 q 0 l 0 l T (P = q) 1 0 0 l' T (pфq) 0 1 0 T(P>?) 0 0 1 0
Булева алгебра. Математическое определение 99 р | Т (р=1) [ Т (р=0) О 1 Численные операции над 1 и 0, не приводящие к иным числам, кроме 1 и 0, находят применение. Например: Т(Р ИЛИ ЖЕ Q)t=(p-~qJ = p2—2pq + q2 = p + q — 2pq, так как р2=р для значений р, равных 1 или 0. С помощью арифметики единицы и нуля можно быстро и просто вычислить логические значения истинности во многих трудных случаях. Интерпретация № 1 (классы) является наилучшей для ознакомления с булевой алгеброй и выяснения ее понятий. Интерпретация № 2 (переключательные элементы) и интер- интерпретация № 6 (значения истинности высказываний) наи- наиболее важны с точки зрения применения к проектированию и конструированию разумных машин и представления об их работе. В дальнейшем мы приведем много примеров этих приложений.
ГЛАВА 7 РАЗУМНЫЕ МАШИНЫ 1. Существуют ли в действительности разумные машины? Если мы придем к соглашению относительно понима- понимания, что такое разум, и примем словарное определение разума, процитированное в предисловии: «Способность учиться или извлекать уроки из опыта, приобретать и сохранять знания и ... быстро и целесооб- целесообразно реагировать на новые ситуации, добиваясь ... успеха при рещении различных задач», то по существу не может быть сомнения в том, что разумные машины действительно существуют. Однако наилучший способ доказать общее высказыва- высказывание типа «То или иное действительно существует» — это показать что-нибудь, что удовлетворяет требованиям. На- Например, наилучший способ убедиться в том, что луна иногда затмевает солнце,— это присутствовать при затмении и ви- видеть, как оно происходит, видеть, как черная луна совершен- совершенно закрывает солнце и тьма охватывает всю землю. Мне однажды посчастливилось видеть это самому в Уиллиман- тике, штат Коннектикут, в 1925 г. Итак, рассмотрим неко- некоторые примеры разумных машин. 2. Пример разумной машины Простой пример разумной машины, с которой каждый хорошо знаком,— это светофор — не тот глупый светофор, который загорается красным или 'зеленым светом по рас- расписанию без учета происходящего движения, а такой,
Разумные машины 101 который способен обнаруживать приближение транспортного потока и загораться красным или зеленым светом в опре- определенном соответствии с его интенсивностью. За два квартала от моего дома, на перекрестке Отис- стрит и Лоуэлл-авеню, стоит светофор, обладающий неко- некоторым разумом. На Лоуэлл-авеню движение гораздо силь- сильнее, чем на Отис-стрит, и поэтому нормально горит зеле- зеленый свет для Лоуэлл-авеню и красный свет для Отис-стрит. Но на мостовой Отис-стрит имеются две педали для машин, приближающихся по Отис-стрит в обоих направлениях. Если автомобиль, едущий по Отис-стрит, подъезжает к пере- перекрестку, то регулярно и независимо от того, какое движе- движение на Лоуэлл-авеню, практически почти мгновенно заго- загорается зеленый свет для водителя с Отис-стрит и он может преодолеть перекресток под зеленый свет почти без всякой задержки. Но этот зеленый свет горит для Отис-стрит лишь столько времени, что через перекресток успе- успевают проехать две или три машины, а затем снова зажи- зажигается красный свет. Если теперь по Отис-стрит прибли- приближается другая машина, светофор остается красным долгое время независимо от того, имеются ли на Лоуэлл-авеню машины, чтобы воспользоваться им. По моим наблюдениям, красный свет горит в течение примерно двух минут и за- затем снова загорается зеленый свет для водителя с Отис- стрит. Очевидно, что эта машина не очень разумна и, по-види- по-видимому, ее можно сделать гораздо умнее, если установить педали, обнаруживающие движение по Лоуэлл-авеню. И все-таки такой светофор не столь неприятен, как его «собрат», который переключает свет в определенные мо- моменты, не обращая вынимания на действительную интенсив- интенсивность движения в' данный момент. Сопоставим теперь свойства этого светофора с каждым требованием в нашем определении разума. Способна ли эта машина действительно учиться на опыте и приобретать и сохранить знания? Да, в небольшой степени способна; она способна воспринимать информацию, удерживать ее и различать элементы информации по вре- времени; например, она отличает машину, приближающуюся по^ Отис-стрит, от второй машины, которая следует за ней. Эта способность различения основана на памяти.
102 Глава 7 Реагирует ли машина быстро и целесообразно на новые ситуации, и выполняет ли она успешно свою задачу? Да, несомненно, если даже вы иногда обманываете ее, наступив ногой на педаль. И хотя этот светофор разумен лишь в не- небольшой степени, известно, что есть и более сложные све- светофоры, в которых применяется много педалей, располо- расположенных в разных местах около перекрестка, и которые столь хорошо приспособлены к задаче регулирования дви- движения на данном перекрестке, что они пропустят через него больше машин и с меньшей задержкой, чем любой полисмен8. 3. Как машина сохраняет знания? Как светофор сохраняет знания? Обычно он сохраняет знания (или помнит, или хранит информацию) при помощи электрических реле. В общем случае реле называется любое устройство, которое: 1) сохраняет одно из двух состояний, соответствующих тому, что «такое-то событие произошло» или «такое-то событие не произошло», и 2) способно передавать эту информацию о событии. На рис. 7.1 схематически изображено электрическое. реле. Когда по катушке из медной проволоки, намотанной вокруг сердечника из мягкого железа, не течет ток от подводки к земле, реле не возбуждено и пружина натяже- натяжения прижимает кусок железа, называемый якорем, к нор- нормально замкнутому (размыкающему) контакту, и электри- электрический ток или импульс, приходящий от общего зажима, направляется к зажиму нормально замкнутого контакта. Когда же по катушке вокруг мягкого железного сердечника течет электрический ток, сердечник становится магнитом; он пересиливает пружину, тянет якорь вниз и прижимает переключающий {общий) контакт к нормально разомкну- разомкнутому (замыкающему) контакту. В результате этого пере- переключающий контакт перемещается от нормально замкнуто- замкнутого контакта к нормально разомкнутому контакту, и элек- электрический ток или импульс от общего зажима направ- направляется к зажиму нормально разомкнутого контакта,
Разумные машины -103 Но отсюда совершенно ясно, что одно реле не может хранить большое количество знаний или информации. Оно не может хранить книгу, или абзац, или предло- предложение, или даже десятичную цифру от 0 до 9. Но, по- поскольку реле может быть возбуждено или не возбуж- возбуждено, оно может хранить ^ «да» или «нет», «истинно» Опора Шарнир Медным провод Норм зам/ 7 Нормально замкнутый контакт Общий (переключающий) контакт Нормально разомкнутый контакт Сердечник из мягкого железа Общий Подвод зажим тока Земля Нормально Нормально разомкнуто замкнуто НЕ ВОЗВУЖДЕНО Контакт Общий контакт Общий Подвод Нормально Нормально зажим тока Земля разомкнуто замкнуто ВОЗВУЖДЕНО Рис. 7.1. Электрическое реле. или «ложно», утверждение, что данное событие произошло или не произошло. Это и есть первичная основная единица информации, называемая двоичной единицей или битом. Если «да», или возбужденное состояние реле, обозначить через 1, а «нет», или спокойное состояние,— через 0, то два реле могут хранить 00, $1, 10 или И (читается "слева направо). Три реле могут хранить любую из восьми пор- порций информации: 000, 001, 010, 011, 100, 101, 110, 111 и т. д. А так как п реле могут хранить любую из 2П пор- порций информации, то даже небольшое число реле позволяет хранить большое количество информации.
104 Глава 7 . Мы объяснили, как электрическое реле может хранить и передавать информацию. Но многие другие физические устройства также могут хранить и передавать информацию. Совсем нетрудно сделать физическое устройство, которое может хранить сведения, что данное событие произошло или не произошло. Но для того чтобы заставить его сво- свободно передавать эту информацию другим физическим устройствам, требуется изобретательность. Для этой цели можно использовать физические устрой- устройства разных типов, не только электрические реле. Один тип — электронная лампа, которая может проводить или не проводить ток. Другой тип — маленький участок на магнитном поверхностном слое (на длинной ленте из пласт- пластмассы, в которой распределены магнитные частицы, или на цилиндрическом барабане, покрытом магнитным слоем, и т. д.). Этот участок может быть намагничен либо в пря- прямом, либо обратном направлении. Все эти типы устройств представляют собой в общем смысле реле: они могут не только хранить информацию, но при соответствующей допол- дополнительной аппаратуре передавать ее. 4. Разумные операции над информацией Но никто не станет утверждать, что способность хранить и передавать информацию сама по себе достаточна для того, чтобы устройство, обладающее этой способностью, можно было назвать разумным. Ведь если бы было так, то лист бумаги с записью на нем (нечто, что,, несомненно, хранит информацию и передает ее) можно было бы назвать разум- разумным. Требуется еще что-то. Что же именно? Для того чтобы устройство или машину можно было назвать- разумными или хотя бы слегка разумными, они должны обладать еще одной способностью — делать нечто осмысленное, нечто разумное. Устройство должно, «уметь» оперировать с информацией автоматически таким образом, чтобы выдавать разумные результаты. Иначе говоря, оно должно обладать способностью выполнять над информа- информацией некоторые разумные операции совершенно, само- самостоятельно. Устройство не Должно «требовать», чтобы рядом с ним стоял человек и снабжал его всеми ответами.
Разумные машины 105 В примере со светофором на углу Отис-стрит и Лоуэлл- авеню аппаратура внутри машины действительно способна воспринимать впечатления, которые она получает от педали на мостовой, и преобразовывать их при помощи электри- электрических цепей или механизмов в размыкание и замыкание переключателей красного и зеленого света, благодаря чему светофор действительно управляет движением. Поскольку светофор существует на самом деле и рабо- работает именно так, мы располагаем полным доказательством того, что в нем имеется устройство, которое действительно разумно перерабатывает информацию, несмотря на то, что нам сначала показалось трудным представить себе, как оно действует. В дальнейшем мы вернемся к вопросу о схе- схемах, при помощи которых светофор управляет своими сигналами. Однако способность этой машины воспринимать информацию, разумным образом перерабатывать ее и выда- выдавать ответы очевидна и несомненна;.это обстоятельство поз- позволяет нам называть такую машину разумной или по край- крайней мере слегка разумной. 5. Типы разумных машин «Чуть-чуть разумный» светофор не является единствен- единственной машиной, которая может воспринимать, хранить, передавать, перерабатывать и выдавать информацию. Дру- Другие машины способны воспринимать, получать команды, помнить, рассуждать, вычислять, решать и давать от- ответы. В настоящее время существуют следующие типы разум- разумных . машин — машин, которые могут автоматически пере- перерабатывать информацию и выполнять разумные операции: 1) Специализированные машины, или машины специаль- специального назначения (машины, предназначенные для конкретной задачи в определенной области науки или техники): Аппаратура управления движением на воздушных ли- линиях (включая наземное оборудование), которая может управлять подходом самолета к посадочной площадке, может воспринимать информацию о местонахождении самолета в полете и выдавать информацию или управляю- управляющие сигналы, ведущие самолет при полете.
106 Глава 7 . Системы управления и регулирования на фабриках, химических предприятиях, нефтеочистительных- заводах и т. д., которые воспринимают указания о потоке, темпе- температуре, давлении, объеме и других параметрах жидких или порошкообразных веществ, указания о размещении и положении твердых предметов, сведения о наличии машин и т. д. и выдают информацию о положении клапанов, рычагов, резцов и т. д. согласно программе управления или регулирования, введенной в систему с помощью перфори- перфорированной ленты или другими способами. Приборы управления огнем, которые воспринимают указания о наличии, местоположении и скорости целей с помощью оптических и радиолокационных средств и выда- выдают моменты и направления прицела и стрельбы орудий согласно программе, вычисляющей движение цели, движе- движение снаряда, свойства воздуха, сопротивление и темпера- температуру воздуха и т. д. Имитаторы полета, или авиационные тренажеры, кото- которые воспринимают имитированные условие полета в само- самолете и действительное поведение членов экипажа, прохо- проходящих Ъбучение, и показывают необходимые следствия с целью тренировки экипажей самолетов в «макетах» на земле, прежде чем им придется решать самостоятельные задачи в воздухе и т. д. Играющие машины — машины, играющие против лю- людей либо в простые игры, такие, как «крестики и нолики» или «ним» (для которых были построены некоторые спе- специальные машины), либо в более сложные игры, такие, как шашки, бильярд или шахматы (которые действительно были запрограммированы на машинах, относящихся к упо- упоминаемым ниже универсальным автоматическим . цифровым вычислительным машинам). Аппаратура управления станками, в которую вводится программа команд, равносильная чертежу или модели в уменьшенном масштабе или схеме действий опытного рабочего, и которая затем задает движение управляющих винтов и колес обрабатывающего инструмента, так что заготовка получает форму, в точности соответствующую командам. : Навигационные и пилотирующие системы, которые воспринимают положение звезд, сигналы времени, радио-
Разумные машины 107 пеленг, указания о движении воздуха, указания об инерции и т. д., и вырабатывают команды для рулевого механизма. Анализаторы электрических сетей, которые восприни- воспринимают информацию, изображающую измеренные значения сопротивлений, индуктивностей и емкостей для сети линий и нагрузок электрической станции, и позволяют модели- моделировать и вычислять поведение системы, что дает возмож- возможность надлежащим образом спроектировать надежную и эко- экономичную систему. Аппаратура железнодорожной сигнализации, которая позволяет, например, на большой конечной станции сос- составить график движения поездов так, что в течение часов пик они прибывают и отправляются через каждые 20 сек без каких-либо катастроф и почти без опозданий. Спектроскопические анализаторы, которые анализиру- анализируют спектр паров образцов материала и сообщают о наличии и относительном содержании в нем химических элементов. Стратегические машины, которые позволяют при обу- обучении офицерского состава проводить военные игры и испы- испытывать стратегии, причем электронные устройства авто- автоматически вводят скорости убывания и роста боевых сил и промышленных ресурсов, применяемых в игре. Телефонная аппаратура, в том числе центральные теле- телефонные станции, системы автоматического учета раз- разговоров и т. д., которые позволяют абоненту вызывать другого абонента и разговаривать с ним и начисляют соот- соответствующую сумму за разговор. Аппаратура наведения телескопов, которая устанав- устанавливает телескоп в астрономической обсерватории таким образом, что он сохраняет направление на тот участок небесного свода, который астроном хочет исследовать. Оборудование для сбора дорожных пошлин, которое записывает, отмечает, передает и суммирует пошлины за проезд мостов, шоссе и турникетов. Устройства управления светофорами, которые обнару- обнаруживают машины, приближающиеся к перекресткам, и дают сигналы остановки и свободного пути согласно програм- программе соответственно подобранных реакций на условия дви- движения. Торговые автоматы, которые принимают различные монеты и сигналы о требуемых услугах и производят соот-
108 Глава 7 ._ ветствующий размен, или выдают товары, или позволяют сыграть определенное число партий в какую-либо игру и т. д. 2) Универсальные машины, или машины общего назна- назначения [машины, которые могут быть использованы для решения любой из многих задач в двух (или более) различных областях]: Учетно-бухгалтерские машины, которые воспринимают числа через клавишное устройство, и печатают их столбцами на листе, но управляются устройствами, действующими по программам команд, которые в соответствии с рядом кла- клавиатуры, куда вводится число, или другими указаниями направляют число со знаком плюс или минус в один из шести или более итоговых счетчиков, после чего можно по желанию напечатать результаты или очистить счетчики. Адресные машины, которые получают числа и адреса на металлических пластинках или перфорированных картах и печатают имена и адреса на конвертах, бандеролях и т. д. в соответствии с программой печатания в зависимости от меток, перфорированных отверстий- и других сигналов на пластинках или картах. Вычислительные машины, которые делятся на два основ- основных вида: а) Аналоговые вычислительные машины, которые вос- воспринимают числовую информацию в виде относительных' измерений физических величин, выполняют арифметиче- арифметические и математические операции, управляются программой команд и выдают числовые ответы. б) Цифровые вычислительные машины, которые полу- получают числовую, алфавитную или иную информацию в виде знаков или последовательностей сигналов «да — нет» и т. д., выполняют арифметические, математические и логи- логические операции, управляются программой команд и вы- выдают ответы в виад чисел, букв алфавита и т. д. Справочно-библиографические машины, которые хра- хранят большие картотеки информации, например сфотогра- сфотографированные рефераты и названия статей вместе с кодом для каждой статьи, и очень быстро разыскивают и находят рефераты, соответствующие программе поисков. Инвентаризационные машины, Которые запоминают от- отдельные итоги для десятков тысяч артикулов в таком же чис-
Разумные машины 1Q9 ле регистров и которые прибавляют к ним, вычитают из них, стирают и сообщают по требованию содержание любого регистра. Счетно-перфорационные машины, которые получают ин- информацию, выраженную конфигурацией перфорированных отверстий в карточке стандартных размеров и формы, и сортируют, классифицируют, копируют, перечисляют, суммируют, печатают и т. д., выполняя канцелярскую, счетную, статистическую и другую конторскую работу. Читающие и распознающие машины, которые про- просматривают печатную цифру или букву, наблюдают конфигурацию точек или линий, пропускают эту конфигу- конфигурацию через классифицирующие цепи и тем самым распо- распознают цифру или букву и в соответствии с этим приводят в действие выходные устройства. Роботы, которые воспринимают окружающий мир через чувствительные устройства, производят действия посред- посредством «исполнительных» устройств и коррелируют свои ощущения и действия посредством «думающих устройств» — схем или механизмов, содержащих одну или несколько, программ команд. Балльно-испытательные машины, которые получают бу-. магу с данными испытаний, заполненную специальным карандашом, оставляющим электрически проводящие отметки, и подсчитывают баллы при испытании. Печатные машины, которые хранят на длинном свит- свитке бумажной перфорированной ленты предложения, абза- абзацы и другую информацию и составляют из этих "предложе- "предложений и абзацев (в соответствии с командами) письма, рас- распоряжения и т. д., останавливаясь и принимая рукопис- рукописный текст, если этого . требует команда. 6. Принятые названия разумных машин ' Несмотря на то что машины всех этих типов в большей или меньшей степени являются разумными, их обычно не называют «разумными машинами». Из употребляемых вместо; этого названий наиболее общими являются следующие: 1) счетно-решающие машины, где слово «решение» ука- указывает не только на «вычисление», но и на «мышление»;
НО Глава 7 . 2) машины для обработки данных, где слово «данные» обозначает информацию, а слово «обработка» — действия над ней. Более специальные термины: автоматические вычислительные машины; счетно-аналитические машины; автоматические регуляторы; моделирующие устройства; анализаторы; автопилоты. Машины для обработки данных, пожалуй, образуют более широкий класс, чем «разумные машины». Этот термин охватывает машины, которые почти не «рассуждают» и, согласно принятой нами точке зрения, не являются «разум- «разумными». К таким машинам относится: 1) устройство пере- переписи с ленты на карты, которое получает перфорированную бумажную ленту и производит перфорированные карты, причем выходная запись содержит точно такую же инфор- информацию, как входная запись, но на другом физическом носителе; 2) копировальная машина, которая «смотрит» светочувствительным электрическим глазом (т. е. фотоэле- фотоэлементами) на последовательные маленькие пятна на бумаж- бумажном листе и там, где она «видит» темное место, приводит в действие перо, делающее такую же отметку на втором листе бумаги в соответствующем месте. Такие преобразователи данных осуществляют перевод с одного «машинного языка» на другой «машинный язык». Это, однако, часто требует «редактирования» — моди- модификации кодов или символов согласно программе команд. Поскольку здесь осуществляется редактирование, мы опять имеем дело с «разумной» машиной. 7. Основные принципы разумных машин Нельзя отрицать, что машины, подобные перечисленным выше, существуют и работают; они разумно обращаются с информацией; они приобретают и хранят знания; они быстро и целесообразно реагируют на новые ситуации; многие из них могут или могли бы учиться на опыте. Но как они это делают? Каковы их основные принципы?
Разумные машины Ш Первый из этих принципов — принцип организации. Почти все представители разумных машин организованы одинаково и состоят из пяти частей: 1) каждая такая машина имеет один или несколько входов — путей, по которым она может воспринимать информацию; 2) она имеет один или несколько выходов — путей, по которым она может выдавать информацию; 3) она имеет накопитель, или память, — средства, бла- благодаря которым она может хранить информацию; 4) она имеет вычислительные средства (называемые также «арифметическим устройством») — оборудование, с помощью которого она может получить две порции инфор- информации А и В к наименование разумной операции О, на- например сравнения, выполнить эту операцию над Л и В и выдать как результат порцию информации С; 5) она имеет управляющее устройство, которое может управлять операцией и выбирать программу выполняемой операции; часто управляющее устройство и само тоже подчиняется командам, выработанным машиной, так что машина может управлять сама собой. Второй основной принцип разумных машин заклю- заключается в том, что существует много типов приборов, физиче- физических устройств и аппаратуры, обладающих такими свой- свойствами и способностями, что они, эти приборы и устрой- устройства, могут воспринимать, хранить, передавать информа- информацию, производить над ней разумные операции и выдавать ее во вне. Из этих свойств аппаратуры труднее всего поддается интуитивному пониманию способность осуществлять разум- разумные действия над информацией, иначе говоря способность вычислять. Какой пример этой способности привести? Обыкновен- Обыкновенная суммирующая машина, снабженная бумажной лентой для контрольной записи вводимых в нее чисел, и клавишей, управляющей печатью итогов^ гашением счетчиков, слу- служит неоспоримым доказательством того, что машина обла- обладает по крайнем мере некоторой способностью к вычисле- вычислению. Основным элементом суммирующей машины являет- является устройство, называемое счетным колесом, которое раз- разделено на десять равных сегментов, расположенных по
П2 Глава 7 ' ^_ ободу и соответствующих цифрам 0, 1,2, 3, 4, 5, 6, 7, 8, 9. Счетное колесо имеет небольшой добавочный зуб, распо- расположенный между 9 и 0, вследствие чего, проходя через эту точку, оно сцепляется со следующим счетным колесом, расположенным выше, и заставляет его повернуться с той цифры, на которой оно стоит, к следующей цифре. Этот остроумный маленький зубец, изобретенный французским математиком Паскалем в XVII в., воплощает в металле принципы арифметического переноса. Правда ли, что машина может выполнять-логическую и мыслительную операцию любого типа, арифметическую и математическую операцию любого типа? Насколько нам в настоящее время известно, это действительно так. Мате- Математики и логики показали, что огромное число сложных операций можно определить через более простые, а послед- последние в свою очередь—через еще более простые, пока в конце концов мы не придем примерно к шести простейшим опе- операциям. Все другие операции можно осуществить в виде комбинаций этих простейших действий. Эти простейшие операции и многие более сложные можно непосредственно воплотить в приборы в виде наличия или отсутствия сигна- сигналов, замыкания и размыкания цепей, способов взаимодей- взаимодействия многих «да» и «нет».
ГЛАВА 8 МАЛЫЕ РАЗУМНЫЕ МАШИНЫ. НЕКОТОРЫЕ ПРОСТЫЕ ЗАДАЧИ 1. Поведение машин Машину, которая должна вести себя определенным образом, часто можно представить себе как «черный ящик», как некий неопределенный предмет, наполненный какими- то приборами, который тем не менее обладает вполне опре- определенным свойством: известные входные факторы произ- производят известные выходные факторы. Например, большин- большинство людей имеет лишь весьма смутное представление о том, как работает телефон, но все знают, что если проделать с телефоном такие-то действия, то можно получить такие- то результаты. То же можно сказать и об автомобиле: мы упрощенно представляем его как черный ящик, как нечто, характеризуемое определенными входными и вы- выходными факторами. Каковы основные входные факторы автомобиля в дан- данное мгновение? Рулевое колесо: на какой угол вы его пово- поворачиваете; педаль подачи газа: как сильно вы ее нажимае- нажимаете; тормозная педаль: как сильно вы ее нажимаете. Каковы основные выходные факторы автомобиля в дан- данное мгновение? Скорость: как быстро едет автомобиль; направление: куда он едет. Если это поведение автомобиля представить в абстракт- абстрактном виде, то мы можем думать о нем как о «черном ящике»» изображенном на рис. 8.1. -> На рисунке показаны физические переменные а, б, в, г, д. Эти переменные можно представить в числах: а — в градусах отклонения от прямого направления вперед (со знаком плюс или минус); б ив — в дюймах или долях дюйма; г — в милях в час; д — в градусах отклоне- 8 Э. Беркли
114 Глава 8 . ния от прямого направления вперед (со знаком плюс или минус); гид являются математическими функциями от а, б ив. Например, мне говорили, что д обычно равно одной четвертой а (за исключением автомобиля «Фольксваген», входы Черный ящик Выходы а. Угол поворота рулевого колеса Автомобиль Б. Степень нажатия педали пода чи газа в. Степень нажатия, тормозной педали г. Скорость движения автомобиля д. Направление движения автомобиля Рис. 8.1. Диаграмма поведения автомобиля. где д равно а). Но здесь существенно, что наше управление автомобилем основано на знании того, как определяются гид, когда мы установили а, б и в. Такая же общая диаграмма — «черный ящик» с тремя входами и двумя выходами — применима и для другой маши- машины — схемы освещения, обладающей следующими свой- свойствами. Входы: выключатель в вестибюле, который может быть в верхнем или нижнем положении; выключатель на верхней площадке, который может быть в верхнем или нижнем положении; выключатель в мансарде, ко- который может быть в верхнем или нижнем положении. Выходы: лампа в подъезде, которая может быть вклю- включена или выключена; лампа в гараже, которая может быть включена или выключена. Мы можем представить эту схему освещения так, как показано на рис. 8.2. Однако между этими двумя машинами есть существенное различие: в автомобиле переменные от а до д измеряются в масштабе и записываются обычными числами; в осветительной же схеме переменные от а до д принимают только по два значения, соответствующие двум состояниям: верхнему или нижнему положению, состоя- состояниям «включено» или «выключено». Для их записи удобно использовать булеву алгебру с Л и 0, алгебру значений истинности (переключательных элементов).
Малые разумные машины. Некоторые простые задачи 115 С переключательными элементами, или элементами типа еда — нет», мы бесчисленное количество раз сталкиваемся в машинах (и всюду в мире). Выключатель может быть разомкнут или замкнут. Кнопка может быть нажата или не нажата. Рычаг машины может быть наверху или внизу. Указатель в лифте может показывать «занято» или «свободно». По проводу может течь или не течь ток. Электрическое реле может быть возбуждено (через обмотку течет ток) ири спо- спокойно (через обмотку не течет ток). Электронная лампа а. Находится ли перекл/ovt тпель в вестибюле в Черный ящик Выходы верхнем и, ти нижнем полозке ни, i б Находится .пи переключе/тель на этаже в верхнем -i «-1 или нижнкм положении в. Находится ли „ переключатель на Схема освещения г. Включена ли 1е лампа в подъезде д. Включена ли лампа в гараже чердаке в верхнем или нижнем положении Рис. 8.2. Диаграмма поведения схемы освещения. может проводить ток (поток электронов) или не проводить. Полезно и удобно называть все эти элементы элементами типа «да — нет», а те из них, которые используются в электрических цепях — электрическими элементами типа «да — нет». Любой элемент типа «да — нет» в механизме или схеме соответствует высказыванию Р «Элемент Е включен». Высказывание имеет значение истинности Т(Р), равное р. Если высказывание истинно, оно имеет значение истин- истинности р, равное 1, и данному состоянию элемента мы ста- ставим в соответствие 1. Если высказывание ложно, то оно имеет значение истинности 0, и состоянию элемента мы ставим в соответствие 0. Поскольку большей частью мы хотим охватить оба состояния: «включено» и «выключено», элементу Е мы ставим в соответствие переменную р. Итак, Е есть конкретное устройство, Р есть высказывание о нем, говорящее, что оно «включено», а р есть переменная, прини- принимающая значение либо 1, либо 0. Мы можем назвать р двоич- двоичной переменной. Такой подход является общим и поэтому весьма эффективным. 8*
116 Глава 8 Часто удобно представлять р как состояние элемента цепи или как информацию или сигнал, содержащийся в схемном элементе. Таким образом, об элементе, который может быть в любом положении л (на какой-либо шкале), мы будем говорить, что л есть положение или числовое значение этого элемента. Например, если элемент^ — переключатель, то выска- высказывание Р может гласить: «Выключатель замкнут». Тогда р равно 1, если, он замкнут, и равно 0, если он разомкнут. Если элемент — реле, то высказывание может гласить: «Реле под током». Если элемент — провод, то высказы- высказывание может гласить: «По проводу течет ток». Если эле- элемент — анод электронной лампы, то высказывание может гласить: «Напряжение на аноде высокое»,—причем мы усло- условимся, что нас интересуют лишь два уровня напряжения — «высокий» и «низкий». Аналогичным образом мы поступаем при рассмотрении неограниченного числа различных типов схемных элементов, работающих по принципу «да — нет». Но поведение машины будет определено, если мы ука- укажем все возможные значения входных переменных и все возможные значения выходных переменных и опишем, как они связаны друг с другом. Знание поведения машины означает знание этой связи. 2. Переключатели Из элементов электрических цепей наиболее интерес- интересным для нас является электрический переключатель. Он существует во многих формах. Он применяется гораздо шире, чем любой механический элемент типа «да — нет», потому что переключатель действует на расстоянии—на кон- концах проводов или других электрических соединителей. Поэтому пространственные ограничения во всех трех изме- измерениях, которым строго подчинены механические элементы и для учета которых нужна большая изобретательность, не оказывают влияния на переключатели. Первоначально переключатель представлял собой уст- устройство для переключения стрелки на железнодорожных путях. В настоящее время он, кроме этого, выполняет еще функции переключения тока с одной цепи на другую.
Малые разумные машины. Некоторые простые задачи 117 На рис. 8.3 показаны детали обычного переключателя: общий провод и зажим; шарнир, при помощи которого можно поворачивать пластинку переключателя; нормально замк- замкнутый зажим с проводом и нормально разомкнутый Зажим Г- «нормально замкнутб» 1-/3 провод Пластинка овш,ий провоо Шарнир' Зазким Z - «нормальноразомкнуто» 1 1 Рис. 8.3. Переключатель. Рис. 8.4. Схематичес- Схематическое изображение, пере- * ключателя. зажим с проводом, к каждому из которых может быть присоединена пластинка переключателя. На рис. 8.4 и 8.5 представлены не столь подробные, более схематичные, изображения переключателей. Рис. 8.5. Рис. 8.6. Пе- Рис. 8.7. Пе- Схематичес- реключатель реключатель на коеизображе- на три поло- четыре положе- положение переклю- жения. ния. чателя. , Переключатель может иметь три, четыре или большее число положений (позиций); в этом случае его положения могут быть обозначены любым образом, лишь бы эти обозначения были достаточно удобными (рис. 8.6, 8.7, 8.8 и 8.9). Одиночный переключатель может быть сконструирован так, что у него будут две, три или большее число элект- электрически несоединенных между собой секций (часто
П8 Глава 8 ._ называемых полюсами), так что когда переключатель по- поворачивают, он одновременно переключает несколько Г Общий Г Общий » контакт * контакт / . / . . ¦ABC Нормально Нормально замкнуто разомкнуто Рис. 8.8. Названия и обозначе- обозначения контактов. электрически независимых путей. На чертежах схем это свойство переключателя можно изобразить при помощи T-I Т-2 Т-3 Т-Ч 11 1 1 ' • • • • • # • • • ••• А-1 В-1 CI A-Z B-Z 0-2 А-3 В-З С-3 А-4 &4 С-й Рис. 8.9. Четырехполюсник переключатель на три положения. какого-нибудь обозначения для переключателя и номеров 1, 2, 3 и т. д. для полюсов. Например, на рис. 8.9 и 8.10 , В-1 (Полюс Z-П If \ А-3 (Полюс Z-3JB-3 ^В-4 (Полюс Z-4) С-3 V И /С-4 А-4 Рис. 8.10. Четырехполюсиый переключатель Z на три положения. схематически показан переключатель Z с тремя положе- положениями Л, В и С и четырьмя полюоами 1, 2, 3, 4.
Малые разумные машины. Некоторые простые задачи 119 Многие другие электрические элементы типа «да — нет» в том или ином смысле эквивалентны переключателю. Например, электрическое реле представляет собой автома- автоматически управляемый переключатель, в котором для пере- переноса пластинки от одного полюса к другому вместо пальцев человека применяется 'электромагнит. Наибольшая ско- скорость переключения при этом составляет около одной тысячной секунды. Две электронные лампы, соединенные друг с другом так, что, когда одна проводит электричество, другая не проводит, и наоборот (триггер), равносильны переключателю; обычная скорость переключения этой пары ламп—порядка нескольких миллионных долей секунды. 3. Проектирование малых разумных машин Перейдем теперь от общего рассмотрения всех машин я их поведения к более узкому вопросу — проблеме малых разумных машин и включим сюда вопрос о том, как при- применяется булева алгебра для их проектирования. Ибо интересным и важным фактом является то, что набор выска- высказываний, описывающих поведение малой рассуждающей машины (если его перевести на язык булевой алгебры), становится ключом к подбору такой комбинации или связи электрических элементов типа «да—нет» друг с другом, при которой машина будет работать. Мы сейчас поясним это. Что понимается под малыми разумными машинами? Это — машины, у которых входные и выходные сигналы состоят из двоичных переменных и вся комбинация еди- единиц и нулей на выходах является математической функ- функцией единиц и нулей на входах. Разберем простой пример. 4. Задача об освещении вестибюля Задача. В одном доме нужно сделать электрическую сеть. В ней должны быть два переключателя: переключа- переключатель на нижнем этаже и переключатель на верхнем этаже. Должна быть одна лампа в вестибюле. Когда поворачивают любой иа ятих двух переключателей, лампа должна в«лет-
120 Глава 8 чаться, если она была выключена, и выключаться, если она была включена. Спроектируйте схему. Решение. Пусть и — состояние переключателя U на верхнем этаже, равное 1, если этот переключатель вклю- включен, и равное 0, если он выключен. Пусть d — состояние переключателя D на нижнем этаже, равное 1, если он включен, и 0, если он выключен. Пусть h — состояние лампы вестибюля Н, равное 1, если она включена, и 0, если она выключена. Два переключателя могут быть в четырех возможных комбинациях состояний, приводящих к четырем случаям 1, 2, 3, 4, как показано ниже: Случай № 1 2 3 4 и 0 0 1 1 d 0 1 0 1 Как мы можем удовлетворить условиям задачи? Предположим, что в случае 1 лампа вестибюля выклю- выключена и h равно 0. Тогда, если повернется один из пере- переключателей, лампа должна включиться. Следовательно, h должно быть равно 1 в случаях 2 и 3. Наконец, если повер- повернуть другой переключатель, то мы придем к случаю 4 и лампа должна опять выключиться. Поэтому таблицу можно заполнить следующим образом: Случай Ms 1 2 3 4 и 0 0 1 1 d 0 1 0 1 А 0 1 1 0 Рассматривая таблицу, можно сделать следующий вывод: h равна 1 тогда и только тогда, когда и равно 1 и d не равно 1 или «неравно lndравно 1. В символах: h=ud'\/ud. Поэтому мы можем составить/ схему, изображенную на рис. 8.11. В этой схеме мы используем два полюса пере-
Малые разумные машины. Некоторые простые задачи 121 ключателя U и два полюса переключателя D. Единствен- Единственный сигнал, который может пройти по левому пути,— это u.d', потому что общий контакт переключателя U должен перейти в другое положение, а общий контакт переклю- переключателя D должен остаться в том положении, в каком он изображен. Единственный сигнал, который может пройти по правому пути,— это u'd. Поэтому единственный сигнал, который может достигнуть лампы Я,— это ud'У u'd. Сле- Следовательно, схема правильна. Источник ud'vu'd Рис. 8.11. Земля h-u&'vu'd Рис. 8.12. Но использовали ли мы имеющиеся схемные средства наилучшим образом? Мы не используем нормально замк- замкнутый зажим полюса U-\ и нормально разомкнутый зажим полюса U-2. < Если мы исследуем различные комбинации переключа- переключателей и напишем их уравнения в булевой алгебре, то най- найдем лучшую схему; она описывается тем же уравнением, но в ней используется меньше оборудования; эта схема изображена на рис. 8.12. Теперь мы обходимся более деше- дешевыми переключателями: у каждого из них один полюс вместо двух. Упрощение подобного рода часто оказывается возмож- возможным в известных границах.,Выражения булевой алгебры дают одно решение, и затем конкретные свойства переклю- переключателей (ручных, электромеханических, как реле, или электронных, как триггер) позволяют улучшить решение с точки зрения экономии схемных средств при тех же результатах.
122 Глава 8 5. Задача о завещании Брюса Кемпбелла | Рассмотрим теперь несколько более сложную задачу о малой разумной машине и решим ее. j Задача. Вот завещание Брюса Кемпбелла: «Если в день моей смерти мой сын, Брюс} Кемпбелл II, не будет находиться в живых и если тогда не будет в жи- живых его сына и моего внука, носящего имя Брюс Кемпбелл III, то 40% моего состояния будет выплачено наследникам мо- моего сына. Если мой сын в день моей смерти будет в живых' и не будет иметь диплома Эдинбургского университета, и не будет женат, и не будет иметь в живых сына по имени Брюс Кемпбелл III, то 40% моего состояния будет выпла- выплачено моему сыну. Если мой сын будет в живых, но будет иметь диплом Эдинбургского университета или будет женат, но не будет иметь в живых сына по имени Брюс Кемпбелл III, то 60% моего состояния будет выплачено моему сыну. Если мой сын будет в живых и будет иметь в живых сына по имени Брюс Кемпбелл III, то мой сын получит все мое состояние, если он будет иметь диплом Эдинбургского университета, но. лишь 80% моего состояния, если он не будет иметь диплома. Если же мой сын не будет находиться в живых, но оставит сына по имени Брюс Кемпбелл III, который будет в живых в день моей смерти, то 80% моего состояния будет выплачено Брюсу Кемпбеллу III или его законному опекуну. Во всех случаях оставшаяся часть моего состояния будет выплачена Гэльскому дому для бедных и престарелых». Какая часть состояния Брюса Кемпбелла будет выпла- выплачена его сыну или наследникам его сына? Как построить машину, которая укажет сразу, что выпла- выплачивается при любом сочетании условий? Решение. В этой задаче налицо четыре условия. Мы мо- можем представить себе класс всех возможных событий, кото- который будет определяться этими четырьмя условиями; сле- следовательно, мы можем использовать булеву алгебру клас- классов. Итак: Сын находится в живых (L) или не находится в живых (П; , A) Свга женят (М) или не жепят (М')\ B)
Малые разумные машины. Некоторые простые задачи 123 Сын имеет диплом Эдинбургского университета (G) или не имеет диплома (С); C) Особо поименованный внук Брюс Кемпбелл III находится в живых (N) или не находится в живых (N'). D) Приведем вновь первое предложение из текста зада- задачи: «Если в день моей смерти мой сын, Брюс Кемпбелл II, не будет находиться в живых и если тогда не будет в живых его сына и моего внука, носящего имя Брюс Кемпбелл III, то 40% моего состояния будет выплачено наследникам моего сына». Мы можем перевести это предложение сле- следующим образом: ЕСЛИ (сын не в живых) И (поименованный внук не в живых), ТО 40%. На языке символов: L'-N' -> 40%. E) Если таким же образом перевести второе предложение, то получим: ЕСЛИ (сын в живых) И (сын не имеет диплома) И (не женат) И (поименованный внук не в живых), ТО 40%. На языке символов: L G' -M'N'-> 40%. F) Третье предложение после перевода будет выглядеть так: ЕСЛИ (сын в живых) .И [(сын имеет диплом) ИЛИ (сын женат)] И (поименованный внук не в живых), ТО 60%. На языке символов: L(G\/M)N'-> 60%. G) Четвертое предложение после перевода превратится в сле- следующие: ЕСЛИ (сын в живых) И (поименованный внук в жи- живых) И (сын имеет диплом), ТО 100%; ЕСЛИ (сын в живых) И (поименованный внук в жи* вых) И (сын не имеет диплома), ТО 80%. На языке символов: L-N-G-* 100%, (8) (9)
124 j Глава 8 ._ i Пятое предложение после перевода будет: ЕСЛИ (сын не в живых) И (поименованный внук в живых), ТО 80%. В символах: L'-N-> 80%. A0) Теперь мы проверяем, правильно ли сформулирована задача. Является ли набор условий исчерпывающим и нет ли несовместимых условий? Условия F) и G) не имеют общих Случаев, так как (G'M')-(G V Щ — 0; объединяя их, мы получим LG'M'N'sj L(GV M)N'. = LN'. A1) Условия (8) и (9) не имеют общих случаев, так как G-G' = 0. Объединяя их, мы получим L-N. A2) Условия (8), A0), A1) и A2) не имеют общих случаев и образуют в совокупности универсальный класс UN' v L'N\/ LN'V LN^=\. Следовательно, задача сформулирована правильно и усло- условия являются исчерпывающими и взаимно исключающими. Поэтому можно построить внутренне непротиворечивую машину, которая укажет выплату при всех сочетаниях. Как же построить эту машину? У машины будут четыре переключателя. Один переклю- переключатель обозначим надписью «Внук по имени Брюс Кемпбелл III в живых». Этот переключатель может находиться в двух положениях: «да» и «нет». Второй переключатель обозначим надписью «Сын в живых»; этот переключатель тоже будет иметь два положения: «да» и «нет». Третий переключатель обозначим надписью «Сын имеет диплом»; переключатель тоже будет иметь два положения: «да» и «нет». Четвертый переключатель будет соответствовать высказыванию «Сын женат» и будет иметь два положения: «да» и «нет». В схеме будет четыре выходных лампочки с обозначениями «40%», «60%», «80%» и «100%». Почему машина должна иметь/такую структуру? Во- первых, она должна быть способна принимать сообщения
Малые разумные машины. Некоторые простые задачи 125 «да» и «нет» о каждом из этих четырех условий. Для такой машины удобно получать информацию «да» или «нет» при по- помощи установки переключателей в то или иное положение. Во-вторых, машина должна быть способна выдавать любой из четырех возможных ответов. Различные ответы, давае- даваемые машиной, удобно указывать при помощи лампочек. Какой должна быть структура машины от ее входа до выхода? Существует, конечно, очень много способов соз- создания этой структуры; на рис. 8.13 представлен один из вариантов — реальная электрическая схема. Проследим действие схемы. Переключатель N — один переключающий, контакт Переключатель L —два переключающих контакта G Переключатель G — два переключающих контакта Переключатель М — овин переключающий контакт 40% 60% 80% Рис. 8.13. Машина для завещания Брюса Кемпбелла. Маленький кружок на чертеже (в верхней его части) обозначает источник тока; в нижней части чертежа обозна- обозначена земля. Если угодно, их можно представить себе как два полюса электрической батареи. Представим i теперь электрический ток как движение потока частичек электри- электричества (электронов) по полым трубкам, изображенным на ри- рисунке прямыми линиями (в действительности это провода). Электроны выходят из источника; затем они приходят к разветвлению на своем пути A-й каскад на чертеже), где стоят слова «переключатель N — один контакт». Переклю- Переключатель изображен в положении «нет». Предположим, что этот переключатель находится в положении «нет»; тогда
126 Глава 8 электроны побегут по пластинке переключателя влево, через контакт, отмеченный стрелкой, и далее вниз в-примы- в-примыкающий левый провод. Этот провод обозначен буквой N' в соответствии с содержащейся в нем информацией: «Поиме- «Поименованный внук не в живых». Предположим теперь, что переключатель повернут и поставлен в положение «да». Тогда поток электронов не пойдет прямо вниз, но потечет по пути, обозначенному пунктиром (положение пластинки), и далее через контакт, обозначенный стрелкой, потечет вниз через примыкающий правый провод. Этот провод обозначен сим- символом N в соответствии с содержащейся в нем информацией: «Поименованный внук в живых». Переходим теперь ко 2-му каскаду на схеме. Оба кон- контакта в этом ряду представляют собой контакты одного и того же переключателя L. Они электрически разделены, но перемещаются одновременно, так что если один из кон- контактов перемещается, то перемещается и другой. Вслед- Вследствие этого четыре провода, отходящие от контактов пере- переключателя N', несут четыре различные порции информации N'L', N'L, NL' и NL, читая слева направо. Сопоставляя эти порции информации с выходными сиг- сигналами, мы видим, что L'N' приводит к 40%, a L'N — к 80%. Поэтому мы можем сразу же соединить эти две линии с двумя лампочками. Но мы должны еще классифицировать информацию, содержащуюся в двух других линиях, исполь- используя контакты третьего переключателя G и четвертого пере- переключателя М. Один контакт переключателя G достаточен для выбора случая выплаты 100%; линия N И L И G(GNL) соответствует 100%. Линия LNG' соответствует 80% и может быть соединена с лампочкой для 80%. Два контакта — один контакт переключателя G C-й каскад) и один контакт переключателя М D-й каскад)—используются для передачи G'M' по одной линии и 0\/0'М(этотоже самое, что G\/M) по другой линии, так что линия N'L' yN'LG'M' идет к лам- лампе для 40%, a N'L(G у G'M) — к лампе для 60%.
ГЛАВА S МАЛЫЕ РАССУЖДАЮЩИЕ МАШИНЫ. СИЛЛОГИСТИЧЕСКАЯ МАШИНА И ДРУГИЕ ЗАДАЧИ 1. Задачи О силлогистической машине Теперь рассмотрим задачу, непосредственно связанную с обычным логическим рассуждением,— задачу создания машины, которая будет правильно рассуждать силлогиз- силлогизмами. Прежде всего, что такое силлогизм? Силлогизм, согласно словарю, есть логическая схема формального доказательства, обладающая следующими свой- свойствами: 1) силлогизм состоит из двух предложений, назы- называемых посылками, и третьего предложения, называемого заключением, и 2) заключение непременно следует из посы- посылок, иными словами, если обе посылки истинны, то заклю- заключение также должно быть истинно. Вот один из наиболее известных примеров силлогизма: «Все люди смертны. Сократ — человек. Следовательно, Сократ смертен». Доказательство такого же типа: «Все птицы имеют перья. Этот сокол в небе — птица. Следо- Следовательно, этот сокол имеет перья». Строение рассуждения выявляется в словах: «Все... суть... . Этот... есть... . Следо- Следовательно, этот... есть...». Эту структуру можно передать также так: «ВсеБ суть С. Это А есть В. Следовательно, это Л есть С». А, В и С называются членами силлогизма. В рассуждении такого рода мы можем (имея в виду наши цели) игнорировать разницу^между единственным и мно- множественным числом. Не обязательно различать класс, содер- содержащий один элемент, и класс, содержащий более одного элемента. Например, деньги можно представить себе во мно- множественном числе как совокупность денежных единиц, или в единственном числе как собирательное существо подоб-
128 Глава 9 но воде, гравию или народу. Поэтому мы можем сказать, что то же самое строение свойственно и доказательству: «Всякое В есть С. Всякое А есть В. Следовательно, всякое А есть С». Слово «силлогизм» имеет также второе значение, обо- обозначая способ рассуждения, который выглядит как силло- силлогизм или кажется силлогизмом, но логически неверен. Причина этого в том, что люди хотят располагать назва- названием для способа рассуждения, похожего на силлогизм; поэтому могут потребоваться некоторые вычисления, чтобы обнаружить, правильно данное рассуждение или нет. Две посылки и заключение силлогизма часто имеют одну из следующих форм: Первая посылка Вторая посылка Заключение 1. Всякое А есть В 5. Всякое В есть С 9. Всякое А есть С 2. Никакое А ие есть В 6. Никакое В ие есть 10. Никакое А иеесть С С 3. Некоторое А есть В 7. Некоторое В есть С 11. Некоторое А есть С 4. Некоторое А ие 8. Некоторое В ие 12. Некоторое А ие есть В есть С есть С Здесь перечислены не все формы посылок и заключений, составляющих силлогизм, но охвачена большая часть рассуждений, основанных на силлогизмах. Но, конечно, неправильно думать, что любое случайное сочетание посы- посылок и заключения составит правильное рассуждение. Например, если мы возьмем высказывания 2 и 7, то не смо- сможем вывести из них высказывание 9. Другими словами, из предложений «Никакое А не есть 5» и «Некоторое В есть С» нельзя заключить «Всякое А есть С». Некоторые ложные умозаключения легко устранить. Но другие заблуждения часто отстаивают люди, которые должны были бы в этом разбираться. Например, бывший сенатор от штата Вискон- Висконсин Джозеф Маккарти утверждал: «Все коммунисты напа- нападают на меня. Такой-то нападает на меня. Следовательно, такой-то — коммунист». То, что этот так называемый «силлогизм» ложен, видно из сопоставления его с таким рассуждением: «Все гусеницы едят салат. Я ем салат. Сле- Следовательно, я гусеница». Но учащихся в американских школах обычно не учат тому, как логически доказать, что
Малые рассуждающие машины. Силлогистическая машина 129 такой силлогизм ложен, пока они не приступают к курсу логики или философии в колледже. Разберем теперь одну задачу. Задача. Построить машину, которая будет получать на один вход любое одно из высказываний — от 1-го до 4-го, а на второй вход любое одно из высказываний от 5-го до 8-го и будет указывать на выходе какое-либо одно из высказываний от 9-го до 12-го (или, если потребуется, большее число высказываний), если такое высказывание является правильным заключением. Если мы решим эту задачу, то в нашем распоряжении будет машина, способная автоматически анализировать 16 силлогизмов, показывая, какое заключение можно сделать, если, вообще, можно сделать какое-либо заключение, и отме- отмечая в противном случае: «Никакое заключение относительно А и С невозможно». Мы можем решить эту задачу, как будет показано ниже. Получающаяся в результате «силлогистическая машина» представляет собой весьма убедительный пример логи- логически рассуждающей малой машины. По существу эта машина представляет собой не один, а три примера: 1) она служит примером того, как машина может производить логи- логическое рассуждение; 2) машина служит примером того, как можно построить рассуждающую схему при помощи буле- булевой алгебры, и 3) задача, которую она решает, является примером вычислений в булевой алгебре. Решение. Эта машина состоит из двух входных переклю- переключателей, каждый из которых может быть в одном из четы- четырех положений, и четырех или более ламп, которые могут быть включены или выключены. Один переключатель обозначен надписью «Первая посылка». Он может быть уста- установлен в какое-либо одно из четырех положений: 1) Всякое А есть В. 2) Никакое А не есть В. 3) Некоторое А есть В. 4) Некоторое А не есть В» Второй переключатель обозначен надписью «Вторая посылка»; он может быть установлен в какое-либо одно из четырех положений: 5) Всякое В есть С. 6) Никакое В не есть С. 9 Э. Беркли
13d) Глава 9 7) Некоторое В есть С. 8) Некоторое В не есть С. ¦ Первые четыре лампы имеют обозначения: 9) Всякое А есть С. 10) Никакое А не есть С. 11) Некоторое А есть С. 12) Некоторое А не есть С. Оказывается, что нужны еще три лампы. Они обознача- обозначаются так: 13) Некоторое С не, есть А. 14) Некоторое не-Л есть .не-С. 15) Невозможно никакое заключение относительно Л и С. Создание этой машины связано с решением двух задач. Первая задача — использовать булеву алгебру для выво- вывода всех заключений, которые мы можем составить из 16 возможных сочетаний перюй посылки и второй посылки. Вторая задача — выразить посредством булевой алгебры все 16 ответов в виде электрической схемы машины. Применение булевой алгебры для вывода заключений из 16 возможных случаев всего проще показать на диа- диаграммах Венна. Диаграммы Венна выражают некоторые отношения двух классов следующим образом: Штриховка области показы- показывает, что она пустая/ Веяное А есть В Ни одно А не есть В ш ш Некоторые А есть В Некоторые А не есть В в А s~^—^B Звездочка в об- : ласти показы- показывает, что об- область непустая. Вот результаты вычисления 16 случаев:
Малые рассуждающие машины. Силлогистическая'машина 131 Случай Диаграмма Венна 1, 5 Словами Всякое А есть В. Всякое В есть С. Следовательно, всякое есть С (Лампа 9). 1, 6 " /ГГ7ПтхГ~^1 Всякое А есть В. Никакое В не есть С. . Следовательно, никакое А не есть С (Лампа 10). 1, 7 Всяксе А есть В. Некоторое В есть С. Следовательно, никакое за- заключение относительно А и С невозможно (Лам- (Лампа 15). Заметим, что нам не известно, расположена ли звездочка по ту или по другую сторону от границы класса А. По- Поэтому мы рисуем две звездочки и соединяем их прямой, пересекающей границу, чтобы выразить эту неопределен- неопределенность. -1^7777>у^^ч" Всякое А есть В. 1, 8 /f//////(\S\ ¦ Некоторое В не есть С. Следовательно, никакое за- заключение относительно А и С невозможно (Лам- (Лампа 15). 2, 5 Никакое А не есть В. Всякое В есть С. Следовательно, никакое за- заключение относительно А и С невозможно (Лам- (Лампа 15). 9*
132 Глаза 9 2, 6 2, 7 Никакое А не есть В. Никакое В не есть' С. Следовательно, никакое за- заключение относительно А и С невозможно (Лам- (Лампа 15). Никакое А не есть В. . Некоторое В есть С. Следовательно, некоторое С не есть А (Лампа 13). 2, 8 3, 5 Никакое А не есть В. Некоторое В не есть С. Следовательно, некоторое не-Л есть не-С (Лампа 14). Некоторое А есть В. Все В есть С. Следовательно, некоторое А есть С (Лампа 11). 3, 6 Некоторое А есть В. Никакое В не есть С. Следовательно, некоторое А не есть С (Лампа 12). 3, 7 Некоторое А есть В. Некоторое В есть С. Следовательно, никакое за- заключение относительно А й С невозможно (Лам- (Лампа 15).
Малые рассуждающие машины. Силлогистическая машина 133 3, 8 4 и ка- кой-ли- кой-либо из 5, 6, 7, 8 Некоторое А есть В. Некоторое В не есть С. Следовательно, никакое 'за- 'заключение относительно А и С невозможно (Лам- (Лампа 15). Некоторое А не есть В (Лю- (Любая посылка). Следовательно, никакое за- заключение относительно А и С невозможно (Лам- (Лампа 15). Мы приступаем к задаче синтеза схемы. Составляем таб- таблицу случаев. Между прочим, таблица случаев служит одним из самых распространенных и самых простых спо- способов выполнения операций булевой алгебры и других ло- логических рассуждений. Вот таблица случаев: Первая посылка 1 1 1 1 2 2 2 2 3 3 3 3 4 Вторая посылка 5 6 7 8 5 6 7 8 5 6 7 8 Любая Выходной сигнал 9 10 15 15 . 15 15 13 14 И 12 15 15 15 Эту таблицу случаев можно превратить в выражение буле- булевой алгебры следующим образом. Заметим, что числа при- применяются отнюдь не в арифметическом смысле, а лишь как условные обозначения высказываний или схемных эле-
134 Глава 9 ментов, или, иными словами, лишь как элементы булевой алгебры. 9=1E), 13 = 2G), 10=1F), 14 = 2(8), 11=3E), 15=1 G V 8) V 2 E V6) V3G\/8)V4. 12 = 3F), Таким образом, получается электрическая схема, изо- изображенная на рис. 9.1. Чтобы получить четыре полюса Некоторое А не есть В ^некотороеА /? есть В ¦fHuodmA 14 i' не есть В " Некоторое В есть яе-С уГ- »./$ В есть С %> Ни одно В не есть С 15 первая посылки Вторая авсылт (ОЙШ 9 10 11 /2 13 14 IS Ф всякое А Ни одно А Некоторое Некоторое Некоторое Некоторое Никакое' есть С не есть С А есть С А есть С есть ие-А есть заключение кв-С ке-А яе-С относительно А и С невозможно Рис. 9.1. Силлогистическая машина. переключения для второго высказывания, мы используем разные секторы одного и того же многопозиционного пере- переключателя. Другое выражение булевой алгебры для этой таблицы случаев: 9 = 5A), 10 = 6A), 11=5C), 12 = 6C), 13 = 7B), 14 = 8B), 15 = 5B V4)V6BV4)V 7A V*V4) V8(l V3 V 4) = = EV6)BV4)VGV8) CV4).
Малые рассуждающие машины. Силлогистическая машина 135 Этому выражению соответствовала бы другая схема, кото- которая выполняла бы те же функции. 2. Задача о вычислителе логической истинности В предыдущем разделе мы познакомились с. машиной, которая находит заключение, если даны две посылки. Возможно ли дальнейшее развитие машины такого рода для логических' рассуждений? Можно ли построить машину, которая будет вычислять логическую истинность или ложность сочетаний^ высказываний? На это можно ответить положительно. Чтобы показать это, рассмотрим две задачи, взятые из сборника «Brainiacs» (см. стр. 245). Первая задача. Сэнди Кемпбелл, инженер-электрик, начал проходить курс алгебры логики в Эдинбургском университете 'с профессором Хиггинсом. Однажды профес- профессор Хиггинс говорит своим студентам, что существует семь важных логических операторов и связок для выска- высказываний и что их можно выразить с помощью самых про- простых и знакомых английских слов. Профессор объясняет: «Если мы обозначим через Р одно высказывание и через Q — другое, то существует по меньшей мере семь следую- следующих важных комбинаций: а) Р И Q (в том смысле, что Р и Q оба истинны); б) Р ИЛИ Q (в том смысле, что утверждается Р или Q или оба); ¦ ; в) НЕ-Р (в том смысле, что высказывание Р отрицается); г) Р ИЛИ ЖЕ Q (в том смысле, что истинно либо Р, либо Q, но не оба); д) ЕСЛИ Р, ТО Q (в смысле утверждения, что Q истинно, или Р ложно, или то и другое; или, что равносильно, в смысле отрицания того, что Р истинно и Q ложно); е) Р ТОГДА И ТОЛЬКО ТОГДА, КОГДА Q (в смысле утверждения, что Р истинно и Q истинно, или же Р ложно и Q ложно); ж) НИ Р, НИ Q (в смысле утверждения, что Р не истинно и Q не истинно)». Профессор Хиггинс говорит: «Если для каждой из этих комбинаций вы знаете, истинно ли Р или ложно и истин-
136 Глава 9 но или ложно Q, то вы, безусловно, можете решить, истинна или ложна комбинация, благодаря тому что вы знаете значение связки». Сэнди стал размышлять об этом, когда пришел домой, и несколько дней спустя он принес в класс семь малень- маленьких машин, демонстрирующих именно то, что говорил профессор. ¦ Спроектируйте эти машины. Решение. У каждой из этих машин, за исключением НЕ-Р [случай (в)], будут два переключателя: один — для высказывания Р и другой—для высказывания Q. Каждый переключатель будет иметь два положения: ИСТИНА и ЛОЖЬ. У машины будут две лампы: РЕЗУЛЬТАТШСТИН- НЫЙ, РЕЗУЛЬТАТ ЛОЖНЫЙ. В приведенной ниже таблице значений истинности указана информация, которую должны выражать электри- электрические цепи. р 0 0 1 1 Q 0 1 0 1 (а) PHQ 0 0 0 1 p-q (б) Р ИЛИ Q 0 1 1 1 рУч (г) РИЛИ ЖЕ Q 0 1 1 0 pq'Vp'q (д) ЕСЛИ Р, ТО Q 1 1 0 1 чУр' (е) Р ТОГДА и только ТОГДА, КОГДА Q 1 0 0 1 ряМр'я' (ж) НИ Р, НИ Q 1 0 0 0 p'q' Р 0 1 Р НЕ-Р 1 0 Р' В нижней строке таблиц указано булево уравнение, выражаемое каждой из этих таблиц значений истинности. При помощи этих уравнений мы можем решить задачу и построить электрические схемы машин. Последние изо- изображены на рис. 9.2.
Малые рассуждающие машины. Силлогистическая машина 137 Вторая задана. Другой студент из класса профессора Хигтинса, прослушав на следующее утро сообщение Сэнди Кемпбелла и замечания профессора, поднимает руку и гово- говорит: «Мне кажется, что все эти машины, за исключением машины для НЕ-Р, можно было бы объединить в одну Если Р,то О Р тогда и только тогда, когда в Рис. 9.2. Ни Р,ни Q машину с переключателем для выбора связки или опера- оператора». Профессор Хиггинс отвечает: «Вы правы. Два моло- молодых человека, по имени Т. Калин и В. Буркгарт, сделали как раз то же самое несколько лет назад. Они сделали машину с местом для ввода в нее любого одного из десяти высказываний и для выбора любой одной из четырех связок между парами высказываний или сочетаний пар и исследо- исследования затем возможных сочетаний истинных и ложных высказываний. Поскольку вы предложили идею, то почему бы вам не принести в следующий раз в аудиторию неболь- небольшую машину, которая продемонстрирует, как выбирается связка, и укажет значение истинности Р и Q?» • Спроектируйте машину, выполняющую эту задачу.
138 Глава 9 Решение. Машина будет иметь три переключателя: СВЯЗКА, 1-е ВЫСКАЗЫВАНИЕ и 2-е ВЫСКАЗЫВАНИЕ. Переключатель связки будет иметь положения И, ИЛИ, и только тогоа, когда D4 ели... то D3 Или же •D2 Или D! Е1 2-е высказывание О Рис. 9.3. ИЛИ ЖЕ, ЕСЛИ..., ТО, ТОГДА И ТОЛЬКО ТОГДА, КОГДА и НИ... НИ. Два других переключателя будут иметь положения ИСТИНА и ЛОЖЬ. В машине будут две лампы РЕЗУЛЬТАТ: одна с обозначением ИСТИНА, другая с обозначением ЛОЖЬ. Схема изображена на рис. 9.3. 3. Задача о рассуждении редактора журнала Последние две задачи несколько отвлеченны; рассмотрим более конкретную задачу на логическое рассуждение, которая (хотя и приведена здесь в несколько измененном виде) основана на ситуации, действительно имевшей место в издательском деле автора этой книги. Задача. Главный редактор м-р Робинсон сказал своему помощнику м-ру Джонсу: «Рассказ о Датч Харбор набран
Малые рассуждающие машины. Силлогистическая машина 139 столбцами размером в х/2 страницы, и если мы поместим его продолжение за этими 2/3 страницы рекламы, то набор- наборщик должен будет набрать его снова. Если он наберет его столбцами в V3 страницы, то он сделает ошибки. Если же он сделает ошибки, мы не сможем исправить их, потому что крайний срок выхода журнала очень близок. Поэтому будут ошибки в окончательном тексте, и мы окажемся в глупом положении. Если мы 'не хотим быть в глупом положении, то мы должны поместить продолже- продолжение рассказа о Датч Харбор в каком-нибудь другом месте, где не нужно будет перебирать набор столбцами в 1/3 стра- страницы». М-ру Джонсу многие пункты этого рассуждения кажутся сомнительными. Он хочет иметь машину, которая показала бы, при каких условиях редакция окажется в глупом поло- положении. В этом рассуждении имеются такие высказывания: 1) Рассказ о Датч Харбор набран столбцами в V2 страницы. 2)ЛЕсли его продолжение поместить вслед за 2/3 страницы рекламы, то наборщик должен будет перебрать продол- продолжение рассказа столбцами в 1/9 страницы. 3) Наборщик сделает ошибки ?ПРИ наборе продолже- !ния. 4) Редакция не сможет исправить ошибки. 5) Крайний срок выхода журнала очень близок. 6) Будут ошибки в окончательном тексте. 7) Если будут ошибки в окончательном выпуске, редакция окажется в глупом положении. 8) Редакция не хочет быть в глупом положении. 9) Редакция помещает продолжение рассказа в каком- нибудь другом месте, где не нужно будет перебирать набор столбцами в Ч3 страницы. М-р Джонс вполне соглашается с высказываниями A), B), G) и (8), но он хотел бы проанализировать возможные логические альтернативы остальных высказываний при помощи логической машиньц Спроектируйте машину. Решение. Остальные высказывания C), D), E) и (9) как посылки и F) как заключение связаны следующим образом: если не-9, и^если 3, и если 5, и если 4, то 6;
140 Глава 9 Если 9, или если не-9, и если не-3, или если не-9, и если не-5, и если не-4, то не-6. Нет Крайний срок втхода 8 свет журнала очень близок E) Редакция не сможет исправить ошибки D) Ошибки а окончателаном выпуске и редакция в глулом положении IS и 7) Редакция помещает продолжение в другом месте (9) Рис. 9.4. Эту связь высказываний можно выразить электричес- электрической схемой. В схеме должны быть четыре переключателя: НАБОРЩИК ДЕЛАЕТ ОШИБКИ C), РЕДАКЦИЯ НЕ СМОЖЕТ ИСПРАВИТЬ ОШИБКИ D), КРАЙНИЙ СТОК ВЫХОДА ЖУРНАЛА ОЧЕНЬ БЛИЗОК E) и РЕДАКЦИЯ ПОМЕЩАЕТ ПЮДОЛЖЕНИЕ В ДРУГОМ МЕСТЕ (9). Каждый переключатель должен иметь два положения: «ДА» и «НЕТ». Должны быть две лампы: «ДА» и «НЕТ», относящиеся к высказыванию ОШИБКИ
Малые рассуждающие машины. Силлогистическая машина 141 В ОКОНЧАТЕЛЬНОМ ВЫПУСКЕ И РЕДАКЦИЯ В ГЛУПОМ ПОЛОЖЕНИИ F и 7) (см. рис. 9.4).' Примечание. Только при одном из шестнадцати возмож- возможных положений четырех переключателей горит лампа «ДА» («Ошибки в окончательном выпуске» и «Редакция в глупом положении»). В остальных пятнадцати возможных слу- случаях горит лишь лампа «НЕТ». Поэтому сомнения м-ра Джонса в справедливости доводов обоснованны, поскольку эти доводы имеют силу лишь в том случае, если из четырех высказываний истинны все четыре. 4. Рассуждают ли эти машины? После того как инженер спроектирует одну из этих машин, обращающихся разумно с информацией, и техник соберет ее, так что она станет работать, можно ли будет сказать, что такая машина рассуждает? Нельзя отрицать, что машина действительно рассужда- рассуждает и рассуждает правильнее и быстрее, чем человек. Но вы можете сказать, что малая машина не понимает процесса рассуждения, ибо в ее схему не были введены какие-либо знания о процессе рассуждения. Это так. Но то же самое можно сказать о человеке. Человек не знает, как в его мозгу развертывается про- процесс рассуждения. Человеческий мозг более недоступен для исследования, чем вершина горы Эверест. Часть чело- человеческого мозга, которая рассуждает, заключена где-то внутри черепа в непроницаемой тьме, в^ассе нервов, тка- тканей и кровеносных сосудов; она' сразу перестает действо- действовать, если кто-нибудь пытается взглянуть на нее, отделить ее, испытать ее, наблюдать ее физически,—и никто не смо- сможет собрать ее снова. В самом деле, мы, по-видимому, скорее выясним, как происходит рассуждение в нашем мозгу, конструируя модели рассуждающих машин из физи- физических элементов, чем непосредственно исследуя неболь- небольшие разделы мозга. Вы можете сказать, что малая машина не может изо- изобрести процесс рассуждения или какую-нибудь его часть. Это так. Но достаточно большая и достаточно мощная машина теоретически должна быть способна сама приду- придумать процесс рассуждения.
142 Глава 9 - И опять-таки то же самое можно сказать и о человеке: никакой отдельный человек не изобрел процесса рассужде- рассуждения, которым пользуются люди. Этот процесс является продуктом шести тысяч лет развития языка, культуры и циви- цивилизации, шести тысяч лет развития мышления и вычисле- вычисления, непрерывных небольших усовершенствований, шагов рассуждения и непрерывных- небольших усовершенство- усовершенствований изобретений (таких, как письмо и счеты), помогаю- помогающих капризной, несовершенной памяти приматов, которая так ясно обнаруживается у многих людей, а также у шим- шимпанзе и других обезьян. Действительно, нетрудно доказать, что ни один чело- человек не мог бы изобрести процесс рассуждения, потому что для этого потребовалась бы такая степень абстракции и такая мыслительная работа, которая далеко превосходит способности отдельного человека, изолированного от благо- благотворной культуры. И, заглядывая в завтра, мы можем быть уверены в том, что.малые рассуждающие машины будут повсюду — в шко- школах и университетах, в домах и учреждениях; люди будут использовать их как при обучении процессу рассуждения, так и при получении результатов посредством строгих рассуждений, выполненных машинами.
Г Л А В A It БОЛЬШИЕ ВЫЧИСЛИТЕЛЬНЫЕ МАШИНЫ. ЗАДАЧИ СЛОЖЕНИЯ ДЕСЯТИЧНЫХ ЧИСЕЛ Принципы, изложенные и иллюстрированные в преды- предыдущей главе, можно также применить к большим вычисли- вычислительным машинам, которые производят как логические, так и арифметические вычисления. Это объясняется тем, что арифметические вычисления можно легко разложить на логические вычисления, особенно если использовать двоичную систему счисления. Двоичная система счисления знает лишь цифры 0 и 1, а разряды числа обозначаются последовательными степенями двойки. Например, число 1101 в двоичной системе равно одной восьмерке (которая равна двойке в кубе) плюс одна четверка (которая равна двойке в квадрате) плюс нуль двоек (двойка равна двойке в первой степени) плюс одна единица (которая равна двойке в нуле- нулевой степени), или всего тринадцати. В десятичной системе число 1101 означает одну тысячу (которая равна десяти в кубе) плюс одну сотню (которая равна десяти в квадрате) плюс нуль десятков (десяток равен десяти в первой степени) плюс одну единицу (которая равна десяти в нулевой степени). Машина для производства полезных арифметических вычислений должна быть значительно больше, чем машина, выполняющая логические вычисления. Это объясняется тем, что количество информации, которую нужно обработать, при арифметических вычислениях значительно больше, чем при логических вычислениях, поскольку арифметическая информация выражается большим количеством единиц и нулей; в самом деле, в большинстве случаев числа, над которыми нужно производить вычисления, имеют при- примерно от трех до восьми десятичных разрядов, а уже для
144 Глава 10 ._ представления шести десятичных разрядов может потребо- потребоваться девятнадцать двоичных разрядов. Это требует доба- добавочного оборудования, или добавочного времени, или того и другого.' 1. Десятичная таблица сложения в физическом воплощении Чтобы показать справедливость сказанного, возьмем в качестве примера элементарную задачу — выразить табли- таблицу сложения в десятичной системе с помощью технических средств. Чтобы машина производила сложение в десятичной , системе, в ее физическую структуру должна быть введена эта таблица или ее эквивалент. В табл. 10.1 приведен набор сведений, которые мы долж- должны выразить в физической структуре машины. Таблица 10.1 ТАБЛИЦА СЛОЖЕНИЯ В ДЕСЯТИЧНОЙ СИСТЕМЕ 012345678 9 0 1 2 3 4 5 6 7 8 9 Так как мы замечаем в числах этой таблицы плавную закономерность, то неудивительно, что этот набор 100 истин сложения был сначала физически выражен небольшими вращающимися зубчатыми колесами или дисками, имеющи- имеющими по окружности десять находящихся на одинаковом рас- расстоянии друг от друга зубцов. Ббли такое колесо стоит на 4 и если один ход защелки или храповика передвинет его 0 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 10 2 3 4 5 6 7 8 9 10 И 3 4 5 6 7 8 9 10 И 12 4 5 6 7 8 9 10 И 12 13 5 6 7 8 9 10 И 12 13 14 6 7 8 9 10 И 12 13 14 15 7 8 9 10 И 12 13 1 14 15 16 8 9 10 И 12 13 14 15 16 17 9 10 И 12 13 14 15 16 17 18 '
Большие вычислительные машины. Сложение десятичных чисел 145 на три зубца, то колесо остановится на 7 и тем самым будет произведено сложение одного столбца. Если следующим ходом защелки или храповика колесо переместится на 5 зуб- зубцов, оно остановится на 2; и в то время как колесо пройдет через позиции от 9 до 0, добавочный боковой зубец на коле- колесе повернет ближайшее к нему колесо вперед на один зубец, тем самым «перенося 1» в диск, регистрирующий положение смежного колеса. Эта система насчитывает триста лет и яв- является основой всех механических настольных счетных машин. 2. Десятичная таблица сложения, выраженная переключателями на десять положений Мы попробуем представить 10-позиционный физический элементе помощью электрических переключателей, работаю- работающих в схеме, весьма близкой к некоторым схемам предыду- предыдущей главы. Задача. Спроектировать машину, которая будет воспри- воспринимать любую цифру Л от 0 до 9 с помощью десятипозицион- ного переключателя (переключателя А) и любую цифру В от 0 до 9 с помощью второго десятипозиционного переклю- переключателя (переключателя В) и выдавать суммы от 0 до 18. Такая машина будет представлять таблицу сложения в деся- десятичной системе. Решение. Переключатель А будет иметь десять положе- положений и один полюс, а переключатель В будет иметь десять положений и десять полюсов. Машина будет' иметь 19 ламп суммы от SO до S18. Схема изображена на рис. 10.1. Она выражает весьма просто следующий ряд булевых уравнений: 50 = Л0-50, 51=Л0-51 V AI-BQ, 52 = А0-В2 V А\ -Biy A2-B0, 53 = A0-B3\/ А1-В2У A2-Bl\/ A3-B0, S9 = A0-B9V А\-Вд>уА2-В1У ... V А9-В0, = 49-59. '0 Э. Беркли
03 02 0'234 6 7 8 9 W ,.(?)(?)(?)(?) (?)(?) fl) (ft С/мма, пампы S II 12 13 Н 15 IS 17 18 Рис. 10.1. Десятичная таблица сложения. Перво- Первоначальный вариант схемы.
Большие вычислительные машины. Сложение десятичных чисел 147 3. Критические замечания Однако при первом знакомстве с этой схемой видно, что, хотя машина и является решением задачи, решение это не очень хорошее. Во-первых, машина не экономична по числу используемых в ней элементов; бесспорно, для реше- решения нашей задачи нам не нужен 121 зажим и 121 провод. Во-вторых, мы знаем, что нам придется иметь дело не с одним разрядом, а со многими, как только мы перейдем от чисел из одного разряда к числам из 8,10 и более разрядов. В-треть- В-третьих, мы должны располагать возможностью снимать резуль- результат одного сложения, появляющийся на выходе машины, и передавать его обратно на вход машины, чтобы одну и ту же машину можно было использовать много раз для неопределенно большого числа сложений. Как показал опыт работы с вычислительными машинами, для этого нужно отказаться от применения механических или электрических элементов с десятью различными поло- положениями, подобных дискам или переключателям, о которых шла речь. Они становятся явно неудобными, когда мы пыта- пытаемся существенно повысить скорость машины. Они действу- действуют медленно. Наиболее быстродействующие механические элементы на десять положений могут складывать два числа примерно за одну пятую секунды, когда одно число уже находится в накопительном дисковом регистре машины, а другое уже введено в клавишный регистр и остается лишь нажать кнопку сложения. Это, конечно, не является недо- недостатком, когда машиной управляет человек; ведь для того, чтобы ввести числа в машину или списать числа из машины, ему требуется гораздо больше одной пятой секунды. Но как только мы хотим установить автоматическое управление Длинной последовательностью вычислительных операций (а именно в этом направлении шло развитие автоматизации процессов обработки данных с 1944 г.), то мы обнаружим, что десятипозиционные механические или электрические элементы медленны и неудобны. Оказывается, нам нужно перейти к комбинациям механических или электричес- электрических элементов, каждый из которых имеет только два положения. Мы приходим к двоичной и родственным ей системам. 10*
148 Глава 10 ' ¦ 4. Таблица десятичного сложения, выраженная с помощью восьми двухпозиционных переключателей Попытаемся учесть некоторые из этих условий и произ- произведем некоторые изменения в решении нашей задачи — построить машину, выражающую таблицу сложения. Десятичная цифра 0 1 2 3 4 Четыре двоичные цифры 0000 0001 0010 ООН 0100 Таблица 10.2 Десятичная цифра ,' 5 6 7 8 9 Четыре двоичные цифры 0101 ОНО 0111 1000 1001 Во-первых, выразим каждую из двух складываемых нами десятичных цифр Л и Б не с помощью одного десяти- позиционного переключателя, а посредством набора четы- четырех двухпозиционных переключателей. Тогда каждое деся- десятичное число будет выражено в виде набора четырех двоич- двоичных цифр; один из возможных вариантов такого определе- определения приведен в табл. 10.2. Кроме того, потребуем, чтобы машина давала два выходных сигнала: левый десятичный разряд суммы @ или 1) и правый десятичный разряд суммы (от 0 до 9); каждый из этих десятичных разрядов выражается четырьмя двоичными разрядами, также в соответствии с табл. 10.2. Какой вид будут тогда иметь схемы? Задача1!. Спроектировать машину, которая будет воспри- воспринимать двоичную цифру А четырьмя переключателями Л8, АА, А2, А\ и десятичную цифру В —четырьмя переключа- переключателями В8, ВА, В2, В\ и которая будет зажигать лампу С\, если левая цифра суммы будет 1, и будет показывать на лам- лампах S8, S4, S2, S1 значение правой десятичной суммы. Решение. Четыре переключателя А и четыре переключа- переключателя В будут иметь по два положения. В схеме будет пять выходных ламп: С\, S8, SA, S2, S1.
Большие вычислительные машины. Сложение десятичных чисел 149 5. Первый выход 51 Рассмотрим уравнения булевой алгебры, которые будут определять Cl, S8, S4, S2 и S1. Начнем с самого прос- простого —¦ с уравнения для S1. Лампа S1 будет показывать 1 Р и с. 10.2. тогда и только тогда, когда А четное и В нечетное или В четное и А нечетное. Другими словами, S1=AI-B1'\/ AV-B1. Это отношение выражено в табл. 10.3 и на' рис. 10.2. На рис. 10.2, а схема изображена почти в натуральном виде (но не масштабе). Эта схема соответствует тому случаю, когда имеются вращающиеся двухпозиционные переключатели; Таблица 10.3 • А - _. В 0,2,4,6,8 -1,3,6,7,9 1,3,5>7, 9 0,2,4,6,8 положения 0 (ВЫКЛЮЧЕНО) и 1 (ВКЛЮЧЕНО) изобра- изображены точками и символами, а подвижный контакт изобра- изображен жирной линией, соединяющей два соседних зажима
150 Глава 10 на переключателе, и соединительной линией. На рис. 10.2, б тот же переключатель изображен схематически -и гораздо проще; контакт 0 изображен соприкасающейся стрелкой (соответствующей положению нормально ЗАМКНУТО); контакт 1 изображен несоприкасающейся стрелкой (соответ- (соответствующей положению нормально РАЗОМКНУТО); а под- подвижный контакт изображен простой линией, касающейся конца стрелки при положении ВЫКЛЮЧЕНО. Этот способ изображения схем мы будем часто применять и в дальнейшем. 6. Второй выход С\ Для того чтобы было С1 = 1, т. е. чтобы левая цифра сум- суммы была единицей, А плюс В должно быть больше или равно десяти. Это будет справедливо в сорока пяти случаях, при- приведенных в табл. 10.4. Таблица 10.4 А . В 1 9 2 8,9 3 7, 8,9 . 4 От 6 до 9 5 » 5 » 9 А В 6 От 4 до 9 7 » 3 » 9 8 » 2 » 9 9 » 1 » 9 В схеме должны быть представлены все эти случаи, и толь- только они. Нам нужно выразить эти 45 случаев в виде булевой функции переменных Л8, Л4, А2, А\, 58, 54, 52, 51. Начнем с разбора случаев, соответствующих одиночным булевым уравнениям. Они представлены в табл. 10.5. Таблица 10.5 Л8=8,9 Л8' = 0,1,2,3,4,5,6,7 Л4 = 4,5,6,7 Л4' = 0,1,2,3,8,9 Л2 = 2,3,6,7 Л2' = 0,1,4,5,8,9 Л1 = 1,3,5,7,9 ЛГ = 0,2,4,6,8 Мы видим, что из Л8 вытекает Л4' и А2' и, следователь- следовательно, из Л4 вытекает А8' и из А2 вытекает А8'.
Большие вычислительные машины. Сложение десятичных чисел 151 Группируя цифры согласно указаниям табл. 10.5, мы можем сгруппировать сорок пять случаев в условия, выраженные на языке булевой алгебры, как показано в табл. 10.6. рут 1 2 3 4 5 ia Л8 В8 Условия A4-B8VB4-A8 Л4'-Л2 Л4-В4- Л1-ВЦ. \/В8' УЛ4' \/В4' \/Л4- ¦В8\/В4 В2\/В4- А8'-Л4'. •В4'В2 • Л2-В4- • В2-Л4- Л2'-В4- '•В2-Л8 Л4-Л2 ¦ А2'-В8\/ '•A8V B2V А2у В2') Случаи Л8.9; В8,9 Л4-^7, В8,9 и В4-Н7, Л8,9 Л2,3, В8,9 и Л4Ч-7, В6.7 и Л6.7 Л1-В9, А9-В1, ЛЗ-В7, Л7-ВЗ, и Л5-В5 Таблица 10. • В2.3, Л8,9 В4ч-7, 6 Число случаев 4 16 8 12 5 Логической суммой этих условий — результатом соеди- соединения этих условий булевым оператором V — является общее условие, которое должна выразить схема для С1. Используя это общее условие, мы можем 1) начертить без затруднения схему и 2) доказать, что схема правильна. Вспоминая, что из Л8 вытекает АА' и А2' и что из Л4 или из Л 2 вытекает Л 8, мы можем написать общее условие С1=Л8- Б8' V V А8- В8'-ВА' V VA8'-B8-AA' V V Л8- В8'-В4:'-В2' V V А8'-В8-А4'>А2' V V А8'-В8'-А4:-В4:-В2' V V V V Л8- B8'-B4:'-Bi'-Al-Bl' V V А8'-В8'-A*'.B4-B2-A2-AI.BV V V Л8'.Б8'.Л4-Б4'-Б2Л2-ЛЬБГ V V A8'-BS'-AA-BA-A2'-B2'-Al-Bl'.
152 Глава 10 Это уравнение после сокращения приводится к следующе- следующему виду: С1=Л8-58 V V А8-В8' (?4 v B2 V А\ -В\) V V А8' -В8- (Л4 V А2 V А\ -В\) V V А8' -В8' -[(Л4-54 (^2 V В2 V А\ -В\) у V (Л4'-54 V Л4-5 А это выражение можно реализовать схемой на рис. 10.3. содержащей 22 переключающих контакта. Рассматривая Р и с. 10.3.
Большие вычислительные машины. Сложение десятичных чисел 153 информацию, передаваемую по каждой линии, эту схему можно' еще несколько упростить и привести к схеме, изо- изображенной на рис. 10.4; В ней содержится 14 переключа- переключающих контактов. Рис. 10.4. 7. Следующие три выхода 52, 5.4, 58 Для того чтобы S2 было равно 1, правая цифра суммы должна быть 2,3,6 или 7. Это будет иметь место в случаях, указанных в табл. 10.7. А 0 1 2 3 4 В 2,3,6,7 ¦" 1,2,5,6 0,1,4,5 0,3,4,9 2,3,8,9 'А ;5 ' 6 ^7 8 9 ' ¦ - В U2.7 0,1,6 0,5,6 4,5,8 3,4,7 Таблица 10.7 ,8 ,7 ,9 ,9 ,8
154 Глава 10 Для того чтобы S4 было равно 1, правая цифра суммы должна быть 4, 5, 6, 7. Это будет иметь место в случаях, указанных в табл. 10.8. A 0 1 2 3 4 В 4,5,6,7 3,4,5,6 2,3,4,5 1,2,3,4 0,1,2,3 A 5 6 7 8 9 Таблица 10.8 В 0,1,2,9 0,1,8,9 0,7,8,9 6,7,8,9 5,6,7,8 Для того чтобы S8 было равно 1, правая цифра суммы должна быть 8 или 9. Это произойдет в случаях, указанных в табл. 10.9. А 0 1 2 3 4 В 8,9 7,8 6,7 5,6 4,5 А 5 6 7 8 9 Таблица 10.9 В 3,4 2,3 1,2 0,1 0,9 Однако если мы применим тот же способ, что и в преды- предыдущий раз, то столкнемся с затруднениями. Вычисления станут слишком сложными, и поэтому нам нужно изменить подход. Предположим временно, что нам нужно рассматривать лишь четные цифры. Тогда задача станет гораздо проще. Вместо трех таблиц мы получаем одну (табл. 10.10). А 0 2 4 6 8 В, если S2=l 2,6 0,4 2,8 0,6 4,8 Таблица 10.10 В, если S4 = 1 4,6 2,4 0,2 0,8 . 6,8 В, если 58= 1 8 6 4 2 0
Большие вычислительные машины. Сложение десятичных чисел 155 Если А к В увеличить на 1, то сумма увеличится на 2. Мы можем выразить это условие схемой классификационного типа, как показано на рис* 10.5. Знаком V в этой схеме изображен выпрямитель или диод, который пропускает элек- электрический ток только в одном направлении, в направлении S2 S4 S8 Рис. 10.5. своего острия. В итоге мы можем получить выходной сигнал (сумму двух десятичных цифр) при помощи 44 переключаю- переключающих контактов, указанных в табл. 10.11. Число контактов D4) можно, вероятно, немножко сокра- сократить, если еще поработать над логическим построением
156 Глава 10 Таблица 10.11 Выход Требуемое число переключающих контактов s\ с\ S2, S4, S8 2 14 28 44 схем десятичного сложения. Но и 44 контакта все же значи- значительно меньше, чем 121 контакт, которые требовались в первой схеме (рис. 10.1).
ГЛАВА 11 БОЛЬШИЕ ВЫЧИСЛИТЕЛЬНЫЕ МАШИНЫ. ПРОБЛЕМЫ ХРАНЕНИЯ, ПЕРЕДАЧИ И ОРГАНИЗАЦИИ 1. Другие задачи для вычислительных схем Помимо сложения двух десятичных цифр, схемы вычисли- вычислительных машин решают, конечно, много других задач. Рассмотрим некоторые из них. Чтобы получить ясное пред- представление о принципах, обратимся к более простым приме- примерам с чисто двоичными, а не с десятичными цифрами. Табли- Таблица сложения для двоичной системы счисления имеет вид Таблица умножения для двоичной системы имеет вид 0 0 1 1 1 10 X 0 1 0 0 0 1 0 1 Ввиду необыкновенной простоты этих таблиц не удивитель- удивительно, что многие автоматические вычислительные машины были спроектированы для работы в чисто двоичной системе счисления. ^ Теперь мы рассмотрим прежде всего вопросы, являющие- являющиеся основными для любой автоматической цифровой вычисли- вычислительной машины: каким образом мы будем хранить числа? как производить автоматически последовательные опера- операции?
158 Глава 11 ^_ 2. Организация автоматической вычислительной машины Хорошее представление о работе автоматической вычи- вычислительной машины дает сравнение с изолированной теле- телеграфной системой, имеющей ряд сообщающихся станций и оборудование регулирования^ передач между ними. Сооб- Сообщения, пропускаемые этой телеграфной системой, являются обычно порциями информации стандартной длины со стан- стандартным числом цифр. Одна из станций называется «ВХОД». Здесь информа- информация из внешнего мира поступает в телеграфную систему; на входной станции информация преобразуется в такую форму, чтобы ее можно было послать в другую часть системы. Входные сообщения могут поступать, например, в виде перфорированной бумажной ленты; отверстия в ленте передают определенную информацию, которую прочитывает аппарат, называемый трансмиттером, и которая превращает- превращается в электрические сигналы, принимаемые телеграфной системой. Другая станция называется ВЫХОД. Здесь информа- информация, преобразованная и переданная телеграфной системой, выдается опять внешнему миру. На выходе может быть, например, электрический печатающий аппарат, который под воздействием импульсных сигналов телеграфной систе- системы печатает определенные цифры. В системе имеется большая группа станций, называемых НАКОПИТЕЛЬ № 1, НАКОПИТЕЛЬ № 2, НАКО- НАКОПИТЕЛЬ № 3 и т. д. В этих станциях информация может сохраняться, не претерпевая никаких изменений, в ожида- ожидании момента, когда какая-нибудь другая часть системы потребует информацию в надлежащее время, чтобы сделать с ней еще что-нибудь. Весьма важной станцией системы с платформами для разных поступающих порций информации является ВЫ- ВЫЧИСЛИТЕЛЬНОЕ, или АРИФМЕТИЧЕСКОЕ, УСТРОЙ- УСТРОЙСТВО. Эту станцию можно мысленно представить себе так, как будто она соединена с заводом — вычислительной схе- схемой, которая может получать несколько порций информации и изготовлять из них новые порции информации. Арифметическое устройство, или .'вычислительная схема, может иметь, например, четыре платформы. На две плат-
Большие вычислительные машины. Проблемы хранения и организ. 159 формы схема принимает два числа, скажем 1101 и 111. На третью платформу схема принимает оперативную коман- команду «вычесть» (или «умножить», или «найти, какое из двух чисел больше», и т. д.). На четвертую платформу схема выдает результат: при команде «вычесть»—число ПО, ре- результат соединения чисел 1101 и 111 в соответствии с ко- командой «вычесть второе число из первого». Все эти станции соединяет телеграфная магистраль, или ШИНА, состоящая из проводов — по одному проводу для каждого двоичного разряда, которые одновременно передаются по системе. Если автоматическая вычислитель- вычислительная машина передает сразу десять десятичных разрядов, причем каждая из них выражается четырьмя двоичными разрядами, то шина будет иметь сорок проводов или линий (сорокалинейная шина). Чтобы эта телеграфная .система выполняла полезную работу, необходимо установить какие-то способы органи- организации (регулирования) движения по ней. Это входит в обязанности УСТРОЙСТВА УПРАВЛЕНИЯ. Наиболее автоматизированный способ посылать информацию по си- системе заключается в следующем: 1) В данный момент присоединить к шине две телеграф- телеграфные станции,-например Чикаго и Денвер. 2) Указать направление движения, например «от Ден- Денвера в Чикаго». Затем, как только произведены надлежащие соединения, посылают сигнал «готово», и- информация из Денвера будет передана автоматически в Чикаго. 3. Конкретный пример организации Предположим, что мы начертили схему простейшей телеграфной системы, рассматриваемой в нашем примере. Обращаясь к рис. 11.1, замечаем четыре станции с названия- названиями «Атланта», «Бостон», «Чикаго», «Денвер». Атланта представлена двумя реле: SlB) hS1A), образующими регистр хранения данных № 1. SlB) содержит второй двоичный раз- разряд или разряд двоек; Sl(l) содержит первый двоичный раз- разряд, или разряд единиц. Бостон представлен регистром хранения № 2 с двумя реле: S2B) и S2(l). Чикаго пред- представлен регистром хранения № 3 с двумя реле: S3B)
160 Глава 11 и 53A); и Денвер представлен регистром хранения № 4 с двумя реле S4B) и 54A). Соединительная телеграфная Подвод тока IXsKl) щг\52A)\S3B\53G) \S4Bi$4(I) ¦у —' L— 2-^ линия 1-я линия Контакты входных реле блокирующие контакты ^локирующее ° реле l) Tt 51BM1A) S2B) 52A) 53B) S3(l) 54BM4A) I Атланта Бостон Чикаго Денвер ~^ Реле хранения -. Схема а тг XI, Р2 Р! ¦ I I - Реле выбора передающего регистра Схема в Q2 Ш I О Реле выбора приемного регистра Схема в EI ?2 ?3 Е4±. Приемные реле Схема г Рис. 11.1. магистраль, или^шина, состоит из двух линий: линии единиц и линии двоек — по одной линии для каждой из двух двоич- двоичных цифр. В каждом из этих четырех регистров может хра- храниться информация 00, 01, 10 и 11, в зависимости от того, возбуждено ли реле двоек или реле единиц (хранится 1) или не возбуждено (хранится 0). Четыре регистра, очевидно, сами имеют коды 00, 01, 10 и 11, выраженные положениями реле выбора передающего регистра (реле Р) и реле выбора приемного регистра (реле Q). Как же все это работает?
Большие вычислительные машины. Проблемы хранении и органиэ. 161 Пусть Денвер хранит информацию 01 и мы хотим передать эту информацию в Чикаго. Это значит, что регистр хранения №4 хранит 01, т. е. что реле 54B) не воз- возбуждено (содержит 0), а реле 54A) возбуждено (содержит 1). Следовательно, блокирующий контакт в S4(l) замкнут и контакт считывания в S4(l) замкнут, а в S4B); содер- содержащем 0, оба эти контакта разомкнуты. Код передающего регистра S4 есть 11; следовательно, реле Р2 и Р1 (схема б) возбуждены, и их контакты (контак- (контакты реле выбора передающего регистра на схеме а) замкнуты. Код приемного регистра S3 есть 10, и, следовательно, реле выбора приемного регистра Q2 возбуждено, а реле Q1 не возбуждено. Под действием схемы г возбуждается лишь реле ЕЗ, замыкая два контакта входного реле ЕЗ (схема а). На схеме а мы видим, что ток идет от источника тока ТЪ через контактную схему регистра передачи и выбора, через контакты считывания S4 на шину, через контакт входного реле ЕЗ в обмотки реле S3, причем реле S3(l) принимает сигнал и возбуждается, а реле S3B) не возбуждается. Таким образом информация 01 передается от регистра хранения S4 в регистр хранения S3. 4. Синхронизация Очевидно, нам нужно тщательно соблюдать синхрониза- синхронизацию этих схем. Пять зажимов Т\, Т2, ТЗ, Т4 и ТЪ снабжают током реле согласно графику синхронизации, представлен- представленному на рис. 11.2. Рассмотрим момент 1. В этот момент ток, текущий от Т\ на землю, проходит через любые замкнутые блокирующие контакты и обмотки определенных реле регистра хранения (S), и в частности S4(l), так как регистр хранения № 4 от предыдущей операции хранит 01; через обмотку реле S4(l) проходит теперь постоянный ток, идущий от зажима Т\ на землю. Переходим к моменту 2 и рассмотрим зажим Т2. В момент 2 реле выбора Р ПЕРЕДАЮЩЕГО РЕГИСТРА возбуждены согласно коду 11, реализованному контактами, которые мы никак не обозначили. Этот код был установлен в предыдущей операции программой вычислительной маши- Ч Э. Беркли
162 Глава 11 ^__ ны. Программа требует выбрать передающий регистр, соот- соответствующий коду 11. . Теперь перейдем к моменту 3 и рассмотрим зажим ТЗ. Мы видим, что реле выбора Q1 и Q2 ПРИЕМНОГО РЕГИ- РЕГИСТРА реализуют код 10. Этот код также реализуется безы- безымянными контактами, которые (по программе вычислитель- Сигналы Возбуж- с контак-денные Время глав реле реле Схема Зажим I Z 3 4 SaT! Р б TZ а в тз Е г Т4 P.S.E S a TS \ШШМ Рис. 11.2. ной машины) в этот момент передают код 10, соответствую^ щий регистру хранения № 3. Переходя к моменту 4 и рассматривая зажим ТА, мы видим по положениям контактов Q в схеме г, что входное реле ЕЪ (и только оно одно) возбуждено. Мы соединили, таким образом, обмотки регистра S3 через контакты ЕЪ с шиной, и, следовательно, сигнал от шины может принимать лишь S3. 5. Передача информации Мы закончили все подготовительные действия, необ- необходимые для передачи информации от регистра S4 регистру S3. Теперь переходим к моменту 5. Мы видим, что 'импульс тока от зажима ТЪ распространяется по следующему пути: 1) через схему выбора, которая выбирает передающий регистр S4; ! 2) через контакты считывания передающего регистра S4; 3) через выпрямители (которые не пропускают обрат- обратный ток);
Большие вычислительные машины. Проблемы хранения и организ. 163 4) через шину; 5) через контакты входного реле, принадлежащие при- приемному регистру S3; 6) в обмотки приемного регистра S3 (конечно, возбуж- возбуждено лишь реле единиц S3); 7) на землю. 6. Схема является общей Мы привели пример, поясняющий принципы передачи информации от одного регистра к другому. Схема являет- является совершенно общей; информация, «записанная» в одном регистре, «списывается» в другой регистр. L А повторение инструкций вида «Из регистра... в регистр...», где два пустых места заполняются названиями регистров, является достаточным (с некоторыми приспособлениями, обеспечивающими, например, переход от одной программы к другой) для выполнения программы автоматического вы- вычисления почти неограниченной сложности. И*
ГЛАВА 12 БОЛЬШИЕ ВЫЧИСЛИТЕЛЬНЫЕ МАШИНЫ. СЛОЖЕНИЕ, ВЫЧИТАНИЕ, УМНОЖЕНИЕ И ДЕЛЕНИЕ ДВОИЧНЫХ ЧИСЕЛ 1. Сложение двух четырехразрядных двоичных чисел При проектировании больших вычислительных машин возникают и другие задачи, например такие: 1) обработка чисел, имеющих больше одного разряда, и 2) перенос из одно- одного разряда в следующий разряд. Для иллюстрации этих задач и их решений рассмотрим схемы, осуществляющие сложение двух двоичных чисел, каждое из которых имеет четыре двоичные разряда. Сложение в двоичной системе определяется таблицей двоичного сложения: + 0Г 0 1 1 10 Например, сложим двоичное число 1101 (равное восьми плюс четыре плюс один, или тринадцати) и двоичное число 1011 (равное восьми плюс два плюс один, или одиннадцати): 1101 + ЮН пооо В результате получается 11000 (это равно шестнадцати плюс восемь, или двадцати четырем). Мы можем получить этот ответ следующим «школьным» способом: (столбец 1 справа) 1 и 1 дают 10, пишем 0 и переносим 1; (столбец 2) 0 и 1 будут 1, и 1 в уме будет 10, пишем 0 и переносим 1; (столбец 3) 1 и 0 будет 1, и 1 в уме будет 10, пишем 0 и переносим 1; (столбец 4) 1 и 1 будет 10, и 1 в уме будет 11, пишем 1 и переносим 1; (столбец 5) пишем перенесенную 1.
Большие вычислительные машины. Операции над двоич. числами 165 2. Уравнения булевой алгебры для двоичного сложения Имея в виду этот пример, рассмотрим, с помощью каких булевых уравнений мы будем производить сложение; затем эти уравнения непосредственно укажут на структуру схемы, выполняющей сложение. Пусть требуется сложить два двоичных числа А и 5, каждое из четырех двоичных разрядов. Пусть Л4, АЪ, А2 AI Регистр 1-го слагаемого 34 S3 BZ 3IJL I О I I ^ Регистр 2-го слагаемого Рис. 12.1. и А\ — четыре разряда первого числа, считая слева напра- направо; это число мы можем назвать первым слагаемым. Пусть ?4, 53, 52 и 51 — четыре разряда второго числа, которое нужно прибавить к первому; назовем его вторым слагае- слагаемым. Каждое.из этих двух чисел будет храниться в регистре, состоящем из четырех реле. Если реле возбуждено, та будем считать, что оно содержит двоичную цифру 1; если реле не возбуждено, то будем считать, что оно содержит "двоич- "двоичную цифру 0. В некоторый предыдущий момент эти реле были возбуждены или спокойны, а в момент, когда мы начи- начинаем рассмотрение цепи, ток от зажима Т\ через блокирую- блокирующие контакты реле держит их в возбужденном или спокой- спокойном состоянии в течение всего времени действия последних
166 __ Глава 12 ._i__ цепей (рис. 12.1). Обозначим сумму этих двух чисел через S, а мо цифру числа S — через Sit считая справа налево. Пусть Cj будет цифрой переноса, которую нужно прибавить к столбцу / и которая получается после сложения столб- столбца I— 1. Как спроектировать схему, которая будет выдавать нам сумму S, представленную пятью реле (а иногда четырьмя реле), от S5 до S1? Условия для Sj и Ci выражает полностью табл. 12.1 (исключая случай сложения первых столбцов двух двоич- двоичных чисел). Таблица 12.1 С a a f q 0 0 0 0 0 0 0 10 1 0 10 0 1 0 1110 10 0 0 1 10 110 110 10 111 11 В табл. 12.2 даны условия для первого столбца (/ рав- равно 1). А1 0 0 1 1 В1 0 1 0 1 С2 0 0 0 1 S1 0 ' 1 1 0 Таблица 12.2 По этим таблицам мы можем записать булевы уравнения: С = А -В S^A^BivAi-B» S< = CI (Ai-Bi V A\ -Bt) V C4 (At -Вг • V A't -B\).
Большие вычислительные машины. Операции над двоич. числами 167 Переносимую цифру можно выразить через цифры более низких разрядов следующим образом: iiHii)i = ArBiV(Ai-B'i\/Ali.Bi). ¦ Hi-r^n v Иц-ди v ди ^ V i-2 V U V Л;_, i_8 V Ли 3. Схемы двоичного сложения Руководствуясь этими уравнениями, мы можем начертить сразу же и непосредственно соответствующие схемы. Схема С5 С4 СЗ ! I Регистр переноса Рис. 12.2. на рис. 12.2 выражает последовательность уравнений для цифры переноса Ci+1. Схема на рис. 12.3 выражает уравнение для цифры суммы St. Как работают эти схемы? Рассматривая их, мы видим, что реле Л и В должны быть возбуждены достаточно долго, чтобы возбудить реле С, и, кроме того, достаточно долго, чтобы ток прошел через контакты реле А, В и С и возбудил
168 Глава 12 реле S. Следовательно, временная диаграмма будет иметь примерно такой вид: Зажим Момент времени: 1 2 3 Т1 V V V - V V W В момент 1 зажим Т\ находится под током и состояние реле А в регистре первого слагаемого и состояние реле В SS 1 S4 S3 SZ I 0 0 Регистр суммы Рис. 12.3. в регистре второго слагаемого соответствуют двум склады- складываемым числам А и В. Положение контактов тех реле, обмот- обмотки которых возбужде'ны, изображены пунктиром. Такое изображение позволяет показать переход этих контактов из замкнутого положения (при обесточенном состоянии обмотки) в разомкнутое положение (при возбуждении обмотки). В момент 2 зажим Г2 получает ток. Положения контак- контактов А и В в цепи регистра переноса показывают, что в дан- данном случае ток может проходить по цепочке. Поэтому при сложении указанных чисел все четыре реле переноса воз- возбуждаются. В момент 3 получает ток зажим 73 и ток течет через контакты реле А, В и С. Следовательно, реле S возбуждают- возбуждаются в соответствии с кодом 1, 1, 0, 0', 0, как и должно быть.
Большие вычислительные машины. Операции над двоим, числами 169 4. Усовершенствование схем Можно ли усовершенствовать эти схемы, и если можно, то как? Прежде всего мы можем несколько улучшить схему на рис. 12.3 и сократить число контактов на реле А2, A3 Рис. 12.4. Другая схема регистра суммы. и Л 4 наполовину с помощью преобразований, показанных на рис. 12.4. С такими случаями в булевой алгебре встре- встречаются довольно часто: выра- выражение булевой алгебры можно ° упростить, воспользовавшись особыми свойствами двухпо- зиционных схемных элемен- элементов, даже если это выражение трудно или невозможно упро- упростить при помощи обычных, натуральных символических формул алгебры. Второй при- пример представлен на рис. 12.5. " Рис. 12.5. Эта схема выражает булеву' функцию R^'adyaceybcd\/be; из приведенного алгебраи- алгебраического выражения вовсе не следует, что R можно выразить схемой только с одним контактом для каждой переменной.
170 Глава 12 J_ Второе упрощение, которое мы можем сделать, если желаем сэкономить время, это замена С, и С\ схемами, в которых используются контакты реле А и В. Мы можем определить С^ следующим образом: Тогда Cl+i определится так:' = (л; — (lX ' V V Bi) Bi) i V •[С- •[Ci V V Bi (Ai-? У Ar h V A B'i)(C \i-Bi)'} = Vi-Bi)}- 'i V /Ч'-D Следовательно, мы можем реализовать функции С2' и d+i посредствомсхемы, которую можно назвать схемой переноса нуля. Она изображена на рис. 12.6. Тогда регистр суммы можно представить только с помощью контактов реле А и В, как показано на рис. 12.7. 5. Вычитание двух четырехразрядных двоичных чисел Предположим, что мы хотим вычесть четырехразрядное двоичное число из другого четырехразрядного числа. Вспом- Вспомним, что у нас уже есть схема сложения, и будем считать, что мы можем свести процесс вычитания к прибавлению отрицательного числа. Этот способ возможен, и он оказы- оказывается эффективным: мы можем воспользоваться дополне- дополнением числа и прибавить его. Дополнение числа в десятичной системе отыскивается по правилу: вычесть каждую цифру этого числа из 9 и при- прибавить к результату единицу. Таким образом, чтобы произ- произвести вычитание при помощи дополнения, мы прибавляем дополнение и отбрасываем лишнюю единицу слева. Напри-
тг А4 \АЗ AI G5 G4 S3 О О О Рис. 12.6. Схема переноса нуля Рис. 12.7. Регистр суммы.
172 Глава 12 мер, пусть мы хотим вычесть 746 из 88 965. Мы рассматри- рассматриваем 746 как 00 746; его дополнение равно 99 253.плюс 1, или 99 254. Далее, чтобы вычесть 746, мы прибавляем 99 254 и отбрасываем цифру 1 слева, вот так: 88965 88965 —746 + 99254 88219 П~| 88219—> 88219 Однако в вычислительных машинах прибавление 1, вследствие которого 99 253 переходит в 99 254, неудобно; по- поэтому мы используем так называемое дополнение до девяток (аналог числа 99 253) и затем применяем так называемый круговой перенос, исключая единицу в крайнем левом столбце и прибавляя единицу в крайнем правом столбце: 88965 + 99253 ш 88218 1 88219 Очевидно, мы проделываем следующее: — 746 = — 99999+(99999— 00746) = = — 99999+99253 = = — 100000+99253+1. В двоичной системе счисления аналогом дополнения до девя- девяток является дополнение до единиц. Дополнение до единиц двоичного числа получается путем превращения каждой цифры 0 в 1 и каждой цифры 1 в 0. Возьмем пример: вычесть 101 из 1110. Во-первых, пре- превратим 101 в 0101. Дополнение 01QJ до единиц есть 1010. Прибавим дополнение до единиц 1010 к 1110 и сделаем
Большие вычислительные машины. Операции над двоич.числами 173 круговой перенос: 1110 Ю10 1001 Правильно ли это? 1110 равно 8 плюс 4 плюс 2, или 14; 0101 есть 4 плюс 1, или 5; 1001 есть 8 плюс 1, или 9.14 минус 5 равно 9. Следовательно, пример правильный. Итак, чтобы включить операцию вычитания в автомати- автоматическую вычислительную машину, мы можем заменить вычи- вычитание прибавлением дополнения. 6. Схемы для двоичного вычитания На рис. 12.8 приведен набор схем, выполняющих двоич- двоичное вычитание. Рассмотрим, как они работают. Уменьшаемое хранится в регистре /, как показано на рис. 12.8, а. Контакты /4-1, /3-1, /2-1, Л-1 являются блокирующи- блокирующими и блокируют реле в возбужденном состоянии для сохра- сохранения информации, которую, возможно, содержит регистр /. Когда мы хотим передать на шины информацию, хранимую в этом регистре, мы считываем информацию посредством контактов /4-2, /3-2, /2-2 и /1-2. Вычитаемое хранится в регистре К, изображенном на рис. 12.8,6. Нормально разомкнутые контакты /D-1, /C-1, /B-1 и /A-1 являются блокирующими и блокируют реле в возбужденном состоянии для сохранения информа-. ции, в которой выражено вычитаемое. Нормально замкну- замкнутые контакты этих реле обеспечивают дополнение до единиц двоичного числа, хранимого в этом регистре. Обозначим информацию, содержащуюся в этих четырех линиях, через L4, L3, L2 и/>1; L, очевидно, равно дополнению /(до единиц. Схема сложения, рассмотренная в предыдущем парагра- параграфе, изображена на рис. 12.8, в в виде блока, представляюще-
/4-1 J3-1 12-1 JH J4 J3 J27TJ ' Регистр уменьшаемого J4-2 J3-2 J2-2 \JI-2 *t 1 H H Контакты счцтывония уменьшаемого Схемо о L4 \кЗ-1 \к2-1 \КН -Н-*-! Г*+] ' Н"*~1 КЗ К2 12 Ю и Регистр вычитоемого и контокты дополнения вычитоемого до единиц Схемо б Схема сложения- соответствующие цепи контоктов первоюслогоемого (реле А) и контоктов второго слогоемого (реле В) 4 SS SJ S2 SI Реле суммы Схемо в Контокты J Контокты L \ \ Контокты S \ Контакты 2 Реле А Реле В Реле Z Схдмо г Рис. 12.8.
Большие вычислительные машины. Операции над двоич. числами 175 го собой контактную схему из контактов реле первого сла- слагаемого (или реле А) и второго слагаемого (или реле 5), которые вызывают возбуждение реле суммы S. На рис. 12.8, г показана шина (которая в действительно- действительности состоит не из одной линии, а из четырех) и переключаю- переключающая схема, посредством которой можно по выбору подклю- подключать к шине считывающие контакты и воспринимающие обмотки реле регистров. Тогда вычитание можно произвести на основе следующей последовательности операций: 1) Считать код с контактов считывания J и передать через шину в реле А. 2) Считать код с проводов L и передать через шину в реле В. 3) Считать код с контактов S и передать через шину в реле Z, где Z — регистр хранения (обладающий одним свойством, описанным в следующих двух пунктах), в кото- котором может храниться число, пока схема сложения приводит- приводится в начальное положение для приема новой информации. 4) Считать код с контактов считывания Z и передать через шину в реле А, НО соединить с шиной лишь Z4, Z3, Z2 и Z1. 5) Считать код с контакта считывания Z5 и передать через линию единиц шины в реле 51 (круговой перенос). 6) Считать код с контактов считывания S и передать через шину туда, где вы хотите поместить результат вычи- вычитания. Здесь мы можем сказать: «Глупо иметь дело с автомати- автоматической вычислительной машиной, которая способна обра- обрабатывать только положительные числа. Машина должна уметь обрабатывать как положительные, так и отрицатель- отрицательные числа. Как это сделать?» Хорошее решение, хотя и не единственное, состоит в сле- следующем: нужно условиться, что крайний левый разряд числа будет предназначен лдшь для указания знака числа, положительного или отрицательного. В случае двоичной системы можно установить правило: если крайняя левая цифра 0, то остальные цифры составляют положительное число, а если крайняя левая цифра 1, то остальные цифры составляют отрицательное число. Нам нужно приспособить наши схемы сумматора к сложению двух чисел, которые могут быть оба положительными или оба отрицательными
176 Глава 12 _ или одно — положительным, а другое — отрицательным. Нам нужно также предусмотреть в схеме сумматора сигнал тревоги (или что-либо иное), если результат сложения выхо- выходит за пределы возможностей машины (подобно тому, как обычная настольная счетная машина дает звонок, если ре- результат операции переполняет машину). Наконец, третье, что нам нужно установить в нашей вычислительной машине — это местоположение двоичной запятой. С этим сталкиваются при сложении, например, 11,01 и 111,0. Однако эти задачи решить нетрудно. Поэтому мы не будем на них останавливаться и сразу перейдем к следующему основному процессу — умножению. 7. Умножение двух четырехразрядных двоичных чисел В двоичной системе таблица умножения имеет про- простой вид: или, другими словами, 0 на 0 будет 0, 0 на 1 будет 0 и 1 на 1 будет 1. Таким образом, умножение состоит в том, что число прибавляют или не прибавляют и сдвигают результат. Трудно представить себе более легкую таблицу умножения. Например, умножим два двоичных числа 1101 и 1011: 1101 х юн 0 0 0 1 0 1 1101 11Q1 0000 1101 10001111 Результат будет равен 10001111, а это есть единица, умноженная на 128, плюс нуль, умноженный на 64, плюс нуль, умноженный на 32, плюс нуль, умноженный на 16,
Большие вычислительные машины. Операции над двоич. числами 177 плюс единица, умноженная на 8, плюс единица, умножен- умноженная на 4, плюс единица, умноженная на 2, плюс единица, умноженная на единицу, или 143; это число мы, конечно, должны получить и при обычном десятичном умножении тринадцати (т. е. 1101) на одиннадцать (т. е. 1011). На рис. 12.9а — 12.9з представлена совокупность схем, производящих умножение. Эти схемы реализуют следующую общую процедуру: берут кратное множимого: 1101 или 0000 в соответствии с последовательными цифрами множителя, считая справа налево: 1, 1,0, 1; сдвигают эти кратные соот- соответственно влево; проверяют их соответствие последова- последовательным положениям цифр множителя; наконец, исполь- используя сумматор и регистр хранения, складывают последова- последовательно сдвинутые кратные. Этот процесс представлен в табл. 12.3; здесь промежуточные результаты приведены в той последовательности, в которой их получают. Промежуточная сумма 1-е кратное Новая промежуточная 2-е кратное Новая промежуточная 3-е кратное Новая промежуточная 4-е кратное Окончательная сумма сумма сумма сумма Таблица 12.3 0000 0000 0000 1101 000О 0001 0010 0000 0010 ОНО 1000 1101 1010 0111 0000 0111 1000 1111 Разберем теперь подробно части общей схемы умножения В 1-й^и 2-й частях схемы хранятся множимое и множитель. В 4-й* части схемы нам удается заставить реле С1 указывать в последовательные моменты последовательные цифры множителя справа налево: 1, 1, 0, 1. Это необходимо для того, чтобы мы могли выбрать надлежащее кратное множимого: 1101, если цифра множителя 1, и 0000, если цифра множителя 0. Это сделано потому, что в 3-й части схемы реле К возбуждаются по коду 00, 01, 10 и 11. В 5-й части выбирается кратное множимого. Эта схема дает последовательные числа 1101, 1101, 0000 и 1101. '2 Э. Беркли
Рис. 12.9а. Регистр множимого. Рис. 12.96. Регистр множителя. тз.г T3.I о ер О 0^ - 0 I 1 . О I I тз.з 1 Рис. 12.9в. Регистр счета цифр множителя. Рис. 12.9г. Регистр выбора кратного. 04 1 I 0 1 03 1 I 0 1 DZ 0 0 0 0 Dl 1 I 0 1 Рис. 12.9д. Регистр' кратного.
Л.Д ?7 О О О I 77./ Ее- о о о I 4. Контакты К/. Контакты KZ Контакты KZ E5 0 I 1 I 0 0 0 / ЕЗ I О О О Е2 О Г О о о о о Рис. 12.9е. Регистр сдвига. Контакты реле Е Контакты реле J Схема сложения V Н8 т Н7 т Нв Н5 Н4 НЗ нг Т7.г Н1 блокирующие контакты H8 H7 • Нв H5 H4 НЗ Нг HI 0 0 0 0 1 0 0 0 0 0 0 0 ! 1 0 0 0 0 0 0 0 I 0 . 0 1 0 1 1 f 1 0 0 1 1 1 0 1 ] 1 J Р и*с. 12.9ж. Схема сложения. Г8.Г о Н8 Н7 Н6 <Q_A Н5 Н4 НЗ Y нг -ХГз. Н1 Тп. Т8.2 Y Y J8 0 0 0 0 1 J7 0 0 0 0 0 J6 0 0 / I 0 J5 0 0 0 0 0 J4 0 1 0 0 / J3 D 1 1 / 1 J2 g 0 1 1 1 Л 0 1 1 1 I Рис. 12.9з. Регистр промежуточной суммы
180 Глава 12 ._ Используются такие контакты: контакт реле С и четыре контакта реле А; кратное записывается в реле D-. В 6-й части выбранное кратное, записанное в реле D, сдвигается на 0, 1, 2 или 3 разряда влево в соответствии с положением цифры множителя, причем используется опять релеJC (см. описание 3-й части). Таким образом» реле Е выдает числа 000 1101, 001 1010, осо оооо, по moo. В 7-й части (рис. 12.9 ж) схема сложения показана лишь в виде блок-схемы, поскольку она была полностью разобра- разобрана в этой главе раньше. Регистр хранения данных (8-я часть схемы) (рис. 12.9 з) нужен для передачи результата, полу- получающегося на выходе схемы сложения, обратно на один из ее входов. При томоши этих двух схем сдвинутые кратные складываются одно за другим (как показано в последова- последовательных сложениях в табл. 12.3). Однако для правильной работы этих схем решающее значение имеет их синхронизация. Синхронизация схем показана на графике синхрониза- синхронизации (см. рис. 12.10). Эта временная диаграмма содержит большое количество ценных сведений. Последовательные промежутки времени перенумерова- перенумерованы A, 2, 3, 4 и т. д. до 24) и изображены слева направо в столбцах таблицы с соответствующими номерами. В стро- строках таблицы сверху вниз указаны двенадцать различных зажимов и реле от А до J, которым они дают ток. Толстая горизонтальная линия против каждого зажима начинается в момент, когда через зажим идет ток от источни- источника тока, и заканчивается, когда ток через этот зажим пре- прекратится. Например, через зажим ТА проходит ток в момен- моменты 2, 3, 7, 8, 12, 13, 17, 18 и ни в какие другие моменты. Отрезки горизонтальных линий соединены вертикальны- вертикальными линиями с отметками X и О. Эти вертикальные линии и отметки выражают функциональную связь схем. Знаком X отмечены реле, возбужденные в данный момент; знаком О— уже установившиеся в своих крайних положениях кон- контакты, через которые возбуждаются упомянутые реле.
ГТ Реле А В KI кг К 1,2 с о ? Я И J J Схема 1 2 3 3 3 4 5 В 7 ? 8 8 Зажим TI Т2 T3.I Г3.2 ТЗ.З Т1 Т5 Т6 T7.I Т7.2 Т8.1 Т8.2 II 12 13 14 15 16 17 18 19 20 21 22 23 21- Ф Рис. 12.10.
182 Глава 12 Например, в момент 8 реле D возбуждены током от зажима Т5 через контакты реле А и реле С и, кроме того, реле J остаются возбужденными током от зажима Т8.2 через блокирующие контакты реле J. Следует вновь заметить, что существует много способов упрощения и усовершенствования схем на рис. 12.9а — 12.9з. Например, части схемы на рис. 12.9г — 12.9е можно было бы объединить и исключить реле Си D. Но полу- получающуюся в результате схему было бы труднее объяснить и понять, чем изображенные здесь отдельные схемы. 8. Деление двоичных восьмиразрядных чисел на двоичное четырехразрядное число Почти всегда бывает легче начать с примера и затем перейти к общему правилу. Поэтому при разборе деления начнем, как обычно, с примера и рассмотрим деление числа 10000101 A33 в десятичной системе) на 1101 A3 в десятич- десятичной системе). Мы производим деление в двоичной системе по такому же общему правилу, как и в десятичной системе, но поступаем так, как будто нам известны только две цифры: 1 и 0. Вот как производится Деление: Делимое 10000101. I 1101 Делитель 1-й делитель 0000 01010 Частное 2-й промежуточный остаток 10000 2-й делитель 1101 3-й промежуточный остаток 0111 • 3-й делитель 0000 4-й промежуточный остаток 1110 4-й делитель 1101 5-й промежуточный остаток 0011 5-й делитель 0000 Остаток 011 Мы сразу же обращаем внимание на то, что применяются лишь два кратных делителя: делитель, взятый один раз, т. е. тот же делитель, и делитель, взятый нуль раз, в кото-
Большие вычислительные машины. Операции над двоич. числами 183 ром, очевидно, все цифры нули. Никаких других кратных делителя не нужно. Сравнивая делители с промежуточным остатком в какой-нибудь момент деления, мы можем опре- определить, какую цифру нужно написать в частном: 1 или 0. Деление сводится к тому, что число вычитают или не вычи- вычитают и сдвигают результат. Что может быть легче? Для упрощения схем мы опять не будем рассматривать некоторые тонкости, а именно дроби, двоичную запятую (играющую в двоичной системе такую же роль, какую запя- запятая играет в десятичной системе), положительные и отри- отрицательные числа, абсолютную величину чисел и т. д., так как здесь мы стремимся пояснить основы применения от логики рассуждений «да — нет» к арифметическому делению. Схема изображена на рис. 12.11а—12.11и. Разберем ее по частям. В первой части схемы зажим Т1 получает ток в началь- начальный момент рассматриваемого интервала и удерживает в возбужденном состоянии реле, запоминающие делимое с помощью своих контактов. Какое именно двоичное число запоминают эти реле, конечно, зависит от событий, которые произошли до рассматриваемого момента. Таким же образом во 2-й части схемы реле, получающие питание от зажима Т2, запоминают делитель. На разных шагах процесса деления состояние схемы будет различным. Поэтому нужны какие-то реле, которые указывали бы, какой шаг процесса осуществляется в дан- данный момент. Эту роль выполняют реле К. 3-й части схемы. Они распознают и указывают шаги 0, 1, 2, 3 и 4, соответ- соответствующие первому, второму, третьему, четвертому и пято- пятому вычитанию делителя из текущего промежуточного остат- остатка. Текущий промежуточный остаток (см. рис. 12. Иг) вначале состоит из четырех левых разрядов делимого; на последующих же шагах он состоит из результата вычита- вычитания и еще одного снесенного разряда делимого. Схема на рис. 12. Иг устроена так, что на каждом шаге деления мы получаем промежуточный остаток, который нужно запом- запомнить с помощью реле Е. Конечно, следует интересоваться прежде всего схемой на рис. 12. Не, в которой получается результат вычитания; пока же примем на веру, что реле G, которые возбуждены, выдадут через свои контакты (входя- (входящие в схему на рис. 12.11г) нужные результаты вычитания.
m i D7 DS D5 m Щ DZ 0 0 0 0 10 Рис. 12.11а. Регистр делимого. ТЗА ТЗ.З V? •.г тз.1 Т2_ А4 A3 \А2 \А1 <р <р ф (р \ A3 кг о о i о f о Р и> 12.116. Регистр делителя. Рис 12,цв. Схема счета цифр частного. рис. I2ljr Регистр текущего промежуточного остатка,
Рис 12. Пд. Схе- Схема определения цифр частного. rs'.i Блокирунщие контакты ' С5 С4 СЗ I О сг о 12. Не. Регистр частного. В4 0 1 0 1 0 вз 0 1 0 1 0 вг 0 0 0 0 0 "г о I о п о— Схема вычитания Контакты реле Е Контакты реле В k V k Y G't G3 GZ Gl Рис. 12.11ж. Регистр выбора крат- Рис. 12.Из. Схема вы- ного делителя. читания и регистр сле- следующего промежуточного остатка.
186 Глава 12 ._ Назначение схемы на рис. 12.11д — определить, делит-] ся ли на делитель текущий промежуточный остаток. Чтобь решить это, мы должны сравнить промежуточный остаток,! хранимый реле Е, с делителем, хранимым реле Л. Деление! возможно, и мы получаем в частном Q цифру 1 тогда и толь-1 ко тогда, когда промежуточный остаток больше делителя] или равен ему. Как же мы это определим? Рис. 12.Пи. Регистр окончательного остатка Соотношение между ними мы узнаем путем сравнения двух упомянутых чисел по цифрам. Число ? больше числа Л • или равно числу А (и цифра частного равна 1) тогда и толь- только тогда, когда: ЕЪ больше, чем АЪ, или ЕЪ равно АЪ, а ?4 больше, чем Л4, или ЕЪ равно АЪ и Е4 равно Л4 и ?3 больше, чем АЪ, или каждая цифра от ?5 до ?3 равна каждой цифре от- АЪ до ЛЗ, а ?2 больше, чем Л2, или каждая цифра от ?5 до ?2 равна каждой цифре от АЪ до Л2, а ?1 больше А\ или равно Л1. Но как выразить это условие на языке булевой алгебры? Для двузначной булевой алгебры, имеющей дело лишь с 1 и 0, справедливы соотношения: 1. *>#тогда и только тогда, когда х=1 иг/=О, '
Большие вычислительные машины. Операции над двоич. числами 187 2. х=у тогда и только тогда, когда л:=1 и у=1, или х—0 и у=0, или xy\jx'-y'. Иными словами, наше условие равносильно следующему. <2 = ?5.Л5' V V {ЕЪ-АЪ V ЕЪ'-АЪуЕА-М1 V V( . » ) (Е4-А4 у Е4'-А4')-ЕЪ.АЪ' V V ( » ) ( » ) (?3-Л3 у?3'-ЛЗ').?2-Л2' V V( » )( » )( « ) (E2.A2V Е2'-А2') (EI-AV V V ?1-Л1 V ЕГ)-АУ. Но, как известно, Л5 равно 0, и, следовательно, АЪ' равно 1; поэтому получается структура, показанная на рис. 12.11 д. Как только мы нашли каждую цифру частного, нам нуж- нужно запомнить ее, чтобы, закончив деление, мы знали все частное целиком. Это выполняет схема 6-й части, которая направляет цифру частного (в соответствии с тем этапом, на котором она была найдена) на соответствующее место в частном (рис. 12. Не). ' Далее нам нужно определить кратное делителя, завися- зависящее от цифры частного. Это осуществляется 7-й частью схе- схемы (рис. 12.11 ж); последняя выдает сам делитель, если цифра частного единица, и нули во всех разрядах, если цифра частного 0. В 8-й части кратное делителя вычитается из текущего промежуточного остатка, и получается новый промежуточ- промежуточный остаток. Это показано в общих чертах (рис. 12.Из), так как схемы вычитания были разобраны раньше. На рис. 12.12 представлена временная диаграмма схем деления до определения первых двух цифр частного. Здесь применены такие же условные обозначения, что и во вре- временной диаграмме для схемы умножения. На этом мы заканчиваем наше рассмотрение связи боль- больших вычислительных машин с символической логикой и бу- булевой алгеброй. Очевидна тесная связь между состояниями
Зажим Реле Функция 12 3 4 5 6 7 8 9 Ю И 12 13 14 15 16 17 — ~ Q «. 77 тг Т3.1 Г3.2 ТЗ.З ТЗА Т4.1 п. г Т5. Т6.1 те. г Т7 Т8 тз D А К1 кг К1,2 К4 ? Е а с Е в G и — — — — — — о, к .а е А,Е к,а с а, а Е,В G ¦4- X О :; «> I \ ф Рис 12.12. Временная диаграмма при делении.
Вольшие вычислительные машины. Операции над двоич. числами 189 «включено — выключено» схемных элементов и двоичными переменными булевой алгебры. Хотя в наших примерах все схемы были построены на электромагнитных реле, со- совсем необязательно ограничиваться только ими. Булева ал- алгебра применима к анализу и синтезу схем на электронных лампах, транзисторах, магнитных сердечниках, германие- германиевых диодах и элементах «да — нет» многих других типов, лишь бы только операторы ИЛИ, И и НЕ реализовывались схемными элементами.
ГЛАВА 13 АЛГЕБРА СОСТОЯНИЙ И СОБЫТИЙ. ОСНОВНЫЕ ПОНЯТИЯ 1. Обобщенная булева алгебра, включающая'время В предыдущих главах мы описали булеву алгебру и по- показали некоторые ее применения к классам, высказываниям, условиям, значениям истинности, переключателям, реле и другим типам схемных элементов. Мы присвоили символы многим значениям распространенных выражений обычного языка и распознали в них понятия, которые можно вычи- вычислить с помощью булевой алгебры. К этим выражениям от- относятся И, ИЛИ, НЕ, ИСКЛЮЧАЯ, ИЛИ ИНАЧЕ, НИ... НИ, ВКЛЮЧЕНО В и др. Но имеются и другие более распространенные выраже- выражения обычного языка, которые часто применяют, когда говорят об отношениях высказываний и условий, а также когда говорят о проектировании схем, содержащих элемен- элементы типа «да — нет». Это выражения, связанные со временем, например: КОГДА, ДО, ПОСЛЕ, ПОКА, В ТЕЧЕНИЕ, ПРОИСХОДИТЬ, ИЗМЕНЯТЬСЯ, НАЧИНАТЬСЯ, КОН- КОНЧАТЬСЯ и аналогичные выражения. Эти выражения отно- относятся к состояниям и событиям, к условиям, которые могут изменяться со временем. В этих выражениях мы также можем надлежащим образом распознать понятия, присвоить им символы и производить с ними вычисления. Мы получим тогда нечто более широкое, чем булева алгебра, нечто, что можно было бы назвать «булевым анализом», ибо, подобно обычному математическому анализу, он имеет дело с изме- изменениями функций. Мы получаем нечто более широкое, чем «алгебра классов», нечто, что можно было бы назвать «ал- «алгеброй состояний и событий». Мы будем пользоваться преи- преимущественно этим последним названием, потому что оно
ллгебра состояний и событий. Основные понятия 191 лучше передает смысл, чем термин «булев анализ». Эта новая область представляет собой расширенную булеву алгебру, предусматривающую изменения с течением времени. В булевой алгебре мы рассматривали набор двоичных переменных р, q, г, причем нам было известно, что р долж- должно быть 0 или 1, q должно быть 0 или 1 и г должно быть О или 1; мы знали также, что р, qnr сохраняют одно значение в одной задаче, хотя это значение могло-быть и неизвест- неизвестным. В алгебре состояний и событий мы рассматриваем тот же набор двоичных переменных р, q, г, но теперь это уже суть функции времени, измеряемого или отсчитываемого в обычных числах. В какой-либо данный момент р, q,r могут быть равны 0 или 1 или не определены, но за какой-либо промежуток времени значение р, q, r может превратиться из 0 в 1 или из 1 в 0, а если это изменение не мгновенное, то во время изменения значение их остается неопределенным. Мы считаем, что двоичная переменная р известна нам пол- полностью, если для каждого' момента в интервале известно, равна ли она 1 или 0 или имеет неопределенное зна- значение. Алгебра состояний и событий (булев анализ) представля- представляет собой, конечно, естественное расширение булевой алгеб- алгебры, благодаря которому она приближается к действитель- действительности. Ведь в реальном мире члены любого класса объектов поступают в класс в определенное время и выходят из него в определенное время. Например, лошадь становится членом класса лошадей, когда рождается, и перестает быть чле- членом этого класса, когда умирает. Далее, высказывание, истинное в данный момент, может быть неистинным в другой момент. Например, схемный элемент, включенный в данный момент, может быть выключенным в другой момент. В нату- натуральных языках |!быкновенно говорят о таком изменении состояния как о событии, и поэтому мы вправе называть данное обобщение алгебры классов алгеброй состояний и событий. Двоичная переменная р, выражающая значение истинности высказывания Р, в котором не упоминается вре- время, например высказывания «схемный элемент Е включен», становится теперь двоичной переменной pit), или pt, или просто р, выражающей значение истинности высказывания Р, в котором упоминается время, например высказывания «схемный элемент Е в момент t включен».
192 „ Глава 13 2. Единицы времени Когда мыг начинаем рассматривать р, q, r как функции времени t, перед нами прежде всего возникает вопрос: «На какие' промежутки мы должны разбить время?» В обычном дифференциальном исчислении нам. предлагают рассматри- рассматривать время как «непрерывную переменную», допускающую разбиение на бесконечно малые деления, намного меньше микросекунды. Теоретически это может быть желательным, но не очень хорошо согласуется с действительностью, а мы прежде всего интересуемся практической работой приборов и схем. Практически полезно считать время состоящим из последовательности малых конечных единиц. Для некоторых схем удобными единицами являются секунды, для других — миллисекунды, для третьих — микросекунды. Мы будем предполагать, что можем измерять время в единицах, и часто будем применять в качестве единицы либо «малую едини- единицу» — время, которое требуется схемному элементу рассма- рассматриваемого нами типа для изменения своего состояния из О в 1 или из 0 в 1, либо «большую единицу», представляющую собой большое кратное малой единицы, например 1000 малых единиц. Когда мы применяем «малые» единицы времени, то пере- переменной р будет требоваться целая единица (или большая часть единицы), чтобы перейти от 0 в начале единицы времени к 1 в конце единицы времени или обратно. При использова- использовании «больших» единиц времени переменная р в течение зна- значительного промежутка времени обычно будет сохранять одно из значений, 0 или 1, а происходящие время от времени изменения будут носить характер скачков в начале, или в конце, или в какой-нибудь другой точке «большой» еди- единицы времени. Конечно, в.действительности могут быть такие положения, когда и то и другое из этих упрощен- упрощенных допущений окажутся малопригодными. В этих случаях нам,, возможно, придется принять другие допущения. 3. Ступенчатые функции Как будут выглядеть в графическом представлении наши переменные р, q, r, рассматриваемые как функции от t?
Алгебра состояний а событий. Основные понятия НЮ Это будут «ступенчатые функции». Они будут похожи на гра- графики, изображенные на рис. 13.1. Здесь мы отложили по горизонтальной оси 8 «больших» единиц времени; мы пред- предполагаем, что для перехода воображаемого схемного эле- элемента из 0 в 1 или из 1 в 0 требуется одна тысячная доля Не определено х означаем неопределенную точку Рис. 13.1. Двоичные переменные, являющиеся функциями времени. одной из изображенных единиц времени. Кроме того, мы предполагаем, что изменения могут происходить только в граничных точках интервалов. Первый график на рис. 13.1 изображает функцию р, определенную в табл. 13.1. Таблица 13.1 Непрерывное t p Отсчитанное t p 13 Э. Беркли 0-И 1-Т-4 4-^6 б-т-8 0 1 0 1 1 2,3,4 5,6 7,8 0 1 0 1
194 Глава 13 Например, в окрестности момента t=i (непрерывное время t) мы практически не знаем, равно лир 0 или 1; таким обра- образом, здесь р не определено. И на практике мы проектируем Непрерывное t О-т-2 2-7-6 6-7-8 Я о • 1 0 Отсчитанное t 1,2 3,4,5,6 7,8 Таблица 13.2 Я . 0 ¦ 1 0 схему так, чтобы в этот момент ее работа не зависела от такого схемного элемента. С тем же положением мы сталкиваемся, когда рассматриваем не схемные элементы,( t О I 234 5 В 7 8 р q pvq РЧ Рис. 13.2. Двоичные переменные как функ- функции времени. Второй способ графического представления. а что-нибудь более обыденное. Пусть р есть значение истин- истинности предложения «Джон Смит в момент t мертв». Но Джон Смит умирает в какой-то день, и в этом дне есть моменты, когда он еще жив, и моменты, когда он мертв, и промежу- промежуточные моменты, когда никто —ни друг, ни доктор, ни ученый — не может определить, жив Джон Смит или мертв. В этих положениях р в действительности не определено, и нет смысла настаивать на том 'или другом определении;
Алгебрй состояний и событий. Основные понятия 195 в действительности мы стараемся не основываться на инфор- информации р в моменты, когда нельзя определить, равно р 1 или 0. На рис. 13.1 мы представили также график функции q, которая определена в табл. 13.2. На рис. 13.1 представлены также функции р ИЛИ q=p\/q, p И q=p-q, НЕ-р=р', функция «всегда 1» и функция «всегда 0». Заметим, что, хотя рУq и p-q кажутся непрерывными при ?=6, они в действительности не непрерывны, а не определены в этих точках. Есть другой удобный способ изображения двоичных пе- переменных: чертят прямую, если переменная равна 1; не чер- чертят никакой линии, если переменная равна 0. Этот метод оказывается часто более удобным, чем первый. На рис. 13.2, таким образом, представлены упомянутые семь функций. Когда конечный промежуток времени отсчитан в «малых» единицах, таблица значений двоичной переменной р может выглядеть подобно функции в табл. 13.3. t 1 2 3 4 5 Р 0 0 04-1 1 1 t 6 7 8 9 10 Таблица 13.3 Р 1-=-0 0 0-М 14-0 0 Такая таблица может, например, представлять запись состояния больного в медицинских терминах, как показано в табл. 13.4. t 1 2 3 4 5 Высказывание Р Здоров Здоров Заболел Жар Жар t 6 7 8 9 10 Таблица 13.4 Высказывание Р Доза пенициллина — температура опу- опустилась до нормы Нормальная температура Температура снова повысилась Еще одна доза пенициллина—температу- пенициллина—температура опустилась до нормы Нормальная температура 13*
196 Глава 13 _ 4. Новые операторы и их определения До сих пор мы все еще имели дело почти с булевой алгеб- алгеброй, но теперь мы вводим новые операторы, которые выра- выражают понятия, содержащиеся в следующих словах и их синонимах: ПОКА ЗАДЕРЖКА НАЧАЛО В ТЕЧЕНИЕ ОПЕРЕЖЕНИЕ КОНЧИТЬ КОГДА ЗА ИСКЛЮЧЕНИЕМ ТОГО, КОГДА i КОНЕЦ В МОМЕНТ ИСКЛЮЧАЯ ВРЕМЯ, КОГДА ВОЙТИ В СЛУЧАЕ ДО ОСТАВИТЬ ПРОИЗОШЛО1 ПОСЛЕ СТАТЬ В ПЕРВЫЙ РАЗ НАЧАТЬ ИЗМЕНИТЬСЯ ВО ВТОРОЙ РАЗ СОБЫТИЕ СОСТОЯНИЕ Определения новых операторов во многих отношениях довольно очевидны; но после того как они определены, они дают нам новые возможности применения символической логики и математики к вычислениям и построению разум- разумных машин, и поэтому представляют некоторый интерес. 5. Оператор ЗАДЕРЖКА Пожалуй, наиболее важным из новых операторов, при- применяемых в алгебре состояний и событий, является опера- оператор ЗАДЕРЖКА. Например, рассмотрим высказывание Р: Р: Схемный элемент Е в момент t включен. Оно имеет значение истинности р, или p(t), или р(, меняюще- меняющееся со временем t. С этим схемным элементом Е может быть связан другой схемный элемент F, для которого справед- справедливо следующее высказывание Q: Q: Схемный элемент F включен в момент t плюс k, причем в этом высказывании Q каждый момент t есть именно тот момент t, для которого справедливо высказывание Р. Высказывание Q имеет значение истинности q, или q{t), или qt, которое будет изменяться во времени точно также, как и значение истинности р, или р(, но только будет запазды- запаздывать на k единиц. В математических символах это выразит- выразится так: {t k) {t) или q(/)
Алгебра состояний и событий. Основные понятия 197 Конечно, мы можем быть уверены, что если два схемных элемента Е и F находятся в такой связи, то между ними имеется тесная причинная связь или корреляция. Например, если k равно 2, а р есть двоичная переменная, изображенная в верхней части рис. 13.3, то р, задержанная Р'Т (схемный элемент Е в момент t включен) а^Т (схемный ялемент F в 1момент t включен) tk)W 12 3 4 5 в 7 8 9 10 Рис. 13.3. Оператор ЗАДЕРЖКА. на 2 единицы времени, представлена в нижней части рис. 13.3. Очевидно, величина задержки k может быть любым числом от 0 до бесконечности. Оператор ЗАДЕРЖКА мы будем изображать буквой D; ^), или Dftp, или ph = p{t — k). Заметим, что на рис. 13.3 функция р не определена для t<0. Тогда D2p не определено для t<2. Пунктирная линия на рисунке изображает ту часть графика переменной р (задержанной на 2 единицы), где эта функция не определена. Если задержка отрицательна, то мы получим оператор ОПЕРЕЖЕНИЕ. Если k — положительное число, то qt равно D'h(p), или p(t+k). На рис. 13.4 приведен график переменной р, сдвинутой вперед на 3x/2 единицы. Примером задержки, имеющей существенное значение, является работа блокирующего контакта реле. Чтобы реле сработало в результате возбуждения его обмотки, нужно некоторое небольшое время; поэтому его контакты замыка- замыкаются не точно в момент возбуждения обмотки. Время сраба- срабатывания быстродействующего реле равно 2 или 3 мсек, тогда как для обычного реле оно равно приблизительно 15 или 20 мсек, а замедленного реле — от 50 мсек до 5 сек и больше. Рассмотрим, например, рис. 13.5; здесь изображены реле R и зажим Т, обозначенный как вход; при соединении Т
198 Глава 13 с источником тока реле R возбудится. Как только это про- произойдет, контакт R-\ замкнется. Тогда независимо от того, течет ли ток от источника Т или нет, при наличии источника t: -3 -2 -1 О 1 г 3 4 5 6 7 8 9 10 Подвинуть вперед наЗ'/г единицы ПЗ') i Рис. 13.4. Оператор ОПЕРЕЖЕНИЕ. тока, соединенного с зажимом U, реле будет оставаться возбужденным. Уравнение булевой алгебры для информации в реле R имеет простой вид: R = TyU-R. Однако это уравнение недостаточно точно отражает действительное положение, ибо существует небольшой и о , R-] блокирующий контакт Рис. 13.5. Блокировка реле в возбужденном состоянии. Рис. 13.6. Преры- Прерывистая работа реле в случае зуммера. промежуток времени т, когда обмотка реле R возбуждена, но контакт RA еще не перешел из разомкнутого положения в замкнутое.. Поэтому, используя алгебру состояний и собы- событий и оператор задержки, мы пишем для этого случая урав- уравнение -
Алгебра состояний и событий. Основные понятия 199 Рассмотрим второй пример, изображенный на рис. 13.6. На зажиме W всегда имеется ток; он течет в обмотку реле R и заставляет реле срабатывать; как только реле полностью возбудится, сердечник становится достаточно сильным электромагнитом и перемещает размыкающие контакты реле из замкнутого положения в разомкнутое. Как только это произойдет, контакт R-2 реле R размыкается; тогда ток уже больше не течет в обмотку реле, ее магнитное поле P'TfmoK течет е обмотку реле R) ^Т (контакт R-2 реле R разомкнут) Время teмилли- teмиллисекундах О 10 20 30 40 50 60 70 80 Рис. 13.7. исчезает и реле отключается. Но если обмотка реле R обесто- обесточивается, то контакт R-2 не сможет остаться в разомкну- разомкнутом положении и возвращается к нормально замкнутому положению, после чего реле вновь начинает возбуждаться, и т. д., причем это будет продолжаться сколь угодно долго. Подобная схема применяется для обычного дверного звонка. Обозначим через р значение истинности высказывания «ток течет в обмотку реле Ri> и через q — значение истинно- истинности высказывания «контакт R-2 реле R разомкнут». Если мы хотим составить уравнение для схемы на рис. 13.6, используя обычную булеву алгебру,и игнорируя задержку, то мы должны написать p = q' и q = p, откуда р = р\ что является противоречием. Однако, используя алгебру состояний и событий, мы можем написать непротиворечивые уравнения следующим образом. Пусть время будет измеряться в миллисекундах, и допустим, что для перехода реле R из спокойного в воз- возбужденное состояние или обратно требуется 10 миллисекунд. Тогда уравнения для схемы будут иметь вид
206 Глава 13 На рис. 13.7 дано графическое представление этих соотно- соотношений. Мы видим, что повсюду, за исключением отдельных точек, где функции не определены, pyq~\ и p-q=O, что подтверждает равенство p~q'. 6. Оператор ПРОИСХОДИТЬ Теперь мы определим следующий из новых операторов — оператор ПРОИСХОДИТЬ. Пусть Р — высказывание, например «переключатель 5 в момент t включен», и пусть р — значение истинности высказывания Я; тогда мы опре- определяем Н(Р) как высказывание «переключатель S был вклю- включен в некоторый момент, предшествующий Ь, или «оказалось, что переключатель 5 был включен в некоторый момент, предшествующий t», и определяем Н(р) как значение истин- истинности этого высказывания. Если р и q — две двоичные переменные, изображенные на графиках (см. рис. 13.8), то Н(р) и H(q) также суть две двоичные переменные. Их график изображен на рис. 13.8. Н(р), или Нр, равно 1 для любого момента t пос- после того, как переменная pt приняла значение 1; иными словами, Н(р() равно 1 в том и только в том случае, если существует момент t2, такой, что t2<t и p(t2) равно 1.. Операторы ЗАДЕРЖКА и ПРОИСХОДИТЬ связаны некоторым уравнением. Обозначим через т небольшой про- промежуток времени, достаточный для того, чтобы схемный элемент «да — нет» рассматриваемого типа перешел навер- наверное из состояния 0 в состояние 1 или обратно (например, время срабатывания реле, взятое с некоторым запасом). Предположим, что длительность состояния р по меньшей мере равна т. Тогда H(p)=p\/DmH(p). Если 1(р) равно р, где I обозначает оператор ТОЖДЕ- ТОЖДЕСТВО, и если т равно 1, то мы можем написать это уравне- уравнение, используя только операторы: Н = I V DH. Полезно добавить к этим операторам оператор N для не. Итак, мы определяем Np как р', равное 1—р. Мы замечаем, что нужно проврдить различие между высказыванием «р не произошло»'(которое можно сокра-
t: 0123*58789 п Wp), Tfp произошло) О Щ TfD HDOU3 ШЛО) Рис. 13.8. Оператор ПРОИСХОДИТЬ. t: Р Нр Up 01Z34SG789 — г. Рис. 13.9. Соотношение между операторами НЕ и ПРОИСХОДИТЬ, ДО и ПОСЛЕ.
202 Глава 13 щенно записать как NHp) и высказыванием «Не-р произо- произошло», которое можно записать сокращенно как HNp. Различие между ними хорошо видно из графического пред- представления на рис. 13.9. 7. Функциональные операторы в обычной алгебре и анализе В обычной алгебре и ее обобщениях, называемых диф- дифференциальным и интегральным исчислением и исчислени- исчислением конечных разностей, также имеются функциональные операторы, подобные определенным выше. Вот некоторые из них: I/(*) = /(*)• Можно доказать много важных соотношений между этими функциональными операторами, по крайней мере для поли- полиномиальных функций [когда / (х) = а0 + агх + а2х2 + ...-)- -\-апхп]. Вот одно такое соотношение: Ah = (E— l)h, и при- пример этого правила: Можем ли мы применять эти функциональные операторы в алгебре событий и состояний? Мы можем применять I/(*) = /(*) и Е/(*) = /(* + 1)= ЗАДЕРЖКА -1 f(x). Но нет особого смысла применять другие функциональные операторы для наших функций, принимающих только зна- значения 1,0 и «не определено». Например, применение опера- оператора А к функции f(t) дает: 1,0, «не определено» или— 1; но —1 нет в значениях ступенчатых функций f(t), кото- которые мы рассматриваем.
Алгебра состояний и событий. Основные понятия 203 8. ДО, ПОСЛЕ, ПРИХОД и ОСТАВЛЕНИЕ Рассмотрим высказывание Р: «Схемный элемент Е в момент t включен» со значением истинности р. Мы можем рассматривать состояние элемента Е как состояние «выключено» в некоторые моменты и как со- состояние «включено» в другие моменты; и мы можем рассма- рассматривать события перехода от состояния «выключено» к со- состоянию «включено» и наоборот. Обратившись к рис. 13.9, мы можем взять для примера верхнюю линию, изображающую.график функции р. Этот график показывает, что схемный элемент Е включен от момента 1 до момента 4, от момента 6 до момента 8, а осталь- остальное время выключен. В этом случае у нас будет пять состоя- состояний: три состояния «выключено», два состояния «включено» и четыре события в моменты 1, 4, б и 8. При таком описании наблюдаемых условий мы вправе считать эквивалентными три выражения: «до того как элемент Е включен»; «до того как двоичная переменная р принимает значе- значения единица»; «до р». Они эквивалентны в том смысле, что таблица единиц и нулей, указывающая те моменты, когда выражение правильно, остается одной и той же для всех трех выражений. До. Какой смысл выражения «до р»? Оно означает: «р еще не произошло». Обозначим «до» через В. Тогда Вр = Шр. После. Какой смысл выражения «после р»? Рассматри- Рассматривая график двоичной переменной р на рис. 13.9, мы видим, что выражение «после р» может означать: «после момента 4» или «после момента 8»—в зависимости от того, имеем ли мы в виду время после первого включенного состояния элемен- элемента Е или после всех включенных состояний элемента Е. Если р — двоичная переменная, принимающая значе- значение 1 только в одном непрерывном интервале времени, то состояние «после р» однозначно и означает «не-р, но р произошло». Обозначим «после» через А. Тогда
204 Глава 13 Удобно применять то же определение и для других двоич- двоичных переменных. Приход. Элемент Е «приходит» в состояние «включе- «включено» в момент 1 и в момент 6. Как это можно определить? Как и ранее, обозначим через т наименьший промежу- промежуток времени, достаточный для того, чтобы элемент типа «да — нет» наверное перешел из состояния 0 в состояние 1 или из состояния 1 в состояние 0. Тогда для Ер, где Е озна- означает «приход», можно дать такое определение: «р, но еще не Dmp»: Оставление. Подобно этому для Lp, где L означает «оставление», можно дать такое определение: «не-р, но еще Dmp»: Lp = Np-Dmp. На рис. 13.10 дается иллюстрация этих определений; здесь т принято равным приблизительно одной пятой единицы, в которой измеряется время t. р дтр Нр 0 1 ¦ 2 3 4 5 в 7 8 S Рис. 13.10. Приход и оставление. Из этих определений следует, что Ер есть часть от р и Lp часть от Np; поэтому указанные определения позволя- позволяют разрешить некоторые случаи неоднозначности. Нетрудно видеть, что если т уменьшается, но не дохо- доходит до нуля, то состояния Ер и Lp все еще могут иметь
Алгебра состояний и событий.. Основные понятия 205 значение 1. Но в предельном случае, когда т равно 0, Ер и Lp будут равны р-р', что согласно правилам булевой алгебры равно 0. Когда имеют дело с физическими схемны- схемными элементами, предела не достигают; всегда требуется по меньшей мере конечное время, чтобы схемный элемент подействовал на другой схемный элемент. Поэтому допу- допущение обычного анализа о неограниченном приближении к нулю здесь не применимо. 9. ПЕРВЫЙ РАЗ, ВТОРОЙ РАЗ Если имеется двоичная переменная с несколькими интер- интервалами (на которых она сохраняет значение 1), то может с р Up Но Нр-Нр №(№>¦№>) mwp-щ 1 t F — С > и г — пуча — up с. 13.1 — g-ff Р Но •'/' ННр нтр -Vp — 'г и Случай Рд*/ . Вычисление 1 V понадобиться умение различать их. Положим: 1*р означает «р только в первом интервале», или «р в первый раз»; 12р означает «р только во втором интервале», или «р во второй раз» и т. д.; Н2р означает «р произошло второй раз» и т. д. Можно ли определить эти операторы через операторы ЗА- ЗАДЕРЖКА, ПРОИСХОДИТЬ и НЕ? Можно! Вычисление Vp можно провести графическим способом, как показано на рис. 13.11. Существуют два случая: ро=0
206 Глава 13 и ро=1. Определим Z(p) как 1 при ро=1 и как 0 лри ро=0; тогда мы можем написать для обоих случаев одну 4юрмулу: I1(p) = [Z-I-NH(N-H)VNZ-NHN](p). Очевидно, I1p+I2p+I3p+....=Ip, ибо интервалы от р в совокупности тождественно равны р. t p Hp Hp Hp-Up p-HWp-Hp) Н[рШНр-Нр)] 0 \ — — — — Рис. 13.12. Вычисление Н2р. На рис. 13.12 показано вычисление выражения Н2р при ро=0. Оно имеет в данном случае вид H2p-H[I-H(N-H)]p. ' • Мы могли бы продолжить наш разбор и рассмотреть много других разветвлений алгебры состояний и событий, но, по-видимому, из изложенного достаточно ясно, какими способами ее можно развить дальше. 10. Заданные моменты Помимо условий, или двоичных переменных, или функ- функций со значениями единица и нуль, или ступенчатых функ- функций, зависящих полностью от состояний и событий, суще- существуют двоичные функции, совсем не зависящие от состоя- состояний и событий или зависящие от,,них лишь частично. Вот примеры таких функций: '
Алгебра состояний и событий. Основные ЛонягПия 207 а) функция, равная 1 во всем рассматриваемом проме- промежутке времени, представляющая то же самое, что p\/Np, если допустить, что нет неопределенных точек; б) функция, равная 1 в течение четных десятых секунды; в) функция, равная 1 точно через 26 мсек после почти мгновенного события е; г) функция, равная 1 точно в течение 5 сек после собы- события е. Чтобы выразить эти функции, мы определим оператор U. Во-первых, мы условимся, что и„(р) (где Ь>а) равно функ- функции, которая принимает значение 1 в течение временного интервала, начинающегося в момент а после первого момента tlt в который переменная р равна 1, и прекращающегося в некоторый момент Ь после t{, эта функция равна Т(^+а< <^<^i+b)—значению истинности высказывания «Момент t лежит между ^+а и ^+Ь». Мы принимаем также, что и"(р) можно записать иначе: Ua(p). И наконец, мы усло- условимся, что само Uo равно значению истинности высказыва- высказывания й больше или равно аи меньше или равно b», T(a < t < b). В нашем изложении первый рассматриваемый момент будет обычно ?=0°, а последний рассматриваемый момент будет обычно ?=360°, потому что, во-первых, у значитель- значительного числа механизмов первичный цикл определяется одним полным оборотом главного вала или какого-нибудь его экви- эквивалента и, во-вторых, имея дело с конечным, а не бесконеч- бесконечным временем, можно выбрать такую единицу времени, что все рассматриваемые моменты будут находиться в интерва- интервале от 0 до 360°. Выразим теперь четыре приведенные выше «выборочные» функции. Они будут соответственно: а\ \j зво. б) U в) U26(e); г) и06 (е). Подразумевается, что при рассмотрении этих функций из контекста ясно, в каких единицах измеряется время. Для функции «б» вместо знака или {у) можно употреблять знак плюс (+), так как функции, связываемые этим знаком, не перекрываются.
208 Глава 13 11. Состояния и события Состояние есть условие, длящееся некоторое время, так же как событие. Но в общем случае состояние есть условие, которое длится довольно долго, а событие есть условие, которое длится лишь в течение очень короткого интервала времени; таково основное различие между ними. Но это различие относительно, а не абсолютно, поскольку событие должно быть не короче т — наименьшего времени, необходимого для перехода схемного элемента из одного состояния в другое, и само пребывание в некотором состоя- состоянии может быть столь же кратковременным. Однако собы- события обычно происходят без перекрытия, т. е. их перекрыти- перекрытием обычно можно пренебречь. Напротив, состояния длитель- длительны, и обычно между ними имеет место перекрытие,которое нужно учитывать. Событие «ПЕРЕХОД из одного состояния р в другое состояние г» есть то же самое, что «оставление первого состояния и приход во второе состояние»: С(р, г) = Lp-Er. «СОСТОЯНИЕ от одного события е до другого собы- события /» нужно рассматривать для двух случаев. В первом случае мы рассматриваем состояние от первого появле- появления е до первого появления /, т. е. мы имеем дело с ситуа- ситуацией «событие е произошло, а событие / еще не произошло»: He-NH/. Во втором случае мы рассматриваем состояние от любого появления е до ближайшего появления /. Обозначим это событие через S(e, /). Эта функция может быть представлена в виде S(e, /)==N/.[eVDmS(e, /)]. . Во многих случаях это может служить удовлетворительным определением; оно с пользой применяется в проектировании схем. Если же е и/оба равны 1 в течение одного и того же промежутка времени, то S в этом промежутке не определено. Если длительность е меньше т (наименьшего времени, доста- достаточного для того, чтобы схемный элемент изменил свое состояние), то это равносильно случаю, когда длительность е равна 0; то же самое справедливо для /.
ГЛАВА 14 АЛГЕБРА СОСТОЯНИЙ И СОБЫТИЙ. ПРИЛОЖЕНИЕ К НЕКОТОРЫМ ЗАДАЧАМ 1. Применение алгебры состояний и событий к анализу работы схемных элементов С помощью алгебры состояний и событий мы можем проводить более точный и более полный анализ работы последовательное/иных схем — схем, действие которых зави- зависит от последовательности состояний, продолжающихся разное время, и событий, происходящих время от вре- времени. Хотя сущеструет много видов элементов типа «да — нет», которые можно было бы использовать для иллю- иллюстрации применения алгебры состояний и событий к схем- схемным элементам, тем не менее мы будем придерживаться реле из-за их гибкости, распространенности и ввиду того, что, поняв, как проектировать схемы с реле, нетрудно перейти к синтезу схем из элементов других типов. Прежде всего нам нужно показать, как можно предста- представить релейными схемами шесть главиФс функций алгебры состояний и событий: Dp, Np, Dftp, Hp, и„ и и?(р). Обозна- Обозначим опять через т «надежное время срабатывания» реле, че- через k —любой более продолжительный промежуток времени, причем длительность любого состояния р не меньше чем т. На рис. 14.1 а — 14.1 д изображены схемы, построенные из реле, кулачков и т. д., которые удовлетворительно пред- представляют эти функции. Их нужно изучить. Комбинируя эти схемы, мы можем построить много других схем. Разберем устройство, изображенное на рис. 14.1 г. Это чертеж кулачкового механизма — вращающегося дис- диска с выступами. Когда диск поворачивается по часовой стрелке, его выступы замыкают кулачковый контакт, благо- благодаря чему цепь замыкается и обеспечивается поступление информации q. Энергия для кулачкового механизма может 14 Э. Беркли
К (ключ) (информа ация на ключе) 0 I P-t (контакт реле Р) Г*~1 \r \q (информация e выходных J_ _L. линиях) Р(рвле)- Рис. 14.1а. Реализация операторов ЕДИНИЧНАЯ ЗАДЕРЖКА (D) и НЕ (N). (Заметим, что в некото- некоторых случаях для получения НЕ требуется одна еди- единица времени.) i К (ключ) р (информация] на ключе) ' Q1 (контакт'реле в) (реле времени, задерживающее I ¦*-, на к единиц ¦ \г(информаи, времени; Щ изображал е выходной ет виметалличеС' -L- Q кую пластинку ~ __ («термическая ~ задержка») \ия линии) Рис. 14.16. Р а^изация оператора ЗАДЕРЖКА К (ключ) (информация на ключе). R-1 (контакт реле R) г (информация в выходной линии) П(реле) Рис. 14.1в. Реализация оператора ПРОИСХОДИТЬ (Нр).
180 Кулачок Ролитвыв подшипник tO 60 120 180 240 300 360 График для р и о > Рис. 14.1г. Кулачковый механизм с защелкой. - во so ¦ JO О Обшии\\ зажим \> 7 . \ ь С Я 5 0 о W Контакты о4 о* Л \ Зубчатое _. колесо , р^я» Якорь гд <г~1 воспринимающая t 0 36 72 108 /44 180 216 252 288 324 360 Рис. 14.1д. Шаговый переключатель. 14*
212 Глава 14 поступать, например, от непрерывно вращающегося вала с фрикционным приводом к кулачковому диску. Штифт и защелка не дают диску поворачиваться при вращении вала. Когда.защелка на мгновение переместится, например, электромагнитом с катушкой, возбуждаемой при замыкании контакта, диск освобождается и поворачивается вместе с валом на один оборот. Время поворота от 0 до 360° отсчи- тывается от момента перемещения защелки. Кулачковый контакт с защелкой выражает функцию Если вообразить, что защелка снята и кулачковый меха- механизм непрерывно вращается, то кулачковый контакт будет выражать функцию Рассмотрим также устройство, изображенное на рис. 14.1 д. Это шаговый переключатель — переключатель, кото- который «шагает» время от времени в зависимости от ряда усло- условий. Когда такой шаговый переключатель поворачивается против часовой стрелки, вращающаяся щетка соединяет последовательно зажимы 1—=-10 с общим зажимом. Освобож- Освобождение щетки и перемещение ее на один шаг возможны только тогда, когда возбуждается воспринимающая обмотка. Теперь мы подготовлены к тому, чтобы попытаться при- применить наш новый алгебраический аппарат для решения практических задач построения последовательностных схем. 2. Задача сигнализации Задача. В схеме имеется ключ К и три лампы Р, Q и R. Ее действие определяется ключом К и двумя условиями х и у, заданными контактами переключателей. Ключ К в на- начальный момент не нажат. Схема должна обладать следую- следующими свойствами: 1) лампа Р загорается, если х продолжается после того, как у прекратилось; 2) лампа Q загорается, если К нажат только первый раз при условии, что х и у ' прекратились до этого;
Алгебра состояний и событий. Приложение к некоторым задачам 213 3) лампа R загорается, если кнопка была нажата дважды, условие у никогда не имело места, а условие х либо имело место, когда К был нажат, либо имеет место, когда ключ К нажат. Построить схему. Решение. Пусть р равно Т («лампа Р зажжена»). Пусть q равно Т («лампа Q зажжена»). Пусть г равно Т («лампа R зажжена»). Пусть k равно Т («ключ К нажат»). 1) р ТОГДА И ТОЛЬКО ТОГДА, КОГДА х И ПОСЛЕ у: р — х-Ау. Но Aw = Hw ¦ No>, где w — любое условие. Следовательно, р = х-Ыу-Ну. Схема изображена на рис. 14.2а. 2) q ТОГДА И ТОЛЬКО ТОГДА, КОГДА ll(k) И ПОСЛЕ х И ПОСЛЕ у: ^IM^AxAy^IM^HxHyNy. Но I1 (w) = w -NH (Nw -Ноу), где w — любое условие. Следовательно, q равно Пусть Zx (дополнительное условие) = Тогда q = fe-Nzj-Nx-Hx-Ny-Hy. Схема изображена на рис. 14.26. 3) г ТОГДА И ТОЛЬКО ТОГДА, КОГДА Н2(/г) ИДО у И H(Efe И х): Далее, Н2ш = Н[до-Н(Ыдо-Ндо)], где да — любое условие; и Вдо = ЫНш, Следовательно, .
214 Глава 14 НА Рис. 14.2а. Рассмотрим fe-NDmfe. Мы хотим, чтобы реле сработало, пока существует это «объединенное условие», но это усло- условие по определению будет существовать приблизительно такое время, которое равно времени срабатывания реле,
1 г, Удвоенное время сробатывания Рис. 14.26. i Рис. 14.2в.
216 Глава 14 - Следовательно, действие схемы будет неопределенным. Поэтому возьмем реле с большим запаздыванием, чем Dmk, а именно реле, для которого имеет место Dimk. Тогда Для вспомогательных реле нам нужно, чтобы Тогда r = Z2-NHyZ3. Схема изображена на рис. 14.2 в. 3. Автоматическая нефтяная топка Задача. В автоматической топке используется нефть, и вода превращается в пар для отопления дома. Горение начинается (при отсутствии опасных условий), когда тем- температура в жилой комнате опускается до 20,5° (/) (ее фикси- фиксирует термостат) и остается на этом уровне по крайней мере 5 мин (от) и прекращается, когда температура достигает 22° (k). Но если выполняется какое-либо из следующих опасных условий, то пламя в топке либо не возникает, либо гасится; дымовая труба слишком горяча (с); давление в котле больше 8 фунтов на квадратный дюйм (р); уровень нефти в питающем баке слишком низок (s); воздуходувка, смешивающая воздух с нефтью и нагне- нагнетающая смесь в топку, действует плохо (Ь); вода в котле ниже определенного уровня (w). Построить схему, выражающую условие, что пламя в топ- топке зажжено (L). Решение. Буквами, стоящими в скобках, мы обозначим соответствующие условия. Тогда искомое условие выражает- выражается уравнением состояния от одного события е до более позднего из двух других событий / и g (обозначим это собы- событие К), где е, /, g имеют особые значения, которые мы сейчас укажем. Как можно выразить h—«более позднее из событий
S минут ' 2 минуты Р и с. 14.3а. т есть событие «5 минут после события /», или Рис. 14.36. г есть событие «2 минуты после события Л», или 7- = * г «Я| I**» Рис. 14.Зв. m про- произошло. —¦ г i н* Рис. 14.3г. ft произошло. "L1 Рис. 14. Зд. Последнее из со- событий m и k, равное h, или mV*H
218 Глава 14 fug»? Очевидно, h равно событию /, если g уже произошло, и событию g, если / уже произошло; в наших, символах: «более позднее из событий/ и ?»=/• HgVg- H/=A. В данном случае / есть событие «5 минут после того, как термостат достиг температуры 20,5°» (т), a g есть событие «термостат достигает температуры 22°» (k). Теперь мы можем написать урав- уравнения, которые определяют интере- интересующее нас состояние (L): L = c'-p'-s'-b'-w'-h:(j VDL), Отметим еще одно обстоятельство: нам нужно устранить из Hk и Нт их абсолютное значение «когда-либо произошло»; для этого нам нужно при- привести их к начальному состоянию (г) вскоре после события h, скажем через две минуты. Схема показана на рис. 14.3а — 14.Зе. Для всех частей схемы (а, б, в, г, д, е) предполагается, что собы- Р и с. 14 3 . L — пла- тие длится достаточно долго, чтобы мя топки зажжено. оно могло привести к срабатыванию реле и чтобы реле оставалось в этом состоянии достаточно долго. Последнее необходимо, чтобы через его контакты возбудилось другое реле. 4. Чувствительный светофор Задача. Рассмотрим еще раз не особенно разумный свето- светофор на перекрестке Лоузлл-авеню и Отис-стрит, о котором говорилось выше. Он обычно дает зеленый свет для Лоузлл- авеню и красный для Отис-стрит, потому что движение на Лоузлл-авеню гораздо сильнее. Но если автомобиль под- подходит по Отис-стрит и если истекут по крайней мере одна минута после того, как зажегся Зеленый свет для Лоузлл-
Алгебра состояний и событий. Приложение к некоторым задачам 219 авеню, то светофор меняет свет на зеленый для Отис-стрит и на красный для Лоуэлл-авеню, причем зеленый свет для движения по Отис-стрит длится 15 сек (после зелёного света до перехода на красный в течение двух секунд горит желтый свет). Построить схему, которая будет управлять крас- красным, желтым и зеленым цветами светофора для обеих улиц. Решение. Вот решение (не единственное). Мы можем определить состояния светофора следующим образом: Состояние и Ц Ц Ц Лоуэлл-авеню ¦ зеленый желтый красный красный зеленый Отис-стрит красный красный зеленый желтый красный Длительность неопределенная 2 сек 15 сек 2 сек 60 сек Можно начать счет времени с перехода от L1 к L2. В течение времени от 0 до 2 состояние светофора будет L2. В период от 2 до 17 его состояние будет L3. В период от 17 до 19 его состояние будет L4. В период от 19 до 79 его состояние будет Ьъ. В период от 79 до со (омега) —до конца — его состояние будет Lx. В данной задаче два события. Первое событие: «авто- «автомобиль подходит по Отис-стрит, т. е. автомобиль нажимает педаль на Отис-стрит», мы обозначим через с. Второе событие: «цикл начинается» (он начинается переходом от L1 к L2); мы обозначим через h. С чего начинается цикл? Какие условия определяют собы- событие Ю Это: а) прибытие автомобиля, если существует состоя- состояние Llt и б) конец промежутка в 62 сек от начала состояния L4, если в этот период (за 62 сек) по Отис-стрит подошел автомо- автомобиль. Ибо очевидно: если автомобиль подходит по Отис- стрит в течение состояния L2 или La, он может' пройти пере- перекресток при зеленом свете состояния L3 и светофору не нужно «помнить» об этом автомобиле и обеспечить его дви- движение. Какие уравнения будут соответствовать этим условиям?
220 Глава 14 Уравнения для описанных состояний и событий будут иметь вид: h = c-L1 VUe2(L4)-UgV, Мы можем заменить U62(L4) на Ula(h). (Примечание: мы можем не учитывать того обстоятельства, что это h есть предыдущее, а не текущее h, потому что для схемы это безразлично.) Уравнения для сигнальных цветов будут иметь вид: Зеленый для Лоуэлл-авеню= Lx \/ Lb, Желтый для » =L2, Красный для » =L3\/Ц, Зеленый для Отис-Стрит =L3, Желтый для » =Ц, Красный для » =L1\/Li\/Lfl. Схемы приведены на рис. 14.4. Первые 6 кулачков уста- установлены на одном валу, и все они расцепляются с защелкой под действием одного и того же события h. Седьмой диск расцепляется под действием события с. 5. Мельница разводов с сигнализацией двоеженства Рассмотрим теперь другую задачу, которую можно решить с помощью алгебры состояний и событий. В ней идет речь о «мельнице разводов с сигнализацией двоежен- двоеженства». Такая «мельница» действительно была однажды построена автором и его коллегами. Задача. В жизни мужчины могут произойти четыре события: рождение, женитьба, развод, овдовение. Следова- Следовательно, мужчина может находиться в пяти состояниях: одинокий, женатый в первый раз, разведенный, овдовевший,
Алгебра состояний и событий. Приложение к некоторым задачам 221 женатый во второй раз. Если мужчина женится во второй раз, игнорируя такой незначительный факт, как необходи- необходимость развестись или овдоветь, то он находится в состоянии двоеженства. «Мельница разводов с сигнализацией двоеженства» имеет пять входных кнопок,- обозначенных: «Родился», «Женился», «Разведен», «Жена умирает», «Установка в исходное положение». Она имеет пять белых выходных ламп, обозначенных: «Одинокий», «Женатый первично», «Разве- «Разведенный», «Овдовевший», «Женатый вторично», иодну красную выходную лампу с обозначением «Двоеженство» и соответ- соответствующий звонок тревоги. Машина указывает соответствен- соответственно состояние мужчины, если с ним происходит какое-либо из этих событий. Кроме того, она отказывается как-либо реагировать, если нажата неправильная кнопка; например, если человек в состоянии «разведен», а запрашивают о собы- событии «родился», то никаких сигналов на выходе не будет. Какие схемы должны быть в этой машине? Решение. Условия, определяющие схемы этой маши- машины, указаны в табл. 14.1 и 14.2. Каждое условие имеет та- такой вид: «Если лампа... горит и, пока она горит, нажата кноп- кнопка..., то загораются лампы...» В'табл. 14.1 указаны сокращенные обозначения из одной буквы для состояний (лампы) и событий (кнопки). По этой таблице мы можем составить вторую (табл. 14.2), указывающую для каждого состояния, с каких событий оно начинается и какими заканчивается. В одном из последних разделов мы показали, что общее уравнение для состояния S от одного события е до другого события f имеет вид S?=f'(ey DS). Используя это общее уравнение, мы можем написать уравнение для состояния «.одинокий» (s): s = (п V a)' {gc V Ds) = п'а' {gc V Ds). Аналогично m = n' -e' ¦ k' -a' (sn V Dm),
Таблица 14.1 УСЛОВИЯ ДЛЯ МЕЛЬНИЦЫ РАЗВОДОВ С СИГНАЛИЗАЦИЕЙ ДВОЕЖЕНСТВА Если лампа .... горнт «Одинокий» «Женатый первично» «Разведенный» «Овдовевший» «Женатый вторично» «Двоеженство» ¦ s т d w г b «Зеленый начальный свет» g «Родился» (с), изменения нет то же » » » » . э » » » s В, пока она горит, кнопка... нажата: «Женится» (л), «Разводится» (г), «Жена умирает» то загораются лампы: т изменения нет г, b d г изменения нет г то же г, b d изменения изменения нет нет то же то же изменения нет w изменения нет то же w изменения нет то же «Установка в ис- исходное положение» (а) g g g g g g изменения нет
Таблица 14.2 СОБЫТИЯ, НАЧИНАЮЩИЕ И ЗАКАНЧИВАЮЩИЕЦСАЖДОЕ СОСТОЯНИЕ Состояние Начинающее событие Заканчивающее событие «Одинокий» «Женатый первично» «Разведенный» «Овдовевший» «Женатый вторично» «Двоеженство» «Зеленый начальный свет» s т d w г Ъ g g-c s-n {ту r)-e (m V) • k (m V d yw)-n (myr)-n n у а n V e V k V a nya eyky a a /- V b)a с
224Глава 14 w = n'a'[{m у r)k г =¦ e'k'a' [{m V d V w) n V Dr], 6 = a'[(m У r)n yDb], g = c'[(sy my d\/ toV rV t) Чтобы достичь правильной работы схем, соответствую- соответствующих этим уравнениям, нужно учесть время срабатывания и время отпускания шести реле, соответствующих состояниям s, т, d, w, г, g. Например, предположим, что реле g имеет минимальное время срабатывания и отпускания, равное 5 мсек, а реле s срабатывает и отпускает медленнее других реле — за 8 мсек. Рассмотрим временные графики переменных g, с, s, Ds в уравнении для Ds: s=n'a'(gcyDs). Предположим, что при нажатии любой кнопки любое из событий с, т, е, k, a длится не меньше 10 мсек, т. е. наверняка дольше, чем время срабатывания и отпускания любого реле. Но что произойдет, если событие с («родился») начинается в момент 1 (измеренный в мсек) и продолжается до момента 11? Событие с, происходящее в момент 1, пока существует состоя- состояние g, заставляет реле g (зеленый свет) начать отпускать контакты, потому что это событие явилось завершением состояния g. Поскольку g срабатывает или отпускает за 5 мсек, реле g в момент 6 полностью отпущено. В некоторый момент, лежащий между моментами 1 и 6, скажем посере- посередине, т. е. в момент 31/2, ток уже не может течь через контакт реле g. Следовательно, в момент 3V2 уже нельзя получить функцию g-c. Поэтому реле s срабатывает за 2х/2 мсек от момента 1 до момента 31/2, но затем напряжение прекра- прекращается и реле начинает отпускать. Блокирующий контакт Ds реле s, конечно, не будет удерживать реле до момента 9, так как время срабатывания реле s равно 8 мсек. Таким обра- образом, уравнение s=n'a'(gcyDs) не будет выполняться. (Описанное положение изображено в 1-й части рис. 14.6.) Что нужно сделать? Это можно исправить, соединив с каждым из шести реле u = s, m, d, w, r, q второе реле, которое реализует ,DB«, где D9 означает задержку в 9 мсек, и использовав то обстоятельство, что
Зеленый Желтый Красный Зеленый Желтый КрасныйЛ Лоуэлл Авеню Лоуэлл Авеню Отис Стрит I Лоузлл Авеню Отис Стрит Отис Стрит- Рис. 14.4.
Родился Женился Разведен 11 11 1 Установка в Жена умирает исходное полотенце 11 Л Сигма п Зеленый Одино- Же ноты й Разведен- ввдо- Женатый Д свет кий первична ный вевший вторично женство Пампы g s m d w r b Ds 4—I н D'm U'm D'r (o» —i—* —*\t a B9s *—1 b3d *—1 *—i D'r m d w Су Су I Задержка в 9 миллисекунд (у * Рис. 14.5.
Алгебра состояний и событий. Приложение к некоторым задачам 225 реле D9u не будет отпускать, пока не пройдет 9 мсек после начала отпускания реле и. Тогда вместо шести состояний в написанных выше уравнениях мы подставляем DBu. Теперь наши схемы будут работать удовлетворительно. 1 г Время в миллисекундах 3 ЗМ 5 6 7 8 9 Ю II П 13 Рис. 14.6. Чтобы проверить это, рассмотрим вторую часть рис. 14.6. Предположим опять, что событие с («родился») начинается в момент 1 мсек. Реле начнет отпускать, и его кон- контакты разомкнутся, положим, в момент 31/2. Но теперь реле DBgBce еще находится в сработанном состоянии и остается в этом состоянии в течение 9 мсек после размыкания контак- контактов g. Следовательно, реле D9g будет находиться в состоянии «включе«о»домомента121/2. Функция DBgc может быть реа- реализована до окончания с в момент 11. Следовательно, функция sVDs может быть реализована в период от первой миллисекунды до конца рассматриваемого интервала. В нашем общем уравнении есть еще одно противоречие, которое мы должны устранить: в уравнение для т входит 15 Э. Беркли
226 Глава 14 __^_ логическое произведение я и п', которое, конечно, равно нулю. Дело в том, что нужно различать нажатие, кнопки «женится» (событие п) в первый раз и нажатие кнопки во второй или следующий раз. Положим: пх = событие нажатия кнопки в первый раз, п8 = событие нажатия кнопки во второй или в сле- следующий раз. Используя уравнение I1p = p-NH(Hp-Np), мы получаем n1 = n-NH(Hn-N/i), n8 = n-H(Hn-Nn). Уравнения схемы С этой поправкой будут иметь вид: s^n;a(Dgc\/Ds), m^n'i-e'k'a' (D's-^ V Dm), d = n[-a' [(DBm V DBr) e V Dd], w = «; -a' [(DBm V DV) k V Day], r = e'k'a' [(DBm V D9d V Ww) n2 V Dr], g = c' [(DBs V DBm V DBd V DBoy V DBr v DB6) a V Dg]. Схемы показаны на рис. 14.5. 6. Животное-робот Задача, рассмотрение которой мы только что закончили, типична для задач программирования — задач, в которых нам нужно программировать какое-нибудь устройство, например робот, чтобы он вел себя заданным образом. Для управления таким устройством часто бывает нужно преду- предусмотреть 1) набор состояний для него и 2) переходы из одно- одного состояния в другое, когда происходят известные события. Тогда каждое состояние определяет известное поведение или деятельность. Робот — это машина, которая может действовать самостоятельно; таким образом, это нечто боль- большее, чем просто автомат — машина, которая движется самостоятельно. Робот может воспринимать ощущения посредством чувствительных элементов, выполнять действия при помощи исполнительных органов и коррелировать ощу-
Алгебра состояний и событий. Приложение к некоторым задачам 227 щения и действия при помощи схем или механизмов, реали- реализующих один или несколько наборов инструкций.; Эти последние схемы и механизмы внутри робота составляют, его рудиментарный или развитый «орган мышления». Мы отмечали выше, что деятельность робота может рас- распадаться на акты поведения нескольких видов.Например, Скви, электронная белка-робот,.построенная автором и его коллегами в 1950 — 1951 гг. и описанная в журнале «Radio Electronics», декабрь 1951 г., осуществляет деятельность трех видов: ¦ 1) «охоту» — отыскивание «ореха» (теннисного мяча), который белка «хватает» в «руки» (две половины ковша, находящиеся в передней части робота, которые могут откры- открываться и закрываться); < 2) «движение домой» — приближение к «гнезду» (пло- (плоская металлическая пластинка); 3) «укладывание» — раскрывание «рук» по прибытии в гнездо; при этом орех падает, а животное пятится, оставляя орех в гнезде. . ; Эти три вида деятельности следовали один за другим; два первых продолжались в течение неопределенного срока в зависимости от событий; третий длился точно пять секунд. Каждый из этих актов поведения управляется так назыйае- мым «.реле деятельности», или «программным реле»: 1) сово- совокупность ощущений и условий, запускающая программу, возбуждает реле; 2) в ходе данной деятельности сигналы, считываемые контактами программного реле, позволяют осуществлять различные действия, входящие в эту програм- программу поведения; 3) под воздействием совокупности ощущений и условий, останавливающих программу, программное реле отпускает контакты. ', Рассмотрим задачу построения простого животного- робота. | Задача. Построить робот, имитирующий поиск пи|ци, еду^сражлабегание опасности. Какова должна бытцсхрма управления робота? . . '< Решение. Целесообразно установить некоторые правила^ в том числе: ! 1) Когда бы ни появлялся сигнал «опасности», робот немедленно начинает выполнять программу избегания опас- опасности, пока не приходит сигнал «безопасно». 15*
УСЛОВИЯ ПОВЕДЕНИЯ ЖИВОТНОГО-РОБОТА Таблица 14.8 Если состояние животного... Избегание " опасности d ОхОта за пищей А Еда е Сон s Опасность Р нет изменения d d d Поиски пищи / то состояние нет изменения е нет изменения нет изменения и если происходит событие... Сон Безопасно Больше не (усталость) q голоден t i животного переходит в... нет изменения s S нет изменения h нет изменения нет изменения нет изменения нет изменения нет изменения s нет изменения Просыпается w нет изменения нет изменения нет изменения А Установка в исходное положение а А нет изменения А А
Алгебра состояний и событий. Приложение к некоторым задачам 229 2) В остальное время робот обычно ищет пищу, а когда находит—ест, пока не будет «больше не голоден». 3) Будучи «усталым», он засыпает и спит, пока не «про- «проснется». Условия управления этим роботом представлены в табл. 14.3 и 14.4; Уравнения для животного-робота будут иметь вид: d = q'-a' [(D2/i V D2e V D2s) p V Dd], /i = p' •/' •*' [D4-q V D2s-t«y V (D2d V D2e V D2s)a V D/i], e = p'-t'-i'-a'[D*h.f v De], s=p' -w' -a' [(D2/i V D2e) ^ V D2et V Ds]. Их можно реализовать схемами также, как в предыдущей задаче. Таблица 14.4 СОБЫТИЯ, НАЧИНАЮЩИЕ И ЗАКАНЧИВАЮЩИЕ КАЖДОЕ СОСТОЯНИЕ Заканчивающее Состояние Начинающее событие событие Избегание опасности d Охота за пищей h Еда е Сон s (ft V e V «)Р dq V ««> V (d V e V s)a (ft Ve) ^ Vei p\/w\/ a
ГЛАВА IS СИМВОЛИЧЕСКАЯ ЛОГИКА И ПРОГРАММИРОВАНИЕ АВТОМАТИЧЕСКИХ ВЫЧИСЛИТЕЛЬНЫХ МАШИН 1. Логические операции при программировании Пока мы выполняем математические операции с каран- карандашом в руке и, возможно, с помощью настольных счетных машин, мы замечаем числовые операции, встречающиеся при вычислении; но выполняя логические операции в голове или на бумаге, мы часто не замечаем их. Однако, как толь- только мы начинаем применять автоматические вычислитель- вычислительные машины, выполняющие длинные последовательности вычислений, мы быстро обнаруживаем, что нужно обратить внимание как на числовые операции, так и на нечисловые операции, связанные с рассуждениями; и мы обнаруживаем, что полезно выражать логические операции в символах. Эти символы дают нам могучее орудие, которого у нас раньше не было. Кроме того, часто эти символы мож- можно приспособить к обычному математическому языку. Тогда программа вычислительной машины уже не будет двойственной; вся программа приобретает всецело матема- математический, логический, символический характер. 2. Основные логические операции, которые должны выполнять автоматические вычислительные машины В автоматических вычислительных машинах нужно пре- предусмотреть по крайней мере следующие логические операции. 1) Выбор. г Вычислительная машина по указанию р должна быть способна выбрать одно число а или другое число Ъ. Алгебраи- Алгебраическое уравнение для операции/-выбора имеет вид с = ар + Ь(\ — р).
Символическая логика и программирование 231 Здесь аи Ь- числа, ар — двоичная переменная, которая может быть равна 1 или 0. Если р равно 1, то с равно а; если р равно 0, то с равно Ь. 2) Сравнение. Вычислительная машина должна быть способна сравни- сравнивать два числа и определять, равны они или нет. Алгебраи- Алгебраическое уравнение для операции сравнения имеет вид или, что равносильно, q=T (а=?Ь).Если а равно Ь, то р равно 1, a q равно 0. Если а не равно Ь, то р равно 0, a q равно 1. 3) Проверка по допуску. Вычислительная машина должна быть способна решать, меньше ли- некоторая разность d по абсолютной величине, чем некоторый положительный допуск t. Алгебраическое уравнение для этой операции имеет вид p = T(\a\<t). Словами: р равно 1, если абсолютное значение от d меньше t; в противном случае р равно 0. Этот критерий часто приме- применяют в автоматических вычислительных машинах, чтобы определить, следует ли еще раз повторить цикл команд или прекратить его. 4) Формирование последовательностей. Вычислительная машина должна быть способна сравни- сравнивать несколько чисел, представленных на двух или более входных лентах, определять, какое из них наименьшее (или наибольшее), и записывать это число на выходной ленте. Таким образом, две или более ленты последовательных чисел можно объединить в одну ленту последовательных чисел. Алгебраическое уравнение для этой операции (кото- (которая должна включать команду, устанавливающую, что делать, если два представленных числа равны) имеет вид d = а-Т {а < Ь) + Ь-Т {Ь < а) + с -Ч {а= Ь), где с обычно равно а или Ь. Кроме того, в некоторых автоматических вычислитель- вычислительных машинах могут быть другие логические операции, как- то: согласование, объединение, табулирование, сортировка, импликация, отрицание, исключение и т. д.,—или может
232 Глава 15 ¦_ оказаться необходимым ввести их в машину для того, чтобы сделать ее действительно универсальной. 3, Символическая логика, выражающая работу счетного механизма Интересным примером слияния математики и логики в вычислительных машинах служит счетно-перфорационная машина, называемая табулятором (выпускается Междуна- Международной корпорацией деловых машин). Табулятор—это машина, которая либо печатает информацию, содержащую- содержащуюся в серии перфорированных карт, либо печатает по ним итоговые данные, либо делает и то и другое. Помимо прочих устройств, табулятор содержит счетный механизм, который может обрабатывать числа из шести десятичных цифр. Для управления его работой служит коммутационная доска—набор гибких шнуров и штепсель- штепсельных гнезд (отверстий) в одной райе. Эта коммутационная доска со шнурами, вставленными тем или иным образом в гнезда, задает команды или программу для задачи, решае- решаемой табулятором, причем расположение шнуров меняется от задачи к задаче. Рассматривая коммутационную доску табулятора, мы видим четыре входа и один выход счетного механизма. Эти 4 входа следующие: 1) Набор из 6 гнезд—по одному на каждый разряд чисел, называемый «Вход счетчика»; в этот вход поступает шести- шестиразрядное число а. 2) Одиночное гнездо с обозначением «Сложить», в кото- которое поступает импульс р. 3) Одиночное гнеадо с обозначением «Вычесть», в кото- которое поступает импульс q. 4) Одиночное гнездо с обозначением «Общее управление счетчиком», в которое поступает импульс г. Логически импульс может быть равен только 1 (при наличии импульса) или 0 (при отсутствии импульса); но в действительности в машинах важна также синхронизация импульсов. Выходом служит набор/из 6 гнезд с обозначени- обозначением «Итоговый выход счетчика», который выдает число Ъ,
Символическая логика и программирование ' 233 Мы можем выразить работу счетного механизма посред- посредством двух простых алгебраических уравнений. Обозначим число, хранимое в счетчике в какой-либо момент, через h. Тогда при любом цикле х К = К-х A ~ Vi) + а* (Рх - Ях) + 999 999 pxqx Что означают эти уравнения? Если поступает лишь импульс р, то счетчик прибавляет а. Если поступает только импульс q, то счетчик вычитает а. Если поступают и р и 9, счетчик прибавляет 999 999. Если поступает импульс г, то итоговый выход счетчика выдает число, хранимое в счет- счетчике, и счетчик одновременно гасится (очищается).. Очевидно, механизм был бы более гибким, если бы мы могли считывать число в счетчике без гашения. Действи- Действительно, Международная корпорация деловых машин выпу- выпускает модифицированный счетный механизм, в котором это возможно. Поскольку переменные а, Ь и h могут быть обычными числами, этот метод относится к математике. Но р, q иг суть двоичные переменные, которые могут принимать лишь значения 1 или 0, подобно «да» или «нет», и этот метод отно- относится к символической логике. Только при объединении этих двух методов мы можем точно представить действие счетного механизма. 4. Другие связи символической логики с автоматическими вычислительными машинами Но связь символической логики с автоматическими вычи- вычислительными машинами гораздо шире, чем просто сочетание символов символической логики и символов математики в одних и тех же уравнениях. В программировании автома- автоматических вычислительных машин мы встречаем ряд важных вопросов, принадлежащих целиком к области логики, а не математики. Врт некоторые из этих вопросов,
234 ' Глава 15 1) Какой набор команд достаточен для того, чтобы указать автоматической вычислительной машине, как ре- решать любую возможную математическую или логическую задачу, для которой известен возможный способ решения? 2) Как задать вычислительной машине программу, что- чтобы машина сама могла разрабатывать и использовать другие программы? 3) Какой способ задания автоматической вычислитель- вычислительной машине команд или инструкций наиболее эффективен? Некоторые из этих вопросов, конечно, трудны, и на них, быть может, не удастся ответить еще в течение многих лет. Однако на некоторые можно ответить в известной степени и сейчас. Возьмем реальную задачу и посмотрим, как в ней возникают логические вопросы. 5. Извлечение квадратного корня Одной из задач, для которых требуется несколько под- подпрограмм, является извлечение квадратного корня числа с помощью итеративной формулы, т. е. формулы, которая дает все лучший и лучший результат при каждом после- последующем ее применении. Вот одна такая формула для квад- квадратного корня: * Х где Y — число, из которого мы хотим извлечь квадратный корень, & хп — последовательные приближения. Применяя эту формулу, мы получаем каждый последующий раз все более точное приближение к истинному квадратному корню. Мы начинаем с какой-нибудь грубой догадки о квадратном корне числа У; эта первая грубая прикидка обозначается через xv Для проверки метода найдем квадратный корень из 67,2. Мы берем в качестве первой прикидки 8, потому что 8 на 8 будет 64, а 9 на 9 будет 81, между тем как 67,2 лежит между этими числами. Таким образом, 8 есть наше первое прибли- приближение xv В первом цикле 67,2, деленное на 8, дает 8,4. Среднее между 8 и 8,4 есть 8,20. Это и есть х2— наше второе приближение. Оно точно до 3-й цифры. Во втором цикле 67,2, деленное на 8,20, дает 8,195122. Среднее между этим
Символическая логика и программирование 235 числом и 8,20 есть 8,197561. Это и есть х^ наше третье приближение. Оно точно до 6-й цифры. Результат следую- следующего цикла будет 8,1975606125, или xt. Он точен до 10-й цифры. Таким образом, мы видим, что при помощи разумной прикидки и двух или трех делений мы можем получить ту точность, которая нам обычно нужна. Хорошие итеративные формулы носят аналогичный характер: они быстро дают приближение к истинной вели- величине и очень полезны для автоматических вычислительных машин. При решении этой задачи на машине мы различаем 5 подпрограмм: подпрограмму для * считывания данных из входного устройства в устройство хранения; подпрограм- подпрограмму для применения формулы один раз; подпрограмму, опре- определяющую, нужно ли повторить формулу во втором цикле; подпрограмму подготовки к повторению и подпрограмму передачи ответа из устройства хранения в выходное устрой- устройство и остановки. Третья подпрограмма, определяющая, нужно ли повторить цикл, является чисто логической. 6. Автоматическая вычислительная машина 1 Представим себе мысленно и опишем простую автомати- автоматическую вычислительную машину, способную выполнять эту программу. Назовем ее машиной Z. Машина Z имеет входную ленту, выходную ленту и 70 ре- регистров для хранения (как правило) 8 десятичных разрядов. Машина Z имеет арифметическое устройство, которое может принять в один канал наименование операции ОР, принять в два других канала два числа а и b и выдать результат с из четвертого канала: Машина Z имеет регистр программ, который хранит все последовательные команды, управляющие машиной. Мы можем вводить числа или команды в этот регистр или выводить их. из него. Некоторые (но не все) числа будут иметь значение команд для машины Z. Регистр программ обычно хранит 5 разрядов: первых два разряда изображают номер команды п, средний разряд изображает тип команды k, а последних два разряда обычно изображают номер регист-
236 Глава 15 pa г. В каждом цикле команда п, k, г, хранимая в регистре программ, указывает машине, что нужно делать в этом цикле. Мы предполагаем, что числа k, изображающие тип ко- команды, могут меняться от 0 до 9. Используя эти 10 чисел, мы будем обладать достаточной свободой, чтобы указать машине все, что ей нужно делать при извлечении квадрат- квадратного корня. Номера г регистров могут меняться от 10 до 79. Регистры 10—49 обычно хранят команды с таким же номе- номером, что и номер этого регистра; регистры 50—69 обычно хранят числа, с которыми производятся вычисления; а реги- регистры 70—79 обычно хранят константы. Из этих наборов чисел нас больше всего интересуют номе- номера типов команд. За каждым k следует некоторое г. Эти числа k имеют следующие значения: Если k равно 0, то машина передает операцию, хранимую в регистре г, в арифметическое устройство и переходит к следующей по номеру команде. Если k равно 1, то машина передает число, хранимое в регистре г, в регистр -арифметического устройства а и переходит к следующей по номеру команде. Если k равно 2, то машина передает число, хранимое в регистре г, в регистр арифметического устройства Ь и переходит к следующей по номеру команде. Если k равно 3, то машина передает результат из ариф- арифметического устройства в регистр г и переходит к следую- следующей по номеру команде. Если k равно 4, то машина передает число, записанное на входной ленте, в регистр г и переходит к следующей по номеру команде. Если k равно 5, то машина передает число, хранимое в регистре г, на выходную ленту и переходит к следующей по номеру команде. Если к равно 6, то машина получает приказ перейти к команде г (получив ее из регистра г), вместо того чтобы перейти к следующей по номеру команде (как машина делает обычно). Если k равно 7 и если число в регистре 69 равно 1, то машина получает приказ перейти к приказу г; если k равно 7 и число не равно 1, то машина переходит к следующей по номеру команде.
Символическая логика и программирование 237 Если k равно 8 и если число в регистре 69 равно 1, то машина получает инструкцию перейти к команде, хранимой в регистре г; если k равно 8 и если число не равно 1, то машина переходит к следующей по номеру команде. Если k равно 9, то машина останавливается. . Некоторые из номеров регистров, которые могут сле- следовать за номером типа команды &=0, суть 70, 71, 72, 73, 74, 75. Эти регистры содержат сигналы, подготавливающие вычислительную машину соответственно к 6 операциям: 70 —передача с = а', 71 —сложение 72 —вычитание 73 —умножение 74 — деление 75 — неравенство с=а+Ь; с = а: Ь; 7. Программа для извлечения квадратного корня Программа для извлечения квадратного корня с помо- помощью машины Z приведена в табл. 15.1. Таблица 15.1 ПЯТИРАЗРЯДНАЯ КОМАНДА (ХРАНЯЩАЯСЯ В РЕГИСТРАХ 1<М-44) Подпрограмма 1. Считывание данных из входного устрой- устройства в устройство хранения 2. Выполнение форму- формулы один раз Номер П 10 11 12 13 19 20 21 22 -Тип k 4 4 4 6 0 1 2 3 Регистр г 50 56 51 19 74 50 56 52 Значение Ввести У в регистр 50 Ввести хг в регистр 56 Ввести х/2 в регистр 51 Перейти к команде 19 Приказ «.деление* в арифметическое ус- устройство У в арифметическое устройство хп в арифметическое устройство Y/xn в регистр 52
Продолжение табл. 15.1 , Подпрограмма Номер п 23 24 25 26 . 27 28 29 . 30 3. Определить, еле- 32 дует ли повторить или нет 33 34 • ¦ - 35 36 37 4. Подготовка к пов- 38 торению 39 Тип k 0 1 3 0 1 2 3 6 0 1 2 3 7 6 0 1 Регистр г 71 52 53 73 53 51 57 32 75 56 57 69 38 43 70 57 Значение Приказ «сложение» в арифметическое уст- устройство У/хп в арифметиче- арифметическое устройство Хп+У/Хп в регистр 53 Приказ «умножение» в арифметическом устройстве *п+У/*п в арифме- арифметическое устройство V2 в арифметическое устройство 1/2(xn + Y/xn) = xn+l в регистр 57 Перейти к. команде 32 Приказ «неравенство» в арифметическое устройство хп в арифметическое устройство *n+i B арифметическое устройство Т (*п =? xn+i) в ре- регистр 69 Перейти к команде 38, если в регистре 6Е единица Перейти к команде 42 Приказ «передать» в . арифметическое уст- устройство Старое xn+i в ариф- арифметическое устрой- устройство, приравнять новому хп
СимвЬлическая логика и программирование 239 Подпрограмма 5. Передача ответа из устройства хране- хранения в выходное устройство и оста- остановка Номер h 40 41 43 44 Тип k 3 6 5 9 -Продолжение табл. 15.1 Регистр г 56 19 57 44 Значение Новое хп в регистр 56 Перейти к команде IE *n+i B регистре 57 в выходное устрой- устройство Остановка ,, Первая подпрограмма состоит, из команд 10, 11, 12. Здесь мы считываем данные с входной ленты в регистры машины. Затем мы переходим к приказу 19. s Далее выполняется подпрограмма № 2. Командами 19-=-29 мы охватываем деление, сложение и умножение, требуемые итеративной формулой* Затем мы переходим к приказу 32. В подпрограмме № 3 приказами 32-=-35 мы охватываем неравенство; мы проверяем два последовательных прибли- приближения, чтобы определить, равны они или не равны. Если они не равны, то мы записываем в регистр 69 единицу (на практике мы будем полагать, что если разность меньше известного допуска, то они равны). Теперь мы приступаем к операции выбора программы. Применяя команду 36, мы переходим к команде 38 тогда и только тогда, когда в регистре 69 стоит 1, иными словами, когда хп и хи+1 не равны. Если в регистре 69 стоит 0, иными словами, если последние, два х равны, то мы переходим к следующей команде 37, которая направляет нас к коман- команде 43. Командами 38-=-40 мы исключаем хп из итеративной фор- формулы в подпрограмме № 2 и вводим вместо него xntl. Затем командой 41 мы переходим к подпрограмме № 2, по которой будет вычисляться следующее приближение. Командой 43 мы считываем окончательное значение искомого корня х на выходную ленту и следующей командой останавливаем машину. Таким образом, мы видим, как можно программировать извлечение квадратного корня при помощи машины.
240 Глава 16 . В этой программе нам нужно было ввести операцию установления неравенства, которая относится скорее к логи- логике, чем к математике. Мы должны были ввести различные подпрограммы; это логика, а не математика. Мы должны были предусмотреть разветвление инструкций; это логика, а не математика. Мы должны были предусмотреть средства, которые позволили бы машине самой решать, когда нужно остановиться по формуле и выдать ответ; это также логика, а не математика. Можно предвидеть, что в дальнейшем будет происходить все большее слияние между числовой математикой, с одной стороны, и нечисловыми рассуждениями, или символиче- символической логикой,— с другой. Уже сейчас существуют машины, играющие в игры, машины, отделяющие истинные сочета- сочетания высказывании от ложных "сочетаний, и другие типы машин для обработки информации, работа которых основы- основывается .скорее на логических, чем математических способ- способностях. Символическая логика, разумные машины и мате- математика будут и впредь многообразно и существенно обога- обогащать друг друга.
ИЗБРАННАЯ БИБЛИОГРАФИЯ /. Символическая логика. История Буль, Джордж, Исследование законов мысли. (Boole George, Investigation of the Laws of Thought, London, Eng., Walton, 1854.) Переиздавалось много раз, в частности в издании Dover Publi- Publications, New York. Основополагающий труд Буля. Буль, Джордж, Математический анализ логики. (Boole George, The Mathematical Analysis of Logic, Cambridge, England, 1847.) Переиздано в Oxford Press, New York, 1948. В е н и, Джон, Символическая логика. (Venn Jo h.n, Symbolic Logic, London, Eng., Macmillan & Co., 1894.) Содержит 19 задач с решениями (стр. 331—359). Д о д ж с о н К- Л. (Л ь'ю ис Кэрролл), Символи- Символическая логика, ч. 1. [D о d g s о п С. L. (Lewis Carroll), Symbolic Logic, Part I, Elementary, 4 th edition, London, Eng.; Macmillan & Co., 1897, 232 pp.] Перепечатано в 1955 г. фирмой Berkley Enterprises.Newton- ville, Mass. Содержит неподражаемые и увлекательные задачи Льюиса Кэрролла по символической логике, его метод решения (ныне устаревший) и наброски частей II и III, которые так и не бы- были им написаны (он умер в 1898 г.). Хантингтон Э.В., Системы независимых постулатов для алгебры логики. (Huntington E. V., Sets of Independent Postulates for the Algebra of Logic, Trans. Amer. Math. Soc, V, 1904, pp. 288—309.) Источник, из которого взяты постулаты, приведенные в гл. 6. 1U 16 Э. Беркли
242 Избранная библиография Рассел Б. и УайтхедА. Н., Начала математики, в 3-х т. (R u s s е 1 1 В. and W h i t e h e a d • A. N.. Principia Mathematica, 3 vols., Cambridge, Eng., The University Press, 1910—1913.) Значительная веха на пути попыток возвести основания мате- математики на прочном логическом базнсе небольшого числа неопреде- неопределимых понятий и недоказуемых утверждений. Шеннон, Клод, Символический анализ схем из ре- реле и переключателей. (Shannon Claude E., A Symbolic Analysis of Relay and Switching Circuits, Trans. Amer. Inst. Elect. Enginrs, vol. 57, 1938, pp. 713— 723.) Перепечатано в 1952 г. фирмой Berkeley Enterprises, Newtonville, Mass. Первое применение булевой алгебры к реле и схемным эле- элементам типа «да—нет». 2. Символическая логика в современном изложении Пфейфер, Джон. Символическая логика. (Р f e i f- f e r John E., Symbolic Logic, In Scientific American, December, 1950, vol. 183, N 6, pp. 22—24, обсуждение этой статьи см. в Scientific American, February, 1951, vol. 184, № 2, pp. 2—6.) Интересное н занимательное введение в символическую логику и возможности ее применения. В обсуждении исправлены некоторые неточности статьи. Вероятно, читатели будут несогласны с некото- некоторыми нз наиболее оптимистических суждений этой статьи. Лэнджер С, Введение в символическую логику. (L а п- g e r S. K-, An Introduction to Symbolic Logic, Boston, Mass., HoughtonMifflinCo., 1937, 363 pp. Перепечатано фирмой Dover Publications, New York.) Хорошее введение с упором на философскую сторону предмета. Блек М., Критическое мышление. Введение в логику и научный метод. (Black Max, Critical Thinking. An Introduction to Logic and Scientific Method, New York, Prentice Hall, Inc., 1946, 402 pp.) Интересное н полезное изложение. Беркли Э., Булева алгебра (Методика действий с «И», «ИЛИ», «НЕ» и условиями) и её приложения к страхо- страховому делу. [Berkley E., Boolean Algebra (The
Избранная библиография 243 Technique for Manipulating «And», «Or», «Not», and Con- Conditions) and Applications to Insurance, Record of the American Institute of Actuaries, vol. -26, part 2, Oct., 1937, pp. 373—414; vol. 27, part I, June, 1938, pp. 167— 176.] Обсуждение этой работы с участием Т. Н.Э. Гревилля, Г. М. Са- расона и Э. К. Беркли опубликовано в этом же журнале, vol. 27, part I, June, 1938, pp. 167—176. Перепечатано в 1952 г. фирмой Berkeley Enterprises, Newtonville, Mass. Применение булевой алгебры для устранения противоречий и упущений в реальных договорах и правилах. Беркли Э., Краткий очерк символической логики и ее практических применений. (Berkeley E.,A Summary of Symbolic Logic and its Practical Applications, New- Newtonville, Mass., Berkeley Enterprises, 4th printing, 1957, 24 pp.) Правила вычислений с помощью булевой алгебры; краткое описание других разделоз символической логики; применение буле- булевой алгебры к вычислительным машинам, схемам и договорам; приводится много полных задач и решений. Беркли Э., Символическая логика. 20 задач и решений. (Berkeley E., Symbolic Logic — Twenty Problems and Solutions, Newtonville, Mass., Berkeley Enterprises, 2nd printing, 1955, 28 pp.) Содержит двадцать полных задач по булевой алгебре и другим разделам символической логики, в том числе ранее не опубликован- опубликованные задачи Льюиса Кэрролла'и Джона Венна и ряд новых. Руко- Руководство по применению символической логики в реальных ситуациях. ТарскийА. (Tarski A., Introduction to Logic, and to the Methodology of the Deductive Sciences, New York, Oxford University Press, 1941,239 pp.). [Русский пере- перевод: Введение в логику и методологию дедуктивных наук, ИЛ, М., 1948.] Первоклассное введение в символическую логику, основанное, больше на математических, нежели на философских примерах. В уд ж ер Д ж., Аксиоматический метод в биологии. (Woodger J. H., The Axiomatic Method in Biology, Cambridge, Eng. The University Press, 1937, 174 pp.) Гл. 2, стр. 18—52, представляет собой превосходное краткое из- изложение основных понятий математической логики, основанное на идеях книги «Principia Mathematica». 16*
244 Избранная библиография Кар н an P., Введение в символическую логику и ее применения. (С а г n a p R., Introduction to Symbolic Logic and its Applications, trans, by Wm. H. Meyer and J. Wilkinson, New York, Dover Publications, Inc., 1958, 241 p.) Квайн, Уиллард Ван Орман, Математическая логика. (Quine, Will'ard Van Orm an, Mathe- Mathematical Logic, New York, W. W. Norton & Co., Inc., 1940, 348 pp.) Д э й в и с M. (Davis M., Computability and Unsolvability, New York, McGraw-Hill Book Co., Inc., 1958, 210 pp.) 3. Символическая логика и переключательные схемы Кейстер У.,Ритчи А. иУошберн С, Проекти- Проектирование переключательных схем. (К е i s t e r W., Ritchie A. E. and W ashb u r n S. H., The Design of Switching Circuits, New York, D. Van Nostrand Co., 1951, 576 pp.) Беркли Э., Схемная алгебра. Введение. (Berkeley E., Circuit Algebra—Introduction, Newtonville, Mass;, Berkeley Enterprises, 1953, 34 pp., переработанное изда- - ние.) Видоизмененная булева алгебра, включающая время, которая применима к схемам типа «да — нет» как статическим, так и после- довательностным. Колдуэлл С, Переключательные схемы и логический синтез. (С а 1 d wе 11 S. H.,SwitchingCircuits and Logical Design, New York, John Wiley & Sons, Inc., 1958,686 pp.) [Готовится4русский перевод: Логический синтез релейных устройств. М., ИЛ.] 4. Логический синтез рассуждающих и вычислительных машин Ф и с т е р М., Логический синтез цифровых вычислитель- вычислительных машин. (Phister Montgomery, Logical
Избранная библиография 245 Design of Digital Computers, New York, John Wiley & Sons, Inc., 1958, 408 pp.) Беркли Э., Гигантские мозги, или Думающие машины. (Berkeley E.,Giant Brains or Machines that Think, New York, John Wiley & Sons, Inc., 1949, 270 pp.) Глава 9 посвящена описанию вычислителя логической истин- истинности Калина — Буркгарта. Беркли Э. и ЕнсенР., Конструирование электриче- электрических мозгов. (Berkeley E. and Jensen R. A., Constructing Electric Brains, Newtonvilie,Mass., Berkeley Enterprises, 3rd printing, 1957, 40 pp.) Перепечатка серии тринадцати статей, опубликованных в Radio Electronics, Oct. 1950—Oct. 1951. В них объясняется, как устроена автоматическая вычислитель- вычислительная машина, как она может складывать, вычитать, умножать, делить н решать задачи автоматически. Беркли Э., Брейниаки. Простые электромозговые ма- машины и как их сделать, включая «гениаки»и «тиниаки». (Berkeley E., Brainiacs — Simple Electric Brain Machines and How to Make Them — Including Geniacs and Tyniacs, Newtonville, Mass., Berkeley Enterprises, 1955—1958, 198 pp.) Собрание 8 отчетов с описанием задач и решений и со схемами 151 машины «Брейннак» (Brainiac) — малых электрических машин, которые могут рассуждать нлн производить арифметические нлн логи- логические вычисления, решать головоломки, играть в игры (в том числе в «крестнкн н нолнкн»н в «ннм»),пррверятьс помощью тестов умствен- умственное развитие, шифровать н дешифровывать н т. д. Используется набор «Brainiac К 17» для конструирования малых электромозго- электромозговых машин. Пять из этих брейннаков описаны в гл. 8 и 9 настоящей книги. 5. Разное Томсон Дж., Предвидимое будущее. (Thomson Sir George Paget, The Foreseeable Future, London, Eng., Cambridge University Press, 1955, 166 pp.) [Рус- [Русский перевод: Предвидимое будущее, Мм ИЛ, 1958.] 17 Э. Беркли
ДОПОЛНИТЕЛЬНАЯ БИБЛИОГРАФИЯ /. Общая литература по математической логике Новиков П. С, Элементы математической логики, Физматгиз, М., 1959. Систематический современный курс основ математической ло- логики, включая очерк аксиоматической арифметики. Гильберт Д. и АккерманВ., Основы теорети- теоретической логики, пер. с нем., ИЛ, М., 1947. Учебник по математической логике, написанный в 1928 г. и в, основном сохранивший свое значение, хотя кое в чем он уже устарел. . . . . . Я но в с к а я С. А., Математическая логика и основания математики, в сб. «Математика в СССР за- сорок лет "A917—1957)», т. I, Физматгиз, М., 1959. Большая обзорная статья о развитии математической логики и исследований по основаниям математики в СССР с 1917 г. Подроб- Подробное перечисление трудов советских ученых в этих областях. Марков А. А., Логика математическая, БСЭ, 2-е изд., т. 25, 1954, стр. 338—341. • - . Ко л.ьм а Н.Э., Значение символической логики, в сб. «Логические исследования», Йзд-во АН СССР, М., 1959, стр. 3—19. Общая статья об истории развития и современном значении мате- математической, или символической, логики.
Дополнительная библиография . 247 К л ин и С К-. Введение в метаматематику, пер. с англ., ИЛ, М., 1957. Обширная монография по математической логике, снабженная большой библиографией. Субботин А. Л., Математическая логика — ступень . в развитии формальной логики, «Вопросы философии», 1960, № 9, стр. 93—99. Обсуждаются связи математической логики с предыдущими системами формальной логики. Субботин А. Л., Что дает нам знание формальной логи- логики, «Вопросы философии», 1961, № 4, стр. 142—150. Популярная вводная статья о математической логике и ее при- применениях. Гетманова А. Д.,О соотношении математики и логики в системах типа Principia Mathematica в сб. «Логические исследования», Изд-во АН СССР, М., 1959, стр. 189— 217. 2. Булева алгебра (алгебра логики) Волков М., Логическое исчисление, Спб, 1888. Первый русский учебник по алгебре логики (и математической логике вообще). Кутюра Л., Алгебра логики, пер. с франц., изд-во «Ma- thesis», Одесса, 1909. Эта книга до сих пор остается наиболее полным общедоступным курсом булевой алгебры на русском языке, хотя ряд разделов ее устарел. Термин «булева алгебра» в ней еще не употребляется, говорится просто об «алгебре логики», как это было принято в XIX в. Книга подводит итог развитию алгебры логики XIX в. Большое внимание уделено в ней работам русского ученого П. С. Порецкого. Б и р к г о ф Г., Теория структур, пер. с англ., ИЛ, М., 1952. Монография о булевых алгебрах и их обобщениях — так назы- называемых «структурах». Излагается современная концепция булевой алгебры и затрагивается ряд интересных логических-вопросов; однако изложение рассчитано на квалифицированных математиков. См. также книги Новикова и Гильберта — Аккермана из пре- предыдущего раздела библиографии и книги Гаврилова и Рогинского — Харкевича из следующего раздела. 17*
248 Дополнительная библиография •__ 3. Технические применения математической логики Эренфест П., Рецензия на книгу Л. Кутюра «Алгебра логики», «Журнал Русского физ.-хим. о-ва, Физ. отдел», 1910, т. 42, отделение 2, вып. 10, стр. 382—387. Первое упоминание о возможности применения алгебры логи- логики к анализу релейных схем. Герсеванов Н.М., Применение математической логи- логики к расчету сооружений, Собр. соч., т. I, Стройвоен- мориздат, М., 1948, стр. 123—204. Перепечатка работы, опубликованной в 1923 г. Шеста ков В. И., Алгебра двухполюсных схем, построен- построенных исключительно из двухполюсников (алгебра А-схем), «Журнал технической физики», 1941, т. 11, вып. 6, стр. 532—549. Одна из первых работ по применению булевой алгебры к анали- анализу и синтезу релейных схем (частичное изложение кандидатской диссертации автора, защищенной в 1938 г.). Гаврилов М. А., Теория релейно-контактных схем, Изд-во АН СССР, М.—Л., 1950. Первая монография по применению булевой алгебры (алгебры логики) в теории релейно-контактных схем. Рогинский В. Н. иХаркевичА. Д., Релейные схемы в телефонии, Связьиздат, М., 1955. Изложение основ алгебрологической теории релейно-контакт- релейно-контактных схем в применении к схемам телефонии.' Автоматы, сб. статей под ред. К- Э. Шеннона и Дж. Маккарти, пер. с англ., ИЛ, М., 1956. Сборник статей по логической теории конечных автоматов и так называемым машинам Тьюринга. Яновская С. А.,О некоторых чертах математической логики и отношении ее к техническим приложениям, в сб. «Применение логики в науке и технике», Изд-во АН СССР, М., 1960, стр. 3—21. Общая статья о развитии математической логики и ее техни- технических приложений с обзором работ советских авторов.
Дополнительная библиография 249 Марков А. А., Математическая логика и вычислитель- вычислительная математика, «Вестник АН СССР», 1957, № 8, стр. 21—25. Популярная статья. Поваров Г. Н., Логика и автоматизация, в сб. «Логи- «Логические исследования»,. Изд-во АН СССР, М., 1959, стр. 300—314. Популярно-обзорная статья. Обширная библиография. Поваров Г. Н., Логика на службе автоматизации и тех- технического прогресса, «Вопросы философии», 1959, № 10, стр. 48—62. Общая статья о развитии и современном состоянии техничес- технической логики. Поваров Г. Н., Событийный и сужденческий аспекты логики в связи с логическими задачами техники, в сб. «Применение логики в науке и технике», Изд-во АН СССР, М., 1960, стр. 415—420. Обсуждаются вопросы логики событий применительно к техни- техническим проблемам. 4. Мозг и машина* Винер Н,, Кибернетика, или Управление и связь в жи- животном и машине, пер. с англ., изд-во «Советское радио», М., 1958. Проблемная книга, вышедшая впервые в 1948 г. и вызвавшая многочисленные и ожесточенные споры. Книга ставит в развернутой форме вопросов аналогии между мозгом и современными управляю- управляющими и вычислительными машинами. Колмогоров А. Н., Кибернетика, БСЭ, 2-е изд., т. 51, 1958, стр. 149—151. Полетаев И. А., Сигнал, изд-во «Советское радио», М., 1958. Обзорно-популярная книга по кибернетике. Большая библио- библиография. * При ознакомлении с этой литературой следует учитывать наличие дискуссии (см. предисловие редактора перевода) и соответ- соответствующее расхождение точек зрения.
250 Дополнительная библиография _ Косе а П., Кибернетика, стер. с. франц., ИЛ, М., 1958. Обзйрно-крнтнческая книга. ' Ивахненко А. Г., Техническая кибернетика, Гостех- издат УССР, Киев, 1959. Монография. В одном нз разделов обсуждается проблема «мозг— машина». ' ' . Моисеев В. Д., Вопросы кибернетики в биологии и меди- медицине, Медгиз, М., 1960. Обзорная книга. Большая библиография. Т е п л о в Л., Очерки о кибернетике, изд-во «Московский рабочий», М., 1939.. : Популярная книга. Соколовский Ю. И., Кибернетика настоящего и бу- будущего, Харьковское книжное изд-во, Харьков, 1959. Популярно-обзорная книга. Нейман Дж., Вычислительная машина и мозг, пер. с англ., «Кибернетический сборник», вып. 1, ИЛ, М., I960, стр. 11—60. Проблемная статья. Тьюринг А., Может ли машина мыслить?, пер. с англ., Физматгиз, М., 1960. Общая,работа с приложением статьи Дж. Неймана «Общая н ло- логическая теория автоматов». Ро венский 3., УёмовА. и Уёмова Е., Машина и мысль (Философский очерк о кибернетике), Госпо- литиздат, М., 1960. КопнинП. В., Понятие мышления и кибернетика, «Вопро- «Вопросы философии», 1961, № 2, стр. 103—112. Гуляев П. И., Мозг и электронная машина, Л., 1960 (О-во по распространению полит, и науч. знаний РСФСР, Ленингр. отд-ние). Маккалок У. С. и Пнттс В., Логическое исчисление идей, относящихся к нервной Активности, в сб. «Автома- «Автоматы», пер. с англ. ИЛ, М., 1956, стр. 362—384,
....... . .. - . Дополнительная библиография 251 Одна ¦ из первых работ по применению математической логики к описанию.деятельности:мозга. . ' ' .' . ... Гааз е-Р аппопортМ. Г., Автоматы и живые орга- организмы (Моделирование поведения живых организмов), Ьизматгиз, М., 1961. Популярная книга. Симпозиум по проектированию машин, имитирующих по- поведение человеческого мозга, пер. с англ., «Кибернети- «Кибернетический сборник», вып. 1, ИЛ, М., 1960, стр. 61—98. Доклады на симпозиуме в Институте радиоинженеров в 1955 г. (США) и дискуссии по ним. СузерлендУ. Р., Магглин М. Дж. и С у з е р- л е н д И., Электромеханическая модель простых жи- животных, пер. с англ., «Кибернетический сборник», вып. 1, ИЛ, М.. 1960, стр. 257—274. Э ш б и У. Р., Схема усилителя умственных способностей, в сб. «Автоматы», пер. с англ., ИЛ, М., 1956, стр. 281—305. 5. Современные вычислительные машины и программирование Кобринский Н. Е. и Пекелис В. Д., Быстрее мысли, изд-во «Молодая гвардия», М., 1959. Популярная книга о развитии вычислительной техники и ки- кибернетики, касается также и проблемы «мозг — машина». Китов А. И., Электронные цифровые машины, изд-во «Советское радио», М., 1956. Изложение основ и обзор состояния исследований. Китов А. И. и Криницкий Н. А., Электронные цифровые машины и программирование, Физматгиз, М., 1959. Систематический учебный курс. Описание советских машин. Подробное изложение методики программирования. Трахтенброт Б. А., Алгоритмы и машинное решение задач, Гостехиздат, М., 1957, Популярная книга.
252 Дополнительная библиография Мак -КракенД. Д., Программирование для цифровых вычислительных машин, пер. с англ., ИЛ, М., 1960. Учебник. Г и н о д м а н В. А.," Механизация учета и вычислитель- вычислительных работ, Машгиз, М., 1950. Описание счетно-клавишных и счетно-перфорационных машин (табуляторы и др.).
ПРИМЕЧАНИЯ РЕДАКТОРА ПЕРЕВОДА 1 (к стр. 26). Термины «символическая логика» и «математиче- «математическая логика» обычно употребляются как точные синонимы, обозна- обозначая одно и то же направление современной логики, которое на данном этапе развития можно определить в общем как изучение форм мысли: понятий, суждений и умозаключений с помощью логических исчи- исчислений. Нетрудно видеть, что это и стоит как раз за «тремя чертами», о которых говорит Беркли. О существе этого направления уже гово- говорилось в предисловии редактора перевода. Обычно символическая, или математическая, логика рассматривается как часть формальной логики. Термин «математическая логика» более распространен в рус- русской литературе, чем термин «символическая логика», и, пожалуй, он лучше отображает важнейшую особенность рассматриваемого направления логики — использование логических исчислений. Термин «логистика» у древних греков означал просто искусство счета. Как новое название математической, или символической, логики он был предложен, в 1904 г. на Международном философском конгрессе. Однако практически под «логистикой» большей частью понимают лишь символико-логическую систему английского логика и философа Б. Рассела и поэтому нередко связывают термин «логи- «логистика» с «логицизмом»— философией математики Рассела, хотев- хотевшего свести всю математику к логике, что ему, однако, не удалось. Что касается термина «аксиоматический метод», то он означает собственно сведение всех истин («теорем») той или иной теории, например геометрии, к немногим исходным положениям («аксиомам», или «постулатам»), уже недоказуемым в данной теории, и сведение всех понятий теории к немногим основным понятиям, далее в этой теории неопределимым. Современный строгий аксиоматический метод
254 Примечание редактора перевода ¦ действительно сливается с математической логикой., ибо он целиком построен на применении логических исчислений. Однако в более простой форме аксиоматический метод был известен весьма давно, задолго до возникновения математической логики, и применялся, хотя и без полной формальной строгости, Евклидом, Ньютоном и др. 2 (к стр. 27). Если считать, символическую, или математиче- математическую, логику частью или направлением логики, хотя бы и подра- подражающим математике или применяющим ее методы, то вопрос о соот- соотношении символической, или математической, логики и математики, конечно, будет зависеть от вопроса о соотношении логики и матема- математики вообще. Этот последний вопрос, весьма тонкий и сложный, был предметом длительных споров, в ходе которых некоторое пытались сводить либо математику к логике (Б. Рассел и др.),-^ибо, наоборот, логику к математике. В общем можно считать, что логика и мате- математика— весьма родственные и взаимосвязанные, но отнюдь не тождественные области. Отсюда вытекает, что символическая, или математическая, логика не есть часть математики, хотя на практике большинство специалистов по математической логике принадлежат к профессиональным математикам. 3 (к стр. 29). Трехтомный труд двух английских логиков и философов Б. Рассела и А. Н. Уайтхеда —«Principia mathematical» действительно сыграл большую роль в истории математической логики и значительно способствовал развитию и усовершенствова- усовершенствованию логической символики и логических исчислений. Однако руко- руководившее авторами намерение полностью формализировать мате- математику с помощью логических исчислений, связанное с их «логи- «логицизмом» и их философскими взглядами, которые с марксистских позиций неоднократно оценивались как идеалистические, потер- потерпело неудачу, так как авторы не смогли обойтись без содержатель- содержательных, неформализируемых аксиом при рассмотрении математической бесконечности. 4 (к стр. 29). Этот перечень разделов символической логики, как нетрудно видеть, составлен чисто эмпирически. Он не вполне строг (не указаны основания деления) и, как намекает автор словами «по крайней мере», .не полон. Здесь просто указываются ведущие направления исследований, как они в первом приближении вырисо- вырисовываются в практике работ по символической логике на текущий Момент.". :. • .: - - - •¦.-: . ;¦ ..: -..;-.•¦,-¦..-¦¦
Примечание редактора перевода 255 Из остальных направлений можно указать, например, исследо- исследования по модальной логике, т. е. исследования суждений с несколь- несколькими возможными логическими значениями (скажем, типа «невоз- «невозможно — возможно — необходимо» или «да — нет — бессмысленно», вместо обычного «да — нет»), и исследования по семантике, т. е. исследования соотношений между дедуктивными (аксиоматическими) теориями и удовлетворяющими им системами объектов. Однако эти две области символической логики еще недостаточно разрабо- разработаны, и в них много дискуссионного, спорного. 5 (к стр. 37). Операторы (Ад:) и (Ex) часто называются кванто- кванторами, т. е. «количественными определителями», так как они опреде- определяют, к какому количеству предметов относится высказывание; правда, такое определение в данном случае весьма примитивно, сводясь к указаниям: «хотя бы один» и «все». Оператор (Ад;) назы- называется тогда квантором общности, оператор (Ex) — квантором суще- существования; иногда в русской литературе используются также латин- латинские названия: «универсальный квантор» для (Ад;) и «экзистен- «экзистенциальный квантор» для (Ex). 6 (к стр. 46). Такой ответ, конечна, связан с точкой зрения автора на «разумные машины» и в конечном счете сводится к воп- вопросу о различии между мозгом и машиной (см. предисловие редак- редактора перевода). 7 (к стр. 52). Большую роль в развитии булевой алгебры, как и математической логики вообще, сыграли наши русские ученые. В частности выдающемуся русскому логику XIX в. П. С. Порец- кому принадлежат глубокие исследования по булевой алгебре («алгебре логики»), оказавшие серьезное влияние на ее дальнейшее состояние. 8 (к стр. 52). См. Предисловие редактора перевода, IV. 9. (к стр. 102). Такие «разумные» светофоры применяются также и в Советском Союзе. См., например, Г. Никитин, УмЯые светофоры, «За рулем», 1959, № 4, стр. 28.
Оглавление Предисловие редактора перевода . . . 5 Предисловие 19 Глава 1. Символическая логика. Введение 23 1. Чем занимается символическая логика? 23 2. Что такое символическая логика? 25 3. Сравнение символической логики и математики .... 26 4. Простой пример символической логики 27 5. Разделы символической логики 28 Глава 2. Символическая логика. Основные понятия .... 30 1. Иллюстративный пример 30 2. Предметы, или элементы 31 3. Один ..:, другой ..., еще один 32 4. Свойства, особенности, роды, виды 33 5. Отношения 34 6. Высказывания, суждения, утверждения, предложения 35 7. Связки высказываний 35 8. Оператор общности и оператор существования .... 37 9. Три формулировки ответов, переписанные на языке символической логики 38 10. Оператор класса 38 11. Относительное произведение 39 12. Определение родственных отношений 39 13. Главные понятия символической логики 41 14. Можно ли выразить оперативными символами какие- либо другие отношения? 46 Глава 3. Булева алгебра. Введение 48 1. Часть символической логики с полезными приме- применениями .• 48 2. Слова, принадлежащие булевой алгебре 49
Оглавление 257 3. Типичная задача и ответ из булевой алгебры .... 49 4. Происхождение булевой алгебры . . 51 5. Как булева алгебра связана с обычной алгеброй? ... 52 6. Понятие класса 54 Глава 4. Булева алгебра. Основные понятия 5? 1. Исходные положения 57 2. Распознавание понятий булевой алгебры, выраженных на обычном языке 60 3. Включение классов 61 4. Равенство классов 64 5. Неравенство классов 65 6. Нулевой класс 65 7. Классы, которые не являются пустыми 66 8. И; распознавание классов несколькими способами . . 67 9. Отрицание класса 68 10. Исключение 69 11. ИЛИ (И/ИЛИ, ИЛИ ЖЕ) 70 12. Нулевой класс и универсальный класс 71 13. Только ... может быть 72 14. Последний пример 72 15. Сводка переводов 73 Глава 5. Булева алгебра. Вычисления 76 1. Сводка правил для символических вычислений с по- помощью булевой алгебры 76 2. Пример вычислений 79 3. Почему верны правила вычислений в булевой алгебре? 81 4. Сводка правил для графических вычислений с по- помощью булевой алгебры 82 5. Пример графического вычисления 86 Глава 6. Булева алгебра. Математическое определение ... 88 1. Математическое определение булевой алгебры .... 88 2. Система постулатов 89 3. Интерпретации булевой алгебры 91 4. Интерпретация с помощью значений истинности пред- предложений 94 Глава 7. Разумные машины 100 1. Существуют ли в действительности разумные машины? 100 2. Пример разумной машины 100 3. Как машина сохраняет знания? 102
258 Оглавление 4. Разумные операции: над информацией .. . . , ... . 104 5. Типы разумных машин ;..",.: 105 6. Принятые названия разумных машин , 109 7. Основные принципы разумных машин . ПО Глава 8. Малые разумные машины. Некоторые простые задачи 113 1. Поведение машин '''. 113 2. Переключатели 116 3. Проектирование малых разумных машин ....;. 119 4. Задача об освещении вестибюля 119 5. Задача о завещании Брюса Кемпбелла 122 Глава 9. Малые рассуждающие машины. Силлогистическая машина и другие задачи 127 1. Задача о силлогистической машине 127 2. Задача о вычислителе логической истинности .... 135 3. Задача о рассуждении редактора журнала .... 138 4. Рассуждают ли эти машины? 141 Глава 10. Большие вычислительные машины. Задача сло- сложения десятичных чисел 143 1. Десятичная таблица сложения в физическом воплощении 144 2. Десятичная таблица сложения, выраженная переключа- переключателями на десять положений 145 3. Критические замечания 147 4. Таблица десятичного сложения, выраженная с по- помощью восьми двухпозиционных переключателей . . 148 5. Первый выход S\ 149 6. Второй выход С\ 150 7. Следующие три выхода S2, S4, S8 153 Глава 11. Большие вычислительные машины. Проблемы хра- хранения, передачи и организации 157 1. Другие задачи для вычислительных схем 157 2. Организация автоматической вычислительной машины 158 3. Конкретный пример организации -. 159 4. Синхронизация . . . ;. 161 5. Передача информации 162 6. Схема является общей 163 Глава 12. Большие вычислительные машины. Сложение, вычитание, умножение и деление Двоичных чисел . . 164 1. Сложение двух четырехразрядных двоичных чисел 164
Оглавление 259 - 2. Уравнения булевой алгебры для двоичного .сложения 165 3. Схемы двоичного сложения 167 4. Усовершенствование схем 169 5. Вычитание двух четырехразрядных двоичных чисел 170 6. Схемы для двоичного вычитания . ; 173 7. Умножение двух четырехразрядных двоичных чисел 176 8. Деление двоичных восьмиразрядных чисел на двоичное четырехразрядное число 182 Глава 13. Алгебра состояний и событий. Основные понятия 190 • 1. Обобщенная булева алгебра, включающая время . . . 190 2. Единицы времени 192 3. Ступенчатые функции ; . . 192 4. Новые операторы и их определения 196 5. Оператор ЗАДЕРЖКА 196 6. Оператор ПРОИСХОДИТЬ 200 7. Функциональные операторы в обычной алгебре и ана- анализе 202 8. ДО, ПОСЛЕ, ПРИХОД и ОСТАВЛЕНИЕ .... 203 9. ПЕРВЫЙ РАЗ, ВТОРОЙ РАЗ 205 10. Заданные моменты 206 И. Состояния и события 208 Глава 14. Алгебра состояний и событий. Приложение к некото- некоторым задачам 209 1. Применение алгебры состояний и событий к анализу работы схемных элементов 209 2. Задача сигнализации 212 3. Автоматическая нефтяная топка 216 4. Чувствительный светофор 218 5. Мельница разводов с сигнализацией двоеженства ... 220 6. Животное-робот ... . . 226 Глава 15. Символическая логика и программирование ав- автоматических вычислительных машин 230 .1. Логические операции при программировании .... 230 2. Основные дорические операции, которые должны выполнять .автоматические вычислительные машины 230 3. Символическая логика, выражающая работу счетного механизма 232 4. Другие связи символической логики с автоматиче- автоматическими вычислительными машинами 233
260 Оглавление 5. Извлечение квадратного корня 234 6. Автоматическая вычислительная машина Z .'.... 235 7. Программа для извлечения квадратного корня . . . 237 Избранная библиография 241 1. Символическая логика. История . . . 241 2. Символическая логика в современном изложении . . . 242 3. Символическая логика и переключательные схемы . . . 244 4. Логический синтез рассуждающих и вычислитель- вычислительных машин 244 5. Разное 245 Дополнительная библиография 246 Примечания редактора перевода 253 Э. Беркли СИМВОЛИЧЕСКАЯ ЛОГИКА И РАЗУМНЫЕ МАШИНЫ Редактор Г. МОСКАТОВ Художник И. Лишвишко Художественный редактор В. Шаповалов Технический редактор Л. Харьковская Корректор Е. С. Терентьева Сдано в производство 10/Ш 1961 г. Подписано к печати 17/VIII 1961 г. Бумага 84х Ю81/з2-4,1, бум. л. 13,5 печ. л., в т/ч 1 вкл. Уч.-изд. л. 11,8. Изд. № 1/0439. Цена 1 р. 03 к. Зак. 997. ИЗДАТЕЛЬСТВО ИНОСТРАННОЙ ЛИТЕРАТУРЫ. Москва, 1-Я Рижский пер., 2 Московская типография №/5 Мосгорсовнархоза. Москва, Трехпрудный пер., 9.