КОМПЬЮТЕРНЫЕ^
УДК 519.7
О МОЗГОПОДОБНЫХ ЭВМ
БОНДАРЕНКО М. Ф, ДУДАРЬ З.В.,
ЕФИМОВА ИА., ЛЕЩИНСКИЙВА,
ШАБАИОВ-КУШНАРЕНКО С.Ю._____________
Описывается новый подход к построению высокопроизводительных ЭВМ параллельного действия.
1. Мозгоподобная ЭВМ
Быстро прогрессирующие компьютеризация и информатизация требуют постоянного повышения производительности электронных вычислительных машин (ЭВМ). Однако делать это становится все труднее. Резервы увеличения быстродействия решающих элементов ЭВМ исчерпываются. Остается путь наращивания числа одновременно работающих элементов в процессоре компьютера. Уже сейчас имеется практическая возможность, опираясь на успехи микроминиатюризации и удешевления электронных элементов и на достижения в области автоматизации проектирования и изготовления ЭВМ, строить компьютеры с числом элементов до 1015. Однако применительно к нынешним ЭВМ последовательного действия, работающим по принципу программного управления Дж.фон Неймана, делать это не имеет смысла, поскольку в них в каждый момент времени одновременно находится в работе лишь небольшое число элементов. Попытки же перехода к машинам параллельного действия пока не дают ожидаемого роста их производительности. Так, производительность многопроцессорных ЭВМ растет не пропорционально числу имеющихся в ней процессоров, как, казалось бы, должно быть, а гораздо медленнее. Возникают существенные трудности также при попытках создания высокопроизводительных нейрокомпьютеров, которые строятся в виде сетей из формальных нейронов.
Между тем, существует “вычислительная машина”, созданная природой, а именно — мозг человека, для которой проблема полноценного распараллеливания обработки информации полностью решена. Мозг человека по сравнению с современной ЭВМ — тихоход. О его “тактовой частоте” можно судить по пропускной способности нервных волокон. Известно, что каждое нервное волокно может пропускать не более 103 импульсов в секунду. По проводникам же нынешних ЭВМ передается порядка 109 импульсов в секунду. Следовательно, ЭВМ превосходит мозг человека в смысле скорости работы решающих элементов в 109:103=106 раз. Тем не менее, по своей производительности мозг превосходит любую ЭВМ. Это обусловлено тем, что
мозг человека имеет в своем составе около 1015 решающих элементов (в роли которых принимаются синапсы — стыки между окончаниями нервных волокон), и все они, как свидетельствуют нейрофизиологические данные, работают одновременно. В ЭВМ же последовательного действия в любой момент времени параллельно действует лишь небольшое число элементов. По самым льготным для машины оценкам в ней одновременно работает в среднем не более 103 элементов. Таким образом, в смысле числа параллельно работающих элементов мозг превосходит машину в 1015:103=1012 раз. В итоге, по своей производительности мозг превосходит современную вычислительную машину последовательного действия в 1012:106=106 раз. Если бы удалось создать ЭВМ параллельного действия, работающую по принципам мозга, которая имеет 1015 элементов (последнее, как говорилось выше, возможно уже сейчас), то в результате была бы получена машина, превосходящая по производительности мозг человека в 109:103=106 раз. Итак, ЭВМ параллельного действия, работающая по принципам мозга и построенная на современной элемен -тной базе (она называется мозгоподобной ЭВМ, англ. — brainlike computer), согласно приведенным выше оценкам, в случае ее создания будет превосходить нынешние ЭВМ последовательного действия в 1012 раз, а мозг человека — в 106 раз. Если мозгоподобные ЭВМ удастся создать, то это приведет к значительному повышению темпов компьютеризации и информатизации.
Что же ожидает человека в свете такой перспективы? Не загонит ли технический прогресс его в безысходный тупик? Известный московский математик Г.Н.Поваров в предисловии к русскому изданию книги Н.Винера “Кибернетика” писал: “Действительно, научно-технический прогресс ставит перед человечеством серьезные проблемы. Стремительное развитие науки и техники возлагает на нас колоссальную ответственность за разумное использование полученного нами могущества. “Кто живет в стеклянном доме, тот не должен бросать камней”, — гласит старинная пословица. Человек стал настолько могущественным, что любое его нерассчитанное движение: с роботами, с атомной энергией, с химией — может иметь тяжелые непредвиденные последствия. Это парадокс могущества. Нельзя забывать, однако, что наука и техника не только возлагают новую ответственность на человека, но и доставляют ему новые средства справиться с нею. Это относится и к роботам. Альтернатива “человек или робот”, “опасное развитие искусственного разума или своевременный отказ от него”, чем ограничивается большинство авторов, имеет третье, более необычайное и, пожалуй, более вероятное решение, если только искусственный разум и искусственная жизнь вообще возможны. Человек, научившийся создавать искусственный разум и искусственную жизнь, не остановится перед коренной переделкой самого себя. Не роботы вместо людей, а новый человек вместо старого! Человек будущего вряд ли останется таким же “натуральным” существом, таким же теплокровным позвоночным, каким он вышел из
89
РИ, 2004, № 2
горнила естественного отбора. Почти наверное, он будет искусственно развивать свой мозг и свое тело, будет по воле лепить и изменять свою физическую оболочку. Ему по силам быть впереди любого возможного робота. Это будет биологическая революция, и если смелые гипотезы оправдаются, она будет означать преобразование всего человеческого существования. Быть может, далекий смысл “безумной” винеровской идеи о передаче человека по телеграфу и есть достижение человеком перевоплощаемости? Позволим себе минуту фантазии: не станет ли тогда человек новым космическим существом, свободным от земных ограничений? Есть ли абсолютная граница могущества и сложности для человека и его творений, абсолютная граница могущества и сложности для саморазвивающихся систем вообще?... Впрочем, это вопросы для науки будущего , на которые она сумеет ответить лучше нас” [ 1, с. 26-7]. Пионеры искусственного интеллекта А.Нью-элл, Дж.Шоу и Г.Саймон еще в конце 50-х годов XX столетия высказались в том смысле, что глубинный смысл компьютеризации и информатизации заключается в том, чтобы побудить человека заняться познанием самого себя и снабдить его достаточными для этого средствами [2]. Представляется, что в результате создания мозгоподобных ЭВМ появятся небывалые возможности для самопознания и самоусовершенствования самого человека.
Почему же специалисты по нейрокомпьютерам до сих пор не смогли построить мозгоподобную ЭВМ с указанной выше производительностью, несмотря на то, что занимаются они этой проблемой уже около полувека? Попытку ответа на этот вопрос можно найти в книге Д.Хьюбела “Глаз, мозг, зрение” — Нобелевского лауреата, одного из крупнейших в мире специалистов в области анатомии и физиологии нейронных сетей головного мозга человека. Он пишет: “ Иногда говорят, что нервная система содержит огромное число случайных межнейронных соединений. Хотя упорядоченность связей и в самом деле не всегда очевидна, я подозреваю, что те, кто говорит о случайных нейронных сетях, не утруждали себя ознакомлением с нейроанатомией. Даже беглый просмотр такой книги, как труд Кахала “Histologie du Systеme Nerveux”, достаточно убеждает кого угодно в том, что в чудовищной сложности нервной системы почти всегда можно усмотреть известную степень упорядоченности. Когда мы видим правильные ряды клеток в мозгу, впечатление создается такое же, как если бы мы рассматривали телефонную станцию, печатный станок или внутренность телевизора, — становится несомненным, что упорядоченность служит какой-то цели. Столкнувшись с тем или иным человеческим изобретением, мы едва ли усомнимся в том, что агрегат в целом, так же как и его отдельные части, обладает вполне постижимыми функциями. Чтобы понять их, нам нужно только прочесть ряд инструкций. В биологии появляется аналогичная вера в функциональную обоснованность и в конечном итоге даже в постижимость структур, которые не были изобретены кем-то, а совершенствовались на протяжении миллионов лет
эволюции. Задача нейробиолога состоит в том, чтобы выяснить связь порядка и сложности с функцией” [3, с. 14]. Высказывание Хьюбела можно понять в том смысле, что технические нейронные сети — это не совсем то, а вернее — совсем не то, чем являются их биологические прототипы. Можно не согласиться с Хьюбелом лишь в одном: к такому положению привело не нежелание инженеров знакомиться с биологическими нейронными сетями, а вынужденное незнание ими принципов их функционирования. В то время как анатомия (т.е. строение) нейроструктур на микроскопическом уровне в настоящее время хорошо изучена (выявление и классификация их основных типов были в основном завершены в начале XX века), исследование физиологии (т.е. функции) этих структур, несмотря на отдельные достижения, до сих пор буксует. Поэтому инженерам приходится на свой страх и риск самим строить произвольные гипотезы о принципах действия нейронных структур.
В Харьковском национальном университете радио -электроники на протяжении последних 40 лет разрабатывается научное направление — теория интеллекта [4], в рамках которого предпринята попытка сдвинуть с мертвой точки решение обсуждаемой здесь проблемы. Суть подхода состоит в том, что интеллект человека рассматривается как логика в действии, как некоторое материальное воплощение механизма логики. Были выполнены работы по алгебраизации логики. В результате разработан специальный математический аппарат для формульного представления отношений и действий над ними, которые называются алгебрологическими структурами. Отношения интерпретируются как мысли интеллекта, а действия над ними — как мышление. Схемная реализация формул, описывающих алгебро-логические структуры, приводит к характерным инженерным сетям (не использовавшимся ранее), которые называются логическими сетями. Каждый тип алгебро-логических структур (а таких типов сравнительно немного) приводит к своему типу логических сетей с легко узнаваемой на глаз схемой. При сопоставлении этих типов сетей с основными типами нейроструктур обнаруживается глубокое сходство строения технических и биологических конструкций. Опираясь на это сходство, можно определить функции различных типов нейронных структур и описать в точных математических и технических терминах принципы функционирования мозга. Главное в данном методе — это движение сверху вниз: от общих системных соображений к алгебро-логическим структурам, а от них — к логическим сетям, которые затем отождествляются с биологическими нейронными структурами. Специалисты же по нейрокомпьютерам сегодня пытаются идти иным путем: от биологических нейронных сетей к принципам их действия, а от них — к инженерным решениям. Этот путь приводит к значительным трудностям из-за недостатка знаний о функциях биологических нейронных структур. Двигаясь сверху вниз, мы приходим к единственно прием-
90
РИ, 2004, № 2
лемым принципам построения нейронных структур мозга человека. Свернуть в сторону здесь нет никакой возможности. В результате вырисовываются простые и ясные принципы построения мозгоподобных ЭВМ. Они существенно отличаются от всего того, что до сих пор использовалось при распараллеливании обработки информации, в частности — при создании ЭВМ параллельного действия. Основу мозгоподобных ЭВМ составляют упоминавшиеся ранее логические сети.
В следующих разделах статьи приводится специально подобранный учебный материал, написанный по результатам исследований в области теории интеллекта, которые проводятся в Харьковском национальном университете радиоэлектроники на протяжении последних сорока лет. Как мы надеемся, он будет содействовать разработкам студентов, выпускников вузов, аспирантов и других категорий научных работников в области создания мозгоподобных ЭВМ — одного из важнейших направлений компьютеризации и информатизации.
2. Отношения
В разделе 1 утверждалось, что следующим этапом компьютеризации и информатизации станет создание мозгоподобных ЭВМ — машин параллельного действия, копирующих структуру мозга человека, которые должны превосходить нынешние ЭВМ последовательного действия в 1012 раз, а мозг человека — в 106 раз. Там же утверждалось, что основу мозгоподобных ЭВМ составит логическая сеть. Однако о том, что такое логическая сеть, пока ничего не было сказано. В следующих разделах мы попытаемся подвести читателя к понятию логической сети. Логическая сеть предназначена для выполнения действий над отношениями. В разделе 1 было сказано, что отношения можно интерпретировать как мысли человека, а действия над ними — как акты мышления. Поэтому логическая сеть есть как раз то устройство мозгоподобной ЭВМ, с помощью которого она будет мыслить. В этом разделе рассказывается, что такое отношения.
Отношения выражают свойства предметов и связи между ними. Они представляют собой универсальное средство описания любых объектов. За две с половиной тысячи лет развития науки не удалось обнаружить в мире ни одного объекта, о котором можно было бы с уверенностью сказать, что он, в принципе, не поддается описанию с помощью отношений. Никакие другие известные средства описания объектов (например, школьная алгебра, интегральное исчисление) свойством универсальности не обладают. Язык человека, представляющий собой главное средство духовного общения людей, можно рассматривать лишь как механизм для выражения отношений. Обращаясь с речью к другим людям, мы передаем им вполне определенный смысл произносимого предложения, который есть не что иное, как некоторое отношение. Обмен мыслями между людьми осуществляется только за счет передачи и приема отношений. Каждая мысль представляет собой какое-то отношение. Научное
определение понятия отношения сформировал в первой половине XVII века Р .Декарт, опираясь на введенные им понятия переменной и координатной системы. С их помощью вводится понятие пространства. Отношения — это всевозможные части некоторого пространства.
Ниже дается развернутая характеристика понятия отношения. Произвольно выберем какое-нибудь непустое множество U , элементы которого будем называть предметами. Само множество U называется универсумом предметов. Оно может быть как конечным, так и бесконечным. Примеры универсумов предметов: множество {а, б,..., я} всех букв русского алфавита; множество {0, 1} булевых элементов; множество N = {1, 2,...} всех натуральных чисел; множество R всех действительных чисел; множество всех функций, отображающих R в R . Произвольно выберем m каких-нибудь непустых необязательно различных подмножеств AbA2,...,Am универсума U . Декартово произведение S = Ai х A2 х „.X Am множеств AbA2,..., Am называется предметным пространством S с координатными осями AbA2,...,Am над универсумом U . Число осей m называется размерностью пространства S . Введем множество V = {xbX2,...,Xm} различных переменных xb X2,..., xm , которые называются предметными переменными пространства S . Множество V называется универсумом переменных пространства S. Значениями переменной х; (i = 1,m) служат элементы множества A;, так что xi є Ai, X2 є A2,...,xm є Am . Некоторые из множеств в перечне AbA2,...,Am могут совпадать друг с другом.
Множества AbA2,...,Am называются областями задания переменных xbx2,...,xm . Каждой переменой xi (i = 1,m) ставится в соответствие какая-то фиксированная область задания Ai. В результате множества AbA2,...,Am образуют набор (Ai, A2,..., Am). Мы ограничились введением конечного универсума переменных V. Однако его можно брать и бесконечным. В первом случае пространство называется конечномерным, а во втором — бесконечномерным. Пространств может быть много. Каждое из них имеет свои универсум предметов, универсум переменных и набор областей задания переменных. Иногда возникает необходимость использовать систему из нескольких взаимосвязанных пространств, которые могут отличаться друг от друга, иметь разную размерность. В этом случае дополнительно надо ввести общие для всех таких пространств универсум предметов и универсум переменных, которые должны охватывать универсумы предметов и переменных всех пространств, входящих в эту систему.
Переменные можно содержательно интерпретировать как места, а их значения (т.е. предметы) — как состояния этих мест. Примеры мест и их состояний : температура человека в разных точках его тела;
РИ, 2004, № 2
91
цвет зрительного ощущения в разных точках поля зрения: скорость автомобиля в различные моменты времени; спектральная плотность лучистой яркости светового излучения в разных точках его спектра (т.е. при разных длинах волн электромагнитных колебаний). Тот факт, что место x находится в состоянии а (можно сказать и иначе: на месте x расположен предмет а ), записывается в виде равенства x = а . Как внешний (объективный), так и внутренний (субъективный) миры человека устроены единообразно: всюду мы обнаруживаем лишь места, которые в каждый момент времени находятся в определенных состояниях. С течением времени состояния мест могут меняться. Не может так случиться, чтобы в некотором месте в какой-то момент времени не было никакого состояния, чтобы на заданном месте не помещался какой-либо предмет. Невозможно также, чтобы несколько предметов занимали одно и то же место. Если какой-то предмет занимает некоторое место, то никакой другой предмет там находиться уже не может. Бывает, что в одной точке пространства обнаруживается одновременно много состояний. В этом случае, чтобы избежать логических противоречий, их все приходится объединять в одно векторное состояние, выделяя для каждого его компонента свое место. Так, отдельные спектральные линии в световом излучении объединяют в одно состояние, называемое его спектром. Термин «место» понимается в обобщенном смысле. Не обязательно его понимать как пространственную точку. Местом, к примеру, может быть некоторый момент времени, отметка на шкале частот, одно из полей шахматной доски.
Если аі є Л1;а2 є A2,...,am є Am и xj = aj ,
x2 = а2,-,xm = ат, то пишут (аьа2,...,ат) є S и говорят, что предметный вектор (аі,а2,..., ат) (или иначе: набор предметов аі, а2,..., ат ) принадлежит пространству S = Aj х Л2 х ... х Am . Элементы аьа2,..., am вектора (аьа2,..., а^ называются его компонентами (первым, вторым,..., m-ным). Пространство S можно рассматривать как совокупность всех векторов вида (xbx2,...,xm), каждый из которых удовлетворяет условию xj є Aj,x2 є A2,...,xm є Am . Любое подмножество р пространства S называется отношением, образованным в (или иначе: заданным на) пространстве S . Отношение имеет размерность m . Говорят, что оно m-местно. Отношения, заданные на одном и том же пространстве S, называются однотипными. Тип отношения определяется множеством V и набором (Aj, A2,..., Am). Рассмотрим пример отношения. Пусть U = {1,2,3,4,5,6}, V = (xbx2>, m = 2 , Aj = {1,2,3,4}, A2 = {3,4,5,6}. Пространство S = Aj х A2 есть множество всех пар вида (xj,x2) , удовлетворяющих условию xj є Aj,x2 Є A2 : S = {(1,3), (1,4), (1,5), (1,6), (2,3),
(2,4), (2,5), (2,6), (3,3), (3,4), (3,5), (3,6), (4,3), (4,4),
(4,5), (4,6)}. ПространствоS состоит из 4х 4 = 16 двухкомпонентных векторов. В роли отношения р берем одно из подмножеств пространства S: P = {(1,6), (2,4), (3,3), (4,3), (4,4)}. Всего в пространстве S можно образовать 216 = 65536 отношений. Отношение 0, не содержащее ни одного вектора, называется пустым, отношение S , в котором имеются всевозможные векторы, — полным.
Любое отношение можно содержательно проинтерпретировать как знание о факте, выраженное некоторым высказыванием. Факт — это исчерпывающая характеристика действительного состояния всех интересующих нас мест. Знание же о факте не всегда обладает такой определенностью, оно лишь ограничивает множество возможных состояний мест. Ничем иным факты и знания быть не могут. Проинтерпретируем, к примеру, этим способом записанное выше отношение р . Имеется два интересующих нас места xj и x2 . Известно, что место xj может находиться только в состояниях 1,2,3,4, а место x2 — только в состояниях 3,4,5,6. Предположим, что фактические состояния мест xj и x2 наблюдателю неизвестны. Сам же факт объективно характеризуется парой (4,3). Это означает, что место xj находится в состоянии 4, а место x2 — в состоянии 1. Наблюдателю приходится довольствоваться знанием о факте в виде отношения P = {(1,6), (2,4), (3,3), (4,3), (4,4)}, которое ограничивает множество пар возможных состояний мест с 16 до 5. Опираясь на это знание, наблюдатель заключает, что пары состояний (1,3), (1,4), (1,5),
(2.3) , (2,5), (2,6), (3,4), (3,5), (3,6), (4,5), (4,6) не имеют места в действительности. Эту информацию он может использовать в своих рассуждениях при выработке каких-либо решений.
Высказывание о факте может быть истинным или ложным. Оно истинно, если характеризующее его отношение содержит в себе фактический набор состояний мест, и ложно в противном случае. Например, если факт характеризуется парой (4,3), то высказывание, соответствующее отношению р , истинно, поскольку (4,3) є {(1,6), (2,4), (3,3), (4,3),
(4.4) }. Высказывание же, соответствующее отношению {(1,6), (2,4)}, ложно. Высказывание, которому соответствует пустое отношение, противоречиво, поскольку невозможно, чтобы места xj, x2,...xm не находились ни в каких состояниях. Высказывание, отвечающее полному отношению S , состоящему из всевозможных наборов состояний, тавтологично (бессодержательно), так как не несет никакой полезной информации о факте: оно никак не ограничивает множество наборов состояний. Любое высказывание, которому соответствует непустое отношение, выполнимо, поскольку для него всегда найдется такой фактический набор состояний, для которого оно будет истинным. Высказывание в выводимо (следует) из высказывания a , если отношение РА , соответствующее высказыва-
92
РИ, 2004, № 2
нию A, включено в отношение PB, соответствующее высказыванию в. Пусть, кпримеру, РА = {(1,6),
(2,4)}, Рв = {(1,6), (2,4), (3,3), (4,3), (4,4)}. Мы видим, что отношение Ра включено в отношение Рв: {(1,6),(2,4)} с {(1,6), (2,4), (3,3), (4,3), (4,4)}. Отсюда вытекает, что высказывание в следует из высказывания A :A ^ B . Если же Ра' = {(1,6), (4,5)}, то Ра' не включено в Рв, а значит, из а 'не следует B . Противоречивое высказывание нельзя вывести ни из одного выполнимого высказывания, тавтологичное высказывание следует из любого высказывания, из противоречивого высказывания выводимо любое высказывание.
Высказывания выражаются предложениями, которые бывают утвердительными, вопросительными и повелительными. Утвердительным предложением выражается высказывание, содержание которого характеризуется некоторым отношением. Вопросительные предложения бывают двух родов. Вопросительное предложение первого рода требует двоичного ответа типа «да» или «нет», например, “«Идет дождь?» — Да”. Чтобы дать на него правильный ответ, надо сформировать заключенное в вопросе высказывание (в нашем примере этим высказыванием будет утвердительное предложение «Идет дождь»), извлечь из него содержащееся в нем отношение и проверить, охватывает ли это отношение фактический набор состояний. Кпримеру, если задан вопрос, соответствует ли отношение Р факту
(4.3) , то следует ответить утвердительно, поскольку
(4.3) є {(1,6), (2,4), (3,3), (4,3), (4,4)}. Отношение же {(1,6), (2,4)} факту (4,3) не соответствует. Вопросительное предложение второго рода требует развернутого ответа, например, “«Который час?» — Без четверти два”. Чтобы дать на него правильный ответ, надо сформировать некоторое отношение, охватывающее фактический набор состояний. Если, к примеру, факт характеризуется парой (4,3), то ответ {(1,6), (4,3)} будет правильным, а ответ {(1,6),
(2.4) }—нет. Чем меньше в сформированном отношении наборов состояний, тем более содержательным будет ответ. Ответ, который соответствует отношению, состоящему из единственного набора, будет полностью характеризовать фактические состояния всех мест. Такой ответ называется однозначным (исчерпывающим). Повелительное предложение, в отличие от вопросительного, требует не слов, а действий, например «Решайте задачу!». Чтобы выполнить повеление, тот, к кому оно обращено, должен сформировать состояния указанных ему мест так, чтобы содержащееся в повелении отношение стало истинным. Чтобы выполнить повеление «Решайте задачу!», надо найти такое решение, которое удовлетворяло бы условиям поставленной задачи. Если, к примеру, задано отношение {(1,6), (4,3)}, то действия, приводящие к фактическому положению, которое характеризуется парой (1,6) (как и парой (4,3)), будут правильными, парой же (2,4) — неправильными.
Отношения, являющиеся частями одного и того же пространства, однотипны. Над однотипными отношениями можно выполнять операции объединения, пересечения и дополнения. Объединением отношений Р и Q называется отношение Р U Q , образованное из всех наборов отношения Р и всех наборов отношения Q. Например, {(1,6),
(2.4) } U {(1,6), (4,3)} = {(1,6), (2,4), (4,3)}. Пересечением отношений Р и Q называется отношение Р П Q, образованное из всех тех наборов, которые содержаться как в отношении Р , так и в отношении Q . Например, {(1,6), (2,4)} П {(1,6) (4,3)} = {(1,6)}. Дополнением отношения Р называется отношение ~ Р = Р , образованное из всех наборов пространства S, за исключением тех наборов, которые присутствуют в отношении Р . Например, ~{(1,6),
(2.4) , (3,3), (4,3), (4,4)} = {(1,3), (1,4), (1,5), (2,3),
(2.5) , (2,6), (3,4), (3,5), (3,6), (4,5), (4,6)}. Объединению Ра U Рв отношений Ра и Рв соответствует высказывание a v B, называемое дизъюнкцией высказываний а и в. Оно образуется соединением исходных высказываний союзом «или». Например, дизъюнкцией высказываний «Идет дождь» и «Светит солнце» будет высказывание «Идет дождь или
светит солнце». Пересечению Ра П Рв отношений Ра и Рв соответствует высказывание а л в, называемое конъюнкцией высказываний а и в. Оно образуется соединением исходных высказываний союзом «и». Например, конъюнкцией тех же высказываний будет высказывание «Идет дождь и светит солнце». Дополнению ~ РА отношения Ра соответствует высказывание -■ A = A , называемое отрицанием высказывания а . Оно образуется присоединением к исходному высказыванию частицы «не». Например, отрицанием высказывания «Идет дождь» будет высказывание «Не идет дождь».
Остановимся особо на одноместных и двуместных отношениях, с которыми нам многократно придется иметь дело в дальнейшем. Если в записи одноместного отношения убрать круглые скобки, то мы получим запись соответствующего ему множества, например, {(1), (3), (4)} = {1,3,4}. Как видим, множества и одноместные отношения взаимно-однозначно связаны друг с другом, поэтому их можно не различать. В дальнейшем одноместные отношения для краткости будем записывать как множества. Двуместные отношения удобно наглядно представлять в виде двудольных графов. Ниже для примера изображен двудольный граф отношения Р = {(1,6), (2,4), (3,3), (4,3), (4,4)}. Каждой паре, входящей в состав отношения, соответствует свое ребро графа, которое соединяет его вершины, помеченные именами компонентов этой пары.
Это же отношение можно представить в виде графиков (рис. 1-3) и схем различного вида.
РИ, 2004, № 2
93
Для выражения m -местных отношений используются m -мерные графики и таблицы с m строками и m столбцами.
3. Предикаты
В разделе 2 были введены отношения, представляющие собой части декартова произведения некоторых множеств. Важно научиться записывать отношения и действия над ними с помощью формул. Как показывает опыт развития науки и техники, нет более удобного и практичного средства описания объектов, чем формулы. Формулы не только дают названия объектам, но и выражают их глубинные свойства и структуру. Вместо того, чтобы ставить опыты над реальными объектами, можно «поэкспериментировать» с формулами, описывающими эти объекты, и получить все интересующие нас сведения о них. Формулы можно «оживить» в ЭВМ и они будут воспроизводить поведение описываемых ими объектов. Если удастся научиться описывать формулами отношения и действия над ними, а затем реализовать эти формулы в ЭВМ логическими сетями и привести их в действие, то у машины, как можно надеяться, появятся мысли, соответствующие этим отношениям, и она приобретет способность их обрабатывать, т.е. мыслить. Обращаясь к опыту математики, можно заметить, что формулами всегда выражаются только функции. Видимо, никакие другие математические объекты не поддаются формульному описанию. Но отношение — это не функция, а нечто более общее. Есть разные способы выражения отношений: мно-
жествами наборов предметов, графами, графиками, таблицами. Но среди них нет ни одного формульного.
Известен такой метод: если не представляется возможным решить какую-то задачу, то ее заменяют другой, взаимно-однозначно с нею связанной задачей, которая поддается решению. Затем переводят полученное решение на язык первой задачи. В результате получают решение исходной задачи. Этот метод в конце XIX века с успехом применил
О.Хевисайд для решения линейных дифференциальных уравнений. Он нашел способ замены этих уравнений алгебраическими. Получив решение алгебраических уравнений, Хевисайд перевел его обратно на язык дифференциальных уравнений и таким способом решил интересовавшую его задачу. В результате он создал так называемое операционное исчисление. Любопытно, что, будучи физиком и инженером по роду деятельности, Хевисайд не позаботился об обосновании найденного им метода, за что и подвергся нападкам математиков. Ответил он им так: «Откажусь ли я от хорошего ужина из-за того, что не знаю всех тонкостей пищеварения?».
Мы применим подобный метод для отыскания способа формульной записи отношений. Называется он методом перевода. Возьмем какое-нибудь отношение РА и перейдем к соответствующему ему высказыванию a . Это высказывание будет истинным относительно одних фактов и ложным по отношению к другим. Например, высказывание, соответствующее отношению р = {(1,6), (2,4), (3,3),
(4.3) , (4,4)}, будет истинным для факта (4,3), поскольку (4,3) є р, и ложным относительно факта
(2.3) , так как (2,3) g р. Факт истинности высказывания будем выражать символом 1, а факт его ложности — символом 0. Символ 1 называется истиной, символ 0 — ложью. Действуя так, мы приходим к функции P(xb Х2) с двоичными значениями 0 и 1, определенной на декартовом произведении Aj х A2 = {1,2,3,4}х {3,4,5,6}. Ниже приводится схема этой функции.
X, А2
XI 3 4 5 1
Ai
0 0 0 1
0 1 0 0
1 0 0 0
1 1 0 0
P(X1, К2)
Функции такого типа называются предикатами. Сформулируем общее определение понятия предиката. Предикатом, заданным на декартовом произведении Aj х A2 х...х Am , называется любая функция P(xj,x2,...,xm) = %, отображающая декартово произведение Aj х A2 X ... х Am множеств Aj, A2,...,Am в множество £ = {0,1}. Символы 0 и 1 называются булевыми элементами, £ — множество всех булевых элементов. Переменная £ є {0,1}, являющаяся значением предиката р , называется
94
РИ, 2004, № 2
булевой. Предикат P(xbx2,...,xm), в отличие от соответствующего ему отношения р , есть функция, поэтому появляется надежда, что его удастся выразить в виде формулы. Между отношениями и предикатами существует взаимно-однозначное соответствие. Поэтому, имея формулу какого-либо предиката, мы всегда сможем отнести ее и к соответствующему отношению. Предикат P(xbx2,...,xm) на Ai х A2 х...х Am называется конечным, если все множества Ab A2,... ,Am конечны, и бесконечным — в противном случае. Эта же терминология переносится и на соответствующие предикатам отношения. Переменные xj,x2,...,xm называются аргументами предиката р .
Запишем правила, позволяющие переходить от отношений к соответствующим им предикатам и обратно. Пусть l — множество всех отношений на S ; M — множество всех предикатов на S . Отношение р из l и предикат р из м называются соответствующими друг другу, если при любых
x1 Є A1, x2 є A2,...,xm Є An
P(x1,x2,...,xm) =
1, если (xj, х2,хm ) є Р; 0, если (xj, х 2,х m ) г Р.
(1)
x, у проставляем 1 (х,у) г Р .
если (x,y) є P
и 0, если
От схемы предиката P , если потребуется, можем перейти назад к отношению P , которое теперь для разнообразия представляем в нашем примере в виде двудольного графа. Делаем это, поочередно обходя все ячейки схемы с единицами. По координатам x,y каждой ячейки проводим ребро графа, соединяющее его вершины, помеченные символами x и у. Выполнив это, получаем граф, изображающий
Зная отношение P, можно всегда с помощью правила (1) отыскать все значения предиката P , т.е. дать полную его характеристику (например, представить предикат P в виде схемы). Обратный переход от предикатаp к отношению p можно осуществить с помощью следующего правила:
если P(xi,x2,...,xm) = 1, то xi,x2,...,xm є P;
(2)
если P(xi,x2,...,xm) = 0, то xi,x2,...,xm g P. 4 '
Правило (2) позволяет по известным булевым (двоичным) значениям предиката Р найти все наборы предметов, принадлежащие отношению р . Правила (1) и (2) устанавливают взаимно-однозначное соответствие между всеми отношениями множества l и всеми предикатами множества м, заданными на S. Множество всех векторов (xbx2,...,xm), удовлетворяющих уравнению P(xbx2,...,xm) = i, образует отношение р , которое называется областью истинности предиката р . Предикат р є м, определяемый правилом (1), называется характеристической функцией отношения р є l . В целях упрощения символики предикат р будем обозначать знаком р точно так же, как и соответствующее ему отношение. Из контекста всегда будет легко установить, к чему относится символ р — к предикату или отношению.
Любое уравнение, встречающееся в математике, есть отношение. Возьмем, к примеру, уравнение x + у = 3, где x и у заданы на множестве A = {0,i,2,3}, и отыщем соответствующее ему отношение р . Имеем: P = {(0,3),(i,2),(2,i),(3,0)} . Переходим к схеме соответствующего предиката P . Для этого во всех ячейках схемы с координатами
Над булевыми элементами можно выполнять операции дизъюнкции, конъюнкции и отрицания. Дизъюнкцией булевых элементов ^ и п называется операция 4 v ц , отображающая е х Е в е , значения которой определяются равенствами 0 v 0 = 0 ; 0vi = iv0 = ivi = i . Конъюнкцией булевых элементов 4 и п называется операция 4 л ц = 4 • ц = 4 ц, отображающая е х Е в е , значения которой определяются равенствами: 0 л 0 = 0 л i = i л 0 = 0 ; i л i = i. Отрицанием булева элемента 4 называется операция -,4 = 1 , отображающая е в е , значения которой определяются равенствами: -.0 = i,-i = 0 .
Дизъюнкцию еще иначе называют логическим сложением, а конъюнкцию — логическим умножением. Операции дизъюнкции, конъюнкции и отрицания подчиняются законам:
идемпотентности 4v4 = 4, 4л4 = 4; коммутативности 4vp = pv4 , 4й = РІ; ассоциативности (4 v Ф v4 = |v (pv4), (4ц)4=4(ц4;); дистрибутивности (4 v ц)4 = ^CVPC ,
4pv4= (4vQ(pvQ;
элиминации (поглощения) 4 v4^ = 4, Д£,лц) =4 ; свертывания 4 v цц = 4 , 4(PVP) = 1; де Моргана 4vp = 4p,4p = 4vp; двойного отрицания 4 = ^ ; исключенного третьего 4 v 4 = i, противоречия 4 4 = 0;
лжи 4 v 0 = 4,4 • 0 = 0 и истины 4 • i = 4, 4 v i = i.
РИ, 2004, № 2
95
Все законы справедливы при любых ц, .
Записанные равенства называются законами алгебры булевых элементов. Все законы, кроме закона двойного отрицания, парные. Говорят, что в каждой паре они двойственны друг другу. Закон же двойного отрицания самодвойствен (двойствен самому себе). Двойственные законы превращаются друг в друга заменой в них знака v на знак л, л на v, 0 на 1 и 1 на 0. Справедливость законов алгебры булевых элементов доказывается методом полного перебора. Например, для доказательства первого закона де Моргана надо проверить выполнение следующих четырех равенств:
пересечение, а также дополнение отношения р : P и Q = {(0,2), (0,5), (1,2), (1,3), (1,4), (2,3), (2,5), (3,2), (3,5)}, P ПQ = {(0,5), (1,3), (2,3), (3,5)}, - P = {(0,3), (0,4), (1,4), (1,5), (2,2), (2,4), (2,5), (3,3),
(3,4)}. Переходя от полученных отношений к соответствующим им предикатам, получаем совпадение с предикатами, указанными в схемах.
0 v 0 = 0 • 0 , 0 v 1 = 0 • 1 , 1 v 0 = 1 • 0, 1 v 1 = 1 • 1 .
Операции дизъюнкции, конъюнкции и отрицания можно распространить также и на предикаты. Определяются они следующими равенствами: для любых xj є ЛЬХ2 є A2,...,xm є Am
(P v Q)(xbX2, ...,xm) =
= P(xbx2,...,xm) v Q(xbx2,...,xm) ; (3)
(P Л Q)(xbx2,...,xm) =
= P(x1,x2,...,xm) ЛQ(x1,x2,...,xm) ; (4)
(-,P)(xbx2,...,xm) = ^(P(x1,x2,^,xm)) . (5)
Символы v, л, , стоящие в (3)-(5) слева от знаков
равенства, обозначают операции над предикатами, справа—операции над значениями предикатов, т.е. над булевыми элементами. Согласно определению
(3), предикат P v Q можно получить, проставляя в каждой ячейке его таблицы дизъюнкцию значений предикатов P и Q при тех же наборах значений аргументов, т.е. образуя дизъюнкцию логических элементов, содержащихся в одинаково расположенных ячейках схем предикатов P и Q . Аналогично заполняются схемы конъюнкции P л Q предикатов P и Q и отрицания Р предиката P . Ниже даны примеры построения схем дизъюнкции, конъюнкции и отрицания предикатов.
Предикат, во всех ячейках схемы которого стоят нули, называется тождественно ложным и обозначается символом 0. Если же во всех ячейках схемы предиката стоят единицы, то такой предикат называется тождественно истинным. Он обозначается символом 1. Тождественно ложному предикату соответствует пустое отношение, тождественно истинному — полное.
Операции U, П, ~ над отношениями из l и операции v, л, -і над предикатами из м называются соответствующими друг другу. Если ими действовать на отношения и предикаты, соответствующие друг другу, то в результате будут получаться отношения и предикаты, также соответствующие друг другу. Образуем, к примеру, по предикатам P и Q, заданным приведенными выше схемами, соответствующие им отношения P = {(0,2), (0,5), (1,2), (1,3), (2,3), (3,2), (3,5)}, Q = {(0,5), (1,3),
(1,4), (2,3), (2,5), (3,5)} и найдем их объединение и
У
к 2 3 0 1 2 3
4 5
1 0 0 1
1 1 0 0
0 1 0 0
1 0 0 1
У
х 2 3 4 0 1 2 3
0 0 0 1
0 1 1 0
о 1 0 1
о 0 0 1
Р(к, У)
Qfe У)
X У 2 3 4 5 хУ2 3 4 5
0 і 0 0 і 0 0 0 0 і
1 і 1 1 0 1 0 1 0 0
2 0 1 0 1 2 0 1 0 0
3 1 0 0 1 3 0 0 0 1
(TvQ)(x, у)
(T>aQ)(x, у)
С помощью равенств (3)-(5) законы для операций дизъюнкции, конъюнкции и отрицания, введенные нами ранее для булевых элементов, легко переносятся на одноименные операции над предикатами. Например,
(Р V Q)(xbx2,...,xm) = -.(P V Q)(xbx2,...,xm) = = -i(P(x1,x2,...,xm) V Q(xbx2,...,xm)) =
= -iP(x1,x2,...,xm) A-,Q(xbx2,...,xm) =
= (P)(x1,x2,...,xm) A (Q)(xbx2,...,xm) =
= (P A Q)(x1,x2, ...,xm)
для любых x1 є A1,x2 є A2,...,xm є Am .
Следовательно, P v Q = P a Q . Итак, для любых P,Q,R є M
P v P = P , PP = P ; P V Q = Q V P , PQ = QP;
(P v Q) v R = P v (Q v R), (P Q)R = P(Q R);
(P vQ)R = PR vQR , PQvR = (P vR)(QvR);
P v PQ = Q , P(P v Q) = P ;
P v QQ = P , P(Q v Q) = P ;
P v Q = PQ, PQ = P v Q;
96
РИ, 2004, № 2
р = p; p v p = 1 j pp = о; p v о = p , p • о = о;
p • 1 = p, p V 1 = 1.
Теперь символы 0 и 1 означают не булевы элементы, а тождественно ложный и тождественно истинный предикаты. Записанные равенства называются законами алгебры предикатов.
Мы видим, что при переходе от булевых элементов к предикатам форма законов для операций дизъюнкции, конъюнкции и отрицания остается неизменной, хотя сами операции теперь воздействуют на объекты другой природы. Известно много разных троек операций, которые подчиняются тем же законам. Еще одним примером таких операций могут служить рассмотренные нами в разделе 2 операции объединения U, пересечения П и дополнения ~ отношений. Применительно к ним те же законы перепишутся следующим образом: для любых p,Q,R є L
p u p = p, p n p = p; p и q = q u p , p n q = q n p; (p U Q) u r = p U (Q U R), (p n Q) n r = p n (Q n R); (p U Q) n r = (p n R) U (Q n R),
(p n Q) U R = (p U R) n (Q U R); p U (p П Q) = Q, p n (p U Q) = p; p U (Q U ~ Q) = p, p П (Q n ~ Q) = p; ~ (p U Q) =~ p П ~ Q;
~ (p n Q) =~ p U ~ Q; ~~p = p; p U ~ p = S, pn ~ p = 0; p U 0 = p; p n 0 = 0; p П s = p, p и s = s .
Записанные равенства называются законами алгебры отношений.
Можно выделить все то общее, что содержится в этих трех формулировках законов. Это «общее» называется булевой алгеброй. Ниже дается ее определение. Булевой алгеброй называется любое фиксированное множество в хотя бы с двумя какими-нибудь элементами 0 и 1 в нем и с заданными на этом множестве какими-либо операциями x + y , x у и -х , называемыми сложением, умножением и обращением элементов х,у є B , которые при любых x,y,z є B подчиняются следующим семи законам:
х + х = х, х + у = у + х , (х + у) + z = х + (у + z),
(х + у) z = xz + yz , х + у(—у) = х ,
-(х + у) = (—х)(—у), -(-х) = х .
Эти законы называются аксиомами булевой алгебры. Остальные законы, а именно хх = х , ху = ух ,
(ху^ = x(yz), ху + z = (х + z)(y + z) , х + ху = х ,
х(х + у) = х , х(у + (-у)) = х , -(ху) = (-х) + (-у),
х + (-х) = 1, х(-х) = 0 , х + 0 = х , х • 0 = 0 , х • 1 = х , х +1 = 1, в булевой алгебре также выполняются, однако в перечне аксиом их приводить нет необходимости, поскольку они логически вытекают из указанных аксиом. Определение булевой алгебры, в силу своей общности, охватывает целое семейство родственных конкретных алгебр. В роли множества РИ, 2004, № 2
B, его элементов 0 и 1, а также операций сложения, умножения и обращения элементов множества в можно брать любые объекты без каких бы то ни было ограничений. Каждый такой их выбор, который обеспечивает выполнение всех перечисленных аксиом, дает один из возможных вариантов булевой алгебры. Если в роли множества в мы возьмем множество всех n-местных булевых функций, в роли 0 и 1 — булевы элементы 0 и 1, а в роли операций +, х и - — дизъюнкцию, конъюнкцию и отрицание булевых функций, то получим булеву алгебру булевых функций. Если под множеством в будем понимать множество L всех отношений какого-нибудь типа, под знаками 0 и 1 — пустое и полное отношения, а под знаками +, х и - — объединение, пересечение и дополнение отношений, то приходим к булевой алгебре отношений. Понимая же под в множество м всех предикатов некоторого типа, под знаками 0 и 1 — тождественно ложный и тождественно истинный предикаты, а под знаками +, х , - — дизъюнкцию, конъюнкцию и отрицание предикатов, приходим к булевой алгебре предикатов. При изучении интеллекта булева алгебра играет исключительно важную роль, она описывает самые глубинные механизмы интеллекта, его первооснову. Можно сказать и иначе: булева алгебра — это тот каркас, который скрепляет в единое целое здание интеллекта.
4. Формулы предикатов
В разделе 3 мы ввели предикаты и булевы операции над ними. Теперь займемся разработкой формульной записи предикатов заданного типа. Тип предиката задаем, указывая множества V = {хь х2,..., хт} и А; = {ai! ,ai2 , —, а;к; } , i = 1,т , k; — число элементов в множестве А;. Чтобы не усложнять задачу, будем пока считать, что все множества А; конечны. Мы хотим записать формулой произвольно выбранный конечный предикат p^^,...^^ заданного типа. Для построения формул нам понадобятся базисные предикаты, играющие роль исходных строительных блоков, и базисные операции, обеспечивающие соединение блоков в единую конструкцию, каковой является искомая формула. В роли базисных предикатов используем предикаты 0, 1, а также специальные предикаты, называемые предикатами узнавания предмета а по переменной х; (i = 1,m, а є А;) и записываемые в виде ха . Предикат ха «узнает» произвольно выбранный из множества А; предмет х;, сравнивая его с предметом а . Если х; = а, то он отождествляет х; с предметом а , сигнализируя об этом положительным ответом ха = аа = 1. Если же х; = b (b Ф а), то
а
предикат х; отличает предмет ь от предмета а , сигнализируя об этом отрицательным ответом
аа
х; = b = 0 . Мы приходим к следующему определению:
а 11, если X; = а,
х; = і
[0, если X; Ф а.
(6)
97
Символ a , который стоит в показателе записи xf , называется характеристикой предиката узнавания предмета xf. Указание предмета а и значения индекса i полностью определяет предикат вида (1). В роли способов соединения выбранных нами строительных блоков (т.е. предикатов 0, 1 и предикатов вида ха) используем введенные нами ранее операции дизъюнкции, конъюнкции и отрицания предикатов. В результате получаем так называемую алгебру предикатов.
На языке формул алгебры предикатов можно очень просто записать любое отношение. Отдельный факт, представленный набором (a1, a 2, -■,am) состояний aj,a2,...,am мест х1,х2,...,xm, можно выразить высказыванием « xi = ai и Х2 = a2 и и xm = am », что на языке алгебры предикатов запишется формулой xf1 х22 ••• х^Р . Выражения такого вида называются конституэнтами единицы предиката. Произвольное знание о факте можно представить отношением {(an,a2i,..., ami), (a2i,a22, ,am2),
...,(air,a2r,...,amr)} , где r — число наборов в отношении. Это знание выражается высказыванием «(xi = an и x2 = a2i и и xm = ami) или (xi = ai2 и x2 = a22 и и xm = am2 ) или или (xi = air и x2 = a2r и и xm = amr)». На языке алгебры предикатов это же знание запишется формулой
x!iix22i...xmni V x
• •• xim2 V ••• xair ха2r ... хаmr m 1 2 m
12
22
x
называемой совершенной дизъюнктивной нормальной формой (сокращенно СДНФ) предиката. Пустое отношение записывается формулой 0, выражающей тождественно ложный предикат. СДНФ, состоящая из всех конституэнт единицы, выражает полное отношение, которое еще иначе можно записать в виде формулы (6), обозначающей тождественно истинный предикат.
Как видим, операции v, л и-, в сочетании с предикатами 0, 1 и всевозможными предикатами узнавания предмета образуют достаточный ассортимент выразительных средств (даже с избытком, поскольку мы обошлись без операции отрицания и без предиката 1) для формульной записи любого предиката произвольного типа, а значит — и любого соответствующего ему отношения. Учитывая, что отношения — это универсальное средство описания любых объектов, мы можем заключить, что на язык формул алгебры предикатов можно перевести любые зависимости, известные в науке. Например, на языке формул алгебры предикатов, в принципе, можно записать любое интегральное уравнение. Язык интегрального исчисления — это специализированный язык, язык же алгебры предикатов — универсальный. На специализированном языке формулы получаются всегда проще, чем на универсальном при выражении одного и того же содержания. В этом язык алгебры предикатов уступает конкурирующим с ним специализированным языкам. Но зато на универсальном языке (а именно
таким языком является алгебра предикатов) можно записать любой закон природы, любую программу для ЭВМ, любое математическое соотношение, вообще — любую мысль. Очень важно то, что нашелся такой «всеядный» язык, на котором выражается абсолютно все, что только можно наблюдать вокруг и внутри нас. Важно и то, что сам механизм интеллекта невозможно полноценно описать, не прибегая к языку алгебры предикатов. Интеллект — средство универсальное, и он может быть охвачен только универсальным языком. Язык алгебры предикатов предельно прост и естественен, он известен уже четверть века, но конкурентоспособный заменитель ему пока не найден. Вряд ли найдется когда-либо другой язык, равный ему по степени универсальности и превосходящий его по простоте.
Рассмотрим пример формульной записи предиката, заданного схемой:
Чтобы получить СДНФ предиката р , надо обойти все ячейки схемы с единичными значениями и в соответствие каждой из них поставить конституэн -
ту единицы с показателями при x и у , совпадаю-
щими с координатами этой ячейки, а затем все полученные таким путем конституэнты единицы соединить знаками дизъюнкции:
03 i 2 2 i 22 30
P(x,y) = xy v xy v xy v xy v xy .
По полученной формуле можно вычислить значения предиката P(x, y) при любых значениях его аргументов x и y . Например, пусть x = 0, y = 2 . Тогда
03 i 2 2 i 22 30
P(0,2) = 0 • 2 v 0 • 2 v 0 • 2 v 0 • 2 v 0 • 2 =
= i• 0 v0 • i v0 • 0 v0 -i v0 • 0 = 0 v 0 v 0 v0 v0 = 0 .
Если же x = 2, y = i, то P(2,i) = 20-i3 v2і-і2 v v 22 -Iі v 22 -i2 v 23 • 10 = 0 v 0 v i v 0 v 0 = i. Можно подставить в формулу предиката значения не всех его аргументов. В этом случае получаем не значение предиката при заданных значениях его аргументов, а некий новый предикат с меньшим числом предметных переменных. Пусть, к примеру, x = 2, тогда
0
P(2,y) = 2 • y
32 = 0 • y v 0 • y
3 1 2 2 1 2 2 3
v 2 • y v 2 • y v 2 • y v 2 • y
12 0 12 v 1-y v 1-y v 0 • y = 0 v 0 v y v y
0
v 0 =
i2
y v y .
При выполнении этих вычислений приходится столкнуться с «сюрпризом»: возникает необходимость выполнять дизъюнкцию и конъюнкцию булева элемента на предикат, например,
98
РИ, 2004, № 2
0 • y0,1 • y1,y1 v0,0 vy2. При вычислениях мы воспользовались «почти» очевидными правилами для такого рода операций: 0 • P = P • 0 = 0 , і. р = р. і = і,
0 v P = P v 0 = P , і v P = P v 1 = 1 • Однако ранее эти правила нами не были предусмотрены. Здесь обнаруживается пробел в наших знаниях, а за ним — глубокая, обширная и важная новая проблема, разработка которой приводит к так называемой логической алгебре, напоминающей по своему строению классическую линейную алгебру. В ней булевы элементы 0 и 1 выступают в роли скаляров, а предикаты — в роли векторов. Разработка логической алгебры позволяет проникнуть в чрезвычайно важную иерархическую структуру механизма логики. Оказывается, логика имеет вид «слоеного пирога» с уходящим ввысь бесконечным числом слоев. Возьмем два соседних слоя в произвольном месте «логического пирога». Нижний из них всегда можно рассматривать как скалярную булеву алгебру, а верхний — как векторную. Связывает их друг с другом третья — «боковая», скалярно-векторная булева алгебра. Вводя ранее алгебру предикатов, мы подошли к ней упрощенно — как к однослойной. Однако в действительности под алгеброй предикатов четко просматривается нижний слой — алгебра булевых элементов, без которой алгебра предикатов была бы неполноценной. Благодаря только что рассмотренному примеру, при алгебре предикатов обнаружились следы и третьей (междуэтажной) алгебры, связывающей оба слоя. Чтобы не отвлекаться от ближайшей поставленной нами цели — поскорее приступить к рассмотрению логических сетей, обсуждение вопроса о «нижней» и «боковой» алгебрах, сопровождающих алгебру предикатов, мы отложим. Разработка логической алгебры — большая и серьезная задача, требующая специального рассмотрения.
Тот же пример наводит и на иные размышления. Когда мы в формулу предиката
P(x,y) = x0y3 v x1y2 v x2y1 v x2y2 v x3y0 производим подстановку x = 2 , то в результате получаем другой предикат y1 v y2 . Получается, что
подстановка — это операция, преобразующая один предикат в другой предикат. Действует данная операция (обозначим ее символом x / 2 ) из множества м всех предикатов, заданных на двумерном пространстве S = A1 х A2 . Но в какое множество она действует? Естественно считать, что в то же самое множество м. В этом случае предикатзначение будет из того же пространства, что и предикат-аргумент. Обозначим этот предикат символом Q(x, y) = y1 v y2 . В его формуле переменная
x отсутствует. Как говорят математики, она стала фиктивной или несущественной. Ниже приведена
схема предиката Q(x, y).
Как видим, в схеме предиката Q переменная x сохранилась. Не менее естественно считать также, что полученный в результате выполнения операции подстановки предикат y1 v y2 имеет лишь один аргумент y . Обозначим его через R(y) = y1 v y2. При таком понимании операция подстановки действует из м уже в другое множество M' , где M' — множество всех предикатов, заданных на одномерном пространстве S = A2 . Ниже приведена схема предиката R(y), получаемого в результате выполнения этой операции.
У0123 [ о| і 111 о]
ш
Операция x / 2(P) = Q , отображающая м в м , заменяет каждую строку исходной схемы строкой из нее же, помеченной предметом x = 2; операция
же x / 2(P) = R , отображающая м в м', превращает строку x = 2 исходной схемы в отдельную схему. Мы видим, что кроме предикатов существуют еще и операции над предикатами, а значит должна существовать и некая алгебра операций над предикатами, на языке которой можно было бы такие операции записывать в виде формул.
Обратим внимание на то, что только что рассмотренная операция подстановки не может быть получена никакой суперпозицией операций v, л и . Это означает, что на языке алгебры предикатов нельзя выразить произвольно выбранную операцию вида F(P) = Q , которая преобразует любой
предикат P в соответствующий ему предикат Q . И тем не менее, этот факт не вступает в противоречие с провозглашенным нами ранее тезисом о ничем не ограниченной описательной силе алгебры предикатов. Ведь никто не мешает нам посмотреть
на запись F(P) = Q не как на операцию (т.е. реальное действие получения предиката Q по произвольно взятому предикату P ), а просто как на уравнение (т.е. как на отношение), связывающее две переменные p и Q. Кроме того, вполне допустимо рассматривать предикатные переменные как предметные. Верно, что значениями переменных р и Q служат предикаты, но также верно и то, что предикаты — это тоже предметы, только предметы специального вида. А раз это так, то для
отношения, выраженного равенством F(P) = Q , всегда найдется соответствующий ему предикат
РИ, 2004, № 2
99
Ф(Р, Q), который можно будет записать в виде некоторой формулы.
Здесь обнаруживается еще один существенный недостаток алгебры предикатов (наряду с отмеченной ранее большей громоздкостью ее формул по сравнению с формулами специализированных алгебр, описывающих те же объекты): ее описания хоть и универсальны, но лишь связывают переменные, они не предназначены для явного выражения одних переменных через другие. Вся информация
об операции F(P) = Q в неявном виде в описании
Ф(Р, Q) содержится, но ее нельзя непосредственно использовать для практической реализации этой операции в материальной системе. Формулу же
F(P) = Q алгебры операций над предикатами можно непосредственно использовать как алгоритм, по которому строится программа для ЭВМ. А формула
Ф(Р, Q) алгебры предикатов такой непосредственной возможности не дает. Операцию f из отношения ф извлечь можно, но для этого придется выполнить дополнительную работу. Таким образом, роли, которые выполняют алгебра предикатов и алгебра операций над предикатами, оказываются четко разделенными. Алгебра предикатов описывает знания, она лишь «созерцает» объекты. Она формирует только то, что называется «словом»: высказывания, суждения, предложения. Алгебра же операций над предикатами призвана формировать реальные действия, она обслуживает «дело». Язык алгебры предикатов декларативен, язык же алгебры операций над предикатами процедурен. Итак, кроме алгебры предикатов, нужна еще и алгебра операций над предикатами, если мы хотим не только познавать уже существующие интеллектуальные системы, но и создавать новые. Машина должна не только иметь свои мысли, но и обладать способностью оперировать с ними, приводить их в движение, получать новые мысли. Иначе говоря, она должна еще и мыслить.
Чтобы завершить этот раздел, нам осталось рассмотреть задачу формульного описания бесконечных предикатов, заданных на декартовом произведении Aj х A2 х...х Am множеств A1,A2,-..,Am, среди которых имеются и бесконечные. СДНФ некоторых из таких предикатов будут иметь бесконечную длину, такие формулы в развернутом виде записать невозможно. Но мы можем сделать так, как в подобных случаях поступают в классической математике: вводят знак многократной суммы, которая распространяется на бесконечную область. В нашем случае используем формулу
Р(Х1, х 2, х m) = V xj1 ха22... xamm
(а1’ а 2 , • а m)eP
означающую, что берется дизъюнкция всех конституэнт единицы с показателями ai,a2,...,am , которые образуются из компонентов векторов. Сами же векторы (ai,a2,---,am) принадлежат бес-
конечному отношению Р с Aj х A2 х ... х Am , соответствующему предикату Р(х і, х2,..., хm ).
5. Алгебра предикатов
В разделе 4 мы ввели формулы для выражения предикатов. Этим мы завершили построение алгебры предикатов, которая является универсальным средством формального описания любых объектов. Эта алгебра устроена очень просто. В ней введены
предметные переменные xj, x 2,..., xm, значениями которых служат элементы из некоторых множеств Aj, A2, - - - ,Am . В качестве базисных элементов в алгебре предикатов используются предельно простые предикаты 0, 1 и xa (i = 1, m, a є A;), соответствующие высказываниям x; = a . Предикат 1 в базисе алгебры не обязателен. В роли базисных операций в ней предусмотрены две операции v и л над предикатами. В алгебре предикатов была введена еще и третья операция , но она в ней не обязательна, поскольку и без нее эта алгебра уже универсальна. Честно говоря, не верится, чтобы такая вот примитивнейшая алгебра обладала столь чудовищной силой. Хотелось бы испытать алгебру предикатов на каком-нибудь заковыристом объекте, чтобы прочувствовать в полной мере, как это ей удается «проглатывать» любые, сколь угодно сложные, объекты.
В качестве объекта формального описания возьмем саму алгебру предикатов. Если алгебра предикатов и в самом деле универсальна, то пусть попробует описать сама себя. Но можно ли требовать такое даже от универсальной алгебры? Не хотим ли мы от нее невозможного? Не пытаемся ли мы заслужить лавры барона Мюнхгаузена, который сумел вытащить самого себя за волосы из болота? Это предприятие нам все же не кажется абсолютно безнадежным. Ведь мы ввели не одну алгебру предикатов, а бесконечное их семейство. Какую бы конкретную алгебру предикатов или даже произвольную систему таких алгебр мы не выбрали в роли объекта формального описания, всегда найдется в этом семействе такая достаточно мощная алгебра предикатов, которую можно будет использовать в качестве эффективного средства (инструмента) описания выбранного объекта. Если бы барон Мюнхгаузен мог раздваиваться, а его двойник — неограниченно увеличивать свои размеры и силы, как это способна делать алгебра предикатов, то вытащить «самого себя» из болота ему не составило бы никакого труда.
Поставленную задачу все же придется несколько ограничить, чтобы уберечься от рассмотрения внутренне противоречивых объектов. С таким объектом в свое время столкнулась теория множеств в виде понятия «множества всех множеств». Есть веские основания полагать, что к такого же рода объектам относится и понятие «семейство всех алгебр предикатов». Поэтому мы не будем пытаться его формально описывать. Каждый раз для формального описания будем брать какую-нибудь фиксирован-
100
РИ, 2004, № 2
ную четко очерченную алгебру предикатов. Для начала поставим задачу формального описания очень простой конкретной алгебры предикатов. Пусть в ней участвуют всего две предметные переменные Xj и Х2 . Для них берем следующие области задания: Aj = {1,2}, A2 = {2,3}. Решение такой «крохотной» задачи в полном объеме выходит за пределы этого раздела. Поэтому в нем мы ограничимся формальным описанием лишь конкретного предметного пространства S , которое служит фундаментом избранной нами алгебры предикатов. Но даже этот частный результат позволит нам, во-первых, выйти на обсуждение структуры общего понятия алгебры предикатов и, во-вторых, выполнить данное нами в начале раздела 2 обещание подвести читателя к понятию логической сети. Об общем понятии предметного пространства говорилось в разделе 2. Интересующее нас конкретное предметное пространство S , подлежащее формальному описанию, имеет универсум переменных V = {xj, Х2} . Его координатные оси представлены множествами Aj и A2 . В роли универсума предметов пространства S берем множество U = A1 U A2 = {1,2,3} .
Приступаем к формальному описанию понятия пространства S . Вводим множество I = {1,2} с заданной на нем переменной i. Элементы 1, 2 множества I понимаем как имена (номера) мест компонентов xj и Х2 в векторе (xj,X2) пространства S . Если принято i = 1, то этим указывается левое место xj пары (xj,X2), если i = 2 , то — правое x2 . Множество I формально описывает понятие места для пространства S . На множестве U задаем переменную x. Множество U формально описывает понятие состояния места для пространства S . Всего в пространстве S используется три состояния x = 1, x = 2 и x = 3 . На множестве Aj задаем переменную xj, а на множестве A2 — переменную x2 . Множество Aj формально выражает понятие состояния первого места пространства S, множество A2 — второго. Состояния
первого места могут принимать значения xj = 1 или xj = 2, второго — x2 = 2 или x2 = 3 . Можно иначе сказать, что множества Aj и A2 формально характеризуют понятия первой и второй координатных осей пространства S .
Связь переменных i и x формально определяем предикатом
R(i, x) = i1 (x1 v x2) v i2 (x2 v x3), (7)
заданным на I x U . Предикат r указывает, что левое место в паре (xj,x2) может находиться в состоянии 1 или 2, а правое — в состоянии 2 или 3. Связи переменной x с переменными xj и x2 формально описываем с помощью предикатов
j j 2 2 Ej(x,xj) = x xj v x xj ,
2 2 3 3
E2(x,x2) = x x2 V x x2 ,
(8)
(9)
заданных на U x Aj и U x A2 . Предикаты Ej и E2 приравнивают значения переменных x, xj и x, x2 в пределах множеств Aj и A2 (Aj,A2 с U). Важно отметить, что с помощью предикатов (7)-(9) можно ввести предикаты, соответствующие множествам I, U, Aj, A2:
I(i) = 3 x є U R(i, x) • (10)
U(x) = 3 i є I R(i, x); (11)
Aj(xj) = 3 x є U Ej(x,xj) • (12)
A2(x2) =3 x є UE2(x,x2) . (13)
Вводим множество н = {1,2,3,4} с заданной на нем переменной s , которое формально характеризует понятие вектора пространства S . Всего в пространстве S имеется четыре вектора (1,2), (1,3), (2,2), (2,3) с именами s = 1, s = 2, s = 3 иs = 4. Связь вектора s = (xj,x2) с его проекциями xj и x2 на
координатные оси Aj и A2 для пространства S формально характеризуется предикатами
1
Fj(s, xj) = s
xj
2 1 3 2 4 2 •
V s xj V s xj V s xj •
(14)
1
E2 (s, x 2 ) = s
x2
23
V s x2
3 2 4 3
V s x2 V s x2 ,
(15)
заданными на H x Aj и H x A2. Предикаты указывают, например, что первым компонентом вектора s = 2, является состояние xj = 1, вторым — состояние x2 = 3. С помощью любого из предикатов Fj или F2 можно выразить предикат, соответствующий множеству н:
H(s) = 3 xj є AjFj(s,xj); (16)
H(s) =3 x2 є A2F2(s,x2) . (17)
Нам осталось ввести еще множество т = {1,2,..,16} с заданной на нем переменной t, которое формально определяет понятие отношения для пространства S . Всего в пространстве S можно образовать 16 различных отношений. Предикат, соответствующий множеству T , запишется в виде
T(t) = t1 v t2 v t3 v t4 v t9 v t10 v t11 v t12 V t
V t 13
5
V t
V t 14
6
V t
V t 15
7
V t
V t8 V 16 . (18)
Он дает отношениям пространства S имена от 1 до 16. Если мы хотим, к примеру, указать на отношение с номером 9, то пишем t = 9. Факт принадлежности вектора s отношению t формально определяется предикатом
G(s,t) = s1t2 v s213 v s314 v s 415 v (s1 v s2 )t6 v v (s1 V s3 )t7 V (s1 V s4 )t8 V (s2 V s3 )t9 V v (s2 V s4)t10 V (s3 v s4 )t11 V (s1 V s2 V s3 )t12 V v (s1 V s2 V s4 )t13 V (s1 V s3 V s4 )t14 V
РИ, 2004, № 2
101
v (s2 v s3 v s 4 )t15 v (s1 v s2 v s3 v s4 )t16 . (19)
Предикат G указывает отношение, соответствующее его имени t. К примеру, пусть t = 1. Имеем G(s, 1) = 0 , это значит, что под именем 1 подразумевается пустое отношение. Если же принять t = 14, то получаем G(s, 14) = s1 v s3 v s4 . Это означает, что под именем 14 скрывается отношение {1, 3, 4}, состоящее из векторов 1, 3 и 4. Если с помощью предикатов F1(s,x1) и F2(s, Х2) для каждого из векторов s отыскать его первый xi и второй Х2 компоненты, то получим расшифровку имен векторов: 1 = (1,2), 3 = (2,2), 4 = (2,3). Таким образом, в развернутой форме отношение с именем 14 запишется следующим образом: 14 = {(1,2), (2,2), (2,3)}.
На этом формальное описание понятия предметного пространства S на языке алгебры предикатов завершается. Поучительно уяснить, что собой представляет «описывающая» алгебра предикатов, которую мы фактически использовали в роли инструмента описания пространства S . В ней применяется универсум переменных Уи = {І, Х, Xi,X2,s,t} , состоящий из шести элементов. Универсум же переменных «описываемой» алгебры предикатов V = {Xi, Х2} состоит всего из двух элементов. По этому параметру алгебра—инструмент превосходит объем алгебры-объекта в три раза. В роли универсума предметов «описывающей» алгебры достаточно использовать множество Uи = {1, 2 , 1, 2, 3, 1, 2, 3, 4, 1, 2, 3, 4, 5, 6, 7, 8, 9,10,11, 12,13, 14,15, 16}, состоящее из 25 элементов. В «описываемой» же алгебре в универсуме предметов и = {1, 2, 3} было всего три элемента, так что по этому параметру объем алгебры-инструмента превосходит объем алгебры-объекта более, чем в 8 раз. Как видим, объем «верхней» алгебры оказался существенно большим, чем «нижней». Обратим внимание на то, что при введении числовых имен для значений предметных переменных алгебры-инструмента пришлось использовать различное их начертание (обычный, курсивный и жирный шрифты). Если бы мы этого не сделали, то в универсуме предметов U и алгебры-инструмента оказалось бы не 25, а всего лишь 16 элементов. В результате получилось бы так, что один и тот же символ имел сразу несколько различных значений. Например, символ 2 означал бы одновременно и второе место, и второе состояние, и второй вектор, и второе отношение. Это недопустимо, поскольку ведет к смысловой неразберихе. Достаточно сказать, что в основе многих математических парадоксов (в том числе и знаменитого парадокса Рассела) лежит смешение понятий.
Строение описанного предметного пространства S можно наглядно представить в виде изображенной ниже логической сети (в конце раздела 1 говорилось, что логические сети составляют основу мозгоподобных ЭВМ) (рис.5).
XI, Ai
Е/ \F!
1, I —U s, Н—t, Т
Х2,А2
Рис. 5
На схеме сети показаны все перечисленные ранее переменные i, х, xi, Х2, s, t «верхней» алгебры (вместе с областями их задания I, U, Ль A2,H,T) и связывающие их отношения R, Бь E2, Fb F2,G . Наборы (i, I), (х, U), (хі, АД, (Х2, Л2), (s, H) доставленные из переменной и области ее задания, характеризуют полюсы сети, а отношения — ее ветви, которые соединяют полюсы. Ниже приведены двудольные графы отношений, используемых для построения логической сети (рис.6,7).
Перейдем теперь к обсуждению общего понятия предметного пространства. Ясно, что логическая сеть сохранит в общих чертах свое строение для любого предметного пространства, за исключением лишь того, что теперь в конечномерном случае вместо двух полюсов (хі,Лі) и (Х2,А2) в ней появятся m полюсов (Хі,Аі),(Х2,А2),...,(Хт,Ат), а в бесконечномерном случае—бесконечный набор {(хі , Аі)}^ полюсов (хі , Аі ), где і є і. Теперь индекс і пробегает бесконечное множество значений I . Соответ-
102
РИ, 2004, № 2
ственно этому вместо двух пар ветвей Б1; E2 и Fj, F2 в сети появятся два набора EbE2,...,Em и Fj, F2,..., Fm из m ветвей каждый — в конечномерном предметном пространстве и два бесконечных набора {E;}ieI и {F;}ieI ветвей E; и F; — в бесконечномерном. Полюсы i, x, s, t и ветви R и G останутся в сети на прежних местах, хотя обозначающие эти ветви отношения R и G могут измениться. Другими станут мощности областей задания I, U, Aj, A2, S, H переменных i, x, xj, Х2, s, t.
Переход к общему понятию предметного пространства S приводит к общему понятию заданной на нем алгебры предикатов. Обобщению в нем подвергаются лишь наборы предметных переменных
xj,x2,...,xm и областей их задания Aj, A2,...,Am, а также все то, что от них зависит (например, число и ассортимент всех предикатов узнавания предмета). Так что все алгебры предикатов имеют, в общих чертах, единообразное строение. Обратим внимание на то, что формальное описание алгебры предикатов мы еще не закончили. Можно даже сказать, что мы его едва только начали. Неописанными остались механизмы образования формул алгебры предикатов, их разборки (декомпозиции), управления образованием формул, изменения самой алгебры предикатов (т.е. ее эволюции), управления процессом ее эволюции. Сейчас даже трудно себе представить, куда заведет нас развитие алгебры предикатов, подстегиваемое работами по созданию и совершенствованию мозгоподобных ЭВМ.
Мы набрели на очень простой пример логической сети, которая представляет собой результат формального описания одного конкретного предметного пространства (случайно выбранного и к тому же весьма примитивного). В заключение этого раздела, опираясь на уже имеющийся в нашем распоряжении пример (пока единственный) логической сети, попытаемся хотя бы вчерне выйти на общее понятие логической сети. Построенная нами для примера довольно простая логическая сеть ни в чем не уступает любой другой логической сети в смысле разнообразия имеющихся в ней конструкций. В ней есть все, что можно обнаружить в самой замысловатой логической сети. Какую бы логическую сеть мы ни взяли, в ней, кроме полюсов и ветвей, не обнаруживается никаких элементов других видов. Каждая логическая сеть представляет собой соединение одних только полюсов и ветвей. В любой логической сети каждый полюс характеризуется только своей предметной переменной и ее областью задания, а каждая ветвь — своим двуместным предикатом, который зависит от переменных, указанных на концах этой ветви. Любые две логические сети отличаются количеством полюсов и ветвей, а также способом их соединения (т.е. конфигурацией сети). В разных логических сетях могут отличаться, кроме того, предметные переменные и области их задания при разных полюсах и отношения — при разных ветвях.
6. Логические сети
В разделе 5 мы рассмотрели пример очень простой логической сети и, отправляясь от него, вкратце обсудили общее понятие логической сети. Логическая сеть там выступала в роли средства наглядного представления результатов формального описания объектов на языке алгебры предикатов. В примере объектом описания послужило предметное пространство с координатными осями xj є {1, 2 } и x2 є { 2, 3 } . Обратим внимание на то, что логическая сеть появилась как бы сама собой, стихийно, без малейших целенаправленных усилий с нашей стороны получить такую сеть, как побочный продукт при решении совершенно иной задачи. А именно, требовалось формально описать некоторый объект на языке алгебры предикатов. Такое описание было получено в наиболее естественной форме — в виде системы предикатов. Эта система была для наглядности изображена на бумаге тоже наиболее естественным способом. Кажется невозможным изобрести какой-либо иной способ графического представления системы предикатов, который бы существенно отличался от использованного нами и превосходил его по простоте и выразительности. Язык алгебры предикатов универсален, на нем можно формально описать структуру произвольного объекта. Любое же алгебро-логическое описание объекта, как видим, естественным образом графически выражается в виде логической сети. Итак, мы приходим к важному выводу: логические сети представляют собой универсальное, простое и естественное средство наглядного представления структуры любых объектов. Выявленная полезная роль логической сети, быть может, и важна, но ожидали мы от этой сети гораздо большего и, надо признаться, совсем не этого. Согласно первоначальному замыслу, изложенному в разделе 1, логическая сеть должна составить основу мозгоподобной ЭВМ, служит ей своего рода процессором. Она призвана стать тем устройством мозгоподобной ЭВМ, с помощью которого та будет полноценно мыслить. Ничего подобного, однако, нет еще и в помине. Теперь нам следовало бы, идя навстречу запросам разработчиков мозгоподобных ЭВМ, рассказать о том, как «оживить» картинку логической сети и превратить ее в эффективно мыслящий блок параллельной вычислительной машины. Стремясь всеми силами к этому, мы, однако, обнаруживаем, что в данном месте статьи только что поставленную задачу квалифицированно решить не можем.
Дело в том, что, двигаясь в предшествующих разделах «напролом» к логическим сетям (а от такого способа действий очень трудно удержаться, поскольку логические сети являются ключом к мозгоподобным ЭВМ), мы вырвались в своем наступлении далеко вперед, резервы отстали, и наше наступление, как это часто бывает на войне, захлебнулось. Алгебро-логический аппарат остался неразвитым, поэтому не на что опереться при решении задачи «оживления» логических сетей. Срочно надо подтягивать «резервы», т.е. терпеливо и систематически развивать алгебру предикатов и
РИ, 2004, № 2
103
ее методы. Не хочется оказаться в положении, о котором пишет Декарт: «Многие часто так беспорядочно исследуют труднейшие вопросы, что кажутся мне похожими на того, кто пытается одним прыжком взобраться с земли на верх здания, пренебрегая ступенями лестницы, предназначенными для этой цели, или не замечая их». А чтобы читатель не рассвирепел, почувствовав себя обманутым, мы попытаемся в этом разделе хотя бы эскизно рассказать об «оживлении» логических сетей все, что возможно при столь стесненных обстоятельствах. Изложение по необходимости будет в значительной мере бездоказательным, что называется «объяснением на пальцах». К тому, что будет сказано ниже, следует отнестись как к сугубо предварительной проработке проблемы, как к сво -его рода анонсу.
Результатом формального описания любого объекта на языке алгебры предикатов всегда является некоторый предикат P(xi,x2,... ,xm). Он должен выражать какое-то вполне определенное отношение р , которое представляет собой множество всех наборов предметов хь Х2,..., xm, удовлетворяющих уравнению P(xi,x2,...,xm) = 1. Именно это отношение выражает структуру описываемого объекта. Обращаясь же к результату формального описания объекта, взятого нами для примера, мы видим, что он представлен иначе, а именно — системой из шести предикатов:
R(i,x), Ei(x,xi),E2(x,x2), Fi(s, xi), F2(s, x2), G(s, t) .
Как согласовать этот результат с только что высказанным общим утверждением? И где тот единый
предикат P(xi,x2,...,xm), который должен описывать структуру нашего объекта? Ответ на эти вопросы очень прост: из предикатов R,
Ei, E2, Fi, F2, G можно образовать не только систему, но еще и конъюнкцию, которая как раз и будет тем предикатом р , который описывает структуру рассматриваемого объекта:
R(i, x) лEi(x,xi) л E2(x,x2) лFi(s,xi) лF2(s,x2) л л G(s,t) = P(i, x, xi, x2, s, t).
В самом деле, для описываемого нами предметного пространства S должны одновременно выполняться отношения R и Ei и E2 и Fi и F2 и G, а это приводит к конъюнкции соответствующих предикатов.
Получение предиката P из предикатов Pi, Р 2,..., Pn системы {Pi, Р2,...,Pn} называется его композицией. Обратное преобразование предиката P в систему {Pi, Р2,...,Pn} предикатов Pi, Р2,...,Pn называется его декомпозицией. Композиция и декомпозиция предикатов неразрывно связаны друг с другом. Операция получения предиката p из предикатов Р i, Р 2,..., Pn считается композицией в том и только том случае, если существует обратная ей операция,
позволяющая восстановить те же самые предикаты Рь Р2,...,Pn по предикату р . Точно так же, операция преобразования предиката р в систему предикатов Рь Р2,...,Pn может быть названа декомпозицией тогда и только тогда, когда существует обратная ей операция, восстанавливающая предикат р по предикатам Р ь Р 2,..., Pn .
Получение предиката р в виде конъюнкции предикатов Р i, Р 2,... ,Pn называется его конъюнктив -ной композицией. Разложение предиката р в конъюнкцию тех же предикатов Р ь Р 2,..., Pn называется его конъюнктивной декомпозицией. Важным частным случаем декомпозиции является так называемая бинарная декомпозиция предиката р , характеризующаяся тем, что каждый предикат в системе {Р i, Р 2,..., Pn} имеет в точности два существенных аргумента. Осуществляя формальное описание предметного пространства S, мы, сами того не желая, попутно произвели бинарную конъюнктивную декомпозицию предиката р , которая и привела нас к понятию логической сети. Теперь мы можем дать формальное определение логической сети, которая содержательно понимается нами как то устройство, с помощью которого сегодня мыслит человек, а завтра будет мыслить также и мозгоподобная ЭВМ. Логической сетью называется графическое представление результата бинарной конъюнктивной декомпозиции многоместного предиката.
Соответствует ли формальное определение логической сети содержательному? Трудно сказать. Слишком уж далеки с виду эти два понятия друг от друга. Окончательный положительный ответ на этот вопрос мы получим, скорее всего, лишь в том случае, если логические сети, созданные в соответствии с этим их формальным определением, обеспечат эффективную работу мозгоподобных ЭВМ. Согласно принятому формальному определению, логическая сеть дает графическое представление
предиката P(xbx2,...,xm). Почему предиката, а не чего-то иного? Потому, что именно предикаты являются универсальным средством формального описания структуры любых объектов. Разум создает модели воспринимаемых им объектов и извлекает из них полезные сведения, благодаря которым его носитель — человек может жить и эффективно действовать в окружающем его мире. Ничем иным он не занимается. Предикаты как раз и являются такими моделями. Чрезвычайно важно то, что именно при принятом формальном определении логическая сеть, а не что-либо иное, оказалась простым и естественным универсальным средством графического представления структуры любого объекта. Это — веский довод в пользу того, чтобы отождествить формальное определение логической сети с ее содержательным определением.
Что значит извлечь из модели полезные сведения? Рассмотрим, как люди решают задачи. Именно
104
РИ, 2004, № 2
таким способом они получают интересующие их «полезные сведения». Проанализируем, к примеру, как школьник решает задачу о встрече велосипедиста и пешехода. Дано: из пункта A в пункт В выехал велосипедист, а навстречу ему вышел пешеход. Требуется найти место их встречи, скорость пешехода, расстояние между пунктами А и В или что-нибудь иное в этом род е. Вначале школьник вводит буквенные (т.е. предметные) переменные для всех встречающихся в задаче величин (предметов): времени выезда велосипедиста, времени выхода пешехода, скоростей движения велосипедиста и пешехо -да и т.п. Затем он составляет систему уравнений, связывающих введенные переменные. Эта система играет роль модели объекта. Объектом служит ситуация, в которой участвуют велосипедист и пешеход. Школьник делит все переменные, присутствующие в задаче, на два вида: те, значения которых заданы, и те, значения которых надо отыскать. Наконец, он подставляет в систему уравнений значения переменных первого вида (исходные данные задачи) и, решая эту систему, находит значения переменных второго вида (результат решения задачи), которые и будут требуемыми «полезными сведениями».
Каждое уравнение в системе есть отношение. Ему можно поставить в соответствие свой предикат. Система уравнений задает конъюнкцию предикатов. Как видим, составляя систему уравнений задачи, школьник, тем самым, осуществляет конъюнктивную декомпозицию предиката, характеризующего эту задачу. Вот почему, производя конъюнктивную декомпозицию предиката, мы делаем именно то, что делает разум человека при формулировке и решении любой задачи. Свернуть в сторону от конъюнктивной декомпозиции предиката нет никакой возможности. Когда автор предложение за предложением пишет книгу, он, тем самым, осуществляет конъюнктивную декомпозицию своей мысли. То же самое делает лектор, произнося фразу за фразой перед слушателями. Читатели же и слушатели выполняют конъюнктивную композицию мысли автора книги или лектора. Итак, почему нужна именно декомпозиция предиката и почему она должна быть конъюнктивной, мы выяснили. Остается показать, что декомпозиция предиката должна быть еще и бинарной.
Представление произвольного предиката P(x!,x2,...,xm) конъюнкцией унарных (с одним существенным аргументом) предикатов РДхД^ (x2),..., Pm (xm) не получается, поскольку связи между переменными x1;x2,...,xm, заданные предикатом р , таким способом не выразишь. Используя же конъюнктивную декомпозицию с бинарными предикатами, мы достигаем цели, поскольку таким способом любой многоместный предикат P(xj, x2,•••, xm) можно представить логической сетью. Как это делается, мы, быть может, расскажем позже, после того как «подтянем резервы». Включение в конъюнкцию, наряду с бинарными, еще и унарных предикатов никакой пользы
не приносит, поэтому делать так нет необходимости. Можно строить сети, используя конъюнктивную декомпозицию предиката р на предикаты Pj, Р2,..., Рn большей арности (числа их существенных аргументов), но с инженерной точки зрения это нерационально, поскольку сложность такой сети (а значит, и ее стоимость) нарастает лавинообразно с увеличением арности предикатов Pj, Р2,..., Рn . Таким образом, мы принудительно приходим к сетям с бинарными предикатами. Таковы, вкратце, те побудительные мотивы, которые заставили нас принять в качестве формального определения понятия логической сети именно то, которое было приведено выше. А подведет нас это понятие или нет, — покажет дальнейшее развитие событий.
Научная новизна. Впервые в результате схемной реализации формул, описывающих алгебро-логические структуры, были разработаны инженерные сети, называемые “логическими сетями”, на базе которых возможно построение высокопроизводительных ЭВМ параллельного действия нового поколения.
Практическая значимость. Реализация данного подхода даст возможность вычислительным системам перейти на новый качественный уровень, позволяющий многократно повысить их производительность на той же элементной базе.
Литература: 1. Винер Н. Кибернетика. 2-е изд. М.: Сов. радио, 1968. 326 с. 2. Newell A, Shaw I. C, Simon H.A Empirical explorations with the logic theory machine. Proceedings of the Western Joint Computer Conference. 1957. P. 218-239. 3. Хьюбел Д. Глаз, мозг, зрение. М.: Мир, 1990. 239 с. 4. Шабанов-Кушнаренко Ю.П. Теория интеллекта. Харьков: Вища шк., 1984, 1986, 1987. 440с.
Поступила в редколлегию 20.09.2003
Рецензент: д-р техн. наук, проф. Хаханов В. И.
Бондаренко Михаил Федорович, д-р техн. наук, профессор, ректор ХНУРЭ. Научные интересы: информатика, мозгоподобные ЭВМ. Адрес: Украина, 61166, Харьков, пр. Ленина, 14, тел. 43-30-53.
Дударь Зоя Владимировна, канд. техн. наук, профессор кафедры программного обеспечения ЭВМ ХНУРЭ. Научные интересы: алгебраическая логика, модели языка. Адрес: Украина, 61166, Харьков, пр. Ленина, 14, тел.702-14-46.
Ефимова Ирина Александровна, студентка ХНУРЭ. Научные интересы: логическая алгебра, логические сети. Адрес: Украина, 61166, Харьков, пр. Ленина, 14, тел.702-14-46.
Лещинский Владимир Александрович, аспирант кафедры программного обеспечения ЭВМ ХНУРЭ. Научные интересы: логическая алгебра, логические сети. Адрес: Украина, 61166, Харьков, пр. Ленина, 14, тел. 702-14-46, 98-69-18.
Шабанов-Кушнаренко Сергей Юрьевич, д-р техн. наук, профессор кафедры программного обеспечения ЭВМ ХНУРЭ. Научные интересы: логическая математика, теория интеллекта, искусственный интеллект. Адрес: Украина, 61166, Харьков, пр. Ленина, 14, тел. 702-1446.
РИ, 2004, № 2
105