Ты относишься ко мне,
Как к полям.
Ты относишься ко мне,
Как к лесам.
Ты относишься ко мне,
Как я сам
Относился бы к волне,
К парусам.
Л. Мартынов
"Вы просто пускаете людям пыль в глаза!" - сказал, выступая на семинаре по семантическим вопросам искусственного интеллекта, инженер из Рязани. "Вы, - продолжал он, - берете игрушечные, пустяковые, но броские, но бьющие на эффект задачи и показываете, как решает их вычислительная машина. Все в восторге, а вы, пользуясь попутным ветром, утверждаете: и другие серьезные проблемы тоже, мол, таковы... в принципе. Мы их вам решим... через 10 лет... в принципе. Ходжа Насреддин тоже брался обучить ишака шаха человеческому языку через 10 лет, рассчитывая, что или шах умрет, или ишак умрет. А вы на что надеетесь?"
Автор руководил дискуссией на этом семинаре и хотел было дать критику достойный отпор. Но сдержался, потому что почувствовал в его словах рациональное зерно. Излюбленные задачи Искинта, и правда, взяты или из микрорайона школьной математики, или из уголка развлечений и головоломок.
Я, конечно, знал оправдания этому, данные одним из талантливейших исследователей в области Искинта, Марвином Минским: "Игры и математические задачи берутся не потому, что они просты и ясны, а потому что они при минимальных начальных структурах дают нам наибольшую сложность, так что мы можем заниматься некоторыми действительно трудными ситуациями".
Легко было бы ошеломить рязанца "минимальными начальными структурами", но, по сути говоря, их он и критикует. По правде говоря, с их помощью Искинт отворачивается от реального мира, чтобы колдовать в лаборатории над способами решения задач.
"В Рязани грибы с глазами, их едят, а они глядят". Рязанский инженер смотрел в самую суть: без широких и глубоких знаний о реальном мире Искинт действительно глупее насреддиновского ишака. Ему жизненно необходимы описания внешнего мира, пригодные для ЭВМ.
Пусть для начала весь внешний мир - это группа родственников, а нас интересует степень родства. Тогда модель внешнего мира - генеалогическое дерево; корень дерева - общий предок, плоды - потомки, а ветви - связи между родственниками, родственные отношения.
Их немного, родственных отношений: быть сыном (дочерью), или братом (сестрой), или мужем (женой), или отцом (матерью); на основе этих отношений можно исчислить различные степени косвенного родства, определить, кто такие золовка, шурин или деверь.
Чтобы полнее отразить внешний мир, следует добавить к генеалогическому дереву, кроме отношений родства, еще и отношения, описывающие рост, характер или место жительства родственников. Так мы укажем, что Каин был ниже своего брата Авеля, что он коварнее брата и что жили они вместе.
На генеалогическом дереве появляются метрические, психологические и пространственные отношения, которые не совпадают с родственными. Как лианы, они оплетают дерево, превращают дерево в сеть особого рода. В этой сети узлами оказываются факты, а нитями - связи между фактами по смыслу, смысловые (семантические) отношения между явлениями.
Взгляд на мир как на сеть отношений был присущ еще Р. Декарту. По крайней мере, его верный последователь Н. Мальбранш заявлял, что "все истины - это только отношения".
Конкретности ради не станем мы пока заниматься необъятным мирозданием или огромным миром человеческих чувств, а выберем мир малый, обозримый и рукотворный. Давайте изобретать интеллектуальную программу, этакого Личного Помощника, готового дать нам совет в трудных жизненных обстоятельствах. Поскольку трудных жизненных обстоятельств тоже немало, пусть наш Личный Помощник будет сведущ только в кулинарии, пусть дает нам советы, как из подручных продуктов быстро приготовить вкусную и здоровую пищу. К сожалению, и мир кулинарии слишком обширен для подробного его обсуждения здесь; сузим задачу Личного Помощника: пусть он способствует приготовлению домашних пирожков. (От универсума до пирожков - вот как сократился наш мир, вот насколько пришлось умерить свои аппетиты. Зато теперь можно надеяться на подробности, можно рассчитывать на конкретные пирожки.)
Мы хотим придумать смысловую (семантическую) сеть, в которой хранятся все необходимые знания о приготовлении пирожков. Прежде всего надо описать продукты, из которых они выделываются. Начнем с муки. Мука является частью теста...
Вот и открылось само собой первое семантическое отношение; "мука" и "тесто" - два понятия, а "является частью" - смысловая связь между ними. Запишем эту цепочку:
мука → (является частью) → тесто.
Что еще необходимо знать про муку? Она должна быть белой, первого или высшего сорта и сухой. Хорошая хозяйка перед приготовлением теста ее просеивает. Эти немудреные сведения изложим по всей форме: мука → (имеет цвет) → белая [сорт первый или сорт высший],
Теперь давайте мысленно объединим наши формальные записи. Все они начинаются словом "мука", вот мы и расположим это слово в центре, а от него лучами в разные стороны разойдутся четыре смысловые связи. Наша "мука", как морская звезда, тянет щупальца к другим понятиям, а те тоже разбрасывают свои смысловые лучи к новым и старым фактам - сплетаются понятия и отношения, образуется семантическая сеть.
Смысл понятия "мука" в ней полностью определен с помощью четырех отношений: является частью, имеет цвет, имеет влажность, приготовляется посредством. Никаких других смыслов понятие "мука" не содержит - заявляю категорически.
Вероятно, категорическое заявление автора вызовет еще более категорические возражения читателей. Как это не содержит? А что мука изготовляется из пшеничного зерна - неважно? А что ее мололи на мельнице - мелочь? А что из нее делают не только пирожки, но и хлеб, и блины, и галушки - несущественно? А что без муки наступает голод, особенно если картошка не уродила - это не относится к делу?
Не относится; к пирожковому делу не относится, для успешного печения пирожков излишне, хотя в других делах эти обстоятельства, эти отношения могут оказаться существенными, важными, даже главными.
Известным нам образом, с необходимой для дела глубиной постижения смыслов в сеть, кроме данных о муке, включают сведения о дрожжах, соде, молоке, яйцах, соли, специях. Не забыты и начинки - мясные, рыбные, овощные, творожные и другие. Любопытными в описании начинок являются смысловые связи, передающие вкусовые сочетания. Скажем, фарш мясной→ (сочетается с) → лук, картофель, грибы, капуста.
В семантическую сеть наряду со свойствами продуктов входят характеристики кухонных приборов. Чтобы не выписывать многие строчки формул для какой-нибудь скалки или противня, отбросим повторения и стрелки, превратим участок сети в список. В новой, более наглядной для человека и более удобной для вычислительной машины форме "противень" выглядит так:
Противень: входит в класс инструмент ▫; служит для посадка ▫; является частью духовка ▫; соединяется с целым вдвижка ▫; имеет свойства чистый ▫; имеет нарушения гнутый ▫; имеет заместителем сковорода ▫;...
Читатель, вероятно, заметил пристрастие автора к семантическим описаниям. Будь моя воля, я б их выписывал сюда еще и еще. И про тесто, про различные виды теста: масляное, слоеное, заварное, всходное на дрожжах и на опаре. И про "конструкцию" пирожков: лодочкой, вареником, трубочкой, рожком, конвертом, ватрушкой. И про способы их изготовления - печением, жаркой на сковороде и варкой в масле. А рецепты самых вкусных пирожков, проверенные народами и временем! Списки-образцы для беляшей, чебуреков, цепеллинов и прочих на законном основании входят в семантическую сеть.
Короче говоря, автор готов поместить здесь все 100 списков семантической сети Личного Помощника, все 800 фактов, из которых складываются эти списки, и все 1800 связей, соединяющих между собой квадратики наших списков, переплетающие списки друг с другом, образующие объемную, многомерную, многосмысловую сеть.
Списки для Личного Помощника, коли приводить их полностью, займут оставшиеся страницы книжки; мои издатели наверняка не допустят такого расточительства, хотя не исключено, что они, как и автор, очень любят пирожки. И потому автору остается только надеяться на воображение читателей, на то, что они сами мысленно воспроизведут всю эту громоздкую штуку - семантическую сеть.
Мы выбрали для описания совсем малый мир и встретились с двумя неожиданностями. Сеть оказалась огромной; хотя мы и приучены уже к тому, что машине нужно все разжевать до мелочей, тем не менее размеры сети вызывают удивление. Да и сам мир, подвергнутый смысловому анализу, оказался вовсе не прост: "пирожковая вселенная" полна особенностей, оттенков, названий, граммов и калорий.
Вот такие пирожки! Здесь было бы уместно развить плачевную тему сложности описания мира, но это весьма квалифицированно сделано уже другим автором - Сергеем Швецовым:
Как мудро все в подлунном мире:
У человека две ноги, а не четыре,
У птицы крылья есть, а у собаки хвост...
Как сложен мир и в то же время прост!
Специалисты по Искинту не досужие схоласты, остроумно высмеянные С. Швецовым, а прилежные работники. Наша семантическая сеть вполне рукотворна, изготовить ее под силу двум работникам (аналитику и программисту) за квартал. Сеть будет спрятана в память вычислительной машины, и от нее можно ждать... Действительно, чего можно ждать от вычислительной машины, профессионально ориентированной на печение пирожков?
Молодая неопытная хозяйка прибежала с работы домой и, едва успев снять пальто, обратилась к Личному Помощнику за советом. Она печатает свои вопросы к ЭВМ на пишущей машинке; ответы компьютера печатаются тут же. Вот что из этого получается (реплики хозяйки выделены квадратиками).
▫ Через час ко мне придут гости. Я хочу быстро испечь пирожки. Что делать? ▫
Проверьте, есть ли у вас мука, вода, сода и соль. Если есть, напечатайте "Да".
▫ Да ▫
Значит, пресное тесто обеспечено. Займемся теперь начинкой. Что вы хотите взять в качестве начинки?
▫ Я хочу сделать беляши ▫
Беляши - это жареные пирожки с мясом. Проверьте, пожалуйста, есть ли у вас мясо?
▫ Нет ▫
Тогда придется оставить беляши до другого раза. Что вы хотите взять в качестве начинки?
▫ Вермишель яичную ▫
Не уверена, что пирожки с вермишелью окажутся вкусными, назовите лучше другую начинку.
▫ Сырок плавленый ▫
Сырок плавленый - отличная начинка. Обычно гости предпочитают пирожки с грибами, капустой или мясом. Но с плавленым сырком тоже получится вкусно. Итак, печем с плавленым сырком?
▫ Да ▫
Тогда натрите его на крупной терке. Начинка готова. Вы умеете делать пресное тесто?
▫ Да, но у меня есть еще одно яйцо, я хотела бы добавить его в начинку. Можно? ▫
Пожалуй, нет. Яйцо в начинке хорошо сочетается с рисом и капустой, но не с сырком плавленым. Лучше добавьте желток яйца в тесто, а белок оставьте для смазки пирожков. Вам нужна помощь в приготовлении теста?
▫ Нет. Я туда долью немного молока ▫
Прекрасно. Займемся разделкой теста. Вы умеете раскатать тонкий лист?
▫ Да, но у меня нет скалки ▫
Возьмите пустую бутылку и катайте ею. Только учтите, лист должен быть тонким.
▫ Хорошо. А что потом делать? ▫
Если вы согласны с тем, чтобы пирожки имели форму конвертов, напечатайте "Да".
▫ Да ▫
Нарежьте из листа квадраты размером с ладонь. Положите в центр каждого квадрата понемногу сыра. Сверните квадрат за уголки - запечатайте конверт. Понятно?
▫ Да ▫
У вас, конечно, есть противень. Смажьте его маслом и выложите на него пирожки. После этого смажьте их сверху белком. У вас есть перышко? Напечатайте "Да" или "Нет".
▫ Нет ▫
Хм, тогда осторожно смажьте их мизинцем. Слегка смажьте, но без пропусков. Хорошенько разогрейте духовку и поставьте пирожки печься. Добивайтесь румяно-золотистого цвета, на это обычно уходит 10-15 минут. Все ясно?
▫ Все ▫
Желаю удачи. Очень прошу сообщить- потом, понравились ли пирожки гостям. Мне пригодится ваш опыт. Еще раз - удачи!
Личный Помощник 5 ДУНЯ.
В вашем присутствии, уважаемые читатели, только что состоялся диалог между человеком и вычислительной машиной. Состоялся значительно раньше, чем рассчитывал автор. По плану книги диалогу не место в этой главе. У нас нет еще знаний о том, как машина понимает естественный язык. Мы не разобрались еще в том, как устроен сценарий - особая программа, руководящая ходом человеко-машинного диалога. Мы еще не готовы.
Тщетные жалобы; материал книги вышел из-под контроля автора. Диалог прорывался на эти страницы, еще когда речь шла о программе УЧЕНИК, он требовал подробного рассказа о себе, когда мы обсуждали систему доказательства теорем, и наконец объявился здесь, "как незаконная комета в кругу рассчитанных светил". Нам остается только смириться. Что ж, пронумеруем шаги диалога (шаг состоит из вопроса и ответа) и попробуем обсудить некоторые его любопытные черты.
Начнем с шага 3. Наша хозяйка пожелала делать беляши. ДУНЯ, йрежде чем отозваться, проверяет, являются ли беляши пирожками, то есть на формальном языке:
? беляш → (входит в состав) → пирожки.
Способов проверки, естественно, два: или начать с понятия "беляш" и обратиться к спискам-рецептам, авось беляши относятся к образцам, или начать с понятия "пирожки" и просмотреть списки, содержащие их перечень, авось там среди прочих содержатся беляши.
В нашем случае к успеху привел путь "от беляшей". ДУНЯ убедилась: беляши - это пирожки, и сразу получила из семантической сети сведения об их начинке.
Если бы хозяйка сообщила, что она хочет делать хин-кали, а не беляши, тогда ДУНЕ пришлось бы испытать запись:
? хинкали→ (входит в состав) → пирожки
с обеих сторон. Оба испытания не обнаруживают согласия между двумя понятиями. ДУНЯ, когда так случается, честно признается: "Я не знаю, являются ли хинкали пирожками". Ее поведение похоже на поведение человека.
Шаг 5 диалога. Теперь хозяйка предлагает в качестве начинки вермишель. Машина вежливо отвергает вермишель. Она опирается на списки продуктов, входящие в семантическую сеть, просматривает все продукты, пригодные для начинки. Вермишели среди них не оказывается.
Означает ли это, что вермишель вовсе не пригодна для начинки пирожков. Да, если набор начинок, включенных в сеть, полный и исчерпывающий. Однако сделать набор полным трудно. Бывают пирожки с орехами, с вишней, с вязигой, с репой, с брынзой, с печенкой, с маком, с яблоками, с самыми диковинными начинками - смесями, попробуй, назови их все.
В семантическую сеть включаются только основные, "чистые", начинки и лишь некоторые смеси. В остальном ДУНЯ копирует рассуждения обычного человека.
Если среднего человека, невеликого знатока географии, спросить, является ли Донецк портом, он станет рассуждать примерно так: "Видимо, речь идет о любых портах - и морских и речных. Я знаю другие, менее важные, чем Донецк, города, являющиеся портами. Если б Донецк был портом, я бы что-нибудь об этом слышал. Скорее всего Донецк не порт!"
Аналогично ДУНЯ решает, что скорее всего вермишель не начинка, и просит хозяйку выбрать что-нибудь подходящее. Шаг 14 диалога подтверждает сообразительность ДУНИ.
Хозяйка призналась, что у нее. нет скалки для разделки теста. ДУНЯ посоветовала выход из положения - использовать бутылку. Совет достался ей почти даром: в списки семантической сети, относящиеся к кухонным приборам, входит отношение имеет заместителем; для противня, помните, заменой была сковородка, а для скалки припасена бутылка. Если бы ДУНЯ не нашла заместителя, она отделалась бы стандартной репликой: "Пожалуйста, одолжите его (ее) у соседки - иначе дело не пойдет!"
Наше обсуждение диалога ДУНИ с хозяйкой показало, как разнообразно используется семантическая сеть в оценках и выводах программы. Если б была возможность посмотреть не один, а хотя бы с полдесятка протоколов диалога, впечатление оказалось бы гораздо более сильным: ДУНЯ утюжит свою сеть вдоль и поперек, напролет и от факта к факту, не торопясь.
Самым удивительным, однако, является не интенсивность движения по сети, а способы этого движения. ДУНЕ свойственна оригинальная, еще не встречавшаяся нам, манера вывода. ДУНЯ обладает негативной логикой.
Вспомните только, как она рассуждает: "неизвестно - значит, скорее всего нет", "других не знаю - значит, этот единственный", "достаточно посмотреть на дело с одного конца, тщательная проверка с обеих сторон необязательна", "начнем хоть как-нибудь, хоть неправильно, там уточним". Обратите внимание, сколько "нет" содержится в названиях дуниных эвристик.
Они не капризные и не упрямые, эти "нет", они полезные, работящие, благодетельные. Они поглощают пустые альтернативы, как фагоциты микробов, они избавляют ДУНЮ от лишней работы и берут на себя ответственность за сомнительные случаи.
Негативная логика - ценнейшая руда, добытая исследователями в психологических экспериментах с людьми. Мы, люди, оказывается, очень экономно используем 14 миллиардов своих нейронов. Мы, как правило, не храним в памяти факты, не являющиеся истинными. Слишком много ложных дорог, вздорных суждений и нелепых обстоятельств, чтобы забивать ими память.
Мы не знаем всего этого, но умеем об этом толково рассуждать! Не помним, есть ли в Мексике король, изобрели ли китайцы пиво, изучал ли Иван Петрович кибернетику, но способны заключить, что короля скорее всего нет, что пиво, вероятнее всего, выдумали не китайцы и что Ивану Петровичу и без кибернетики хорошо.
Чудо чудное - негативную логику - психологи поймали в силки эксперимента, программисты обратили в машинные эвристики, а мы отдали ДУНЕ, чтобы Личный Помощник 5 не предлагал пирожков с морокой, с интригой или с мраморной крошкой.
Испытав семантическую сеть в пирожковом деле, рискнем применить ее в более серьезном производстве.
Представьте себе крупный современный морской порт с его причалами, механизмами и складами, с десятками судов, стоящих под погрузкой и разгрузкой, с коллективом людей разных специальностей - докеров, механизаторов, складских работников, диспетчеров и многих иных.
Здесь, в порту, на учете каждая минута. Не держать корабли на рейде, а немедленно принять их к причалам, побыстрее разгрузить и заполнить новыми грузами, рациональнее организовать перевалку грузов на железную дорогу и на автотранспорт, усовершенствовать работу складов, короче говоря, сделать деятельность морского порта оптимальной - таковы цели руководителей порта:
Моряки, конечно же, просят помочь математика - специалиста по оптимизации. Ученый бродит вдоль причалов, слушает гудки кораблей, грохот механизмов, радиоперекличку диспетчеров, а потом долго смотрит вдаль, на спокойное море и безоблачное небо. Выражение лица у него мрачное.
Что так обеспокоило специалиста по оптимизации? Что узрел он в синем небе?
Он увидел "проклятие размерности".
Он понял, что порт как объект математического описания имеет высокую размерность. Иными словами, чтобы передать все особенности, все детали жизни этого шумного и веселого многообразия, понадобится огромное число дифференциальных и алгебраических уравнений. Систему уравнений для порта и составить трудно, а решать, притом решать часто, чтобы успеть за изменениями обстановки на причалах и в складах, невозможно, даже на сверхбыстродействующем компьютере невозможно.
"Проклятие размерности" преградило обычной математике путь на территорию порта.
Да, но человек справляется с управлением портом! Он работает и ведать не ведает о "проклятии размерности". В калейдоскопе ситуаций, в череде конфликтов, в постоянной нехватке причалов, механизмов, складов он находит выходы, изыскивает резервы, перебрасывает бригады, гнет свою линию.
Главное достоинство диспетчера - умение менять уровень подробности решения. То человек решает портовые проблемы в целом грубо, не входя в подробности, то занимается участком порта, то переходит на самый детальный уровень рассмотрения. Главное орудие диспетчера - язык, обыкновенная человеческая речь с профессиональными, конечно, тонкостями, с умением кратко определить особенности каждой крупной ситуации, детали каждого мелкого решения.
В середине 60-х годов два советских исследователя - энергичный и напористый Д. Поспелов и обстоятельный, неторопливый, похожий на рабочего-лекальщика Ю. Клыков взялись вплотную за проблему порта.
Они решили обойти "проклятие размерности" стороной, выбрали не традиционный путь, а неизведанную дорогу Искинта. Они начали с выделения главных понятий, характеризующих порт. Понятий оказалось около тысячи - от "погрузочного люка" корабля до "равномерной загрузки всех причалов и складов". Столь же методично Д. Поспелов и Ю. Клыков выявили существенные отношения, связывающие понятия. Этих отношений оказалось несколько десятков.
Из понятий и отношений они собрали семантическую сеть порта. Собственно говоря, в те времена отсутствовало наименование "семантическая сеть". Они назвали смысловую карту порта несколько иначе. Но не в имени дело: по существу, это была знаковая модель порта, по существу, производственные знаковые модели впервые в мире появились в нашей стране.
Д. Поспелов и Ю. Клыков обнаружили в работе диспетчера любопытное свойство. Число различных ситуаций, которые она охватывала, было огромно, но далеко не каждой ситуации соответствовал особенный, отличный от других способ действий. Набор возможных действий диспетчера в сотни раз- уступал разнообразию ситуаций.
Диспетчер собирал сотни ситуаций в один пучок, в микроситуацию, и давал одинаковый ответ на сотни вопросов.
Как добиться, чтобы вычислительная машина умела делать то же самое, была в силах собирать ситуации, как детишек, в классы?
В главе "Пойди туда, сам не знаю куда" мы обсуждали порождающую грамматику - с ее помощью ребенок быстро овладевал родным языком. Предложенная Н. Хомским, эта грамматика носила сугубо теоретический характер.
Д. Поспелов и Ю. Клыков смело перенесли идею Хомского из лингвистической теории в пекло морской практики. Они добавили к своей сети сразу три грамматики: одна разворачивает ситуации во всем их своеобразии, другая обобщает их, собирая в классы, а третья находит должные, осуществимые на практике, действия.
Так возникло "ситуационное управление", ставшее сегодня мощным инструментом для руководства большими системами. Метод усилиями многих специалистов пришел не только в морские порты, но и на железнодорожный и воздушный транспорт, на нефтепромыслы, в проектное дело, в планирующие и административные организации. Д. Поспелов не ограничился широким применением "ситуационного управления", а пошел вглубь, ' разработал обобщающую теорию - теорию гироматов.
Гироматы - о них упоминалось уже на страницах этой книги, - гироматы строят и перестраивают свои знаковые модели, чтобы быть в согласии с внешним миром, чтобы быть в курсе дела, чтобы добиваться своих целей не грубой силой, а чутким пониманием реальных трудностей и реальных выходов из них.
"Пора, - говорит Д. Поспелов, - давно пора отказаться от трактовки человеческих решений как движений по лабиринту. Мол, открывается множество различных коридоров - возможностей, а человек блуждает по ним в поисках выхода. Так не поступает даже кольчатый червь, не то что человек. И у червя имеется, пусть примитивная, но модель окружающего мира".
Для Искинта модель мира - основа решения и действий. Специалисты стремятся вместить в семантические сети самые разнообразные вещи. Когда смысловое разнообразие сети умеренное, тогда работа с нею проста и прозрачна.
"Является ли трамвай желанием?" - спрашиваем мы. И получаем ответ "нет", ибо понятия "трамвай" и "желание" не связаны друг с другом, существуют раздельно, не пересекаются.
"Является ли индеец лордом?" - пытаем мы сеть. Ответ снова "нет", хотя и по другой причине. "Индеец" и "лорд" порознь связаны отношением "является частью" с понятием "человек", оба они люди, но на этом сходство
кончается, начинаются суровые различия o- географические, государственные, расовые; рассматривать их все нет резона, достаточно и одного различия, чтобы вывести индейца из аристократической палаты лордов.
Однородная сеть скора на решения, зато слаба в описаниях. Мало у нее выразительных средств. Включить в сеть понятия и их характеристики - только нанести карандашом контуры мира. Цвет и .объем отсутствуют. Цвет, объем, полноту изображения мира мы получим, если сеть охватит логику, время и действия.
Будем выяснять отношения
Условия задач для ЛЮБОЗАРа и многих других программ излагались на языке исчисления предикатов, компактном и удобном логическом языке. Удастся ли сопрячь его с семантической сетью? Например, включить в сеть следующий факт: "Этого полицейского кусают все собаки в городе" (на языке логики: "Существует такой полицейский, и он живет в городе, что каждая из собак, живущих в том же городе, укусила его хотя бы один раз"). Трудность восприятия сетью этого факта в том, что его описание содержит слова "существует" и "каждый", священные для исчисления предикатов слова. Их благоговейно называют кванторами и обозначают заглавными перевернутыми буквами: ∃ и ∀ кванторов, как у местных властей, своя область подчинения: ∃ выхватывает одно понятие из целого круга; ∀, наоборот, распространяет все влияние на все понятия в определенной области.
Неприятности начинаются тогда, когда в семантической сети оказывается много кванторов, когда происходит пересечение сфер их влияния, областей действия кванторов. Скажем, в понятие "собака" незаконно включается признак "имеет оружие револьвер", а в понятие "полицейский" - признак "число ног четыре". Возникает путаница, кавардак вместо логической строгости и сетевой четкости.
Чтобы восстановить порядок, недавно придуман способ деления семантической сети на автономные области, в каждой из которых владыка - данный квантор и отношения между которыми регулируются особыми правилами. Логические переменные, логические связки и кванторы - все население математической логики - получили доступ в семантическую сеть.
Логика у нас в сетке; на очереди - время. Описывая мир, приходится говорить о его прошлом, настоящем и будущем. В реальной жизни, точнее, в рассказах о жизни, времена могут смещаться, пересекаться, спутывая все "до" и "после", все "сначала" и "потом".
Придуманы довольно тонкие приемы, чтобы вплести время в семантическую сеть, чтобы отделить предполагаемое время от действительного, обязательные интервалы от желательных, физическое время от психологического.
Для каждого из нас не секрет, что наше личное время не то, которое отстукивают часы, а то, которое мы ощущаем внутренне, которое как бы встроено в наши мысли и чувства, ведет себя загадочно.
Оно не двигается равномерно, как стрелки по циферблату: оно то мчится, как гепард, то вдруг останавливается и зависает, как лемур.
- День прошел, а я и не заметил! - говорит человек, погруженный в любимое дело.
- День тянется, конца ему нет! Не знаю, как убить время, - говорит другой, и по скучному выражению лица видно, что его психологическое время вправду остановилось, что каждое мгновение растягивается до бесконечности, как у С. Кирсанова:
Время тянется и тянется.
Люди гибнуть не хотят.
С тихим криком - "Навсегданьица!" -
Никударики летят.
Неподвижно летят эти никударики, пока не вспыхнет интерес, увлеченность, неожиданность, риск. Тогда психологические часы срываются с места, тогда несутся они вдоль тракта напропалую, подобно екатерининскому курьеру, шпага которого, если верить его словам, отбивала дробь по верстовым столбам.
Психологическое время зависит от числа свободных, непринужденных решений-выборов, которые принимает человек в единицу физического времени, например в час. Читая увлекательную книгу, мы по своей воле втягиваемся в решения-выборы героев книги, мы выбираем решения вместе с ними, даже за них, - и собственное наше время растет, вмещая в себя всю жизнь героев.
Несходство времени-длительности и времени-изобретения обсуждает в одной из недавних своих работ советский математик Ю. Шрейдер. "В сущности, - пишет он, - самое насыщенное время (отношение собственного времени к длительности) возникает в нормальной маленькой библиотеке, где читатель может долго и со вкусом рыться в книгах". Это замечание имеет прямое отношение к Искинту.
Память вычислительной машины легко набить до отказа фактами, организованными, скажем, в семантическую сеть. Умеем мы и организовать диалог человека с машиной. Как будет чувствовать себя человек во время такого диалога? - вот главный вопрос.
Если из-за размеренности, тупости и узости машины время станет для человека нескончаемо тянуться, то он прервет диалог, пренебрежет компьютерным всезнайством и пойдет советоваться к другу, который меньше знает, да лучше понимает собеседника.
Машина, чтобы быть достойным и желанным партнером в диалоге, обязана знать о психологическом времени, отличать его от физического, уметь его сосчитать и, что еще важнее, уметь добиться максимальной насыщенности времени своего собеседника - человека.
Итак, время - реальное и мысленное - входит, вплетается в семантическую сеть. От временных помет сеть, увы, не становится более ажурной; заключения, связанные со временем, тоже не столь прозрачны, как те, что разделяли "трамвай" и "желание". И пульс нашей сети становится неровным, и реакции замедляются.
А впереди главное - события. До сих пор семантическая сеть вмещала только понятия, логику и время. Эта тройка хорошо рисует неподвижные картинки: семья расположилась в комнате и смотрит телевизор; хирург делает операцию, склонился над больным, в руке скальпель; поршни двигателя внутреннего сгорания заняли положение, соответствующее третьему такту его работы. Наша сеть справляется с ситуациями, но робеет пока перед событиями.
Жена встала и отправилась на кухню, хирург ввел скальпель в разрез, двигатель стал тарахтеть дальше. Все пошло, поехало, завертелось. Если остановить любой из процессов на мгновение, откроется новая ситуация, и еще одна, и еще. Событие можно разложить на последовательность ситуаций, веселых картинок, комиксов, кадров кинофильма.
Событие можно хранить в семантической сети как набор ситуаций. ДУНЯ пользуется именно этим приемом. Ход приготовления пирожков расчленен на кадры: замес теста, раскатка, нарезка, лепка, посадка, выпечка...
Обстоятельно, но громоздко. Весьма вероятно, что наборы действий, которые часто выполняет человек, занимают особое место в его памяти, но навряд ли там хранятся все подробности и все отягчения, которые встречаются в жизни. Скорее в памяти находятся скелеты событий, чем их полные описи.
Семантическая сеть труднее всего схватывает события; это обстоятельство и предопределило решение специалистов по Искинту. Попробуем делать скелеты или сценарии событий, станем помещать в память ЭВМ маленькие, короткие, трафаретные истории. Чтобы разбираться в жизни, необходимо знать множество, вероятно, тысячи разных сценариев: и про домашние дела, и про работу, и про отдых; необходимо хранить в памяти многие тысячи скелетов, излагающих нормальное, ничем не замутненное развитие событий.
Представьте себе, что на электростанции произошли две маленькие истории:
I. Оператор принял смену.
Он проверил значение температуры пара. Она оказалась недопустимо высокой. Оператор уменьшил подачу топлива.
II. Оператор принял смену.
Вскоре он себя плохо почувствовал. Он проверил значение своей температуры. Температура оказалась недопустимо высокой. Оператор уменьшил подачу топлива.
История I - нормальный сценарий, не содержащий никаких сюрпризов. Не такова история II. В ней, видимо, слиты два сценария: "Работа оператора" и "Здоровье человека", причем слиты неуместно.
Отсюда мораль: сливать сценарии надо с пониманием или, говоря на машинном языке, надлежит соблюдать условия слияния. Эти условия, согласитесь, тонкое дело, и специалистам по Искинту еще предстоит помучиться с их формулировкой.
Сценарии могут работать самостоятельно, а могут войти в семантическую сеть на правах автономных областей. Именно так используют сценарии автор и его сотрудники, разрабатывая в Киевском институте автоматики программу АРГО. Наш АРГО дает советы человеку - оператору, управляющему электростанцией, ее котлами и турбинами. Семантическая сеть АРГО учитывает все успехи, достигнутые в разработке сетей такого рода.
Чтобы найти эвристики для АРГО, как позитивные, так и негативные, мы исследовали решения, принимаемые опытными операторами электростанций. А чтобы сделать диалог быстрым и точным - в условиях производства пустые разговоры ведут к аварии, - придумали энергичный сценарий диалога.
Если на энергоблоке все в порядке, АРГО занят только контролем основных показателей; сценарий извлекает из семантической сети допустимые их значения и сравнивает со значениями действительными.
Но вот случилось отклонение, скажем, температура пара поднялась выше допустимого предела. Сценарий немедленно меняет режим работы АРГО: теперь происходит поиск возможных причин отклонения и из семантической сети выращивается дерево оценки ситуации.
В таком дереве еще много неясностей ("вопросительных знаков"). Машина запрашивает у оператора данные, не измеряемые датчиками, и ограничения, не выраженные явно. Оператор отвечает на вопросы машины вводя в нее результаты прослушивания и осмотра агрегатов. Программа реконструирует дерево, число "вопросительных знаков" сокращается. Два-три шага в диалоге человека с машиной - и действительная причина отклонения найдена. Оператор подтверждает, что он согласен с этой причиной, не видит при данных обстоятельствах никакой другой.
Программа переходит к построению плана ликвидации отклонения. Снова сценарий меняет режим работы АРГО. Теперь начальным пунктом движения становится найденная причина. Дороги, по которым происходит движение, уж иные, чем в случае поиска причин отклонения, и результат иной - построено дерево планов с "вопросительными знаками" на некоторых ветвях. Далее следует корректировка дерева планов, подсказанная опытом человека. Несколько шагов диалога - и план готов.
Таким образом, сценарий формирует маршруты движения по семантической сети, исходя из состояния энергоблока. На сценарий влияют также указания человека-оператора. Налицо диалог с переменной инициативой: то ведущим в диалоге оказывается АРГО, то оператор, но последнее и решающее слово в диалоге за человеком.
Семантическая сеть АРГО имеет одну характерную особенность: она не обычная модель внешнего мира, забранная с воли и заключенная в компьютер, а модель, связанная с миром тысячами нитей. Датчики температур, давлений, уровней, напряжений снабжают машину свежими сведениями, и эти сведения становятся на свои места в семантической сети, насыщают сеть, как соль насыщает морской воздух.
Сеть дышит свежим воздухом, отвлеченное знание сливается с сиюминутным, чтобы родить не абстрактные, а оперативные решения.
Семантическая сеть АРГО живет. Так я думал, пока со мною не произошел удивительный случай.
Началось все очень обыденно. Позвонил Э. Куссуль, сотрудник киевского Института кибернетики, работающий под руководством академика Н. Амосова.
- У нас к вам просьба, - сказал Э. Куссуль. - Нужна рецензия на наш научный отчет по оконченной части работ.
Есть такое обыкновение - давать свои отчеты на взаимную проверку, и звонок Э. Куссуля меня не удивил.
- О какой работе речь?
- Об испытаниях ТАИРа.
Я кое-что слышал о ТАИРе, знал, например, что полностью его величают Транспортный Автономный Интегральный Робот, что его устройство имеет отношение к семантическим сетям, кое-что я слышал, но очень мало и естественно заинтересовался.
- Он у вас на ходу?
- Конечно, бегает.
- Можно посмотреть?
- Милости просим.
Через час я оказался в парке, где расположена клиника сердечной хирургии. Рядом с громадой больничного корпуса находится маленький двухэтажный домик, а в нем отдел биокибернетики Института кибернетики. Соседство могло показаться бы случайным, если б не уникальная личность Н. Амосова. Он руководит и клиникой, и отделом биокибернетики.
Не задерживаясь долго в помещении, мы - Э. Куссуль, В. Фоменко, Л. Касаткина, А. Касаткин и я - вышли в парк, к ТАИРу.
Я увидел его - небольшую, неуклюжую тележку (макет - это не выставочный образец) с дальномером на невысокой мачте и с аккумуляторами на днище. ТАИР стоял, сильно накренившись, на склоне горки.
- Ну что, давайте велим ему найти ворота и пройти через них? - предложил Э. Куссуль.
- Хорошо, - согласились мы.
В. Фоменко повернул рукоятки задатчиков и нажал на тумблер. Самодельный ТАИР покатил.
- Пропадай моя телега, все четыре колеса! - напутствовал робота А. Касаткин.
Но ТАИР, кстати трехколесный, вовсе не собирался пропадать. Он неторопливо и аккуратно съехал с горки и двинулся по двору. Деловито вращая своим дальномером, робот приблизился к большому камню и, почти не притормаживая, обогнул препятствие.
Так он и катил, разумно избегая рытвин и водостоков, так добрался до ворот, которые лишь немного превосходили по ширине тележку, и прошел ворота, не задев боковых столбов. После этого его остановили, дальномер перестал вращаться.
Пришло время задавать вопросы.
- Где у него семантическая сеть? - спросил я.
- Вон решетка, рядом с дальномером, - показала рукой Л. Касаткина.
Действительно, значительную часть тележки занимала похожая на поднятое изголовье раскладушки решетка, набитая сопротивлениями и проводами.
- Значит, ваша семантическая сеть не программа для вычислительной машины, а железная, паяная, реальная вещь?
- Она даже более реальна, чем видится, - мягко улыбаясь, произнес А. Касаткин. - Обычная семантическая сеть отрешена от мира. Хранит знания, лучше или хуже организованные, содержит больше или меньше связей. Живая жизнь течет где-то в стороне от нее.
- Это похоже на книжные знания, - вмешивается Л. Касаткина. - Скажем, книга под заглавием "Движение тележек по пересеченной местности", пусть толковая книга, полная. Если добавить к ней колеса, разве она поедет? А наш ТАИР обязан перемещаться, обходить препятствия, добираться до цели. Его суть в автономности, в независимости от человека. Иной раз диву даешься, какие замысловатые узоры он выписывает.
И она рукой очерчивает сложную траекторию робота. А. Касаткин внимательно следит за ее жестами, потом поясняет:
- Ну, это ТАИР огибал большой камень. Возникло сильное возбуждение, все внимание сосредоточилось на препятствии...
- Возбуждение? Внимание? Откуда они у тележки? - удивляюсь я.
- Во многом от семантической сети. У нас она активная. Часть ее узлов воспринимает мир, другая часть ответственна за действия робота...
- Саша, лучше объясни на примере, - советует Л. Касаткина.
- Можно и на примере. Вы видели, ТАИР обогнул камень? Получилось это так. Он обнаружил камень, и в его семантической сети немедленно возбудился узел "камень".Возбуждение тотчас распространилось по всем связям, идущим от узла. Через связь "является элементом" оно достигло узла "препятствие" - робот понял, что камень является препятствием, и начал обход.
- Что значит "узел возбудился"?
- На него поступило электрическое напряжение. Чем выше напряжение, тем больше возбуждение.
- Значит, пока робот не обнаружил камень, узел "камень" не был возбужден, вроде спал?
- Не совсем так.
- Даже совсем не так, - сказала Л. Касаткина.
- А как же?
- Видите ли, ТАИР испытывает удовольствие или неудовольствие... Он стремится увеличить свое удовольствие и уменьшить неудовольствие. Это ясно?
- Нет. У него есть особые схемы, выражающие эмоции?
- Зачем особые схемы, "удовольствие" и "неудовольствие" являются главными узлами семантической сети. ТАИР стремится увеличить возбуждение узла "удовольствие" в ущерб узлу "неудовольствие". Его "стремления"...
- Ах, у него и стремления есть!
- Конечно, целый ряд узлов сети выражает "стремления", они с самого начала и подают возбуждение на все узлы сети.
- Сеть никогда не спит, - включился в разговор А. Касаткин. - Одни узлы возбуждены, другие приторможены, причем степень возбуждения-торможения у них разная - в меру их ценности для работы. Да и семантические связи сети тоже не постоянны. Потребности робота могут расширять и сужать каждую связь, смотря по ее ценности.
- Ценности вообще? Но в зависимости от обстоятельств ценность здорово меняется...
- Конечно! И тогда по сети проходит волна возбуждения, на начальную картину накладывается реальность, "внимание" робота обращается к самому опасному узлу.
- Вы уже говорили про внимание. Оно тоже узел семантической сети?
- Нет, не угадали. "Внимание" - отдельный блок ТАИРа, который усиливает различия. Наиболее возбужденные узлы получают добавку, а наиболее заторможенные попадают на голодный паек.
- "Внимание" выделяет самый опасный в данный момент узел?
- Совершенно точно. Узлы семантической сети ведут борьбу за захват "внимания". В следующий момент "вниманием" завладеет уже не узел "камень", а, скажем, узел "канава", но сейчас только "камень"...
- Итак, ТАИР - робот с эмоциями и вниманием? Вам не кажется, что вы вольно обращаетесь с понятиями психологии?
- Простите, - отвечает Л. Касаткина очень вежливо и не менее твердо, - мы не брались построить модель человеческого мышления. Психология для нас - копилка идей. Мы пользуемся идеями эмоций и внимания, чтобы сделать хороший автомат, транспортную тележку. Эти "эмоции" и "внимание" очень далеки от человеческих, но тележке они впору. На большее мы не претендуем.
- Чем спорить о психологии, давайте еще погоняем тележку, - предлагает Э. Куссуль.
И с общего согласия дает ТАИРу новые задачи. Робот умело и с достоинством преодолевает препятствие за препятствием, а я думаю о том, что он гибрид трех мощных идей.
Первая из идей идет от физиологии, от изучения нейронов, входящих в нервную систему животных и человека. Способность семантической сети возбуждаться и тормозиться напоминает подобные качества нейронных сетей, нейронных ансамблей.
Вторая идея идет от лингвистики. Сеть ТАИРа насыщена смыслами, работает по семантическим законам.
Третья идея - наделить ТАИР эмоциями и вниманием, - конечно, психологическая, нарочито упрощенная, но все же психологическая.
ТАИР - удачный гибрид; его идеи не существуют порознь, а слиты во имя общей цели. Семантическую сеть ТАИРа в гораздо большей степени можно назвать "живой", чем сеть АРГО.
Семантические сети впервые появились в Искинте десять лет назад. "Ах, было то давным-недавно" - лучше, чем сказал поэт Вл. Соколов, и не скажешь.
Давным-недавно мы увидели первые сети; они были примитивными и неуклюжими, как лукошки из ивовых прутьев. Потом научные журналы и совещания приносили нам все новые сетки - логические, временные, событийные, активные.
Мы встретились с сетями, содержащими узкое и глубокое знание, и с сетями, которые берут широко, но не глубоко, - обзорными сетями. Мы наблюдали попытки создать и глубокие и широкие сети одновременно - сети энциклопедического знания.
Вот и сейчас передо мной статья, в которой предложены размытые семантические сети - огромные нейлоновые переметы для улавливания нечетких смыслов.
Растущие сети тоже не фантазия. В Институте кибернетики АН УССР работает группа В. Гладуна, которая изобретает и совершенствует такую сеть. В ней самостоятельно возникают новые понятия и устанавливаются новые отношения, автоматически обнаруживаются новые смысловые сходства и различия.
Положим, сети уже известно, что такое "пирожок с изюмом", иными словами, в ней определено, что он сделан из теста, что он печеный и что он содержит изюм. А теперь в сеть поступает новое понятие - "кекс".
Кекс тоже сделан из теста, тоже печеный и тоже с изюмом; выходит, он не отличается от пирожка? Хотя нет, все же отличается: и тесто в нем другое, и изюм расположен иначе, и форма у кекса особая. Сеть автоматически выделяет общие свойства пирожка и кекса в новый узел, в отдельное понятие. Новый узел пригодится, когда сеть станет знакомиться со "сдобной булочкой" или с тортом "Сюрприз".
Вы уже заметили, должно быть, что происходит обучение сети кулинарному делу. Постепенно она узнаёт и про пирожки, и про бисквиты, и про торты, и про фрукты, и про вина, и про многое другое. В ходе обучения сеть растет, непрерывно меняет свою структуру, самостоятельно формирует ряд понятий, становится специалистом-кулинаром. Если сообщить такой сети, что вы любите шампанское, яблоки и бисквиты, то сеть самостоятельно установит: "Вы - сладкоежка".
Растущая пирамидальная сеть одинаково успешно может специализироваться по парковым аттракционам, или деловой древесине, или болезням животных. Она полностью отдается всякому новому делу, перестраивается до основания и этим напоминает чеховскую Душечку.
Растущие сети В. Гладун применил для решения астрономических и химических проблем. Овладев признаками солнечной активности, сеть научилась выявлять условия сильных вспышек на солнце; познав особенности существующих соединений, сеть стала намечать перспективные пары химических элементов и советовать химикам: попробуйте синтезировать вот это, попробуйте, не пожалеете!
Ничто не мешает нам наряду со знанием о реальном мире вложить в сеть абстрактные знания, скажем, мир философии, или знания социальные - о других людях и о собственных возможностях.
В ближайшие годы сеть приобретет способность к выводу, к умозаключению. Ныне она неподвижное, статичное сооружение, к которому то и дело подлетают бойкие эвристики, чтобы урвать свой кусочек знаний. Слишком много суеты; наиболее общие и повторяющиеся заключения сети спокойнее делать самой, без варягов. Сеть обязана стать выводящей.
Будем выяснять отношения
До наших дней сохранилась древняя надпись, в которой военачальник спрашивает у бога Шамаша, возьмет ли он некую крепость "будь то осадой, будь то силой, будь то боевыми действиям - битвой и сражением, будь то проломом (осадными орудиями), будь то подкопом, будь то насыпью, будь то тараном, будь то голодом, будь то клятвой именем бога и богини, будь то доброй речью и мирным договором, будь то какой-либо хитростью для взятия городов".
Обстоятельно, педантично перечислены все выборы, все исходы, все альтернативы. Избави бог хоть одну потерять; пусть и подкоп есть, и таран, и голод, добавим еще осторожности ради неопределенные пока "хитрости для взятия городов". Варианты решений для бога Шамаша разложены по полочкам; черная работа ему не по чину, пусть только бог укажет на одну из альтернатив, пусть выберет он, предвидящий и всезнающий.
Кто этот боязливый и предусмотрительный военачальник, приготовивший альтернативы для своего бога? Оказывается, не захудалый неудачник, а "вождь земных царей и царь Ассаргадон". У В. Брюсова, поэтически переложившего другую надпись, Ассаргадон высокомерно вопрошает:
Кто превзойдет меня? Кто будет равен мне?
Деянья всех людей - как тень в безумном сне,
Мечта о подвигах - как детская забава.
Я исчерпал тебя, земная слава!
И вот стою один, величьем упоен,
Я, вождь земных царей и царь - Ассаргадон.
Получается, Ассаргадон далеко не всегда был столь самоуверен и серьезно опасался иных врагов Ассирии. Особенно упорных и неподатливых мидийцев. Не надеялся Ассаргадон на случай, тщательно готовил свои победы.
Семантическая сеть должна перенять у Ассаргадона способность к глубоким и полным выводам. Иначе ей нечего делать в царстве разума.