Книга
Книга
Глава 1
ОБЩИЕ ПРИНЦИПЫ ЛОКАЛЬНОЙОРГАНИЗАЦИИ СИСТЕМ
В технике, информатике, экономике, социологии, биологии и многих других областях большую роль играют вопросы организации управления существующими или вновь создаваемыми системами, обеспечивающего целесообразность в том или ином смысле поведения системы в целом.
В настоящей главе показано, что решение возникающих при этом проблем во многом определяется степенью централизации управления компонентами системы в ходе ее функционирования. Поскольку целью книги является предложение и исследование наименее централизованного варианта организации систем — локальной организации, то естественная задача этой главы состоит в том, чтобы показать то место, которое занимают модели локальной организации в иерархии других подходов к математическому описанию моделей систем, таких, например, как общая теория систем или теория игр и исследование операций (см. разд. 1.1).
С другой стороны, в разд. 1.2 приводятся выборочные примеры реальных технических систем, в которых локальная организация является более естественной, чем централизованная или децентрализованная, — это системы связи и так называемые интеллектуальные операционные системы, учитывая, что в следующих главах книги представлено большое число моделей других локально-организованных систем, имеющих под собой реальную основу.
Как самостоятельный подход к организации систем и их математическому моделированию локальную организацию характеризует своя собственная методология анализа и синтеза моделей и систем, которая изложена в разд. 1.3 и которой неуклонно следуют все части настоящей работы. Эта методология является результатом обобщения значительного опыта исследований локально-организованных систем, накопленного разными авторами в этой области, начиная с 1961 г., что оправдывает включение в главу разд. 1.4, посвященного истории возникновения и становления методов локальной организации.
Математическое моделирование систем
В настоящем разделе предпринята попытка сделать общий обзор подходов к моделированию больших (или сложных) систем, который помогает уяснить место моделей с локальной организацией среди многих других математических моделей систем.
Общая теория систем. Под системой S в общей теории систем понимается формальная связь между наблюдаемыми признаками и свойствами системы. В этой теории развивается чисто математический и предельно общий подход [Месарович и Такахара, 1978, с. 10], ведущий к изучению таких общих понятий, как статические и динамические системы, системы без памяти, общая теория реализации, предопределенности, управляемости и т. п., обобщающие многие представления, выработанные ранее в кибернетике и теории автоматов.
Поскольку в общей теории систем речь идет об общих свойствах формальных отношений между интересующими объектами, то обычно ее языком является теория категорий. Авторы теории систем М. Месарович и Я. Такахара осознают, насколько далеко предлагаемый ими подход уводит в сторону от тех реальных больших систем, которые подвергаются моделированию в общей теории систем. Так, они противопоставляют свой подход (см. там же, с. 287) идеям, развиваемым Г. Саймоном, отмечая «его глубокое понимание того, как «действительно» работают сложные системы (в противовес известным идеализациям, часто связанным с идеями оптимизации), будь они социальными, политическими или «искусственными»».
В книге [Вунт, 1978] подробно рассматривается теория линейных систем (как детерминированных, так и стохастических) с дискретным и непрерывным временем. Особенно подчеркивается роль, которую играют различные алгебраические структуры (поля, кольца, группы, изоморфизмы) при описании линейных систем с точки зрения пространства состояний.
Многие авторы отмечали, что принятый в теории систем уровень абстракции хотя и позволяет создать математический аппарат, пригодный для описания таких систем, и разработать некоторые методы «декомпозиции» больших систем на более удобные в рассмотрении «небольшие» элементы, не приводит к развитию действенных методов управления системами (см. [Вентцель, 1988, с. 51]). Наиболее ощутимые результаты здесь получены, главным образом, в области линейных систем.
Можно сказать, что общая теория систем — это крайнее выражение централизованного подхода к организации системы: «система есть отношение S С X х Y над абстрактными множествами X, У, где X, Y — множества входов и выходов».
В этом смысле работа [Месарович и Такахара, 1978] иллюстрирует переход к большей степени централизации по сравнению с развитой М. Месаровичем, Д. Мако и И. Такахара теорией иерархических систем с многими уровнями (см. [Месарович, Мако, Такахара, 1973], оригинал книги вышел в свет в 1970 г.). В этой книге авторы отмечают, что иерархическое упорядочение часто связано с процессом изменения структуры уже существующей системы в целях повышения ее эффективности ([Месарович, Мако, Такахара, 1973, с. 85]).
Центральное место в указанной книге Месаровича, Мако и Такахара занимает проблема координации действий (принятия решений) в двухуровневой системе, содержащей п подсистем нижнего уровня,
ответственных за управление п подпроцессами некоторого общего процесса и подчиненных единственной высшей системе управления. Общая теория строится в ней на основе трех конкретных примеров систем, возникающих в сталелитейном производстве, нефтехимическом производстве и энергетике, которые характеризуются, по мнению авторов, тремя видами целей, а именно:
цели органов нижнего уровня;
цели вышестоящего органа (координатора);
цель всей системы.
На рис. 1.1 приведен пример такой двухуровневой системы. На нем через Р обозначена управляемая система (управляемый процесс), на которую поступает внешнее возмущение ш € Q, а на ее выходе возникает значение у € Y. Если тгц — суть управляющие сигналы тгц € М то можно записать соотношение Р : М х Q —> Y.
Вышестоящая
Рис. 1.1. Двухуровневая система с п нижестоящими управляющими системами [Месарович, Мако, Такахара, 1973]
Далее, на этом рисунке через 7^ обозначены координирующие сигналы, поступающие из координатора S на п подсистем S^, г = 1, . . . ... , п. Каждая из подсистем получает также сигналы обратной связи, говорящие о состоянии процесса Р [Афанасьев, 1979; Афанасьев, Колмановский, Носов, 1989].
На основе такой схемы в книге [Месарович, Мако, Такахара, 1973] изучаются вопросы координируемости и согласуемости работы всей системы в свете решения оптимизационных задач при заданной глобальной функции качества G, по которой определяются локальные функции качества Gi, i = 1,...,п (см. с. 166). Таким образом, система на рис. 1.1 представляет собой несомненный шаг в направлении
децентрализации систем, изучаемых в рамках общей теории систем. Однако и такие системы оказываются настолько сложными, что до конца удается рассмотреть лишь некоторые их линейные варианты.
Исследование операций и теория игр. Исследование операций как применение математических количественных методов для обоснования решений во всех областях человеческой деятельности [Вент- цель, 1988, с. 9] возникло в годы второй мировой войны. В самом общем виде [Вентцель, 1988; Гермейер, 1971] речь в нем идет о каком-то мероприятии, преследующем определенную цель. При заданных условиях, характеризующих обстановку, требуется принять такое решение, чтобы задуманное мероприятие было бы в каком-то смысле наиболее выгодным, т. е. необходимо задать показатель эффективности (или целевую функцию).
В рамках исследования операций, в которое обычно включают линейное программирование, динамическое программирование, теорию массового обслуживания, стохастические системы и теорию игр, также возникает представление об иерархически организованных системах. Такие системы являются децентрализованными, что видно из следующей цитаты ([Вентцель, 1988, с. 51]): «Разумное управление сложной иерархической системой состоит в том, чтобы каждое вышестоящее звено давало задание нижестоящим не жестко регламентировано ), а «в общих чертах», предоставляя им известную инициативу, но так ставя перед ними цели, чтобы каждое звено, стремясь к своей цели, работало вместе с тем в согласии с интересами вышестоящего звена и системы в целом».
Надо отметить, что пример в [Вентцель, 1988] «какая-то отрасль народного хозяйства включает относительно самостоятельные специализированные управления, которые, в свою очередь, имеют в своем подчинении предприятия (фабрики, заводы); каждое предприятие включает подразделения, цеха и проч. ...» (см. с. 50), не вполне соответствует современным представлениям об эффективной экономике, где более уместны такие понятия, как «хозрасчет, самоокупаемость, самофинансирование», играющие центральную роль в ходе перестройки (reengineering [Попов, 1996]) предприятий. Вместе с тем, Е. С. Вентцель, разумеется, ясно осознавала трудность построения такой идеализированной схемы сложной иерархической системы. Так, там же отмечается, что выбор показателя эффективности — что очень важно для работы децентрализованной системы — на практике оказывается отнюдь не простым делом: «В этом читатель может убедиться, попытавшись, например, выбрать показатель эффективности работы городского транспорта. Что взять в качестве такого показателя? Среднюю скорость передвижения пассажиров по городу? Или среднее число перевезенных пассажиров? Или среднее количество километров, которое придется пройти пешком человеку, которого транспорт не может
доставить к нужному месту? Тут есть над чем поразмыслить!» (там же, с. 20).
Рис. 1.2. Локально-организованная система S из п подсистем. (Здесь бг — действие подсистемы, связанное с достижением локальной цели Gt; It — локальная информация, доступная г-й подсистеме, г = 1, . . . , п.)
Если к трудности выбора показателя эффективности добавить также, что «само принятие решений выходит за рамки исследования операций и относится к компетенции ответственного лица, чаще — группы лиц, которым предоставлено право окончательного выбора и на которых возложена ответственность за этот выбор. Делая выбор, они могут учитывать, наряду с рекомендациями, вытекающими из математического расчета, еще ряд соображений (количественного и качественного характера) которые этим расчетом не были учтены» (см. [Вентцель, 1988, с. 16]), нетрудно прийти к изучаемой в данной книге схеме локальной организации, изображенной на рис. 1.2.
Игровое децентрализованное управление. Децентрализация при игровом управлении достигается за счет согласования действий подсистем через объект управления (среду, в которой функционируют подсистемы), что позволяет всей системе достигать поставленной перед ней цели в результате действий подсистем, направленных на достижение своих локальных целей ([Бернштейн, 1966, с. 24]).
Игровое децентрализованное управление, которое весьма подробно описано в книге [Варшавский и Поспелов, 1984], отличает от локальной организации наличие общей цели, хотя многие математические модели оказываются весьма близкими. Собственно, локально-организованные системы попали в цитируемую книгу под рубрикой «системы, которые в полном объеме никто не создавал»: «В отличие от радиоприемника или телевизора, самолета или автомобиля мировая сеть телефонной связи не имеет единого проектировщика, который бы воплотил свой замысел в имеющуюся сеть. Та система, которая существует, возникла из более простых эволюционным путем, путем постепенного объединения более простых систем и усложнения функционирования в процессе их объединения» (там же с. 9). Однако эти системы остались в этой
книге неизученными, если не считать описания модели голосования на с. 144-151, заимствованной из наших работ [Стефанюк и Котляр, 1971] и [Котляр и Стефанюк, 1972].
Во многих предметных областях можно наблюдать тенденцию перехода от централизации к децентрализации. Однако логика развития технических, экономических и им подобных больших систем требует рассмотрения распределенных или локально-организованных систем, что мы и попытаемся показать в следующем разделе.
1.2. Примеры систем, требующих локальной организации
Для строгого определения понятия локально-организованной системы необходимо уточнить, что понимается под системой, под критерием ее работы, под целью ее функционирования.
Техническая система S в наиболее абстрактной форме задается в виде отношения S С X х Y над множествами X (вход) и Y (выход) [Месарович и Такахара, 1978], но в реальных системах более естественным является использование отображения S : X Y.
Рассмотрим совокупность подобных технических систем Sg ; X
—>- У, зависящих от параметра /3, с одними и теми же множествами X и Y и запишем работу каждой системы этой совокупности в виде функции у = 5д(ж) или у = S^PY
Варьируя /3, конструктор выбирает необходимую систему сообразно некоторому критерию или оценке качества функционирования G(x, у) и некоторой функции-идеала Соа1(ж), отыскивая, например, следующий минимум целевой функции [Афанасьев, 1979; Афанасьев, Колмановский, Носов, 1989]:
min j {Соа1(ж) — G^x, S^x, /3))} W(x) dx, (1.2.1)
где {о} — выбранная метрика, a W(х) — весовая функция.
Здесь приведена одна из возможных форм задания цели, которую в данной работе мы отождествляем с целью конструирования или просто с целью функционирования системы, для краткости обозначая ее символом G.
При глобальной организации системы конструктор располагает исчерпывающим описанием класса возможных систем, критерием качества функционирования, описанием работы идеальной системы, оптимизируемым функционалом, набором дополнительных ограничений.
Легко убедиться, что в класс глобально-организованных систем попадают как централизованные системы, оптимальные в смысле (1.2.1), так и децентрализованные системы (см. пример на рис. 1.1).
В последнем случае считается, что система S с заданными выше характеристиками разбита на ряд подсистем Si и для каждого г указаны
Соа1г(ж), Gi(x^ у) и целевая функция
min j {Соа1Дж) — Gi(x, S^x^ Д))} Wi(x) dx(1.2.2)
xEXi
такие, что если минимум (1.2.2) достигается для всех г, то S в целом будет оптимальной в указанном выше смысле (1.2.1).
Естественной альтернативой глобальной организации является локальная организация, при которой система S состоит из ряда подсистем Si, каждая из которых, в простейшем случае, является глобальноорганизованной, т. е. для Si конструктором определена ее цель G^ но либо цель системы S не задана в том объеме, который необходим для создания глобально-организованной системы, либо каждая подсистема работает на основе ограниченной локальной информации G о действиях других подсистем и получаемых ими входных значениях, что не позволяет создать децентрализованный вариант глобально-организованной системы. (Система считается локально-ор- ганизован-ной по определению, если хотя бы одна ее подсистема является локально-организованной.)
Перечислим ситуации особого интереса к локальной организации:
К локальной организации ведет, как правило, укрупнение систем путем объединения частных «умений» при создании техноценоза [Варшавский и Поспелов, 1984].
Во многих случаях отсутствуют достаточные основания для формулировки четкой единой общесистемной цели [Вентцель, 1988].
С ростом количественного состава централизованной или децентрализованной системы недопустимо растет объем необходимой служебной информации [Варшавский и Поспелов, 1984].
Естественная с общенаучной точки зрения парадигма глобальной организации достаточно быстро исчерпывает себя в приложениях, в силу развитости соответствующих математических методов.
Наконец, создание локально-организованных систем часто разрешает противоречие между хорошей степенью изученности отдельных частей и малой изученностью системы в целом в еще создающихся или допускающих дальнейшее развитие системах.
Ниже разбираются два примера, моделирующие реальные технические задачи, в которых локальная организация возникает с неизбежностью.
Первым примером, на котором мы остановимся подробнее, являются распределенные системы связи: телефонные сети [Бутрименко и Лазарев, 1965; Бутрименко, 1966], сети передачи данных [Гинзбург и Стефанюк, 1979; Лазарев и Саввин, 1973], радиосети коллективного доступа [Стефанюк и Цетлин, 1967; Abramson, 1970; Цыбаков
и Лиханов, 1985]. В таких системах приходится решать задачу передачи сообщений или данных, поставляемых абонентами независимо друг от друга. Кроме того, дальнейший маршрут сообщения в узлах коммутации распределенной сети выбирается на основе ограниченных локальных сведений о занятости выходных соединений данного узла [Ченцов, 1980].
В принципе, на так работающей сети создаются условия для различных конфликтных ситуаций (занятость линии в телефонной сети, заторы в сетях ЭВМ, неустойчивость в радиосетях коллективного доступа, наложение сигналов в системе Алоха и т. д.). Однако применение централизованных или децентрализованных методов оптимального указания маршрутов или режима работы абонентов практически невозможно, так как для этого потребовалась бы сеть связи, дублирующая основную, предназначенная исключительно для передачи управляющей информации. Кроме того, управляющий центр должен был бы исходить из некоторой общесетевой цели, которую совсем непросто выбрать и обосновать. И наконец, наличие такого центра сильно повысило бы уязвимость системы.
Поэтому реальные распределенные сети являются локально организованными, причем многолетний опыт подтвердил их достаточно высокие эксплуатационные качества. Не удивительно, что распределенные сети явились одним из самых первых объектов приложения теории коллективного поведения автоматов [Бутрименко и Лазарев, 1965].
Другим примером из практики, где локальная организация системы является столь же естественной, может служить так называемая интеллектуальная операционная система [Стефанюк, 1982а].
Как известно, задачей операционной системы (ОС) вычислительной машины является весь комплекс обслуживания пользователей ЭВМ, включающий контроль и согласование всех процессов вычисления или пересылки данных ). Нет нужды говорить здесь о том, что современные ОС являются сложным и дорогостоящим программным продуктом, требующим длительной и тщательной разработки. Кроме обычных требований к ОС в интеллектуальных операционных системах выделено требование индивидуального обслуживания пользователя ЭВМ, когда реакция ЭВМ на действия пользователя не носит универсального, априорно заданного характера, а зависит от предыдущих действий данного пользователя, по которым ЭВМ в состоянии судить об уровне знаний пользователя, его подготовке, быть может, его психической организации и т. д.
В работе [Стефанюк, 1982а] не только выдвинута идея такой интеллектуальной операционной системы, но и предложен метод ее реализации, состоящий в создании локально-организованной системы фреймов S, каждый из которых в состоянии распознать лишь достаточно узкую ситуацию и предпринять некоторое действие, адекватное именно этой ситуации. Таким образом, «цель» Gi каждого фрейма Si задается создателем системы (экспертом-программистом) довольно
легко; несложно организовать непротиворечивую совместную работу некоторого числа таких фреймов, но общесистемную цель G интеллектуальной операционной системы задать было бы весьма трудным (да и не нужным!) делом. Точно также мы затрудняемся, если нас просят кратко и содержательно описать «личность» некоторого человека, хотя множество его отдельных свойств, проявляющихся в достаточно узких подклассах ситуаций, могут быть легко названы. (Подробнее об интеллектуальных операционных системах написано в гл. 5 этой книги.)
Заключая раздел, отметим, что одной из задач настоящей работы автор видел в том, чтобы проиллюстрировать широкое распространение систем, в которых локальная организация является более естественной, чем централизованная или децентрализованная организации. В частности, в качестве моделей таких систем в книге фигурируют коллективное поведение конечных и стохастических автоматов [Стефа- нюк, 1963; Гинзбург и Стефанюк, 1970; Стефанюк, 1971а, 19896], локальное управление [Стефанюк В. Л., Цетлин, 1967; Стефанюк, 1968а, 1989в], интерактивные программные системы [Стефанюк, 1982а; Стефанюк и Алексеева, 1986], «неглубокие» экспертные системы [Алексеева и др., 1984; Алексеева и Стефанюк, 1984; Стефанюк, 19876, 1987г, 1988а], некоторые системы представления задач, знаний и обучения [Stefanuk, 1973; Стефанюк, 1975; Жожикашвили, Стефанюк, 1986а, 19866] и ряд других (см. табл. 1.3).
Рассмотрение столь широкого спектра моделей обусловлено тем, что каждый из указанных классов моделей порожден своей предметной областью, создающей, как правило, оригинальные трудности в постановочном, методологическом и математическом планах. Объединяющим началом в изучении этих моделей, которые обычно исследуются в книге «до конца», является методология исследования локально-организованных систем, описанная в следующем разделе.
.3. Методика изучения локально-организованной системы
Задачей исследователя локально-организованной системы может быть либо изучение поведения существующей системы (анализ), либо выбор наиболее адекватной системы из имеющегося набора вариантов (при синтезе).
Каждая компонента в локально-организованной системе S стремится достичь своей цели Сг. г = 1, . . . ,п, независимо от действий остальных компонент (или, по крайней мере, в максимально возможной степени к ней приблизиться [Стефанюк, 1969]). Целью всей системы при локальной организации является обеспечение нормального функционирования ее подсистем S^, а не достижение некоторой априорной общесистемной цели ), поэтому критериями выбора варианта при син-
тезе системы могут быть такие соображения, как целесообразность, живучесть, открытость, устойчивость, эластичность и др., изучению которых в различных проявлениях и в различных предметных областях посвящены многие разделы книги ).
Указанные критерии выбора модели локально-организованной системы варьируются от одной группы задач к другой, их формулировка и применимость при этом, как правило, определяются предметной областью, каждая из которых требует достаточно глубокого исследования. Приведем некоторые примеры.
— Понятие целесообразности коллективного поведения возникло как непосредственное обобщение выдвинутого М. Л. Цетлиным представления о целесообразном поведении одиночного автомата, помещенного в случайную среду.
— Близким способом М. Л. Цетлин определил также свойство целесообразности стековой памяти в своей модели «стопка книг», которое мы использовали в памяти со случайной выборкой элементов.
Свойство живучести («война до последнего солдата») было отмечено рядом авторов в играх коллективов конечных автоматов.
Свойство эластичности было введено в коллективах автоматов с непрерывным множеством действий как добавочный критерий качества работы устойчивой локально-организованной системы.
Представление о выработке навыка возникло при локальном подходе к решению механо-двигательной задачи управления манипулятором в робототехнике.
Другие примеры можно видеть в табл. 1.4.
Для того чтобы выделить полезные для практики критерии поведения локально-организованной системы, необходимо было накопление достаточного опыта применения локальной организации. В соответствии с этим в книге представлена попытка максимально разнообразить изучаемые предметные области с тем, чтобы, с одной стороны, убедиться в широкой распространенности и применимости принципов локальной организации, а с другой — придать, где это возможно, конкретный вид обсуждаемым критериям и достигнутым результатам.
Чтобы дать формальное описание методики изучения локально-организованной системы, введем следующие обозначения.
Пусть {е^} — множество возможных действий подсистемы Si, г = = 1,.. . , п,и пусть, как в [Стефанюк, 1973а], взаимодействие подсистем в системе S описывается совокупностью функций Vi^ = v^e^t^ . . . ... , en(t), t), г = 1, . . . , п, где Vi^ — эффект, получаемый подсистемой Si, в момент времени I. Тогда изучение локально-организованной системы S сводится к следующим основным этапам (см. также рис. 1.3 ниже):
Указание для каждого г локальной информации /i о системе S в целом, доступной подсистеме Si в момент времени t. Обычно G сводится к совокупности v^ ei в различные моменты времени, но может содержать и некоторые дополнительные сведения, например, о числе подсистем п.
Указание для каждого г целевой функции Gi^u^ ei).
Анализ для каждого г достижимости Gi в «стационарных условиях», т. е. когда остальные подсистемы не изменяют во времени своих действий. Построение для стационарного случая подходящего алгоритма функционирования подсистемы — правила выбора действия ei(t)D исходя из Gi и Ц.
Указание характера взаимодействия подсистем в рамках системы S, например, путем задания функций ^(о), г = 1, . . . , п.
Анализ функционирования системы S как совокупного результата действий ее подсистем S^ г = 1,...,п по алгоритмам, построенным на этапе III.
Возврат к этапу I и пересмотр выборов, произведенных на каждом из этапов, если функционирование системы в целом оказывается в каком-то смысле неприемлемым либо для ее разработчика, либо для составляющих систему подсистем (см. табл. 1.4).
На рис. 1.3 показано прохождение перечисленных этапов в случае «итерации» системы по циклу анализа максимальной длины. Однако на практике такая итерация обычно ведется по какому-либо внутреннему циклу, составленному из части указанных этапов (см. табл. 1.1).
Конкретизация понятий, использованных нами для описания локально-организованных систем, зависит от изучаемой предметной области. Тем не менее, можно указать некоторые классы математических моделей, в пределах которых такая конкретизация является более или менее устоявшейся.
— Подсистемами являются детерминированные или вероятностные конечные автоматы, причем взаимодействие в системе носит детерминированный или вероятностный характер (коллективное поведение, коллективное поведение автоматов, игры автоматов).
— Подсистемами являются автоматы с непрерывным множеством действий, взаимодействие носит детерминированный характер
Рис. 1.3. Последовательность этапов исследования локально-организованной системы S
Таблица 1.1. Основной итерируемый этап анализа по схеме рис. 1.3
Дискретные модели, гл. 2
Непрерывные модели, гл. 3
Искусственный интеллект, гл. 4
Программирование, гл. 5
Раздел
Этап
Раздел
Этап
Раздел
Этап
Раздел
Этап
2.1
3.1
IV
4.1
IV
5.1
IV
2.2
III
3.2
IV
4.2
II
5.2
2.3
IV; V
3.3
II
4.3
II; III; V
5.3
III
2.4
I
3.4
4.4
V
5.4
IV; V
5.5
I; II
5.6
IV; V
Таблица 1.2. Основные методы исследования локально-организованной системы, рассмотренные в книге
Дискретные модели, гл. 2
Непрерывные модели, гл. 3
Искусственный интеллект, гл. 4
Программирование, гл. 5
Асимптотический анализ с ростом памяти; приближенный анализ с ростом числа подсистем;
исчерпывающее моделирование;
комбинированные методы
Устойчивость
в малом;
глобальная устойчивость;
исследование равновесных точек;
анализ матрицы взаимодействия;
имитационное моделирование
Комбинаторные методы;
эвристические методы и принципы;
машинный эксперимент;
теория нечетких множеств;
теория категорий;
теория обучения
Интерактивное программирование;
символьное рекурсивное программирование;
локально-организованные системы знаний;
методы экспертных систем;
интерактивные обучающиеся системы
(системы связи с многими пользователями, экономикоматематические модели).
Подсистемами являются конечные автоматы, но взаимодействие носит «нечеткий» характер (экспертные системы).
Подсистемами являются фирмы или индивиды, вступающие в сложные товарно-денежные отношения (экономикоматематические модели).
Неоднородные технические системы, в которых участвуют люди (человеко-машинные системы) или биосистемы [Крейн, 1986].
— Подсистемами являются модули программы, вступающие во взаимодействие (интерактивные языки программирования высокого уровня, системы искусственного интеллекта).
Таблица 1.3. Основные модели, предложенные и изученные в книге
Дискретные модели, гл. 2
Непрерывные модели, гл. 3
Искусственный интеллект, гл. 4
Программирование, гл. 5
Коллектив е-ав- томатов;
модель сохранения мнения при голосовнии;
память со случайной выборкой
Невзаимодействующий коллектив;
коллективы с устойчивостью и эластичностью;
содержательный критерий устойчивого взаимодействия;
коллектив со
взаимопомощью;
модель выработки навыка
Построение инвариантных раскрасок;
локальное управление такси;
изоаритмическое управление сетью ЭВМ;
локальное создание новых представлений;
формирование фреймов;
формальная схема представления знаний и обучения;
объединение свидетельств;
принцип максимального доверия и принцип максимума энтропии
Снятие рекурсии при побочных эффектах;
рекурсивное вычисление числовых функций;
интерактивная система ЭКЛИСП;
интеллектуальная операционная система;
система гибкого обслуживания FLEX;
обучающаяся система поддержки ввода информации PROMPTER;
выявление последовательности оснований ДНК;
активный фильтр для Интернет
В рамках таких классов, определивших структуру данной книги, используются разные модели (см. табл. 1.3) и приемы исследования (см. табл. 1.2). Однако сформулированная выше методика изучения локально-организованной системы остается неизменной.
Следует отметить также, что само различие таких классов обусловлено, главным образом, различием применяемого математического аппарата, тогда как на содержательном уровне многие понятия, характеризующие целесообразность системы или ее элементов, оказываются вполне аналогичными, а ряд результатов и методов — переносимыми из класса в класс.
Таблица 1.4. Критерии целесообразности поведения систем, использованные в книге
Раздел книги
Критерий работы системы в целом
2.1
Максимум выигрыша
2.2
Асимптотическая оптимальность
2.3
Надежность сохранения «мнений»
2.4
Минимум среднего времени доступа
3.1
Глобальная устойчивость
3.2
Устойчивость в малом и глобальная устойчивость
3.3
Устойчивость и эластичность положений равновесия
3.4
Выработка навыка в механо-двигательной задаче
4.1
Упрощение представлений для решаемой задачи
4.2
Уменьшение времени выборки сложно организованных данных
4.3
Уменьшение времени узнавания ситуации за счет обучения
4.4
Максимальное доверие поступающим свидетельствам
5.1
Учет побочных эффектов, наглядность программирования
5.2
Интеллектуальность операционной системы
5.3
Гибкость обслуживания в системе Лисп
5.4
Ускорение и облегчение ввода информации оператором
5.5
Выявление последовательности оснований в ДНК
5.6
Снижение уровня вирусов и спама
Исторические предпосылки и краткая библиография
Толчком к созданию моделей локально-организованных систем послужила формулировка М.Л. Цетлиным в 1961 г. понятия целесообразного поведения автомата, помещенного в случайную среду. По существу, она знаменовала отказ от традиционного отношения к техническим и биологическим системам, принятому в теории систем. Прежние постановки вопросов об оптимальной организации систем слишком сильно сужали класс систем, поддающихся математическому моделированию и исследованию, и не позволяли изучать многие реально полезные системы.
Первой широкой публикацией по локальной организации систем явилась статья [Стефанюк, 1963]. В ней дана постановка задачи о коллективном поведении системы конечных автоматов и приведен результат, полученный ранее в дипломной работе [Стефанюк, 1961], выполненной под руководством М.Л. Цетлина ).
Исследованная в [Стефанюк, 1961] и повторенная в [Стефанюк, 1963] математическая модель коллективного поведения пары автоматов возникла у автора при попытке осмыслить условия целесообразного функционирования электронного макета «обучающейся машины» (см. фото на рис. 1.4), изготовленного на кафедре физики колебаний физического факультета МГУ в 1957-1961 гг. в ходе выполнения дипломной темы. (Подробности можно найти в публикации [Стефанюк, 1995].)
Рис. 1.4. Действующий макет обучающейся машины (1957-1961)
В этой модели коллективное поведение автоматов определялось как прямое обобщение понятия целесообразного поведения одиночного автомата, предложенного М. Л. Цетлиным. Такое представление о коллективном поведении несколько отличалось, как отмечалось М. Л. Цетлиным, от созданной позже теории игр автоматов [Крылов и Цетлин, 1963; Цетлин, 1963; Гельфанд и др., 1963], построенной первоначально [Крылов и Цетлин, 1963] также, как и у нас [Стефанюк, 1963], на примере двух автоматов с линейной тактикой ).
Действительно, в теории игр автоматов возможности коллективов автоматов сравниваются с игрой матричного типа традиционной теории игр, для которой хорошо известны оптимальные стратегии и соответствующие оптимальные значения выигрышей. Будучи матема-
тически стройной, постановка задачи о поведении автоматов в игре привлекла целый ряд исследователей, включая автора данной книги.
Дальнейший прогресс в области игр автоматов нашел отражение в книгах [Варшавский, 1973] и [Варшавский и Поспелов, 1984]. С некоторых пор в области игр автоматов стало традицией использовать приближенные методы анализа, опирающиеся на некоторые правдоподобные статистические гипотезы ([Волконский, 1965; Кринский, 1966]), касающиеся «глубоких автоматов» ([Варшавский, 1973]). Нам показалось важным попытаться найти асимптотически точные методы анализа поведения коллектива автоматов, не прибегающие к подобным гипотезам.
Соответствующий результат был получен на примере игр s-автоматов: [Гинзбург и Стефанюк, 1970; Стефанюк, 1971а]. В работе [Плетнев, 1985] аналогичный развитому нами метод был использован для получения асимптотически точных результатов для игр асимптотически оптимальных последовательностей автоматов типа автомата с линейной тактикой.
С другой стороны, в отечественной литературе шло накопление содержательных постановок задач коллективного поведения автоматов, связанных, главным образом, с попыткой его приложения в разнообразных реальных ситуациях. В этом плане нами были предложены и изучены две модели коллективной памяти, связанные с моделированием надежного запоминания за счет коллективного функционирования многих элементов в рамках локальной организации системы: [Стефанюк и Котляр, 1971; Котляр и Стефанюк, 1972], [Стефанюк, 1974; 1999].
Несомненно, что игра автоматов и коллективное поведение автоматов весьма близки и формально и по своей сути. Эта близость особенно заметна в тех работах, в которых авторы, не ограничиваясь проблемой получения оптимальных решений в теоретико-игровом смысле, приводили детальное исследование поведения и в тех случаях, когда указанный оптимум не достигался.
Для нас важно отметить, что коллективное поведение в исходной его формулировке, данной в работе [Стефанюк, 1963], вообще говоря, охватывает более широкий класс систем с локальной организацией, чем игры автоматов, позволяя анализировать прикладные ситуации, в которых игровая формулировка не является естественной.
Среди таких «прикладных» ситуаций можно указать реальную ситуацию противоборства при обучении в каждой из четырех пар автоматов, составляющих сконструированную в [Стефанюк, 1961] «обучающуюся машину», моделью которой явилась задача о коллективном поведении пары автоматов [Стефанюк, 1961, 1963] ]. Другим примером явилась работа асинхронно-адресной системы связи, при моделировании которой нами рассматривалось коллективное поведение автоматов с непрерывным множеством действий в детерминированной постановке и непрерывным временем.
Первой публикацией по локальной организации систем с непрерывным временем и непрерывным множеством действий компонент
явилась статья [Стефанюк, Цетлин, 1967] по локальному управлению в коллективе радиостанций, написанная после трагической гибели Михаила Львовича Цетлина в 1966 г. Эта работа положила начало серии статей, приведших к защищенной в 1969 г. кандидатской диссертации [Стефанюк, 1968в] ).
Говоря о локальной организации систем с непрерывным множеством действий, следует отметить, что возникающие в этой постановке задачи весьма близки к задачам теории управления, поэтому мы назвали этот класс проблем коллективного поведения локальным управлением.
Развитие этих работ протекало следующим образом. После публикации [Стефанюк и Цетлин, 1967], содержащей исходную постановку задачи, последовали наши публикации [Стефанюк, 1967, 1968а, 19686] и [Стефанюк, 1968в, 1969], где на примере дробно-линейной зависимости подсистем в локально-организованной системе, моделирующей коллектив радиостанций, были поставлены и частично исследованы вопросы устойчивости, вопросы выбора локального критерия и вопросы эластичности.
Однако изложенные в [Стефанюк, 1969] результаты, полученные для интересной, но частной модели взаимодействия и показавшие актуальность подхода, отнюдь не исчерпали проблематику коллективного поведения систем с непрерывным множеством действий. Так, в работе [Микийчук и Стефанюк, 1971] нами был поставлен и изучен вопрос о «содержательных критериях» устойчивости локально-организованной системы, в работе [Стефанюк, 19716] исследовались системы связи «с взаимопомощью», в работе [Стефанюк, 1973а] — системы без взаимодействия, позволившие дать общую формулировку требованию эластичности (1973 г.), в статье [Стефанюк, 19736] исследовались свойства М-матриц, существенные для работы локально-организованной системы.
Надо отметить, что за это время были получены также и некоторые новые результаты [Стефанюк, 1989в; Stefanuk, 1993] для указанной выше модели с дробно-линейным взаимодействием, некоторые из которых включены в данную книгу.
Близкие задачи решались и другими авторами. В 1969 г. В. И. Варшавский сформулировал задачу о децентрализованном управлении при распределении ограниченного ресурса [Варшавский и др. 1969], включенную, наряду с некоторыми нашими результатами по локальному управлению, в его книгу [Варшавский, 1973]. В связи с некоторыми экономическими моделями А. В. Малишевский, Ю. Д. Тенисберг в 1969 г. выполнили работу по играм автоматов с непрерывным множеством
действий [Малишевский и Тенисберг, 1969]. Будучи еще участником нашего семинара по теории автоматов в МГУ, А. В. Малишевский в 1972 г. выполнил работу по глобальной устойчивости локально организованной системы [Малишевский, 1972], сведя требования устойчивости к наличию некоего единого ресурса для системы в целом — некоторая альтернатива нашим «содержательным критериям».
Отталкиваясь от этих результатов, В. И. Опойцев написал в 19741975 гг. серию статей [Опойцев, 1974-1975] о достижении равновесия при коллективном поведении, где особое внимание было уделено автоматам с непрерывным множеством действий и с «недетерминированным» алгоритмом поведения, а в 1977 г. — книгу на эту тему [Опойцев, 1977]. В. В. Андрусевич (1981 г.) изучал поведение подобных автоматов в системах с векторными элементами [Андрусевич, 1981].
Из зарубежных работ по коллективному поведению конечных автоматов можно отметить статью Т. Ковера и М. Хеллмана [Хеллман и Ковер, 1970], где упоминается наша работа [Стефанюк, 1963], работу Б. Чандрасекарана и Д. Шена [Chandrasekaran and Shen, 1969] по играм стохастических автоматов, а из более поздних — работу [Takeushi, Kitahashi, 1973], касающуюся игр автоматов с нулевой суммой. Аналоги некоторых постановок задач локальной организации поведения систем с непрерывным множеством действий можно встретить в зарубежной математико-экономической литературе, например [Гейл, 1963; Карлин, 1964; Hicks, 1946], откуда нами были заимствованы отдельные методы исследования.
Следует отметить, что некоторые задачи локальной организации под различными названиями встречаются в исследовании операций [Гермейер, 1971; Вентцель, 1988], теории игр, теории «целенаправленных систем» [Месарович и Такахара, 1978], теории «активных систем» [Цыганов, 1987] и др. Соответствующие публикации регулярно появляются на страницах таких журналов, как «Автоматика и телемеханика», «Техническая кибернетика (Теория и проблемы управления)», «Кибернетика», «Проблемы передачи информации» и др.
Начиная с 1973 г. нами были предприняты попытки перенести некоторые представления о локальной организации в область программирования и искусственного интеллекта. Так, используя локальные свойства языка программирования Лисп, мы построили на локальных принципах систему снятия рекурсии [Stefanuk, 1979], являющуюся обобщением системы Т. Риша [Rish, 1973] на случай присутствия побочных эффектов. Наша система, а также рекурсивный способ оценивания несимвольных функций в языке Лисп изложены в гл. 5. Свойства локальности программ были изучены также в работе [Back, Mannila, 1984].
Надо отметить, что особо сложные вопросы локальной организации возникают в ЭВМ с параллельной архитектурой, примерами которых могут служить так называемая коннекшн-машина, описанная в [Hillis, 1985] и [Фельдман, 1987], система транспьютеров [Хинтон, 1987], многопроцессорные вычислительные комплексы [Прангишвили, 1987] и др. Однако к настоящему моменту эти вопросы еще недостаточно изучены
и поэтому не нашли отражения в данной книге, хотя в таких системах локальной организации предстоит сыграть особо важную роль.
Результаты, собранные в гл. 4, с другой стороны, призваны показать, что рассмотрение систем как локально-организованных оказывается полезным при решении ряда фундаментальных задач искусственного интеллекта: выбор представления задач, максимально облегчающего их решение, построение теории обучения и представления знаний, построение рассуждений в достаточно простых экспертных системах. Эти результаты были получены нами в работах, начиная с 1975 г.
В частности, вопрос представления задач исследовался на примере проблемы «крепкий орешек», выдвинутой Дж. Маккарти [McCarthy, 1964]. Применение теории категорий в гл. 4 для описания обучения в системах искусственного интеллекта было обусловлено внимательным исследованием вопроса о том, как построить достаточно общую теорию комбинирования знаний в человеко-машинной системе (см. работы А. В. Жожикашвили, В. Л. Стефанюк, 1984-2002 гг.). Локальная организация экспертной системы позволила сформулировать проблему объединения нечетких свидетельств в виде некоторой экстремальной задачи — максимизации степени доверия свидетельствам [Стефанюк, 19876].
К области программирования и искусственного интеллекта относятся также результаты, включенные в гл. 5. В ней описаны локальноорганизованные системы, которые реализованы в виде замкнутых пакетов программ и находят (или могут найти) практическое применение в реальных ситуациях.
В частности, в этой главе кратко описана система ЭКЛИСП — разработанная нами для мини-ЭВМ ЭКЛИПС операционная система Лисп. Описана система FLEX, обеспечивающая гибкую поддержку программисту на языке Лисп. Последнюю можно рассматривать также как модель интеллектуальной операционной системы, которую мы предложили в 1982 г. и которая дополняет совокупность идей, обычно относимых к так называемому интеллектуальному интерфейсу. Система PROMPTER, обеспечивающая подсказкой оператора, вводящего в ЭВМ повторяющуюся информацию, была принята к внедрению в морском порту при вводе грузовых документов. Эта система является частным случаем системы обучения на языке теории категорий, описанной в предыдущей главе, напоминая по своим свойствам «систему завершения» (completion), впервые использованную в машинном редакторе GNU Emacs [Stallman, 1986].
Приведенные в гл. 5 системы созданы с учетом целого ряда реальных требований, характеризующих специфику приложения, и поэтому в ней нет теоретических результатов общего характера, которые типичны для глав 2-4 книги.
Выводы по главе 1
Сделан обзор работ по теории систем, исследованию операций и игровым децентрализованным методам, показывающий, что локально-организованные системы представляют собой важную и естественно
46 Общие принципы локальной организации систем [Гл. 1 возникающую альтернативу централизованным и децентрализованным системам. Показано место локально-организованных систем среди других математических моделей больших систем.
Показано, что локально-организованные модели позволяют эффективно расширить класс моделируемых реальных систем, включив в анализ ряд современных распределенных систем связи с многими пользователями, интеллектуальные операционные системы и др.
Изложена принятая в книге общая методика исследования локально-организованных систем, позволяющая с единых позиций рассматривать различные иерархии моделей локально-организованных систем.
Приведенный краткий обзор литературы показывает, что научное направление, развиваемое в книге, а именно локальная организация технических систем, является актуальным, привлекает большое внимание многих исследователей и что автору книги принадлежат основные работы, относящиеся к зарождению и становлению этого направления.
Глава 2
МЕТОДЫ ИССЛЕДОВАНИЯ ЛОКАЛЬНОЙОРГАНИЗАЦИИ ПОВЕДЕНИЯ СИСТЕМВ ДИСКРЕТНЫХ МОДЕЛЯХ
Данная глава посвящена разработке и иллюстрации методов, рекомендуемых для анализа локально-организованной системы S по схеме рис. 1.3 в предположении конечности (или счетности) числа возможных действий подсистем S^, г = 1, . . . ,п, системы S и дискретности моментов времени, в которые допускаются изменения этих действий, t = 0,1, . . . Кроме того, предполагается, что каждая подсистема Si представляет собой стохастический или конечный автомат, внутреннее состояние которого может также изменяться в эти моменты времени под влиянием получаемых данной подсистемой эффектов (штрафов), связанных с действиями других подсистем.
В рамках перечисленных предположений могут быть использованы следующие методы анализа поведения системы:
анализ точных уравнений для финальных вероятностей;
моделирование на ЭВМ представительной совокупности вариантов;
асимптотический анализ (с ростом глубины памяти);
анализ потоков вероятности;
приближенные методы (например, в предположении п —>- ос);
комбинированные методы.
В исходных работах по коллективному поведению и играм автоматов, таких как [Стефанюк, 1963; Крылов и Цетлин, 1963; Цетлин, 1963], обычно использовался первый метод, но вскоре выяснились его ограниченные возможности [Волконский, 1965; Кринский, 1966]. В настоящей главе на примере задач коллективного поведения будут проиллюстрированы, главным образом, последние пять из названных приемов.
Кроме того в этой главе будут описаны несколько новых задач коллективного поведения, выступающих в качестве характерных случаев локально-организованных систем.
Особое внимание в этой главе уделено разработке и использованию простых методов анализа, пригодных для широкого класса локальноорганизованных систем, но не опирающихся на трудно проверяемые статистические гипотезы, использованные в работах [Волконский, 1965;
Кринский, 1966] и др., посвященных «глубоким автоматам» [Варшавский, 1973].
В разд. 2.1 изучается широкий класс задач коллективного поведения стохастических автоматов, допускающих интерпретацию на языке игр автоматов. В качестве Si здесь выступают s-автоматы, конструкция которых предложена еще М.Л. Цетлиным [Цетлин и Гинзбург, 1968], ожидавшим, что они будут более удобным математическим объектом, чем конструкции с линейно организованной внутренней памятью.
Этот автомат воспринимает на своем входе любые действительные числа, а не только «штраф»/«нештраф», так что можно обойтись без искусственной нормировки элементов матриц игры. (На самом деле, на его вход могут подаваться «элементы» частично упорядоченной совокупности любой природы.)
М.Л. Цетлин, к сожалению, не имел возможности до конца исследовать s-автоматы. В работе [Цетлин и Гинзбург, 1968] проанализировано свойство асимптотической оптимальности одного автомата в стационарной и составной средах и на ЭВМ просмотрены некоторые примеры игровых ситуаций. Полученные позже в работе [Гинзбург и Стефанюк, 1970] и в работе [Стефанюк, 1971а] результаты говорят о справедливости тех ожиданий, которые М. Л. Цетлин вкладывал в конструкцию: асимптотическое (при е —> 0) исследование игр таких автоматов удается провести относительно просто, и, что самое главное, не прибегая к статистическим гипотезам, характерным для работ [Волконский, 1965; Кринский, 1966] и др.
Еще М.Л. Цетлин и С.Л. Гинзбург показали [Цетлин и Гинзбург, 1968], что величина 1/е является аналогом глубины автоматов типа автомата с линейной тактикой. Поэтому проведенный в работе А. И. Плетнева [Плетнев, 1985] анализ поведения автоматов с бесконечной памятью вполне аналогичен нашему изучению так называемых 0-автоматов [Стефанюк, 1971а], (см. также п. 2.1.3 ниже).
Результаты, собранные в разд. 2.2, показывают, что во многих случаях асимптотические свойства одиночных «глубоких» автоматов, а иногда и их коллективов, могут быть просто проанализированы, привлекая представление о потоках вероятности. Здесь же рассмотрены важные соображения о достаточных условиях теоремы М.Л. Цетлина об асимптотической оптимальности [Цетлин, 1963], позволяющие тривиально оценить область асимптотической оптимальности в нескольких интересных случаях.
Анализ имеющих важную практическую интерпретацию содержательных задач, представленных в разд. 2.3 и 2.4, проводится с использованием приближенных методов, получающих эвристическое оправдание при п —> ос. Как и в разд. 2.1, основную роль в анализе играет обнаруженная существенная разность времен формирования финального состояния системы в целом и финального состояния некоторой приближенной модели системы. Благодаря такому свойству заведомо
эргодическую систему S оказывается полезным моделировать с помощью неэргодической (разд. 2.3) и наоборот (разд. 2.4).
Другим обстоятельством в пользу приближенного анализа является то, что в обеих рассматриваемых в разделах 2.3 и 2.4 задачах вероятностный (случайный) фактор играет большую роль, делая естественным предположение о «хорошем перемешивании». Во всяком случае, проведенное в обоих случаях контрольное машинное моделирование целиком подтверждает результаты, полученные приближенным методом.
Основные результаты были опубликованы нами в работах [Гинзбург и Стефанюк, 1970; Стефанюк, 1971а; Стефанюк и Меерков, 1971; Сте- фанюк и Котляр, 1971; Котляр и Стефанюк, 1972; Стефанюк, 1974; Стефанюк и др., 1977; Стефанюк, 1979; Стефанюк и др., 1980; Стефанюк, 19896; Stefanuk, 1974]. Автору книги принадлежат постановки всех задач, рассматриваемых в этой главе, и все использованные методы исследования. Однако математические результаты пн. 2.1.2 и 2.1.3 были получены совместно С. Л. Гинзбург ([Гинзбург и Стефанюк, 1970]), а вычисления на компьютере, использованные в разд. 2.3, были проделаны совместно с С. Б. Котляр [1971, 1972]. Опубликованная вместе с С. Меерковым статья [1971] содержит два раздела, первый из которых написан целиком С. Меерковым, а второй — автором.
В целом, настоящая глава показывает, что, наряду с методами анализа «глубоких» автоматов [Варшавский, 1973], перечисленные в ней методы образуют достаточно полный пакет, позволяющий совершить необходимое число циклов анализа системы S по схеме рис. 1.3. С другой стороны, приведенные в ней содержательные задачи показывают широкую применимость локальной организации при построении сложных адаптивных систем из дискретных компонент St.
Асимптотический (с ростом глубины памяти) анализ
Хотя идеи коллективного поведения автоматов уже нашли обширные применения, особенно в распределенных системах связи [Бутри- менко и Лазарев, 1965; Лазарев и Саввин, 1973], теоретический анализ этой области до конца не доведен: лишь в отдельных частных случаях получены точные решения для финальных вероятностей состояний системы. В остальных случаях авторы либо ограничиваются выборочным машинным экспериментом, либо прибегают к использованию при анализе коллективного поведения некоторых гипотез статистического характера, которые выглядят достаточно правдоподобными, но их справедливость пока не доказана [Волконский, 1965; Кринский, 1966].
Изучаемый в настоящем разделе s-автомат является одним из немногих примеров конструкций, для которых удается получить точные (асимптотически) результаты.
На примере игр s-автоматов здесь рассмотрены два способа анализа игровых ситуаций, характерные для локально-организованных дискретных систем: «исчерпывающее» машинное моделирование и асимптотический (с ростом глубины памяти) анализ. Если первый, очевидно, имеет ограниченную применимость, то второй, как показано, позволяет изучить практически все важные игровые ситуации в коллективах е- автоматов. Отметим, что в работе [Плетнев, 1985] ее автор в каком-то смысле повторяет описываемую ниже методику в случае коллективов автоматов типа автоматов с линейной тактикой [Цетлин, 1961].
Формулировка игры ^-автоматов. Определим произвольную игру п автоматов Л1,. . . , А^ с числом действий (стратегий) соответственно кд, . . . , кп. В каждый момент времени t = 0,1, . . . автоматы независимо выбирают некоторые стратегии f^^tY---) f^XtY Если fW - UwW,...JHW) — партия, разыгранная автоматами в момент t^ то игра автоматов Г = Г(Л1,...,ЛП) считается заданной, если каждой возможной партии /(f) сопоставлен вектор выигрышей (a^XtY . . . , а^ WY получаемых каждым автоматом в момент t. Предполагается, что aY^(t) зависит только от партии f(tY
Игре автоматов Г можно сопоставить игру п лиц. Однако здесь предполагается, что в каждый момент времени t = 0,1, . . . участникам сообщается лишь их собственный выигрыш и неизвестны ни стратегии, ни число партнеров, ни платежные матрицы участников этой игры.
Партией Нэша в игре автоматов Г называется такая партия /jP, . . . ... , /j^\ в которой выигрыши автоматов удовлетворяют условию Р
„(г) / л(1) — 1) АД ^(» + 1) \
\ 31 3i — 1 Зг Зг-\-1 3-n, J
выполненному для любого г и всех /Р\ Зг = 1, • • • к^ i = 1, . . . , n.
В пн. 2.1.2, 2.1.3 будет предполагаться, что партия Нэша в игре Г существует, единственная и что при f^ f^ все эти неравенства — строгие. г
Нас будет интересовать финальная (при t —>- ос) частота выбора автоматами партии Нэша.
В качестве автомата — участника игры Г — рассмотрим е-автомат, имеющий к, действий /1, . . . , /к. Автомат обладает способностью хранить в памяти величину выигрыша за действия, выбранные в последовательные моменты времени t — 1 и t. Пусть эти действия — суть f(t — 1) и /(f) и соответствующие им выигрыши суть a^t — 1) и a^tY С вероятностью 1 — s (0 < s < 1) автомат в момент t + 1 совершает то
х) Партии Нэша суть точки Нэша в чистых стратегиях в классической теории игр.
из действий f (t — 1) и f(t\ выигрыш за которое был больше (если же выигрыши были равны, то с вероятностью 1 — s автомат совершает действие /(f)), а с вероятностью е — любое из ас возможных действий ).
Функционирование такого автомата в различных средах подробно рассмотрено в [Цетлин и Гинзбург, 1968]. Там, в частности, установлено, что в стационарной среде эти автоматы образуют асимптотически оптимальную последовательность при е —у 0, т. е. параметр автомата е играет роль величины, обратной глубине памяти конечного автомата с целесообразным поведением.
Обозначим через ^й^-^п^'х,...,^ такое состояние коллектива из п s-автоматов, объединенных в игру Г, когда в момент t — 1 ими была разыграна партия (/2^,...,/^), а в момент t — партия (fji\• • •, fj^)^ ik,3k = 1, k = l,...,n. Легко видеть, что эти состояния сменяют друг друга по закону простой цепи Маркова, эргодической при е ф 0. Следовательно, существует финальная вероятность состояний ^й,...,^^,...,^, не зависящая от начального состояния, а вместе с ней и финальная вероятность (Tj^...^ партии (f^,..., где
= 52 ‘ ‘ 52 (2.1.1)
Й=1 = 1
При применении идеологии коллективного поведения автоматов к задачам управления системами, состоящими из большого числа взаимодействующих элементов, в ряде случаев удается исследовать задачу, не слишком конкретизируя внутреннее устройство (скажем, матрицу переходов) автоматов, участвующих в игре: достаточно указать, какие действия может совершать каждый автомат, и предположить целесообразность [Цетлин, 1961] его поведения, причем эту игру естественно определить так, чтобы партии Нэша игры (которые выявляются, как только указаны действия автоматов и закон их взаимодействия) реализовали требуемые состояния управляемой системы. Например, в работе [Бутрименко, 1966] показано, что одна из точек Нэша игры в размещения автоматов с различной активностью и является точкой максимального выигрыша — точкой Мора, в работе же [Стефанюк, 19686] удалось показать, что точка Нэша, выбор который решает поставленную там задачу, всегда существует и единственна.
Возникает естественный для теории и важный для приложений вопрос. Существуют ли конструкции автоматов, которые в рамках игры автоматов (когда матрицы игры и действия партнеров ни одному из автоматов не сообщаются, см. [Цетлин, 1963]) в достаточно широком классе игр с наибольшей вероятностью разыгрывают партии Нэша?
Определенный интерес представляет существование конструкций автоматов, коллективы которых образуют асимптотически оптимальные последовательности в том смысле, что вероятность партии Нэша стремится к 1, если эта партия в игре единственна.
В следующем п. 2.1.2 показано, что в игре двух лиц с единственной партией Нэша с матрицами 2x2 s-автоматы разыгрывают партию Нэша финально с вероятностью, близкой единице. Этот результат получен несколько необычным образом — путем исчерпывающего моделирования (перебора) на ЭВМ всех игр такого типа, так что результат носит «теоремный» характер,
В п. 2.1.3 показано, что при подсчете финальных вероятностей различных партий в игре s-автоматов [Цетлин и Гинзбург, 1968] вероятность одновременной смены действий двумя или более автоматами можно с учетом особенностей конструкции таких автоматов считать малой величиной при s —> 0. Поэтому существенная информация о финальном поведении игры содержится в так называемой вспомогательной цепи Маркова, состояниями которой являются партии игры, причем допускаются лишь переходы, связанные с изменением действия не более чем одним автоматом,
Часто эта вспомогательная цепь Маркова (которая легко строится по платежным функциям игры) содержит все интересующие нас сведения о финальном поведении автоматов в игре. Например, в случае ациклической игры с одной партией Нэша [Гинзбург и Стефанюк, 1970] (см. п. 2.1.3) такая цепь Маркова не имеет других существенных классов, кроме партии Нэша, откуда следует, что финально партия Нэша (при s Ч 0) будет разыгрываться с вероятностью, стремящейся к единице.
В п. 2.1.4 показывается, что исследование некоторых финальных свойств игры с нулевой суммой, игр Гура и игры в размещения для коллективов s-автоматов также может быть проведено (при s Ч 0). с использованием упрощенного описания игры, даваемого вспомогательной цепью Маркова. В п. 2.1.5 приводится анализ вспомогательных Марковских цепей, соответствующих этим играм, и делаются выводы.
Полный анализ на ЭВМ игры двух автоматов путем моделирования. Из описания конструкции s-автомата следует, что все игры s-автоматов с одной партией Нэша распадаются на конечное число непересекающихся классов с фиксированным внутри класса отношением упорядоченности элементов матриц выигрышей автоматов. Все игры одного класса неразличимы в том смысле, что поведение автоматов в них будет одним и тем же. Это соображение позволило путем моделирования на ЭВМ убедиться в том, что s-автоматы при малых s с наибольшей вероятностью разыгрывают партию Нэша во всех играх двух автоматов с матрицами 2x2.
Не ограничивая общности, можно считать, что партией Нэша является партия (1,1). Обозначим через a^j выигрыш автомата А, а через bij — выигрыш автомата В в партии (г, j). Тогда из условия единственности партии Нэша в игре получаем, что все такие игры s-автоматов могут быть разбиты на 5 групп:
I. du > 6X21? «12 < «22? 6ц > ^12, ^21 > ^22',
IL du > d2l, «12 = «22? 6ц > 612, ^21 > ^22'?
du > d21, «12 > d22? ^11 > 612, ^21 < 622?
du > «21? «12 > «22? 6ц > 612, ^21 = ^225
dn > «21? «12 > «22? Ьц > 612, 621 > b^.
Мы допустили некоторый произвол, считая игрока А первым, т. е. выбирающим строки своей матрицы, а игрока В — вторым, т. е. выбирающим столбцы. Если же сделать игрока В первым, а А — вторым, то, чтобы игра осталась прежней, нужно транспонировать матрицы игры. При этом группа неравенств I перейдет в III. Это означает, что I и III дают множества игр, отличающихся лишь нумерацией игроков. То же самое справедливо для групп II и IV. Поэтому достаточно исследовать лишь игры, удовлетворяющие соотношениям III, IV, V.
Если мы сумеем убедиться, что во всех играх из групп III, V партия Нэша разыгрывается с вероятностью, большей вероятностей всех других партий, то это будет говорить о том, что характер соотношения между элементами 621 и Ь^ качественно не влияет на поведение автоматов в игре. Следовательно, в этом случае нет необходимости исследовать группу IV: здесь вероятность партии Нэша также будет наибольшей.
Начнем рассмотрение с игр группы III. Перебирая всевозможные матрицы игрока А, можно заметить, что каждому соотношению нестрогой упорядоченности ее элементов соответствуют два соотношения строгого порядка, в одном из которых знак равенства между выделенными совпадающими элементами заменен на знак «больше», а в другом — на знак «меньше», а упорядоченность остальных элементов совпадает. Например, кроме неравенства di2 > d22 = «11 > «21, условиям группы III удовлетворяют строгие неравенства
«12 > «22 > «11 > «21?«12 > «11 > «22 > «21-
Во всех трех случаях
«12 > «11 > «21?«12 > «22 > «21-
Ниже будет показано, что во всех играх, матрицы которых удовлетворяют выписанным строгим неравенствам, партия Нэша разыгрывается с наибольшей вероятностью, что означает, что соотношение между элементами du и d22 качественно не влияет на поведение автоматов и случай равенства этих элементов отдельного рассмотрения не требует.
Таким образом, можно ограничиться рассмотрением лишь таких игр, для которых элементы матрицы А (аналогично, конечно, и для В) между собой строго упорядочены. Тогда имеем
«11 > «21 > «12 > «22? Ьц > 612 > ^22 > ^21? Ьц > 612 > ^21 > ^22?
All > (112 > d21 > d22, dll > di2 > (122 > «21, dl2 > (122 > dll > (121, dl2 > dll > (122 > (121,All > (112 > d21 > d22, dll > di2 > (122 > «21, dl2 > (122 > dll > (121, dl2 > dll > (122 > (121,dl2 > dll > (121 > (122,dl2 > dll > (121 > (122,^11 > ^22 > ^12 > ^21, ^11 > ^22 > ^21 > ^12, ^22 > ^21 > ^11 > ^12, ^22 > ^11 > ^21 > ^12, ^22 > ^11 > ^12 > ^21,^11 > ^22 > ^12 > ^21, ^11 > ^22 > ^21 > ^12, ^22 > ^21 > ^11 > ^12, ^22 > ^11 > ^21 > ^12, ^22 > ^11 > ^12 > ^21,^11 > ^21 > ^12 > ^22, ^11 > ^21 > ^22 > ^12, ^21 > ^22 > ^11 > ^12, ^21 > ^11 > ^22 > ^12, ^21 > ^11 > ^12 > ^22^11 > ^21 > ^12 > ^22, ^11 > ^21 > ^22 > ^12, ^21 > ^22 > ^11 > ^12, ^21 > ^11 > ^22 > ^12, ^21 > ^11 > ^12 > ^22
All > (112 > d21 > d22, dll > di2 > (122 > «21, dl2 > (122 > dll > (121, dl2 > dll > (122 > (121,
All > (112 > d21 > d22, dll > di2 > (122 > «21, dl2 > (122 > dll > (121, dl2 > dll > (122 > (121,
dl2 > dll > (121 > (122,
dl2 > dll > (121 > (122,
^11 > ^22 > ^12 > ^21, ^11 > ^22 > ^21 > ^12, ^22 > ^21 > ^11 > ^12, ^22 > ^11 > ^21 > ^12, ^22 > ^11 > ^12 > ^21,
^11 > ^22 > ^12 > ^21, ^11 > ^22 > ^21 > ^12, ^22 > ^21 > ^11 > ^12, ^22 > ^11 > ^21 > ^12, ^22 > ^11 > ^12 > ^21,
^11 > ^21 > ^12 > ^22, ^11 > ^21 > ^22 > ^12, ^21 > ^22 > ^11 > ^12, ^21 > ^11 > ^22 > ^12, ^21 > ^11 > ^12 > ^22
^11 > ^21 > ^12 > ^22, ^11 > ^21 > ^22 > ^12, ^21 > ^22 > ^11 > ^12, ^21 > ^11 > ^22 > ^12, ^21 > ^11 > ^12 > ^22
(каждое неравенство из первой колонки может сочетаться с любым неравенством из второй и третьей колонок).
Это число игр можно еще сократить, учитывая следующее: а) если первое действие одного из игроков дает ему больший выигрыш независимо от действия второго игрока, то второй игрок практически попадает в стационарную среду и в силу асимптотической оптимальности s-автоматов [Цетлин и Гинзбург, 1968] при малых s выбирает действие 1; б) два соотношения вида b^s > ^21 > &п > ^12 и b^s > &п > ^21 > > 612 заведомо дадут совпадающие матрицы переходных вероятностей (это следует из тактики поведения s-автомата )) и, следовательно, совпадающие результаты. После этих сокращений для матрицы игрока А получаем два варианта:
<0 =<0 =2 41 32 41 3и А(2) =и А(2) =4 23 14 23 1
<0 =
<0 =
2 4
1 3
2 4
1 3
и А(2) =
и А(2) =
4 2
3 1
4 2
3 1
и для матрицы В — шесть вариантов:
В^ =
2 1
3 4
, вю =
4 3
1 2
, 5(3) =
4 1
2 3
в^ =
3 2
1 4
, В(5) =
2 1
4 3
, 5(6) =
4 3
2 1
Итого 12 вариантов игр. Если в этих играх s-автоматы образуют асимптотически оптимальные последовательности, то из приведенных рассуждений следует, что s-автоматы образуют асимптотически оптимальные последовательности и во всех играх с матрицами 2x2 с единственной партией Нэша, определенной строгими неравенствами. Все эти варианты были промоделированы на ЭВМ при s = 0,01, при этом получены результаты, приведенные в табл. 2.1, где г означает процент партий Нэша по отношению к общему числу в 100 000 партий.
Игра с платежными матрицами А(1) и В(1) просчитывалась также при различных значениях s: полученные результаты приведены в табл. 2.2. На основании этих результатов при моделировании игры
и было выбрано значение е = 0,01. (В программе использовался генератор псевдослучайных чисел, описанный в [Соболь, 1964].) Таким образом, путем перебора на ЭВМ практически всех игр показано следующее.
Утверждение 1. Во всех играх двух лиц с матрицами 2x2 коллектив из двух s-автоматов при достаточно малом е разыгрывает единственную партию Нэша с вероятностью, близкой к единице.
Таблица 2.1. Результаты моделирования 12 вариантов игры при г = 0,01
Вариант игры
г (%)
Вариант игры
г (%)
Вариант игры
г (%)
Л(1)
В(1)
95,8
Л(1)
В(5)
96,3
Л(2)
В(3)
96,1
Л(1)
В(2)
94,7
Л(1)
В(6)
95,9
Д(2)
В (4)
94,6
Л(1)
В(3)
95,8
Л(2)
В(1)
95,5
Л(2)
В(5)
96,0
Л(1)
В(4)
94,7
Л(2)
В(2)
95,2
Л(2)
В (6)
96,2
Таблица 2.2. Моделирование одного варианта игры при различных е
е
0,5
0,25
од
0,01
г (%)
36,1
52,6
76,6
95,8
Описанные результаты были получены в предположении, что партия Нэша (см. п. 2.1.1) определяется строгими неравенствами. В случае, если точка Нэша единственна, но задается нестрогими неравенствами,
уже неверно. В качестве такими платежными мат-уже неверно. В качестве такими платежными мат-предыдущее утверждение, вообще говоря, примера рассмотрим игру двух автоматов с рицами:
уже неверно. В качестве такими платежными мат-
уже неверно. В качестве такими платежными мат-
А =А =3 23 2331 ’1 ’В =В =414132 '32 '
А =
А =
3 2
3 2
3
3
1 ’
1 ’
В =
В =
4
1
4
1
3
2 '
3
2 '
Решая в этом случае систему уравнений для финальных вероятностей, получаем, что при s —> 0 выполняется <ти —> 2/5, <т12, <т21, <т22 —> ^1/5.
Асимптотическая оптимальность последовательности коллективов s-автоматов в игре с одной партией Нэша. Ниже будем считать, что каждый участник игры Г представляет собой s-автомат, причем е имеет одно и то же значение для всех автоматов, участвующих в данной игре.
Тогда финальная вероятность а^v..jH партии (/j^ • • • , f^^ (если она существует) есть функция этого е. Обозначим через 7 некоторый класс игр с единственной партией Нэша (fj^, • • • , fj^Y
Будем говорить, что коллектив из п s-автоматов образует асимптотически оптимальную последовательность в классе 7 игр Г, если
lim ста*lim ста*j* = 1 для всех игр этого класса. В дальнейшем будет
lim ста*
lim ста*
указан такой класс игр 7. Принятый метод исследования поведения
коллектива автоматов навеян, в определенном смысле, некоторыми соображениями работ [Волконский, 1965; Кринский, 1966]. Пусть коллектив автоматов в момент t находится в произвольном состоянии Рассмотрим сначала предельный случай е = 0. Тогда можно говорить об игре 0-автоматов, каждый из которых может совершать одно из двух действий zm, jm, m = 1, . . . , п. Если выигрыш при выборе действия jm в момент t не меньше, чем выигрыш при выборе действия гт в момент t — 1, то т-й 0-автомат совершает в момент t + 1 действие jm: в противном случае его действием в момент t +1 является
Нам потребуется следующая лемма.
Лемма 2.1. В произвольной игре 0-автоматов из любого начального состояния коллектив из п 0-автоматов не более чем за п + + 1 шаг обязательно перейдет в некоторое стационарное состояние, в котором он будет находиться неограниченно долго.
Доказательство леммы приводится ниже в п. 2.1.6. Вернемся теперь к игре s-автоматов. Будем говорить, что в момент з произошел сбой, если по крайней мере у одного из играющих автоматов выбор действия происходит по случайному закону. Вероятность такого события равна, очевидно, 1 — (1 — е)™. Средний интервал Т между сбоями равен Т = = [1-(1-£р]-1
Следующие определения тесно связаны с утверждением леммы.
Одиночным сбоем в момент з называется событие, состоящее в том, что в этот момент ровно один автомат выбирает действие по случайному закону, а на отрезке времени от s - п — 1 до s - 1 сбои отсутствуют. Вероятность одиночного сбоя рх = ns (1 — s)n +2n-1, средний интервал между сбоями Тх = [ns (1 — е^ +2п-1]. Если s -Л
—У 0, то Т « Тх ~ 1/(ns), т. е. при достаточно малых s сбои происходят достаточно редко и почти все (асимптотически) являются одиночными.
Кратным сбоем в момент з называется событие, состоящее в том, что в этот момент происходит сбой, не являющийся одиночным. Вероятность кратного сбоя, очевидно, равна
р2 = 1 - (1 - s)n - ns (1 - s)"42"-1.
Поскольку р2 ~ s2n (2п2 + 3п —1)/2 при s —> 0, то средний интервал между кратными сбоями (асимптотически) равен величине
То = .
п (2п2 + Зп — 1) г2
Отсюда следует, что выбором достаточно малого s можно добиться того, чтобы выполнялись условия
т2 > Тх « Т > п.
В этом случае в течение начальной части интервала между двумя последовательными одиночными сбоями, согласно лемме ), почти всегда будет успевать сформироваться одно из стационарных состояний вида ^г^...,^;^,...,^, которое уже не будет меняться на последующей (большей) части этого интервала, т. е. при достаточно малых е автоматы почти весь интервал между последовательными сбоями будут разыгрывать одну и ту же партию.
Отсюда следует, что при малых е в интервале между двумя последовательными кратными сбоями игра s-автоматов может быть описана вспомогательной цепью Маркова, состояниями которой являются лишь стационарные (см. лемму 2.1) состояния игры, имеющие вид 9^11 ,, i-nA ^ 1 , • • •, ^п '
Состояния цепи, отвечающие партиям Нэша, при каждом одиночном сбое переходят в себя, и в стохастической матрице вспомогательной цепи Маркова в соответствующей строке стоит 1 (по предположению, точка Нэша задается строгими неравенствами). Таким образом, в этой цепи партия Нэша — поглощающее состояние.
Если состояние не отвечает партии Нэша, то найдется такой одиночный сбой, при котором это состояние изменится на другое.
Если е достаточно мало, так что на интервале между последовательными кратными сбоями происходит достаточно много одиночных сбоев, то приближенно можно говорить о финальном поведении вспомогательной цепи Маркова на этом отрезке времени. Ясно, что если ее поглощающее состояние достижимо из любого другого состояния, то вероятность поглощающего состояния стремится к 1 на каждом из интервалов между соседними кратными сбоями и, следовательно, в этом случае финальная вероятность партии Нэша в игре коллектива из п s-автоматов близка к 1, если s достаточно мало.
Такие игры, для которых вспомогательная цепь Маркова содержит ровно один существенный класс из одного элемента (партия Нэша), назовем ациклическими играми с единственной партией Нэша. Тогда, давая строгую формулировку приведенным выше соображениям, можно получить следующую теорему (схема ее доказательства содержится в п. 2.1.6).
Теорема 2.1. Коллектив из п s-автоматов образует асимптотически оптимальную последовательность во всех ациклических играх с единственной партией Нэша.
Приведем платежные матрицы игры двух лиц, которая не является ациклической, имея единственную партию Нэша:
9129121 28 46 71 28 46 75 3
9
1
2
9
1
2
1 2
8 4
6 7
1 2
8 4
6 7
6 8
7 4
В табл. 2.3 дана построенная по ним стохастическая матрица вспомогательной цепи Маркова для этой игры.
Таблица 2.3. Матрица переходов для вспомогательной цепи Маркова
(1,1)
(1,2)
(1,3)
(2,1)
(2,2)
(2,3)
(3,1)
(3,2)
(3,3)
(1,1)
1
0
0
0
0
0
0
0
0
(1,2)
1/6
1/3
1/6
0
1/6
0
0
1/6
0
(1,3)
1/6
0
1/2
0
0
1/6
0
0
1/6
(2,1)
1/6
0
0
1/3
1/6
1/6
1/6
0
0
(2,2)
0
0
0
0
5/6
0
0
1/6
0
(2,3)
0
0
0
0
1/6
5/6
0
0
0
(3,1)
1/6
0
0
0
0
0
1/2
1/6
1/6
(3,2)
0
0
0
0
0
0
0
5/6
1/6
(3,3)
0
0
0
0
0
1/6
0
0
5/6
Видно, что из множества партий (2,2), (2,3), (3,2), (3,3) партия Нэша (1,1) не может быть достигнута, т. е. если автоматы разыгрывают одну из этих партий, то только кратный сбой может вывести игру из этого множества.
Такое множество в известном смысле эквивалентно партии Нэша. В дальнейшем каждое множество нескольких партий, обладающее тем свойством, что игра, однажды попавшая в это множество, не может быть выведена из него никакой последовательностью одиночных сбоев (точнее, каждый класс из нескольких сообщающихся существенных состояний вспомогательной цепи Маркова), будем называть циклом (множеством) Нэша.
Поскольку матрица вспомогательной цепи Маркова строится по платежным функциям игры, то естественным является вопрос, можно ли прямо по платежным функциям установить, является игра ациклической или нет.
Рассмотрим этот вопрос для случая игры двух лиц (Л и В) с произвольными платежными матрицами. Заметим, что если в игре имеется цикл (множество) Нэша и (г, j) — партия, входящая в это множество, то в него входит также и партия (zmax, J), где гтах — действие, которое приносит игроку А наибольший доход при условии, что В выбрал действие j (т. е. партии (zmax, j) отвечает элемент ajmaxj, максимальный в j-м столбце матрицы игрока А).
Это связано с тем, что всегда найдется одиночный сбой, который переведет партию (г, j) в партию (imax^j\ Точно так же в этот цикл входит партия (г, Jmax) (т. е. партия, которой отвечает элемент b^jmax^ максимальный в г-й строке матрицы игрока В).
Поэтому можно указать, например, такое достаточное условие ацикличности. Выделим в матрицах А, В элементы, отвечающие наибольшему выигрышу игрока для каждого действия партнера. Соответствующие таким элементам партии будем для краткости называть максимальными. (В рассмотренном выше примере это партии (2,2), (2,3),
(3,2), (3,3), а также партия Нэша (1,1).) Начиная с какой-либо из «максимальных» партий, будем последовательно перебирать максимальные партии, двигаясь по очереди по столбцам матрицы А и по строкам В. При этом пройденные строки и столбцы будем отмечать. Если на некотором этапе будет обнаружено, что одна из «максимальных» партий повторяется подряд, то это и есть партия Нэша. В этом случае процедуру перебора следует повторить, начиная с какой-либо неотмеченной «максимальной» партии и т. д., пока не будут отмечены все строки и столбцы обеих матриц и во всех случаях перебор приведет в партию Нэша ). В последнем случае игра заведомо является ациклической и для нее справедливо утверждение теоремы 2.1.
Асимптотическое описание произвольных игр s-автоматов.
В данном разделе рассматриваются другие примеры, когда для изучения игры автоматов достаточно выписать и исследовать вспомогательную марковскую цепь. Это случаи, в которых вспомогательная цепь либо содержит всего один существенный класс (игра с нулевой суммой), либо когда достаточно знать суммарную финальную вероятность партий, входящих во все существенные классы этой цепи (игра Гура, игра в размещения). С этой точки зрения рассматриваемые ниже игры являются играми того же типа, что и ациклическая игра с единственной партией Нэша.
Заметим, что в общем случае также можно построить упрощенное описание игры s-автоматов, позволяющее получить точные значения (при е ч 0) финальных вероятностей различных партий. Такое упрощение будет связано с выписыванием по платежным функциям еще одной стохастической матрицы (содержащей закон смены существенных классов вспомогательной цепи Маркова). Однако оказывается, что ответ на ряд важных вопросов, возникающих при исследовании традиционных примеров игр автоматов, удается получить без такого детального описания.
В этом разделе будет приведена сводка необходимых теорем о соотношении финальных вероятностей состояний вспомогательной цепи Маркова и финальных вероятностей (при s —> 0) различных партий в игре s-автоматов.
В п. 2.1.5 изучается структура существенных классов вспомогательных цепей Маркова, построенных для различных хорошо известных примеров игр автоматов. Формально материал п. 2.1.5 не зависит от содержания данного пункта. В конце п. 2.1.5 приведены краткие выводы, вытекающие из сопоставления результатов пп. 2.1.4 и 2.1.5.
Результаты этих двух разделов обсуждаются в небольшом заключительном разделе, где сделаны основные выводы, касавшиеся рассмотренных игр s-автоматов.
Заметим, что, вследствие специфического способа задания тактики работы s-автомата, даже задача записи системы уравнений для финальных вероятностей состояний (2.1.1) в общем случае оказывается весьма трудной. Однако вместо такого полного описания игры при s —> —> 0 можно пользоваться упрощенным описанием, которое в простейшем случае сводится к выписыванию вспомогательной цепи Маркова. Состояниями этой вспомогательной цепи являются всевозможные партии ^fj^\ • • • , fjn^ игры, причем переходная вероятность Pij отлична от нуля лишь для таких двух состояний (партий) цепи ^f^\ • • • , fi™^ и (fj^ • • • ’ fj^V котоРые отличаются стратегией не более чем одного игрока (например, /с-го), и для этого игрока выполняется соотношение
8 + v s = ■ -’n
(т. e. для k-ro участника «j»-a партия по крайней мере не менее выгодна, чем «г»-я).
Недиагональные элементы вспомогательной цепи Маркова для перехода между партиями, удовлетворяющими (2.1.2), равны 1/(71/^), а диагональные элементы определяются из условия стохастичности.
Связь между игрой s-автоматов и ее вспомогательной марковской цепью устанавливают следующие теоремы (они доказываются аналогично теореме 2.1).
Те о рем а 2.2. В произвольной игре Е-автоматов суммарная финальная вероятность всех партий игры, не входящих в существенные классы вспомогательной цепи Маркова, при s ^ 0 стремится к нулю.
Те о рем а 2.3. В игре Е-автоматов, вспомогательная цепь Маркова которой содержит ровно один существенный класс, финальные вероятности партий при s ^ 0 стремятся к финальным вероятностям соответствующих состояний этой вспомогательной марковской цепи.
Следующая теорема, по существу, ограничивает область применения упрощенного описания, основанного на вспомогательной цепи Маркова.
Те о рем а 2.4. Суммарная финальная вероятность партий, входящих в каждый из существенных классов вспомогательной цепи Маркова, не стремится к нулю при s 0.
Свойства вспомогательных цепей Маркова, построенных для некоторых примеров игр.
Теорема 2.5. Вспомогательная цепь Маркова для игры двух лиц с нулевой суммой содержит ровно один существенный класс.
Доказательство. Вспомогательная цепь Маркова всегда содержит по крайней мере один существенный класс I. Предположим теперь, что имеется еще один существенный класс Г, отличный от I (т. е. I и Г не имеют общих элементов).
Обозначим через a^j выигрыш первого участника в партии (г, j). Из определения вспомогательной цепи Маркова и существенного класса марковской цепи вытекают следующие неравенства:
если Д,з) € I, (г*, j) £ I, то а^' > аг*з^(2.1.3)
если Д,з) € I, (г, j*) ^ I, то а^ < a^j*.(2.1.4)
Аналогичные неравенства выполняются и для F.
По предположению I, F не пусты, а их пересечение пусто. Возьмем Д,з) Е I, (кД) Е F. Партии (k,j) и (г,/) могут оказаться в том или ином классе I, Г (причем каждая только в одном из классов), либо ни в том, ни в другом. Покажем, что любое такое расположение партий (k,j), (ДО приводит к противоречию.
Во-первых, ни одна из партий (к, з\ ДД) не может оказаться в I или Г. Действительно, пусть, например, (к, j) Е I, тогда из (2.1.4) получаем:
так как (кД) Е V, (к, j) ^ F, то а^ <
(2.1.5) а так как (к, j) Е I, (кД) ^ I, то a^j < а^.
Остается рассмотреть лишь случай, когда (k^j) ^ I, F и (г, /) ^ I, F. Но тогда из (2.1.3). (2.1.4) имеем:
так как (кД) Е V, (k, j) ^ F, то а^ < a^j,
так как (кД) Е V, (г, /) ^ F, то а^ > ац;
(2.1.6) так как Д,з) Е I, (k^j) ^ I, то а^ > a^j,
так как (г, j) Е I, ДД) ^ I, то а^ < ац.
Отсюда получаем а^ < сщ < a^j < а^.
Таким образом, предположение о том, что найдется два существенных класса I, F привело к противоречию, т. е. вспомогательная цепь Маркова имеет ровно один существенный класс. Теорема доказана.
Заметим, что, поскольку соотношения (2.1.3), (2.1.4) выполняются и для игр двух лиц с постоянной суммой, утверждение теоремы 2.5 остается верным и для игр этого класса.
Теорема 2.6. Каждый существенный класс вспомогателъной цепи Маркова для игры в размещения (или игры Гура), все партии Нэша которой задаются системой строгих неравенств, содержит ровно один элемент, причем множество существенных классов цепи совпадает с множеством партий Нэша этой игры.
Доказательство для игры в размещения.
Для доказательства удобно построить некоторую однозначную пару функций от партии, напоминающую по своим свойствам функцию Ляпунова. Рассмотрим произвольную партию игры т = (mi, . . . , тк),
где т — число автоматов, совершающих /-е действие. Пусть s^k — номера таких действий (номера «кормушек»), что выполняется
а §т8а §т8. at пип —, /=!,...,« mt. at пип —, /=!,...,« mt(2-1.7)(2-1.7)
а §
т8
а §
т8
. at пип —, /=!,...,« mt
. at пип —, /=!,...,« mt
(2-1.7)
(2-1.7)
—^—= шах —- = Мт).(2.1.8)
m^ + 1/=1,...,к mt + 1 v 7v 7
Число различных значений /, при которых величина ai/(mi + 1) в (2.1.8) равна Л(ш), назовем кратностью величины Л(ш) и будем обозначать символом А(ш). Рассмотрим теперь партию т/ = (mi, . . . ... , ms — 1, . . . , т^ + 1, . . . , mK), которая возникает в случае, если один из игроков, совершавших s-е действие в партии т (получавший, согласно (2.1.7) наименьший доход), меняет его на действие к (дающее ему наибольший доход при условии, что ни один другой игрок действия не меняет).
Возникают два различных случая в зависимости от того, является исходная партия т партией Нэша (случай А) или нет (случай Б):
А. Из определения партии Нэша и условия, что все партии Нэша игры удовлетворяют строгим неравенствам, следует, что из партии Нэша нельзя перейти по вспомогательной цепи Маркова ни в какую другую партию, т. е. каждая партия Нэша является существенным классом этой цепи (содержащим ровно один элемент).
Б. Если партия т не является партией Нэша, то верно неравенство
a smsa sms^kтк + 1^kтк + 1A(m).A(m).(2.1.9)(2.1.9)
a s
ms
a s
ms
^k
тк + 1
^k
тк + 1
A(m).
A(m).
(2.1.9)
(2.1.9)
Таким образом, выигрыш игрока, сменившего действие при переходе от партии т к партии т7, возрос и, следовательно, такой переход допускается вспомогательной цепью Маркова. Учитывая (2.1.9), имеем неравенство
Мт) = шах =
/=!,...,« mt + 1
= max/—ак, — шах—^-—1Л(т), (2.1.10)
[+ 2 ms l=iv..,K-l^Slk mt + 1Jx / x/
причем, если N^m') = Л(т), to, очевидно, A(m) = max —^—- и,
mt + 1
согласно (2.1.8), имеем
X(m') = X(m) — 1 < X(m).(2.1.11)
Итак, либо партия m является партией Нэша, либо можно указать такую партию т7, переход к которой допускается вспомогательной
цепью Маркова. При этом партии т и т' в силу (2.1.10), (2.1.11) не могут совпадать.
Аналогично, либо партия т' является партией Нэша, либо по партии т’ можно построить партию тм (так же как по т была построена партия т’\ переход к которой допускается вспомогательной цепью Маркова. Поскольку в последнем случае снова либо А(тП) < А(ш/), либо выполняется А(т") = MjrV) и Х^т") < Х^т'^ то партия т" не совпадает с т' и, очевидно, с партией т.
Рассуждая аналогично, можно построить цепочку не совпадающих между собой партий m, т', т" ^ . . ., переходы вдоль которой допускаются вспомогательной цепью Маркова. Но в силу конечности полного числа различных партий в игре в размещения эта цепочка имеет конечную длину, причем последняя партия в этой цепочке непременно является партией Нэша (в противном случае цепочку можно было бы продолжить). Таким образом, показано, что для произвольной партии т имеется цепочка переходов, допускаемых вспомогательной марковской цепью, ведущая в одну из партий Нэша, тогда как дальнейшие переходы из партии Нэша невозможны. Отсюда множество существенных классов вспомогательной цепи Маркова для игры в размещения совпадает с множеством партий Нэша. Теорема доказана.
Доказательство для игры Г ура.
Пусть т — произвольная партия игры Гура, где т обозначает число игроков, совершающих в этой партии первое действие. Если партия т является партией Нэша, то для нее выполняется
а(т) > а^т + 1), а(ш) > а^т — 1)(2.1.12)
(здесь через а(ш) обозначен выигрыш каждого из игроков в партии т).
Партией Нэша является также партия п, если для нее верно
а(п) > а^п — 1)(2.1.13)
и партия 0, если для нее верно
а(0) > а(1).(2.1.14)
Соотношения (2.1.12) (равно как (2.1.13) или (2.1.14)) показывают, что каждая партия Нэша игры Гура является отдельным существенным классом вспомогательной цепи Маркова. Если же т не является партией Нэша, то верно, по крайней мере, одно из следующих неравенств:
а(т) < а(т + 1),(2.1.15)
а(т) < а(т — 1).(2.1.16)
Если, например, справедливо неравенство (2.1.15), то либо партия т + 1 является партией Нэша, либо выполняется а(т + 1) < а(т + 2). В последнем случае либо партия т + 2 является партией Нэша, либо для нее верно а(т + 2) < а(т + 3) и т. д. Таким образом, если для
партии т выполняется (2.1.15), то можно построить цепочку партий m,m + l,m + 2,..., допускаемую вспомогательной цепью Маркова, так как выигрыш игрока, меняющего действие, вдоль такой цепочки строго возрастает. Эта цепочка имеет, очевидно, конечную длину. Заканчивается она партией Нэша вида (2.1.12), либо партией Нэша вида (2.1.13).
Заметим, что если выполняется неравенство (2.1.16), то можно было бы построить цепочку m, т — 1, т — 2, . . . партий, переходы между которыми допускаются вспомогательной цепью Маркова. Такая цепочка заканчивается партией Нэша вида (2.1.12) либо вида (2.1.14). Отсюда все партии, отличные от партий Нэша, являются несущественными состояниями вспомогательной цепи Маркова. Теорема доказана.
Несимметричная игра Гура [Шнейдерман, 1984] отличается от обычной игры Гура [Цетлин и Гинзбург, 1968] тем, что выигрыш, получаемый игроком в данной партии ш, зависит от номера совершаемого им действия. При этом предполагается, что выигрыш ^^(т) (см. кривую 1 на рис. 2.1) в партии т игрока, совершающего первое действие, и выигрыш a^Qm) (кривая 2) игрока, совершающего второе действие, являются соответственно монотонно возрастающей и монотонно убывающей функцией ш, графики которых пересекаются в точке тн (см. рисунок).
Теорема 2.7. Каждый существенный класс вспомогательной цепи Маркова несимметричной игры Гура содержит ровно один элемент, причем множество существенных классов совпадает с множеством партий Нэша этой игры.
Доказательство вытекает из того соображения, что если т > тн, то, согласно рис. 2.1, можно указать цепочку партий т, т — 1, т — 2, выигрыш вдоль которой возрастает для игрока, меняющего действие, т. е. такая цепочка переходов допускается вспомогательной цепью Маркова. Кончается эта цепочка партией тн. Аналогично в случае т < < тн. Заметим в заключение, что не для всех симметрических игр [Цетлин, 1969] вспомогательная цепь Маркова обладает такой простой структурой, как в случае игры в размещения и игр Гура. Ниже приведена пара платежных матриц, отвечающая примеру симметрической игры двух лиц, вспомогательная цепь Маркова которой содержит два существенных класса по четыре партии в каждом и один существенный класс из одного элемента — партии Нэша:
9530000086000471680027400953000008600047168002740090012500673008408400067009001250067300840840006700
95300
00086
00047
16800
27400
95300
00086
00047
16800
27400
90012
50067
30084
08400
06700
90012
50067
30084
08400
06700
Таким образом, из приведенных теорем вытекает, что финальные вероятности различных партий в игре с нулевой суммой асимптоти-
Рис. 2.1. Выигрыши за первое (1) и за второе (2) действия в несимметричной игре ГураРис. 2.1. Выигрыши за первое (1) и за второе (2) действия в несимметричной игре Гурачески (при е —> 0) совпадают с финальными вероятностями этих партий, вычисляемыми по вспомогательной цепи Маркова, переходные вероятности которой уже сравнительно просто выписываются по платежной матрице. Заметим, что прямое исследование игры с нулевой суммой даже в случае двух автоматов с произвольной матрицей 2x2 наталкивается на значитель
Рис. 2.1. Выигрыши за первое (1) и за второе (2) действия в несимметричной игре Гура
Рис. 2.1. Выигрыши за первое (1) и за второе (2) действия в несимметричной игре Гура
ные трудности.
В случае игры в размещения и игр Гура получаем, что суммарная финальная вероятность множества всех партий Нэша стремится
к единице, если е —> 0. В частности, если функция выигрыша в игре Гура, как это обычно и предполагается, имеет на отрезке [0, п] единственный максимум в точке тн, то финальная вероятность партии (точнее, инвариантного множества партий шн [Цетлин, 1969]) для коллектива s-автоматов при 5 ч 0 стремится к единице.
Доказательство леммы и теоремы 2.1.
Доказательство леммы 2.1. Заметим, что из тактики смены действий 0-автомата следует, что если в два последовательных момента времени некоторый 0-автомат совершает одно и то же действие, то он будет совершать это действие и во все последующие моменты времени, независимо от действий партнеров.
Пусть в начальный момент времени коллектив 0-автоматов находится в произвольном состоянии Если игра такова, что действия, совершенные автоматами в момент Д оказались «выгодными» (т. е. выигрыш не уменьшился) для всех автоматов по сравнению с действиями, предпринятыми в момент t — 1, то уже в момент t + 1 установится стационарное состояние.
С другой стороны, если действия, совершенные автоматами в момент t, оказались невыгодными для всех автоматов, то состоянием в момент t +1 будет ^j!,...,^;»!,.--,^’ которое в момент t+ 2 обязательно перейдет в состояние ^ii,...,^;»!,...,^-
В промежуточном случае, когда в момент t + 1 т автоматов будут вынуждены сменить действие, а остальные п — т автоматов свои действия сохраняют, мы получаем редуцированную игру т ^ п — 1 автоматов.
Поскольку с каждым шагом либо происходит редукция к игре с меньшим числом участников, либо формируется «стационарное» состояние (либо формируется состояние, которое непременно в следующий момент перейдет в стационарное), то очевидно, что число шагов, гарантирующее переход в такое состояние, когда автоматы перестают менять свои действия, не больше п + 1. Лемма доказана.
3 Стефанюк
Доказательство теоремы2.1
Пусть Г — ациклическая игра и пусть ^{^г!,...,^;^,...,^W^ — ве~ роятность определенного состояния коллектива s-автоматов в момент t. Покажем, что для любого 5 > 0 найдется такое е > 0, что
1 t
.5=1
Элементами матрицы вспомогательной цепи Маркова являются числа, не зависящие от s, а сама цепь, в случае ациклической игры с единственной точкой Нэша, содержит ровно один существенный класс из одного элемента. Поэтому для любого 51 > О найдется такое ЛД^Д, что независимо от начального состояния этой цепи средняя доля времени, в течение которого цепь будет находиться в состоянии, отвечающем партии Нэша, по истечении ЛД£Д шагов будет не меньше (1 — ^i).
Для любого малого ^ > 0 найдется такое 772, что при е С Л2 с вероятностью не меньше (1 — 6^ в интервале между двумя последовательными кратными сбоями произойдет не менее ЛД^Д одиночных сбоев. Это вытекает из двух положений.
Для любого 5^ найдется такое 772, чт0 с вероятностью не меньше (l — j^) интервал времени между последовательными кратными сбоями при всех е Л2 окажется не меньше величины ЛД5Д/(ns3/2). Действительно, пусть кратный сбой произошел в момент t = 0 и пусть <72 (Д? Р2Д) — соответственно вероятность того, что кратный сбой произошел в следующий раз (после t = 0) в момент 2, и вероятность кратного сбоя в момент t. Очевидно, р-!^ = Р2 при t п + 2 и р-!^ = 1 — (1 — s)n при 1 ^ t ^ п + 1. Поэтому имеем цепочку соотношений, приводящих к нашему утверждению:
Е 92 W < Е P2W < (п +1)(1 - (1 - £)”) + £=1£=1
+ f ^3/0 + (1 -0При £ —> 0
V TIE ''
(здесь верхний предел суммирования а =] + 1).
Для любого (^2 найдется такое г/Д что при е ^ 772 вероятность того, что в течение A^(5i)/(ns3/2) моментов времени произойдет не меньше ЛД5Д одиночных сбоев, будет не меньше (1 — ^2)- Действительно, можно показать, что дисперсия интервала между одиночными сбоями ст2 равна ст2 = (1 — (2n + 3)рД/р2 и ст2 ^ Т при е —> 0. Тогда, согласно неравенству Чебышева, вероятность того, что интервал между соседними одиночными сбоями превзойдет l/(ns3/2), становится сколь угодной малой при s —> 0. Отсюда вероятность того, что конечное число сбоев ЛД£Д займет время большее, чем ЛД5Д/(ns3/2), становится сколь угодно малой при s —> 0. Остается в качестве 772 выбрать min (772,772 ), а в качестве 5^ — сумму б^ + ^ •
Пусть QH(MyT2^M) — число партий Нэша и длина интервала между кратными сбоями соответственно, усредненные по всем интервалам между соседними кратными сбоями, содержащими ровно М одиночных сбоев. Пусть Р^М^ — распределение таких интервалов. Теперь достаточно показать, что при е ч 0 выполняется
£ \т^м> - qhwm
£ =55> О,
£ Т^М^ Р(М)м=о
т. е. что относительная доля партий, не являющихся партией Нэша, мала при е ч 0.
Согласно I и II имеем
N(5i)-1оо
£ т2(м)£ VW^-Q^M^PW
t X М=0।M=N(5i) ~
€ < <>2^55 + 55 = М + £ ■
£ т2(м)р(м)£ т2(м)Р(м)
М=оM=N(81)
Малость £' (при е —> 0) вытекает из того, что Т^ ~ 1/е2, а числитель здесь имеет порядок const 8\/е.
Малость ^"можно показать, рассматривая условное среднее число партий Нэша при фиксированных Л/, моментах одиночных сбоев и фиксированном стационарном состоянии, которое имеется к моменту первого одиночного сбоя. Тогда, учитывая I и усредняя по всем интервалам между сбоями, можно получить, что £° -Л 0 при е Ч 0. Отсюда вытекает утверждение теоремы.
2.2. Анализ потоков вероятности
При определении понятия целесообразного поведения одного автомата в случайной среде и игр (коллективного поведения) автоматов обычно исследуется финальное (при t -Л ос) поведение системы. При этом прежде всего доказывается эргодичность изучаемого вероятностного процесса, что позволяет выписать, как это было сделано в самых первых работах в этой области [Цетлин, 1961; Стефанюк, 1961], для финальных вероятностей соответствующую систему алгебраических уравнений. Из последней сначала определяют финальные вероятности отдельных состояний элементов системы, а затем — суммарные финальные вероятности их действий.
Хотя системы алгебраических уравнений для финальных вероятностей в случае типичных примеров автоматов, обладающих целесообразным поведением, решаются достаточно легко, в настоящем параграфе будет показано, что исходные уравнения принимают особо простую форму, если воспользоваться условиями равенства «потоков вероятности», что позволяет сосредоточиться на этапе III рис. 1.3.
з*
Прежде чем формулировать наше утверждение и приводить примеры, отметим, что наш результат уточняет принцип «детального равновесия», высказанный Ю. И. Шмуклер в докладе «Методы статистической физики в задачах коллективного поведения» (2-я школа-семинар «Вероятностные автоматы и их приложения», г. Львов, 1971 г.). Краткое изложение этого доклада и развернувшейся по нему дискуссии имеется в [Стефанюк, 1971в].
Рассмотрим произвольную простую эргодическую цепь Маркова, имеющую п состояний и матрицу переходов ||pij||^• Пусть гд, . . . , гп — финальные вероятности этой цепи, которые существуют в силу указанной эргодичности.
Пусть множество всех состояний цепи {п} разбито произвольным образом на два непересекающихся подмножества таким образом, что {n} = {nJ U {П2}. Определим через Ri^ и ^2,1 суммарные финальные «потоки вероятности» из первого множества во второе и обратно следующим образом (см. [Cover and Helman, 1970], где приводится формулировка идущей ниже леммы без доказательства):
#1,2 = 52 TiPi^ R2,l = 52 riPij-
*€{ni}iEi^l
jG{n2}
Лемма 2.2. Потоки вероятности сбалансированы, т. е. Ri ^ = = #2,1-
Доказательство. Не уменьшая общности, перенумеруем все состояния Марковской цепи при выбранном разбиении на подмножества {nJ, {^2} таким образом, чтобы все состояния, входящие в подмножество {иД, получили номера 1,. . . , к, где к — число элементов этого подмножества. При этом остальные элементы исходного множества {п} получают номера к + 1,. . . , п.
Как известно, финальные вероятности всей цепи гд,. . . , гп удовлетворяют соотношению
3 = 1
Выделим отсюда состояние г:
гЛ1-Рн) + 12^=0 (г = 1,...,п).
Учитывая стохастичность матрицы HPijlU т. е. 52 Pij = 1 j=i
(г = 1, . . . , п), раскроем (1 — р^ в предыдущем соотношении:
Ё Ра + Ё ТзРЦ = 0 (г = i, • • •, /г).
Далее, чтобы перейти к потокам вероятности, просуммируем первые к из предыдущих уравнений. Получаем
к кк пк кк п
-ЕЕ ^ри -ЕЕ тзРч + Е Е TiPji + Е Е тзРа = °-
z=l J = 1г=1 з = к-\-1z=l J = 1г=1 з = к-\-1
З^гЗ^г
Покажем, что первый член по модулю равен третьему (это — «внутренние» потоки вероятности):
Е Е riPij = Е Е ТзРч - Е Т*РИ =
г=1J = 1г=1j = l1 = 1
З^г
к ккк к
= Е Е ТзРЦ - Е riPii = Е Е ТзРЦ- 3=1г=1г = 1г=1J = 1
(Здесь сделана эквивалентная замена индексов суммирования г о j и изменен порядок суммирования.) В силу этого имеем из предыдущего уравнения, что
к пк п
-ЕЕ прл + 'Е Е rjPji = °-
= 1 j = k4-l1 = 1 з = кЦ-1
Лемма доказана.
Лемма 2.2 позволяет значительно упростить вычисления финальных вероятностей и их сумм для хорошо известных автоматов, снижая на порядок степень соответствующего разностного уравнения. Ее полезность вызвана тем, что внутренняя структура этих автоматов является почти всюду однородной, и фактическое число состояний, участвующих в уравнении баланса потоков вероятности, мало.
Возможность снижения порядка уравнения была чисто эмпирически отмечена в [Цетлин, 1961] при оценивании автомата с линейной тактикой. Однако лемма 2.2 позволяет получать упрощения на регулярной основе, работая вполне определенным образом с диаграммой переходов.
Примеры вычисления финальных вероятностей.
Автомат М. Л. Цетлина (с линейной тактикой) Lm^.
Напомним, что автомат меняет свое внутреннее состояние как показано на рис. 2.2 а.
На рис. 2.2 б показана совместная диаграмма смены состояний автомата при штрафе и нештрафе (наказании и поощрении), а также «граница», разделяющая состояния автоматов на две группы.
Последовательно перемещая эту «границу» по диаграмме слева направо и применяя лемму 2.2 (учитывая, что Ром Qa — соответственно,
В случае поощренияВ случае поощрения3^2Г1 9^2чЧY-n3^2Г1 9^2чЧY-nаа
В случае поощрения
В случае поощрения
3^2Г1 9^2чЧY-n
3^2Г1 9^2чЧY-n
а
а
В случае наказания
(2)(2)(2)<-2<-1 4>V(2)(2)(2)<-2<-1 4>V(1)С1)(1)^п Л-1Л-2(1)С1)(1)^п Л-1Л-2ббРис. 2.2. Смена состояний для автомата с линейной тактикой (а) и совместный граф переходов между состояниями автомата Lm^ (6)Рис. 2.2. Смена состояний для автомата с линейной тактикой (а) и совместный граф переходов между состояниями автомата Lm^ (6)
(2)(2)(2)
<-2<-1 4>V
(2)(2)(2)
<-2<-1 4>V
(1)С1)(1)
^п Л-1Л-2
(1)С1)(1)
^п Л-1Л-2
б
б
Рис. 2.2. Смена состояний для автомата с линейной тактикой (а) и совместный граф переходов между состояниями автомата Lm^ (6)
Рис. 2.2. Смена состояний для автомата с линейной тактикой (а) и совместный граф переходов между состояниями автомата Lm^ (6)
вероятность штрафа и нештрафа при выполнении действия с номером а), получаем
(1)(1)(1)Pi = ^1<-ы(1)Pi = ^1<-ы
(1)
(1)
(1)
Pi = ^1<-ы
(1)
Pi = ^1<-ы
(1)1Р1 = Ql<-2,
(1) (Г
Ч Pi = Р^Ч
(2)(2)
Чг-^ = Q2<Z2,
(2)(2)
гп'р-2 = д^ч.
Решение этой системы и подсчет финальных вероятностей совершения первого и второго действия
E
(i)(2)
ч , CT2 = Eri
z=lг=1
делаются тривиально.
Далее, легко приходим к известному выражению для математического ожидания наказания Wp = cripi + cr^P^i получаемого автоматом
с линейной тактикой:
гдегдеWp =Wp =PiPi\Г - 1 А? - 1X? - 1 + А? - 1- 1 А? - 1^Т+Р2 А^Т\Г - 1 А? - 1X? - 1 + А? - 1- 1 А? - 1^Т+Р2 А^Т
где
где
Wp =
Wp =
Pi
Pi
\Г - 1 А? - 1
X? - 1 + А? - 1
- 1 А? - 1
^Т+Р2 А^Т
\Г - 1 А? - 1
X? - 1 + А? - 1
- 1 А? - 1
^Т+Р2 А^Т
qipiqipiРис. 2.3. Совместный граф переходов между состояниями автомата Dm^Рис. 2.3. Совместный граф переходов между состояниями автомата Dm^
qi
pi
qi
pi
Рис. 2.3. Совместный граф переходов между состояниями автомата Dm^
Рис. 2.3. Совместный граф переходов между состояниями автомата Dm^
Л <72
и Л2 = —Р2
Автомат В. И. Кринского D
Последовательно перемещая слева направо показанную на рис. 2.3 «границу», снова непосредственно из леммы 2.2 получаем
(!)(!)
тА Рх = 412^4 7,
(1) V (1)
<-хР1 = ^1 Е гг ’
1=1
(2)
ri Рх = РзЧ А
(2)
Гп Р<2 = 42 > , Ч А
Подставляя второе уравнение в первое, затем третье во второе и т. д. (и учитывая, что р(Х + qa = 1), получаем
(1)(1)
Тп'РХ =
(1)(1)
<-хР1 = 41-^
(1)(2)
ri 'рх = Р2П А
гг(2)Р2 = <-Х(2)Р2 = <-Х
г
г
(2)
Р2 = <-Х
(2)
Р2 = <-Х
Дальнейший анализ этой системы носит тривиальный характер. Действительно, из последней цепочки уравнений имеем
= Ра”^^^ Q = 1, 2, 3 = 1, . . . , П.
Подставляя результат в «среднее уравнение», сразу получаем, что
Тогда
что тут же ведет к известной формуле для математического ожидания проигрыша автомата В. Кринского.
Приведенные примеры показывают, что лемма 2.2 позволяет регулярным образом учитывать геометрическую однородность диаграммы перехода между состояниями путем простой регистрации дуг, пересекающих «границу» слева направо и справа налево.
В заключение раздела приведем другое соображение, связанное с учетом вида конкретных диаграмм смены состояний.
Теорема М. Л. Цетлина о глубоком состоянии автомата (необходимое условие). Пусть у? — некоторое состояние детерминированного автомата А, в котором он выполняет действие а. Глубиной этого состояния d (у?) называется минимальная длина последовательности входных сигналов (наказаний), приводящая автомат к смене действия. Глубиной автомата d (А) называется максимальная из глубин его состояний.
Оказывается [Цетлин, 1961], для того чтобы некоторая последовательность детерминированных автоматов Ai,. . . , Am, . . . была асимптотически оптимальной (чтобы с ростом п выигрыш автомата стремился к максимально возможному в данной среде), необходимо, чтобы dn = d (Ап) ос при п ос.
Эта замечательная теорема М.Л. Цетлина не полна в двух отношениях. Во-первых, она доказана только для детерминированного автомата, и действительно, в случае стохастического автомата можно обучаться за счет изменения самой вероятности переходов. В литературе показано, что в некоторых примерах такой автомат будет относиться к классу асимптотически оптимальных, хотя у него может не быть глубокого состояния. Однако, похоже, что приведенное доказательство нетрудно модифицировать для случая стохастических автоматов с ограниченными вероятностями переходов (при наличии жестких фиксированных границ — точной верхней и нижней грани G,g^0, 1).
Второй недостаток состоит в том, что теорема содержит лишь необходимые условия асимптотической оптимальности, тогда как достаточные условия представляли бы очень важное значение для практики. Напомним, что автомат с линейной тактикой, который заведомо содержит
необходимое по теореме глубокое состояние, не во всех средах образует асимптотически оптимальную последовательность. «Плохой» средой для этого автомата является случай, когда вероятности наказаний за оба действия хотя и разные, но обе превосходят 1/2.
Последним обстоятельством объясняется то, что различные авторы стали предлагать свои модели автоматов, обходящие этот недостаток автоматов с линейной тактикой.
Хотя достаточные условия асимптотической оптимальности остаются невыясненными, сама формулировка необходимого условия наводит на мысль о том, что еще одним требованием должно быть то, что суммарные финальные вероятности множества наиболее глубоких состояний обязаны монотонно расти с ростом п, по крайней мере, в пределе п —> ос.
Мы ограничимся несколькими примерами, иллюстрирующими не только важность этого требования, но и часто возникающую возможность из общевероятностных требований предсказать, когда оно не выполняется и, следовательно автомат, удовлетворяющий необходимому условию из теоремы М.Л. Цетлина, не может быть использован для построения асимптотически оптимальной последовательности автоматов.
Достаточное условие асимптотической оптимальности автомата с линейной тактикой Lm^.
В этом случае, как и в следующем примере, изменение состояния автомата за единицу времени (переход на шаг влево или вправо) можно рассматривать как задачу случайного блуждания на луче а с вероятностями ра. qa = 1 — ра по точкам 1, 2, . . . , п с отражающим правым концом. Ясно, что г^ не будет монотонно расти при п —> оо по сравнению с другими состояниями того же луча, если выполнено ра ^ 1 — ра. Таким образом, практически без вычислений мы получили известное из литературы необходимое условие асимптотической оптимальности автомата с линейной тактикой в виде min ра <1/2.
Иными словами, при несоблюдении указанного условия, глубокое состояние, которое формально существует, не «используется» в том смысле, что предельная вероятность его посещения падает при п -Л -Л ос. Отсюда следует, что можно говорить об «эффективной глубине» автомата, которая не совпадает, вообще говоря, с его формальной глубиной.
Кстати, отсюда видно, и это подтверждается практикой, что для достижения асимптотической оптимальности надо любым способом повысить финальную вероятность глубоких состояний по сравнению с другими состояниями LmK. С этой точки зрения полезно рассмотреть все последовавшие за LmK автоматы, но мы ограничимся автоматом В. Ю. Крылова (рис. 2.4) или его обобщением — конструкцией Г. Н. Церцвадзе (рис. 2.5) [Церцвадзе, 1968].
При поощрении
(!)(1)(2)(2)(2)
При наказании
1/2 1/21/2 1/2 1/2 1/2 1/2 1/21/2
1/2 1/21/2 1/2 1/2 1/2 1/2 1/21/2
Рис. 2.4. Графы переходов между состояниями автомата В. Ю. Крылова
Автомат Г. Н. Церцвадзе.
Переходы осуществляются как показано на рис. 2.5.
При поощрении
1—7 1—7 1—7 1—771—7 1—7 1—7 1—7
1-/3 1-/3 1-/3 1-/3 1-/3 1-/3 1-/3 1-/3 1-/3
Рис. 2.5. Графы переходов между состояниями автомата Г. Н. Церцвадзе
Заметим, что при 7 = /3 = 0 автомат Г. Н. Церцвадзе превращается в автомат Lm^^ а при 7 = 0, /3 = 1/2 — в автомат В. Ю. Крылова.
Аналогично предыдущему, условием асимптотической оптимальности будет перемещение в среднем состояния автомата в сторону больших г, т. е.
9а(1 - 7) + РаЗ > Qa^ + РсЩ - ЗУ
Иными словами, 2ра(1-7-/3) < 1-27.
Таким образом, практически без выкладок мы получили выражение для условия асимптотической оптимальности, из которого, в частности, следует, что это условие для автомата В. Ю. Крылова (7 = 0, /3 = 1/2) всегда выполнено.
Условие целесообразного поведения пары автоматов с линейной тактикой L™^, L^.
Поведение пары схематически изображено на рис. 2.6.
При поощренииПри поощрении(2)(2)(2)<-2 <-1 №(2)(2)(2)<-2 <-1 №При наказанииПри наказанииРис. 2.6. Графы переходов между состояниями пары автоматовРис. 2.6. Графы переходов между состояниями пары автоматов
При поощрении
При поощрении
(2)(2)(2)
<-2 <-1 №
(2)(2)(2)
<-2 <-1 №
При наказании
При наказании
Рис. 2.6. Графы переходов между состояниями пары автоматов
Рис. 2.6. Графы переходов между состояниями пары автоматов
Такая пара была изучена в работах [Стефанюк, 1961, 1963], где с помощью громоздких выкладок удалось доказать, что в случае, когда т = п+1 и пара автоматов штрафуется за действие Гц с вероятностью Ро, а за остальные действия — с вероятностью р^ причем при р^ < р^ достаточным условием асимптотической оптимальности является р^ + + р < 1.
Рассматривая «блуждание» первого автомата по своим состояниям, отвечающим 1-му (выгодному) действию, следует учесть, что второй автомат в самом худшем случае (в виду его целесообразности в стационарных условиях) равновероятно выбирает свое действие. Тогда условие перемещения изображающей точки состояния первого автомата в сторону глубокого состояния будет, подобно предыдущему примеру, таким:
(ро + р) (<7о + q) . .
—", т. е. ро + р < 1.
В свое время это неравенство было получено нами как результат анализа громоздкого выражения, которое, в свою очередь, было выведено в результате сложных выкладок по решению двумерной системы разностных уравнений. Сами эти выкладки не были опубликованы ввиду их плохой обозримости. Поэтому описанная выше цепочка элементарных рассуждений, ведущая к тому же результату, что и традиционный аналитический метод, лишний раз доказывает, что так
расширенная теорема М. Л. Цетлина является полезным дополнением к традиционным методам анализа поведения автоматов.
С другой стороны, приведенные в разделах 2.2 и 2.3 примеры показывают, что сами диаграммы смен состояний автоматов (графы) служат не только иллюстративным целям, но и могут быть эффективно использованы при анализе свойств автоматов, существенно упрощая такой анализ.
Приближенный анализ коллективного поведения при большом числе участников
Для многих задач технического, биологического, социологического характера существенным является обмен информацией или наличие взаимодействий между частями системы S и наличие процесса, приводящего к некоторому равновесному состоянию.
Модель формирования мнения. Ниже рассматривается простейшая модель процесса формирования «мнения коллектива» х) после поступления в коллектив определенной «начальной» информации. Это «мнение» формируется в результате обмена информацией внутри некоторого множества автоматов, которые обладают, в определенном смысле, целесообразным поведением. Предполагается, что в течение ряда последовательных тактов весь коллектив автоматов разбивается на группы и такой обмен информацией протекает независимо в каждой из групп. Заметим, что подобная ситуация итеративного формирования мнения на основе знания мнений остальных участков характерна, в частности, для метода Дельфи, применяемого для получения экспертных оценок [Глушков, 1969].
Будем рассматривать случай, когда каждый член коллектива представляет собой простейший автомат, выходная величина которого (или состояние) (p(t) может принимать одно из двух значений: 0 или 1. Поведение автомата во времени задается уравнением
W + 1) = F ^t\ 8^,^ , t = 0, 1, 2,...,
где s^f) — входная переменная, которая принимает два значения: 0 — поощрение, 1 — штраф (наказание); ^(t) — последовательность случайных независимых величин, также принимающих два значения 0, 1 с вероятностью 1 — s, s соответственно. Предполагается, что функция F задана следующим образом:
0) = F(^(t), 1, lW(t),
F 1, 0) = F 0, 1) = 1 — V^ =
') Термин «мнение коллектива» понимается как, в некотором смысле, стационарное состояние всего коллектива. В случае коллектива людей — это был бы набор мнений, которых придерживается каждый из членов коллектива.
При ^(t) = 0 автомат меняет выходную величину только при штрафе, поэтому ^(t) = 1 можно понимать как проявление «упрямства» автомата (с вероятностью s).
По-другому можно представлять ^(t) как «ошибку» или «сбой» автомата.
Будем рассматривать коллектив из п таких автоматов, считая, что ^(t), г = 1, . . . , п, являются независимыми случайными величинами для всех членов коллектива. Ниже мы будем считать, что в каждый момент времени t = 0, 1, 2, . . . автоматы разбиваются на группы, причем величина входной переменной s(t) для каждого автомата в состоянии y?(t) зависит от средней доли Х(^ автоматов в этой группе, выбравших выходную величину, равную y?(t) (иными словами, находящихся в том же состоянии): если Х^ > 1/2, то s^ = 1, если Х^ ^ 1/2, то s^ = = 0.
Таким образом, в каждой группе происходит «голосование» по большинству.
Можно также рассматривать случай, когда таким образом «голосует» лишь один случайно выбранный автомат группы (т. е. все входные переменные всех остальных автоматов полагаются равными 0). Ниже всюду мы будем придерживаться второго способа голосования, когда случайно выделяется один автомат. Кроме того, везде в настоящем пункте считается, что в группе имеется ровно три автомата (п кратно 3). Разбиение на группы коллектива автоматов происходит случайным образом. Предполагаем также, что величина е для всех автоматов одна и та же (в дальнейшем последнее предположение будет несколько ослаблено).
Сделанные ограничения упрощают рассмотрение, но не являются обязательными. Из сказанного видно, что взаимодействие элементов имеет много общего с задачей «голосования с ошибкой», рассмотренной в ряде работ, например [Васильев и др., 1969], в которых, однако, предполагалось, что все автоматы расположены на неограниченной прямой (или плоскости), соседи фиксировались раз и навсегда, и где целью исследования являлось обнаружение случаев неэргодичности системы х).
На самом деле, легко показать, что при описанном выше групповом взаимодействии коллектив оказывается заведомо эргодической системой, но ниже мы будем рассматривать систему на достаточно малом отрезке времени, на котором состояние всей системы с большой вероятностью определяется начальными условиями.
*) Постоянный участник нашего семинара по теории автоматов в МГУ, а впоследствии — сотрудник ИППИ РАН, Г. Л. Курдюмов совершенно неожиданно для всех доказал, что вопрос о том, является ли эргодической бесконечная однородная система типа рассматриваемых в [Васильев и др., 1969], вообще говоря, алгоритмически неразрешим! («Теоретико-алгоритмический метод исследования однородных случайных сред», ДАН, 1978. — №5. — С. 1047-1050).
Рассмотрим функцию p(t) — долю автоматов находящихся в момент времени t в состоянии 1.
Можно получить приближенное уравнение, описывающее процесс (см. п. 2.3.2):
Л (t + 1) = -| (1 - 2г) p?W + (1 - 2г) t?^ + | ц^ + |.(2.3.1)
Стационарные точки р удовлетворяют уравнению
2 (1 - 2г) у? - 3 (1 - 2г) р? + Р -
При г < 1 /6 здесь имеется три стационарные точки
1 , 1 /1- 6г1 /0
Л2 = 1/2‘
Как легко видеть, при £ < 1/6 точки рх и /13 являются устойчивыми, причем область устойчивости корня рх есть [0,1/2), а область устойчивости корня рз есть (1/2,1].
Такой результат противоречит тому, что исходная система является эргодической. Это противоречие означает, что полученное приближенное описание может быть верным только на достаточно «малом» промежутке времени.
На некотором «малом» интервале времени происходит формирование и сохранение средней доли «1» в коллективе, выбор которой зависит от начальных условий, а значение — нет.
Для оценки времени пребывания в стационарных состояниях и вообще правомочности такого приближенного анализа было проведено моделирование описанного процесса на ЭВМ. Моделирование проводилось для п = 1024, 510 и 225 автоматов. Моделирование на компьютере показало, что приближенный анализ является достаточно точным.
Пример. Для п = 510, £ = 0,05, начального состояния /1(0) = = Mq = 200 (т. е. 200 автоматов в начальный момент времени находятся в состоянии уДО) = 1) система приходит в стационарную точку за 26 тактов. Система наблюдалась в течение 40 тыс. тактов и все это время находилась в окрестности стационарной точки. Таким образом, «малый» отрезок времени, на котором справедливо наше описание, на самом деле может быть достаточно большим.
При £ = 0,1 эта окрестность шире. Время же формирования стационарной средней доли «1» системы примерно такое же. Интересно, что полученный результат значительно отличается от результатов, полученных в работе [Васильев и др., 1969], где соседи фиксировались.
Можно говорить, что при малых величинах £ такая система обладает памятью, так как состояние коллектива с достаточно большой вероятностью определено начальными условиями. (Память системы здесь понимаем в том же смысле, что и память каждого члена коллектива, который в интервале времени порядка 1/s сохраняет свое состояние, если на его индивидуальный вход не поступает «штраф».)
Тогда оказывается, что коллектив в целом «помнит» свое состояние гораздо дольше, чем каждый член этого коллектива. Фактически речь идет о повышении надежности работы системы из ненадежных элементов способом, близким к тому, что использован в работе [Нейман, 1956].
С другой стороны, можно было бы говорить также и о надежности операции «голосования» в такой системе. Формирование мнения в таком коллективе достаточно хорошо моделирует социальные процессы различного рода, в которых большую роль играют как процессы создания, так и процессы «разрушения» определенных общественных представлений.
Теперь, основываясь на том же приближенном описании, рассмотрим случай, когда коллектив п автоматов неоднороден.
Взаимодействие в этом коллективе носит такой же характер, но пусть коллектив распадается на т подколлективов с численностью соответственно ni, П2, . . . , тгт^ причем каждый такой подколлектив характеризуется своим параметром s — вероятностью «ошибки» и предполагается, ЧТО П1, П2, • • • , пт >> 1.
Рассмотрим, как свойства отдельных частей сказываются на поведении целого. Пусть оц = rii/n^ i = 1,. . . , m, тогда в уравнении для д следует заменить параметр е на Ё = ^ а^Ег^ гДе ^г — вероятность г=1
«ошибки» для г-го подколлектива с численностью тц.
Тогда очевидно, что условием существования трех стационарных точек является уже Ё < 1/6.
Рис. 2.7. Формирование мнения коллектива исходя из начального состояния до = 0,4 при s = 0,05 и п = 510Рис. 2.7. Формирование мнения коллектива исходя из начального состояния до = 0,4 при s = 0,05 и п = 510Рис. 2.8. Другой пример формирования мнения коллектива исходя из начального состояния до = 0,5 при е = 0,05 и п = 1024Рис. 2.8. Другой пример формирования мнения коллектива исходя из начального состояния до = 0,5 при е = 0,05 и п = 1024
Рис. 2.7. Формирование мнения коллектива исходя из начального состояния до = 0,4 при s = 0,05 и п = 510
Рис. 2.7. Формирование мнения коллектива исходя из начального состояния до = 0,4 при s = 0,05 и п = 510
Рис. 2.8. Другой пример формирования мнения коллектива исходя из начального состояния до = 0,5 при е = 0,05 и п = 1024
Рис. 2.8. Другой пример формирования мнения коллектива исходя из начального состояния до = 0,5 при е = 0,05 и п = 1024
Из этого условия вытекает, что если, например, таких подколлективов два и щ = 7/8 (т. е. 1-й подколлектив существенно больше 2-го),
80 Методы исследования локальной организации поведения систем [Гл. 2 a Si = 1/7, то для выполнения условия s < 1/6 достаточно, чтобы ВЫПОЛНЯЛОСЬ S2 < 1/3.
На рисунках 2.7-2.11 показаны некоторые характерные реальные (не приближенные!) траектории p,(t) — доли единиц в коллективе из автоматов, в котором происходит процесс формирования «мнения» х). Приведены значения д(^), усредненные по 100 предыдущим тактам времени (t = 100,200,...). На рисунках 2.7-2.9 и 2.10, 2.11 приведены траектории p,(t) для соответственно однородных и неоднородных коллективов автоматов.
Рис. 2.9. Формирование мнения коллектива при до = 0,3 при е = 0,1 и п = 1024Рис. 2.9. Формирование мнения коллектива при до = 0,3 при е = 0,1 и п = 1024Рис. 2.10. Пример формирования мнения в смешанном коллективе при до = 0,3 при а = 0,7, si = = 0,05, £2 = 0,5 и п = 1024Рис. 2.10. Пример формирования мнения в смешанном коллективе при до = 0,3 при а = 0,7, si = = 0,05, £2 = 0,5 и п = 1024Рис. 2.11. Еще один пример формирования мнения в смешанном коллективе для до = 0,3 при а = 0,7, ед = 0,05, £2 = 0,2 и п = 1024Рис. 2.11. Еще один пример формирования мнения в смешанном коллективе для до = 0,3 при а = 0,7, ед = 0,05, £2 = 0,2 и п = 1024
Рис. 2.9. Формирование мнения коллектива при до = 0,3 при е = 0,1 и п = 1024
Рис. 2.9. Формирование мнения коллектива при до = 0,3 при е = 0,1 и п = 1024
Рис. 2.10. Пример формирования мнения в смешанном коллективе при до = 0,3 при а = 0,7, si = = 0,05, £2 = 0,5 и п = 1024
Рис. 2.10. Пример формирования мнения в смешанном коллективе при до = 0,3 при а = 0,7, si = = 0,05, £2 = 0,5 и п = 1024
Рис. 2.11. Еще один пример формирования мнения в смешанном коллективе для до = 0,3 при а = 0,7, ед = 0,05, £2 = 0,2 и п = 1024
Рис. 2.11. Еще один пример формирования мнения в смешанном коллективе для до = 0,3 при а = 0,7, ед = 0,05, £2 = 0,2 и п = 1024
Вывод уравнения процесса формирования мнения и его анализ. Ниже предполагается, что коллектив из п автоматов в каждый
') Имитационное моделирование системы было осуществлено совместно с С. Б. Котляр.
момент времени t случайным образом разбивается на группы из к автоматов (п кратно к) и в каждой группе «голосует» один случайно выбранный автомат.
Пусть в начальный момент времени t = 0 доля автоматов, находящихся в состоянии 1, задана и равна //(0) = Цо- Вычислим среднее значение доли автоматов //(1), находящихся в состоянии 1 в следующий момент времени t = 1. Заметим, что после разбиения на группы вероятность того, что данная группа из к автоматов содержит ровно s автоматов в состоянии 1, равна C^//q(1 — p,o)k-s. Выбирая теперь случайно «голосующий» автомат и производя выбор мнения «по большинству», получаем следующее выражение:
^ММ^о + Нм £ ад-^Нт-Л +
s>/c/2
+ S Е С^П-Ау-ф-^-О-г) Е ад-^-
s^.k/2s<k/2
-в Е СМТ-ц^-^У (2.3.2)
s^/c/2
Положительные члены в квадратных скобках дают среднюю суммарную долю автоматов, которые в силу процесса голосования переходят из состояния 0 в состояние 1.
Множитель 1/к отражает тот факт, что в группе меняет мнение лишь один случайно выбранный автомат.
Рассмотрим теперь рекуррентное соотношение
M(t + 1) = Ф (/У)), м(О) = Мо-(2.3.3)
Предположение, которого мы придерживаемся в настоящей работе, состоит в том, что: 1) средняя доля автоматов в состоянии 1 в каждый момент времени является представительной величиной; 2) эта средняя доля в момент t равна ц(1)^ вычисляемой по соотношению (2.3.2). При к = 3 из (2.3.3) получаем уравнение (2.3.1).
Исследование приближенного уравнения процесса при нечетных к = 21 + 1. Покажем, что при условии
е < 2 ” (2/ + 1) Cki
у уравнения (2.3.2), как и в случае к = 3, имеются три стационарные точки: Ц1^ Ц2 = 1/2, /13, причем ц^ ц^ расположены симметрично относительно точки 1/2.
Из (2.3.4) видно, что при I -У ос величина, ограничивающая е, стремится к 1/2. Получим условие (2.3.4). В стационарном случае, согласно (2.3.3), получаем
(2.3.5)(2.3.5)М = ^^У
(2.3.5)
(2.3.5)
Обозначив v = /^/(1 — р) и учитывая к = 2/ + 1 из (2.3.3), (2.3.5), получаем следующее уравнение для и*.
ekvk + С^ек - 1) i?"1 + C^ek - 2) ivk"2 + ... + Clk(sk - I) ul+1 -
- СЦек - I) vl - C^kek - / + 1) v1"1 -
...-Сгккек-^и-ек = ^к^ = ^. (2.3.6)
Нетрудно видеть, что это уравнение имеет решение v = 1 и, кроме того, если оно имеет положительное решение v* то Aju* также является его решением.
Используя правило Декарта о числе перемен знака в ряду коэффициентов, нетрудно заключить, что число положительных решений (2.3.6) при всех £ не более трех. Поскольку Ф(^) —> оо при и —у ос, то условие ФД1) < 0 является необходимым и достаточным для того, чтобы (2.3.6) имело три различных положительных корня (при ФД1) = = 0 уравнение (2.3.6) имеет корень v = 1 кратности 3).
Вычисляя ФД1), получаем, что для этого необходимо и достаточно, чтобы выполнялось
£(2s + l)(Z-s)C'"s
^< —п•(2-3.7)
(2/ + 1) £ (2s + 1)C'"S
8 = 0
Остается упростить (2.3.7), чтобы получить (2.3.4), использовав для этого очевидные соотношения
/-1/-1!
E
zy/ + s Г)2/ —2r^/ + s + l Г)2/ —11 z-f/
°2Z —1 - 2’ X °2/- 2
.5 = 0.5 = 0
Комбинированное исследование модели памяти
В большом числе случаев использования вычислительной техники, построения моделей работы живой клетки, организации торговли, складирования, пользования Интернетом и т. п. важнейшим является этап поиска в памяти системы элемента, удовлетворяющего заданному набору свойств, т. е. некоторому образцу. Обращение в систему и само сопоставление с образцом являются, как правило, дорогостоящими процедурами, поэтому желательно, чтобы искомый элемент извлекался за минимальное число обращений.
Ниже описывается математическая модель системы со случайной выборкой из памяти. Рассмотрен ряд алгоритмов адаптивной оптимизации поиска. Приведены результаты моделирования и даны примеры реальных ситуаций, к которым применимы полученные результаты.
Будет показано, что при случайном характере расположения элементов в памяти системы число их копий (дублей) следует выбирать пропорциональным y/pi, где р^ — вероятность поиска элемента, удовлетворяющего г-му образцу, г = 1, . . . , п. Свойства такой случайной памяти, впервые описанной нами в [Stefanuk, 1974; Стефанюк, 1979], естественно сравнить со свойствами модели «стопки книг» М. Л. Цетли- на [Цетлин, 1963], в которой наблюдался эффект обучения стопки книг в соответствии с поступающими заявками. Такое сравнение удается провести точными методами (см. П.1).
Однако в нашей модели появляется новая «степень свободы» — число копий одного и того же элемента памяти А^. На примере нескольких алгоритмов, обеспечивающих получение оптимальных чисел Ni to y/Pi, мы рассмотрим многократное прохождение этапов анализа системы (рис. 1.3) (этап I) и убедимся в полезности использования комбинации приближенных методов и машинного моделирования.
Качественное описание памяти со случайной выборкой и примеры ее применения. Значительные успехи в технологии производства вычислительных машин привели к тому, что резко возросли объемы оперативной памяти и быстродействие ЭВМ при общем снижении удельных затрат.
Эти количественные изменения дали возможность хранить в оперативной памяти ЭВМ большие запасы знаний, относящихся к кругу решаемых задач, а также значительное число заранее запрограммированных процедур обработки данных. Этим, главным образом, и объясняется успех ряда крупных проектов по искусственному интеллекту [IJCAI-1985], экспертным системам [Алексеева и Стефанюк, 1984; IJCAI-1979; Стефанюк, 1987г] и роботам с элементами искусственного интеллекта [Стефанюк и др., 1977; 1980].
Основным способом извлечения необходимой «ассоциативной» информации в программах ИИ (и аналогичных им) является сопоставление с образцом (pattern matching). Подбор по образцу впервые был использован в языках программирования COMIT, COBOL, чтобы выделять подстроки по их содержанию, а не по их адресам. Он оказался чрезвычайно полезным в задачах ИИ, где требуется хранить большие запасы символьных данных, поэтому некоторые виды подбора по образцу были включены во все языки высокого уровня, используемые в искусственном интеллекте: SAIL, PLANNER, QA4, QLISP, POPLER, PROLOG.
Ниже мы принимаем, что поиск по образцу в памяти осуществляется так. Случайно, т. е. «наугад», из памяти выбирается элемент (слово, подпрограмма) и сопоставляется с образцом. Если сопоставление успешно, то поиск закончен; в противном случае выбранный элемент возвращается в память (или выбрасывается), выбирается другой, производится сопоставление и т. д. Сама процедура сопоставления с об-
84 Методы исследования локальной организации поведения систем [Гл. 2 разцом является достаточно сложной х), поэтому желательно, чтобы первый же выбранный из памяти элемент с максимальной вероятностью оказался бы тем, который отыскивается, или, чтобы среднее число операций сопоставления с образцом до достижения успеха было бы минимальным.
Будем предполагать, что существуют априорные, но нам, быть может, неизвестные вероятности pi ,. . . ,рп, с которыми происходит поиск соответствующего элемента из памяти. (Впредь все элементы — триплеты, слова, программы — мы будем называть «словами».)
В настоящей книге приводятся оценки и делаются выводы относительно оптимизации в указанном смысле процедуры хранения и поиска по образцу в случайной памяти. Описывается математическая модель системы со случайной выборкой из памяти. Рассмотрен ряд алгоритмов адаптивной оптимизации поиска и приведены результаты моделирования.
Для конкретности приведем примеры содержательных задач, к которым относятся полученные результаты.
I. Случайный поиск по образцу в памяти компьютера. Здесь предполагается, что все слова расположены в неизвестном для пользователя порядке, поэтому наугад выбирается адрес и просматривается соответствующая ячейка. Сюда же относится и ситуация, когда поиск данного слова ведется последовательным просмотром ячеек памяти, но местоположение искомого слова оказывается практически случайным ). Сколько копий каждого слова должно храниться в памяти, чтобы среднее число обращений к словам было бы минимальным?
Молекулярная вычислительная машина. Случайная память представляет собой хорошую модель для гипотетической «молекулярной машины» [Либерман, 1972], в которой отдельные копии слов мыслятся авторами идеи в виде молекул, совершающих случайные тепловые блуждания в объеме живой клетки. Из наших результатов вытекают определенные предположения относительно некоторых свойств элементов такой модели.
Магазин самообслуживания. Сколько экземпляров товаров каждого типа нужно иметь в магазине, чтобы покупатель, даже если он случайно выбирает очередность просмотра полок, за минимальное время находил интересующий его товар? (Вряд ли такая «случайная» схема совершения покупки приемлема для магазина в целом. Однако она может оказаться применимой к его отделам, содержащим большой
х) Или же интервал между последовательными извлечениями элементов из памяти не может быть сделан меньше некоторой константы (и тогда речь идет о быстродействии).
выбор по существу однотипных товаров, таким как «Моющие средства» и др.)
Сеть Интернет. Дублирование способов доступа к информации в Интернете весьма распространено. Исходно это было вызвано желанием обеспечить надежный и быстрый доступ для географически разбросанных пользователей сети. В результате сегодня практически каждый пользователь может получить одну и ту же (или близкую по содержанию) информацию, обратившись к любому из нескольких сайтов. Наиболее «откровенное» дублирование наблюдается в так называемых зеркалках (mirrors), но и серверы другого назначения, такие, как gofer, proxy или archi, также предусматривают высокую степень дублирования. Например, сообщалось, что броузер Netscape можно «скачать» с любого из 19 сайтов, имеющих следующие URL-адреса: ftp://ftpX.netscape.com/, где X 6 [2, 20]. В книге [Eager, 1974] отмечается, что имеется около 40 агсЛге-серверов, обслуживающих примерно 1500 компьютеров.
Дублирование информации при поиске по образцу может существенно повысить скорость поиска необходимых сведений. Время поиска становится минимальным, если число агентов, несущих одну и ту же (или эквивалентную) информацию выбрать оптимальным (см. [Сте- фанюк, 1989]).
«Закон квадратного корня». Обозначим через 1^ среднее число обращений в память при поиске г-го слова. Тогда полное среднее число обращений равно
£ =(2.4.1)
z=l
где Рг — вероятность поиска г-го слова, г = 1, . . . , п, ^2 р^, = 1.
г=1
(Предполагается, что после поступления «заказа» на поиск г-го слова, обращения в память осуществляются до тех пор, пока это слово не будет найдено. После успешного извлечения искомого слова, с соответствующей вероятностью поступает «заказ» на поиск очередного слова, и т. д.)
Пусть Vj — число копий г-го слова, хранящихся в памяти, причем ^2 V^ = V, где N — полное число слов в памяти. Тогда, считая, что при г=1 обращении в память со случайной выборкой равновероятно извлекается одно из N слов и неподходящие слова возвращаются обратно в память, при Ni ^ 1 справедливо следующее выражение (бесконечная сумма):
1 -1 -N_ = 1Ni “ Рг 'N_ = 1Ni “ Рг '(2.4.2)(2.4.2)
1 -
1 -
N_ = 1
Ni “ Рг '
N_ = 1
Ni “ Рг '
(2.4.2)
(2.4.2)
где через р^ обозначена вероятность выбрать слово г при первом же обращении в память, т. е. относительная доля слов типа г.
Отсюда возникает такое выражение для полного среднего числа обращений в память при поиске по образцу:
=(2-4.3)
г=1
Видно, в частности, что если число копий каждого слова в памяти пропорционально вероятности поиска соответствующих слов, то среднее число обращений не зависит от этих вероятностей и равно п, т. е. полному числу различных слов, хранящихся в памяти! (При поиске без возвращения и малом N в работе [Стефанюк, 1974] найдена оценка (п + + 1)/2.)
К сожалению, именно такую прямую пропорциональную зависимость дает естественный алгоритм «размножения» числа копий слов, рассматриваемый в п. 2.4.3.
Чтобы выяснить, какие значения pi^ . . . ^Рп являются оптимальными в смысле минимизации критерия (2.4.3), покажем, что верно неравенство (п\ 2
^VPiY(2-4.4)
г=1'
Действительно, для нахождения минимального значения выражения (2.4.3), считая в нем pi,... ,рп фиксированными, a pi,. . . .рп —
переменными величинами, с учетом условия нормировки ^ Pi = 1?
г=1 построим обычным образом функционал
г=1г=1
Необходимые условия экстремума Ф имеют вид
^3- = -4 + А = 0, г = 1,...,п,(2.4.5)
Pi
а соотношения
показывают, что в точке экстремума — минимум. Отсюда вытекает справедливость (2.4.4).
Таким образом, минимальное значение для среднего числа обращений при поиске по образцу, равное
достигается при учете (2.4.5) и нормировки для pi при
(2.4.7)
Итак, при оптимальном поиске по образцу необходимо, чтобы выполнялся «закон квадратного корня»: оптимальное число копий каждого слова должно быть пропорциональным корню квадратному из вероятности поиска соответствующего слова.
В п. 2.4.6 даются аналогичные выкладки для поиска по образцу без возвращения, естественного, скажем в ситуации упорядоченного поиска в памяти компьютера со случайным порядком слов (пример I из п. 2.4.1) и в задачах типа III. Полученные там выражения (2.4.19)(2.4.22) показывают большое сходство со случаем с возвращениями, а при N —У ос результаты асимптотически совпадают.
«Естественный» алгоритм образования и уничтожения копий слов. Изучаемую нами память со случайной выборкой можно трактовать как мультиагентную систему, состоящую из коллектива п автоматов, причем число Nt является «состоянием» г-го автомата.
Рассмотрим алгоритм, в котором при каждом успешном извлечении слова из памяти в нее добавляется ровно ст копий этого слова. Тогда заранее очевидно, что в памяти будет тем больше копий данного слова, чем выше вероятность поиска именно этого слова. (Чтобы предупредить неограниченное нарастание общего числа слов в памяти, в алгоритме предусмотрен определенный механизм уничтожения копий.)
Пусть t = 0,1, 2, . . . представляют собой моменты успешного извлечения искомого слова из памяти. Рассмотрим следующий алгоритм работы г-го агента:
Mt +1) = ад + ад - ад. (2.4.8)
Здесь ^(t) = 0, если Ni(t) = 0. При N^t) ф 0 величины ^(^) — суть независимые случайные величины, принимающие значения ст, 0 с вероятностями Pi^(l — Pi) соответственно; величины rji(t) — зависящие только от KU(t) случайные величины, принимающие значения m^,0 mi N^t)^ с вероятностями С^^а™1^ — a)Ni^-mi.
Иными словами, в каждый момент t успешного извлечения г-го слова (вероятность этого равна р^ в память добавляется ст копий слова, удовлетворяющего образцу. При этом все остальные слова независимо друг от друга с вероятностью а «гибнут».
Обозначив чертой сверху среднее значение случайной величины при условии, что ни одно Ni(t) не обращается в нуль, получаем следующее уравнение для средних этого случайного процесса:
(2.4.9)(2.4.9)Ni(t + 1) = Ni(t) + o-pi - aN^t\ г = 1,. . . , n.
(2.4.9)
(2.4.9)
Стационарным решением (2.4.9) будет
= г = (2.4.10)
Как уже было отмечено, такие значения величин копий не только не являются оптимальными или близкими к ним, но обеспечивают в среднем глубину поиска равную п, т. е. полному числу различных слов, хранящихся в памяти. Однако сам вид зависимости (2.4.7) наводит на мысль о том, что работу алгоритма (2.4.8) можно скорректировать, если ввести метрику в пространство слов, хранящихся в памяти.
Использование «геометрических» соображений. Представим себе, что все слова в памяти находятся на ограниченном куске плоскости и все копии одного слова имеют тенденцию «держаться вместе», образуя скопления круглой формы, перемещение которых на плоскости как целого носит случайный характер. Пусть теперь механизм выбора слов из памяти устроен так, что при каждом обращении в память происходит выбор слова лишь с границ этих скоплений, тогда как добавление новых копий и их уничтожение происходит «равномерно» по всему объему по алгоритму (2.4.8). Тогда, очевидно, доля копий слов, среди которых фактически будет осуществляться поиск по образцу, будет прямо пропорциональной квадратному корню из соответствующей вероятности.
Такая схема непосредственно применима в торговле (см. пример III из п. 2.4.1), когда покупатель осуществляет свой выбор среди тех экземпляров товара, которые непосредственно видны на полках магазина. При этом невидимая покупателю основная масса товара может обновляться и пополняться по алгоритму (2.4.8), а способ выбора гарантирует необходимую оптимизацию.
Описанная схема может дать ответ на некоторые вопросы, касающиеся работы живой клетки (см. пример II из п. 2.4.1). В этой связи хотелось бы обратить внимание на следующее замечание из книги [Леви и Сикевиц, 1971, с. 92], относящееся к мельчайшим образованиям внутри клетки — микротельцам, пероксисомам и др.: «недавно в них были найдены некоторые ферменты; однако функция этих телец фактически не выяснена. Их обнаруживают далеко не во всех клетках; тем не менее распространены они очень широко. Вероятно, лизосомы и микротельца служат в клетке местом хранения больших количеств ферментов; при такой форме хранения большая часть этих ферментов изымается из обращения... »
Хотя это высказывание явно наводит на мысль об аналогии с нашей моделью случайной памяти, объясняя причины существования описанных депо ферментов и то, почему большая часть их «изымается из обращения», все же фактического материала пока еще слишком мало, чтобы проводить серьезные параллели. См. также работу [Де Дюв, 1983].
Учтем также, что при моделировании живой клетки необходимо рассматривать 3-мерную, а не плоскую геометрию. В этом случае достаточно эффективным (хотя и не оптимальным) будет использование
сферических образований. Тогда, при условии, что число слов в объеме скопления пропорционально р^ а считывание осуществляется только с поверхности скоплений, получаем, что среднее число обращений при поиске по образцу будет равно
^г = УрУ3Ёр2Л
г=1 г=1
Это выражение так же, как и (2.4.6), обладает многими достоинствами оптимальной памяти, например, тем свойством, что при pi —> 1 имеем £r 1.
«Явные» алгоритмы оптимизации. Ясно, что решение задачи создания оптимального числа копий слов в памяти со случайной выборкой зависит от имеющейся априорной информации. Так, если pi, . . . , рп заранее известны, то формула (2.4.7) для поиска с возвращениями (или формула (2.4.22) для поиска без возвращений) дает ее непосредственное решение.
Далее, если pi, . . . , рп неизвестны, но известны текущие числа слов каждого типа KU(t) (такая постановка задачи естественна для некоторых вариантов задачи III из п. 2.4.1), то можно поступить так. Пусть уничтожение копий происходит так же, как в алгоритме (2.4.8), а с вероятностью р^ в момент t в память добавляется уже не ст копий слов г-го типа, a CT/Ni(t). Назовем этот алгоритм алгоритмом с известним числом копий. Тогда аналогично уравнению (2.4.9) можно написать следующее уравнение для средних значений, пренебрегая дисперсией величин N^ty.
N^t + 1) = N^ + ^j Pi - a N^t\ г = 1,. . . , n. (2.4.11)
Очевидно, что в стационарной точке здесь выполняется «закон квадратного корня».
Наконец, если отсутствует и такая информация, то при ^ —> ос хорошо работает, как показывает идущий ниже приближенный анализ, следующий алгоритм, основанный на поиске без возвращения: после каждого успешного извлечения искомого элемента из памяти подсчитывается, сколько было просмотрено «неподходящих элементов» и все они удаляются из памяти, а затем в память добавляется ровно такое же число копий элемента, удовлетворяющего образцу. Назовем этот алгоритм алгоритмом с адекватной заменой.
Пусть t = 1,2,... — моменты успешного извлечения искомого сведения из памяти (когда удовлетворяется соответствующий образец).
В обозначениях п. 2.4.3 для средних величин этого процесса получаем следующее выражение (вычисляем сначала условные средние при фиксированных значениях Ni(t\ г = 1, . . . , п):
X(i+T)=XW+Pi £ ^^^^(/,№-1). (2.4.12)
Здесь величина ——Здесь величина ——т-г (lj(t) — 1) представляет собой условное сред-
Здесь величина ——
Здесь величина ——
нее доли числа сведений г-го типа, попавших в выборку, предшествующую моменту успешного окончания поиска сведения типа j (этому моменту предшествовало в среднем lj(t) — 1 обращений в память). Используя выражение (2.4.19) для 1^ в процессе выборки слов из памяти без возвращения и приближенно заменяя среднее значение отношения величин на отношение средних, получаем следующие выражения:
ОДО - 1) и(2.4.13)
NiW a .(t) - 1) — _JWL_ ~ Ni№(2 4 14)
N-NAtVW) ^N^H N^HV '
Отсюда стационарная точка (M, . . . , Nn) процесса (2.4.12) удовлетворяет уравнению
J=1
Представив (2.4.15) в виде
=°’(2-4л6)
где
6 = V Pj < 1,(2.4.17)
разрешим (2.4.16) относительно Nf.
Ni = ^ + ^N N^^Ni.(2.4.18)
Отсюда видно, что при ^ —> оо асимптотически выполняется
~ Ni Vpi •1
Pi = ^7 =,? = !,...,«,
X^ /—
г=1
т. e. в описанном алгоритме действительно происходит формирование оптимальных значений для дубликатов сведений, несмотря на отсутствие какой-либо априорной или текущей информации о составе памяти.
В работе [Стефанюк, 1989] описаны особенности использования этого алгоритма в задачах типа IV из п. 2.4.1.
Заметим, что приведенный анализ является приближенным: мы ограничились рассмотрением уравнений для средних значений величин, считая их представительными в каждый момент времени и неявно пренебрегая более высокими моментами. Мы пренебрегали также ненулевой вероятностью полного уничтожения всех копий некоторых слов, полагаясь на то, что эта вероятность настолько мала, что стационарное распределение «успеет» сформироваться.
Поэтому этот анализ был дополнен машинным моделированием реального процесса, которое подтвердило работоспособность предложенных алгоритмов.
Моделирование производилось в предположении, что в памяти хранится всего три типа слов и что вероятности обращения за каждым, типом слова равны 0,1; 0,3; 0,6, так что оптимальные относительные доли копий слов в памяти, пропорциональные квадратному корню из этих вероятностей, равны соответственно 0,193; 0,334; 0,473. Они показаны на приводимых рисунках в виде тонких горизонтальных линий (M^/V^))^ = 0,47; (A^)/W))°pt = 0,33; (V3W/^W)opt = 0,19.
Рис. 2.12. Алгоритм с известным числом копий слов (добавляется — 1000 копий, фактор гибели — 0,01)
На рис. 2.12 изображен график формирования относительной доли копий слов каждого из типов по алгоритму с известним числом копий при следующих параметрах:
добавляется ст = 1000 копий;
фактор уничтожения копий а = 0,01;
начальные числа копий слов: 200, 150, 100;
число обращений к памяти — 1000;
интервал интерполяции при выводе графика — 10.
Из моделирования вытекает, что «финальные» числа копий слов каждого типа равны соответственно 96, 191, 233.
На рис. 2.13 показаны расчеты работы того же алгоритма, но при иных параметрах:
добавляется а = 20 000 копий;
Рис. 2.13. Алгоритм с известным числом копий (добавляется — 20 000 копий, фактор гибели — 0,01)
фактор уничтожения копий а = 0,01;
начальные числа копий слов: 2000, 1500, 1000;
число обращений к памяти — 3000;
интервал интерполяции — 50.
Моделирование показало, что «финальные» числа копий слов равны соответственно 337, 754, 1150.
На рис. 2.14 а изображен график формирования относительной доли копий слов по алгоритму с адекватной заменой при следующих параметрах:
начальные числа копий слов: 2000, 1500, 1000;
число обращений к памяти — 3000;
интервал интерполяции при выводе графика — 50.
Из моделирования вытекает, что «финальные» числа копий слов каждого типа равны соответственно 693, 1400, 2117.
Наконец, на рис. 2.14 5 изображен график формирования относительной доли копий слов также по алгоритму с адекватной заменой, но при несколько других параметрах:
начальные числа копий слов те же, что и в предыдущем случае:
число обращений к памяти — 10 000;
интервал интерполяции при выводе графика — 200.
Здесь моделирование показало, что «финальные» числа копий слов каждого типа равны соответственно 604, 1562, 2134.
Из перечисленных графиков можно заключить, что при выбранных здесь параметрах, использованные в нашем приближенном анализе предположения вполне оправданы.
Приведенные графики, как и ряд других, наводят на мысль о большом сходстве этих двух «явных» алгоритмов оптимизации числа копий при соответствующем выборе параметров сг^ а: можно показать, что это сходство не является случайным и имеет определенное основание.
Рис. 2.14. Алгоритм с адекватной заменой словРис. 2.14. Алгоритм с адекватной заменой слов
Рис. 2.14. Алгоритм с адекватной заменой слов
Рис. 2.14. Алгоритм с адекватной заменой слов
Поиск без возвращения. (В данном пункте символы того же смысла, что и в п. 2.4.2, снабдим значком^ если речь идет о поиске без возвращения.)
Для поиска без возвращения при М ^ 1 имеем для вычисления /^ следующую конечную сумму:
NjN - 1NjN - 1.. .х(1-.. .х(1-Nj \N — 1)Nj \N — 1)х . . .х . . .Nj \N - 1/Nj \N - 1/Nj \N- 3^2)Nj \N- 3^2)NiN - з + 1NiN - з + 1+...+^N-Ni+l)(l-^(l-+...+^N-Ni+l)(l-^(l-Л^ + 1М + 1 'Л^ + 1М + 1 '(2.4.19)(2.4.19)
Nj
N - 1
Nj
N - 1
.. .х(1-
.. .х(1-
Nj \
N — 1)
Nj \
N — 1)
х . . .
х . . .
Nj \
N - 1/
Nj \
N - 1/
Nj \
N- 3^2)
Nj \
N- 3^2)
Ni
N - з + 1
Ni
N - з + 1
+...+^N-Ni+l)(l-^(l-
+...+^N-Ni+l)(l-^(l-
Л^ + 1
М + 1 '
Л^ + 1
М + 1 '
(2.4.19)
(2.4.19)
Здесь мы использовали равенство
-М+17— и7У+1 •-М+17— и7У+1 •(2.4.19а)(2.4.19а)
-М+1
7— и7У+1 •
-М+1
7— и7У+1 •
(2.4.19а)
(2.4.19а)
94 Методы исследования локальной организации поведения систем [Гл. 2 Чтобы проверить последнее соотношение, применим несколько раз к его правой части элементарное тождество CJ+1 = С^ + Cj^V Тогда получаем
= с^ + (& + !) С^_к + Е J С^ , к = 1, 2,... ,N - Ni -1,
справедливое, очевидно, пока выполняется N — к ^ Ni + 1. После подстановки этого выражения в указанное выше соотношение (учитывая приведенное ограничение на /с), остается доказать, что
(ТУ-МЩ^У + ^-М + ПУУ = с^+\ + ^ - ^)с^+1.
Последнее равенство доказывается непосредственным вычислением. Таким образом, (2.4.19а) доказано окончательно.
Итак, для поиска без возвращения получаем
Е = (W +1) уу ,(2.4.20)
r V 1/ Z^ ^ +1 N ^ pt +l/^ ’v '
г=1г=1
где N ^ 1 (и соответственно р^ ^ "Ц N\
Выкладки, аналогичные приведенным в п. 2.4.2, дают следующее выражение для минимально возможного среднего числа обращений в память:
(I У'
причем это значение достигается, если выполнено
~ _ NiPi N~ _ NiPi N/ N + n\I N )/ N + n\I N )11г = 1, . . . , n.г = 1, . . . , n.(2.4.22)(2.4.22)
~ _ Ni
Pi N
~ _ Ni
Pi N
/ N + n\
I N )
/ N + n\
I N )
1
1
г = 1, . . . , n.
г = 1, . . . , n.
(2.4.22)
(2.4.22)
Если pi > 0, г = 1, . . . , n, и фиксированы, то при N -^ ос, п < оо формулы (2.4.19), (2.4.21) и (2.4.22) переходят в (2.4.2), (2.4.6) и (2.4.7), т. е. различие случаев с возвращениями и без них, как и следовало ожидать, исчезает.
Другие характеристики модели памяти со случайной выборкой. В прил. П.1 вынесены исследования некоторых других свойств описываемой памяти.
В П.1.1 вычислена дисперсия времени поиска, которая оказалась весьма большой.
В П.1.2 эта память сравнивается со «стопкой книг» М. Л. Цетлина, для которой были получены новые результаты. Показано, что в худшем для использования адаптивной памяти случае (когда все р^ равны) наша модель в среднем проигрывает стопке книг вдвое.
Наконец в П.1.3 показано, что в случае зависимых цепочек заявок поведение случайной памяти оказывается предпочтительным, так как легко видеть, что в стопке книг требуемые книги из многотомного издания будут располагаться в обратном порядке (!).
Напомним, однако, что эти две модели отвечают двум разным классам встречающихся на практике ситуаций, из которых лишь в некоторых конструктору предоставляется выбор, какой из моделей следует воспользоваться (см. например, п. 4.4.3 гл. 4).
В то же время подчеркнем: складывается впечатление, что объем памяти машины (емкость складов, число молекул в живой клетке) можно наращивать практически неограниченно и достаточно «дешево», тогда как время, затрачиваемое на выбор и сопоставление с образцом каждого слова (товара, молекулы), по-видимому, не может быть сделано сколь угодно малым, поэтому рано или поздно во всех указанных областях возникает потребность в адаптивных схемах памяти типа «стопки книг» или случайной памяти, позволяющих свести к минимуму (в среднем) время, затрачиваемое на получение нужного сведения.
При этом с ростом числа элементов локально-организованные системы типа случайной памяти получают преимущество перед другими способами хранения и извлечения информации, даже перед таким мощным средством, как хеширование, которое приводит к недостаточно эффективному использованию памяти [Тильчин и Шор, 1985], требует определенных декларативных сведений о формате хранимых элементов и т. п.
Одним из важных достоинств локально-организованных систем является то, что их легко пополнять или модифицировать и они обладают эластичносттую (см. также гл. 3), состоящей в том, что их свойства плавно ухудшаются с заполнением памяти, обладают высокой надежностью и т. д.
Выводы по главе 2
Предложен новый метод получения асимптотически точных результатов для игры s-автоматов путем рассмотрения «предельных» 0- автоматов (т. е. автоматов с бесконечной памятью). Даны методы анализа вспомогательной цепи Маркова (описывающей асимптотические свойства) для практически всех игр известных из литературы.
Показано, что в некоторых случаях доказательные результаты для коллективного поведения автоматов могут быть получены путем исчерпывающего моделирования на ЭВМ представительной совокупности вариантов.
Показано, что введенные в этой главе представления о «потоках вероятности» и «блуждании изображающей точки» позволяют чрезвычайно простым образом использовать граф, иллюстрирующий переходы состояний автомата, для выяснения условий асимптотической оптимальности.
Показано, что при анализе систем со случайными параметрами, состоящих из большого числа компонент, весьма эффективны приближенные методы, подкрепляемые машинным моделированием.
Показано, что фактически во всех случаях анализа данной главы наличие «малого параметра» позволяет моделировать сложную эргодическую систему с помощью неэргодической и использовать то, что на практике финальные состояния неэргодической системы формируются за достаточно малый промежуток времени по сравнению с общим временем существования системы.
Предложенная и изученная в разд. 2.3 модель голосования указывает пути разработки высоконадежных систем на новых принципах (химическом, биологическом и т. п.), выявляя одно из преимуществ локально-организованной системы с локальным взаимодействием — надежность.
Предложенная и изученная коллективная память со случайной выборкой является локально-организованной системой элементов, хорошо описывающей адаптивные возможности некоторых систем, встречающихся в вычислительной технике, торговле, складировании и биологии.
В целом, эта глава книги дает достаточно полный пакет методов анализа локально-организованной системы в дискретном случае и показывает, что принципы локальной организации позволяют как формулировать новые задачи для дискретных систем, так и достаточно легко анализировать возникающие при этом разнообразные модели.
Глава 3
ЛОКАЛЬНАЯ ОРГАНИЗАЦИЯЦЕЛЕСООБРАЗНОГО ПОВЕДЕНИЯВ НЕПРЕРЫВНЫХ МОДЕЛЯХ
Анализ системы S по схеме рис. 1.3 в предположении непрерывного множества действий — состояний подсистем S^ г = 1, . . . , п, взаимодействующих по некоторому детерминированному закону в непрерывной шкале времени, имеет свою специфику.
Возникающие при этом формулировки задач напоминают задачи из области управляемых динамических систем, поэтому в первой работе на эту тему [Стефанюк и Цетлин, 1967] был использован термин «локальное управление». Однако начиная, с этой же работы, мы постоянно подчеркиваем, что возникающие здесь формальные модели лишь внешне отличаются от формулировок коллективного поведения конечных автоматов, работающих в дискретном времени (см. гл. 2), и что, по существу, у этих моделей много общего. Например, в непрерывном случае также можно говорить о памяти автомата, асимптотически оптимальной последовательности автоматов в стационарной среде, партии Нэша в игре и т. п.
В отличие от работы [Варшавский и Гершт, 1966], где рассматривалась непрерывная аппроксимация конечного автомата с линейной тактикой, работы [Гершт, 1967], изучавшей непрерывную модель игр автоматов, и непрерывной модели конечного автомата, обеспечивающего байесовское различие двух сигналов ([Гершт и Стефанюк, 1967]), в работах [Стефанюк и Цетлин, 1967; Стефанюк, 1967; 1968а; 19686], приведших к диссертации [Стефанюк, 1968в], введенные нами в рассмотрение автоматы с непрерывным множеством действий, или непрерывные автоматы^ выступили как исходные конструкции, предназначенные для описания детерминированного взаимодействия в реальном времени, а не как аппроксимирующие модели для дискретных систем с конечным числом действий, помещенных в вероятностную среду.
В дальнейшем такие непрерывные автоматы рассматривались А. В. Малишевским, Ю. Д. Тенисбергом [Малишевский и Тенисберг, 1969], В. И. Варшавским и др. [Варшавский и др. 1969], которые решали задачи децентрализованного распределения (см. гл. 1) некоего единого ресурса — вполне естественная постановка для рассматриваемого ими игрового управления в задачах экономического характера.
В рамках локальной организации в работе [Микийчук и Стефанюк, 1971] была сформулирована и в некоторых предположениях решена задача выявления в общем виде условий взаимодействия элементов S, обеспечивающих устойчивость работы такой системы. Эта задача была исследована также А. В. Малишевским [Малишевский, 1972],
И. Опойцевым [Опойцев, 1974-1975] и другими авторами. Значительный поток публикаций по этому вопросу, по-видимому, объясняется тем, что математически задачи устойчивости при локальном управлении весьма близки к задачам исследования устойчивости динамических систем, что позволяет воспользоваться имеющимися там математическими методами.
Однако нас интересовала не столько формально-математическая, как в работах этих авторов, сколько «содержательная» формулировка условий устойчивости. Так в работе [Стефанюк и Цетлин, 1967] мы показали, что требование устойчивости может быть адекватно истолковано в терминах устойчивости работы всех подколлективов данного коллектива. В этой работе, как и в дипломной работе А. М. Микийчука (кафедра общих проблем управления мехмата МГУ, 1970), в которой была доказана сформулированная нами теорема (см. [Микийчук и Стефанюк, 1971]), основное внимание уделялось именно таким содержательным условиям взаимодействия, гарантирующим устойчивость локального управления.
Развитый нами подход позволил прийти к важному представлению об области достижимых векторов N^n^ в коллективе непрерывных автоматов и построить серию критериев G^ «расширяющих» область устойчивого поведения системы. Эти представления, обобщающие наши наблюдения, сделанные в случае дробно-линейной зависимости [Стефанюк, 1968в], наряду с исходными представлениями об устойчивости работы таких систем, мы и сейчас считаем наиболее важными своими результатами. Они, в сущности, являются следствием локальной организации системы, при которой создание системы ведется методом «снизу-вверх», т. е. от свойств элементов, свойств их локального взаимодействия к свойствам системы в целом.
С другой стороны, как нам кажется, к таким представлениям не могли подойти те авторы, которые рассматривали задачу коллективного поведения как задачу распределения некоего общего ресурса, т. е. как задачу децентрализации, а не локальной организации (см. гл. 1).
В разд. 3.1 будет рассмотрена система из п непрерывных автоматов без взаимодействия, которая, как показано, является системой с иерархической организацией. С одной стороны, такие системы часто встречаются на практике. С другой — оказалось возможным использовать этот пример для формулировки важного для нас понятия эластичности в общем виде, которое впервые было описано в работе [Стефанюк, 19686] на примере коллектива с дробно-линейным взаимодействием его членов.
Показано, что для достижения эластичности устойчивого поведения локально-организованной системы необходимо привлекать рефлексивные соображения о том, каков будет результат для данной подсистемы после «ответной» реакции остальных подсистем. Однако и само свойство устойчивости, которое анализируется для коллектива автоматов с непрерывным множеством действий в разд. 3.2, также связано с подобными рефлексивными соображениями. Изложенные
в этом разделе «содержательные условия устойчивости» впервые были изучены в работах [Микийчук и Стефанюк, 1971; Стефанюк, 1973а].
Раздел 3.3 посвящен, в основном, изучению поведения непрерывных автоматов в задаче о регулировки мощности в коллективе радиостанций, создающих при своей работе взаимные помехи. Такие помехи возникает в современных системах мобильной связи при применении, например, протокола CDMA. В книге построена математическая модель коллектива радиостанций, предложены и исследованы алгоритмы регулировки мощности. Изучены условия устойчивости работы такой локально-организованной системы при наличии запаздывания. Показано, в частности, что ограничения на величину запаздывания, вытекающие из требования устойчивости, не растут, как можно было бы ожидать, с ростом числа радиостанций. Последнее обстоятельство говорит за то, что и при наличии запаздывания коллектив радиостанций можно продолжать рассматривать как локально-организованную систему.
Многие факты говорят за то, что для исследования поведения локально-организованных систем необходима определенная совокупность результатов, относящихся к теории М-матриц. В разд. 3.4 получены оригинальные условия того, чтобы матрица Метцлера была бы М- матрицей. Кстати, оно ведет к новым условиям невырожденности произвольной матрицы, напоминающим по форме условия Адамара, но являющимся специальной аналитической формой условий Фидлера. Изучаемые в этом разделе условия являются попыткой в явной форме отразить возможное «взаимодействие» элементов матрицы между собой.
Раздел 3.5 посвящен обсуждению применения некоторых результатов гл. 3 к прикладной задаче — локальному управлению многозвенным манипулятором. Хотя нам принадлежит исходная постановка задачи локального управления как альтернатива распространенному централизованному способу, эта работа выполнялась совместно с С. В. Фоминым и Ю. И. Крюковым [Крюков и др., 1974; Крюков и Стефанюк, 1981].
Несколько позднее [Беркинблит, Гельфанд, Фельдман, 1986] пришли к аналогичной локальной формулировке задачи управления многозвенной конечностью. Особенно интересным (и для нас новым) в работе этих авторов является экспериментальный материал, касающийся наблюдений за тем, как лабораторная лягушка сбрасывает лапкой кусочек бумажки с химическим раздражителем. (Хотя мы в начале нашего пути также отталкивались от работ физиолога Н. А. Бернштейна [1966], но все же основной своей задачей видели не моделирование живого организма, а разработку управления техническими устройствами на локальных принципах, дающих, как нами показано, ряд преимуществ по сравнению с традиционными централизованными методами управления, опираясь при этом лишь на некоторые аналогии с живой природой.)
Весьма близкий подход развивается также М. Хиросэ [Исия и др, 1988], который большое внимание уделяет надежности работы механической системы.
Автору книги принадлежит постановка всех задач, рассматриваемых в данной главе. Однако глобальный вариант теоремы, сформулированной нами в разд. 3.2, был доказан А. М. Микийчуком; в окончательной формулировке задачи локального управления манипулятором значительное участие принял С. Ф. Фомин [Крюков и др., 1974], а Ю. И. Крюкову [Крюков и др., 1974; Крюков и Стефанюк, 1981] принадлежит конкретизация математической модели двухуровневого управления (см. приложение П.2).
Основные результаты главы были опубликованы в [Крюков и др., 1974; Крюков и Стефанюк, 1981; Микийчук и Стефанюк, 1971; Стефанюк, 19716; 1973а; 19736; 1989в; Stefanuk, 1970; 1971; 1993].
В целом настоящая глава призвана показать, что локальная организация систем с непрерывным временем и непрерывным множеством состояний-действий является эффективным средством решения многих прикладных задач, среди которых многодоступные системы связи, системы связи с ретрансляторами, конвейерные и другие иерархические системы, а также сложные робототехнические управляемые системы.
Исследование роли взаимодействия при локальном управлении
Здесь доказывается устойчивость локального, т. е. основанного на ограниченной информации, управления в невзаимодействующем (строго иерархическом) коллективе. Показывается принципиальная невозможность при использовании естественно строящихся локальных критериев управления получить при локальном управлении «плавный» переход от случая взаимодействия в коллективе к случаю его полного отсутствия. Этим обосновывается вывод о целесообразности дальнейшего изучения существенно более сложных алгоритмов индивидуального поведения (управления) в коллективе из взаимодействующих элементов. Рассмотрим систему из п элементов, описывающуюся функциями
^i^t) = ^ (ei (t),..., en(t)), г = 1,..., п,
где 6i(t) имеет смысл действия г-го элемента, a v^t^ — величины получаемого им эффекта в момент t, причем всюду предполагается выполненным неравенство д^/де^ > 0.
При локальной организации каждый элемент выбирает свое действие независимо от других, располагая лишь локальной информацией, сводящейся к двум величинам v^t^ и e^ty
Далее мы хотим показать, какие ограничения на возможность локального управления возникают в такого рода коллективах элементов.
В п. 3.1.1 вводится более широкое по сравнению с обычно подразумеваемым понятие отсутствия взаимодействия^ при котором допускается иерархичность структуры воздействий в коллективе, и показывается, что естественные дифференциальные алгоритмы локального выбора действия с целью получения заданного (достижимого) эффекта дают устойчивую систему во всей рассматриваемой области.
В и. 3.1.2 показывается, что в коллективе без взаимодействия с неограниченной областью выбора величины действия достижим любой положительный вектор v. Затем доказывается неэластичность устойчивого управления в произвольном коллективе на основе критерия Сi = Ci^e^v^dvqJ8е^ . . . ^ 8kVqJ8ек^оц^ связанная с отсутствием естественного перехода от случая взаимодействия в коллективе к случаю, когда взаимодействие отсутствует — свойство, обнаруженное ранее на примере одной модели взаимодействия, названной нами «дробно-линейной» моделью.
Устойчивость локального управления в невзаимодействующем (иерархическом) коллективе. Приводимые здесь результаты оправдывают введение идущего ниже определения отсутствия взаимодействия в коллективе, несколько более широкого, чем самое простейшее: взаимодействие отсутствует, если любые изменения действий элементов никак не сказываются на величинах эффектов, наблюдаемых у всех остальных элементов коллектива.
Пусть X — область определения функций
Mi(t) = Pj(ei(t),..., e„(t)), z = l,...,n. (3.1.1)
Рассмотрим в окрестности некоторой точки (ei, . . . , еп) € X замкнутую цепочку воздействий следующего вида: бесконечно малое (б. м.) изменение е* вызывает, при постоянных прочих ej. j ^ i. изменение z/^ (точнее, дн^/двг ф 0), б. м. изменение е^ вызывает, при постоянных прочих е^ з ф 21, изменение v^ (точнее, dz/^/Se^ ^ 0),..., б. м. изменение е^ вызывает, при постоянных прочих е^ j ^ ik^ изменение и^ (точнее, dvi/de^ ф 0).
Определение. Если в каждой точке некоторого подмножества из X не найдется ни одной такой замкнутой цепочки, то будем говорить, что в этом подмножестве взаимодействие отсутствует.
Если взаимодействие отсутствует в некоторой точке (ei, . . . , еп) € € X, то в этой точке можно так выбрать нумерацию элементов коллектива, что если не указывать явно те переменные вк в функциях (3.1.1), для которых частные производные 8v^ /8вк заведомо равны нулю, то все функции расположатся в «треугольном» порядке:
^i = ^i(ei),
^2 = ^(ei,e2), (3.1.2)
= , ^n)*
(На самом деле, в каждой 2-й строке аргументы е^ j < i, также могут отсутствовать, но, в силу изначального предположения 9^ /Уе^ > 0 в число аргументов обязательно входит е^.)
Систему типа (3.1.2) можно назвать строго иерархической в точке (ei,. . . , е^. Возможность такого представления вытекает из следующего простого утверждения.
Л е м м а 3.1. В невзаимодействуюгцем коллективе величина эффекта по крайней мере одного элемента не зависит от действий партнеров.
Доказательство. Предположим противное: для каждого элемента г найдется хотя бы один элемент Ц, Ц ф 'ц такой, что Эу^/Эе^ > > 0.
Это значит, что можно выписать бесконечный ряд номеров элементов 2, Ц, 22, • • • , 2S, . . ., в котором ду^/де^ ф 0, 8v^(8e^ ф Ф 0, . . . , dyis_.J deis ф 0, . . . Так как число различных номеров в этом ряду не больше п, то некоторые номера в нем повторяются, а это, по определению, означает наличие взаимодействия в коллективе. Это противоречие с условием леммы доказывает справедливость последней.
Последовательное применение этой леммы и приводит к (3.1.2) (см. идущий ниже и. 3.1.3, где даются точные формулировки и приводятся примеры).
Если взаимодействие отсутствует в некоторой области из X, то для каждой точки этой области возможна, вообще говоря, существенно своя нумерация элементов, дающая представление (3.1.2). Нам показалось, однако, естественным ограничиться рассмотрением систем таких, что если взаимодействие отсутствует в некоторой области D € X, то существует единая для всей области D нумерация элементов системы, приводящая к (3.1.2). В технике известно большое число систем такого типа — системы подачи воды на орошаемые поля, газопроводы, конвейеры промышленных предприятий и др.
Целесообразность выделения класса коллективов без взаимодействия видна на примере приводимой ниже теоремы, показывающей, что при весьма общих ограничениях локальное управление в таких системах всегда будет успешным.
Пусть коллектив является невзаимодействующим в области (быть может, неограниченной)
(3.1.3)(3.1.3)^г С Сг Ь^ 2 = 1, . . . , П,
(3.1.3)
(3.1.3)
определения функций (3.1.1), которые предполагаются непрерывными и имеющими частные производные первого порядка.
Пусть v° является достижимым вектором, т. е. существует вектор е° такой, что
vtW = Mei, •••,«£), г = 1,...,п,(3.1.4)
и е° — внутренняя точка (или точки) области D.
Рассмотрим такой алгоритм «движения к цели»:
' о,
если ei = ai , v^ —
^(ei, • •
., en) < 0,
Ci = <
о,
если ei = ai , v^ —
^(ei, • •
■, e„) > 0,
(*
^(^l, • • • ,en) в
остальных случаях,
выполняющийся для всех г = 1, . . . , п.
Тогда имеет место следующая теорема (ее доказательство вынесено в п. 3.1.3).
Теорема 3.1. Если в области D выполняется
inf = Ац > 0, г = 1, . . . , п;(3.1.5)
D Овгv
sup|^-| = Ац < оо,i,j = l,...,n,(3.1.6)
то для любой траектории e(t) системы (*) в интервале 0 ^ £ ^ ос верно v^E) —> v^ при t —>- ос, г = 1, . . . , п.
Неэластичность поведения для широкого класса критериев в локально-организованной системе. Настоящий раздел относится к некоторому специальному подклассу коллективов. Предполагается, что коллектив задается с помощью п непрерывных положительных функций
Vi = ^(ei, • • •, е„), г = 1,...,п,(3.1.7)
определенных на множестве
0 < ei < ос, г = 1, . . . , п.(3.1.8)
Причем всюду в области определения выполняется
^>0, г = 1,...,п,(3.1.9)
и, кроме того, для любого номера г = 1, . . . , п
lim ^(ei, . . . , еп) = ос, г = 1,...,п,(3.1.10)
6^00
И
lim v^e^ . . . , е^ = 0, г = 1, . . . , п,(3.1.11)
при любых, но фиксированных значениях переменных е^ j ф г.
Самым существенным здесь является неограниченная «мощность» каждого элемента. Действительно, свойства (3.1.8)—(3.1.10) дают возможность «скомпенсировать» влияние всех других членов коллектива (если только последние не препятствуют этому, «наращивая» в ответ величины своих действий).
Дальнейшие результаты поэтому легко переносятся на случай, когда вместо (3.1.8) выполняется
ai < вг < ос, г = 1, . . . , п.(3.1.12)
где а^ — любое действительное число (или —ос), а вместо (3.1.11) выполняется
Пш г/Дех, ..., еп) = 0, г = 1,...,п.(3.1.13)
Рассмотрение такого подкласса коллективов из элементов с «неограниченными возможностями» позволяет выделить те специфические требования к локальному управлению, которые обусловлены исключительно процессами взаимодействия в коллективе (см. также разд. 3.2 настоящей книги).
Примерами задач вида (3.1.7)-(3.1.11), требующих локального управления, являются некоторые задачи математической экономики [Варшавский и др., 1969; Малишевский и Тенисберг, 1969], задача о регулировке мощности в коллективе радиостанции [Стефанюк и Цетлин, 1967] и др.
Упомянутые «неограниченные возможности» хорошо иллюстрируются следующим результатом.
Лемма 3.2. При отсутствии взаимодействия в коллективе (3.1.7)-(3.1.11) достижим любой наперед заданный положительный вектор (н^ . . . , v^), т. е. множество достижимых векторов является прямым произведением промежутков (0, ос) возможных значений щ. г = 1, . . . , п.
В работах [Стефанюк и Цетлин, 1967; Стефанюк, 1967] показано, что область достижимых векторов в произвольном коллективе типа (3.1.7)—(3.1.11), вообще говоря, строго «меньше» всего неотрицательного ортанта. Поэтому, если выбор действия (локальное управление) с целью обеспечения наперед заданного v^ производится по алгоритму типа описанного в предыдущем параграфе, то в случае, когда вектор априорно выбранных значений эффектов (z/f, ...^ недостижим, в коллективе будут неизбежно возникать неустойчивые режимы.
Заметим, что по локальной информации v^t^ e^t^ нельзя заранее установить, достижим ли данный вектор или нет.
Всегда устойчивый выбор действия при той же информации можно надеяться получить с помощью следующих алгоритмов:
вг = C^e^V^ «Ц, % = 1, . . . , П,(3.1.14)
где Сг^вг^ н^ сц) — локальный критерий выбора действия. Подчеркнем, что С г зависит от е^ j 7^ г, лишь постольку, поскольку от них зависит z^. а величина а^ — некоторый фиксированный параметр, априорно выбираемый г-м элементом.
Переход к такого рода минимизации величины некоторого локального критерия СЦе^, ^, а^ будет оправдан при этом только в случае,
если параметры «1,.. . , ап можно действительно выбирать независимо и для каждого такого выбора алгоритмы (3.1.14) обеспечат устойчивость.
Теперь сформулируем и докажем теорему, являющуюся обобщением одной теоремы из работы [Стефанюк, 19686] на коллективы вида (3.1.7)-(3.1.11), и обсудим ее.
Для ряда задач локального управления естественным является такой подход, при котором требуется построить устойчивое локальное управление системой, условия взаимодействия в которой не полностью известны. Известна лишь принадлежность системы к определенному классу (пример см. в [Малишевский и Тенисберг, 1969]). При этом, в силу ограничения локальной информацией, тактика поведения элементов должна быть единой для всех возможных систем из указанного класса.
В таких задачах представляется естественным потребовать, чтобы, скажем, при уменьшении «степени взаимодействия» в коллективе критерий Ci(e^ щ, аД обеспечивал бы все большую степень произвола в выборе равновесного в смысле (3.1.14) вектора эффектов v (путем соответствующего выбора аД, а в пределе — в невзаимодействующем коллективе — он позволял бы выбирать любое наперед заданное положительное Vi членами коллектива.
Такое свойство в работе [Стефанюк, 19686] было названо эластичностью. Оказывается, что выбор действия по алгоритму (3.1.14) эластичности не обеспечивает, т. е. не получается естественного перехода от случая взаимодействия к его отсутствию.
Пусть К — определенный коллектив со взаимодействием и не все положительные векторы в нем достижимы. Тогда имеет место такое утверждение (его доказательство приведено в п. 3.1.3).
Теорема 3.2. При любом критерии С^е^и^а^ не могут одновременно выполняться два положения а) и 6), где;
в коллективе К каждому набору а = («1,. . . , ан\ где оц € Pi, Pi — фиксированная область выбора параметра оц, соответствует единственное положительное решение е° системы
-^ С^е4,^,а4) =0, г = 1,...,п; (3.1.15)
в произвольном невзаимодействующем коллективе в соответствии с этим уравнением всегда имеется «равновесное» положительное v°, г = 1, . . . .п. причем величина у ° зависит только от величины сц (и вида функции С^, так что априорным выбором оц из Pi величине у? может быть придано любое заранее указанное положительное значение.
Замечание 1. Доказательство теоремы останется в силе, если в Ci включить частные производные Vi по Ci любых порядков, что приведет к рассмотрению вместо (3.1.15) положений равновесия вида
п / Виг Bkvt \ . , .
CJ ei, ^,— ,...,—^ ,ац) = 0, г = 1,...,п. (3.1.16)
Bet \ Bet Qek /
Замечание 2. Качественно утверждение теоремы можно пояснить так. Производные вида d/dei не позволяют отличить случай невзаимодействия от случая коллективного взаимодействия, поскольку при вычислении таких производных (например, с привлечением методов экстремального регулирования) предполагается, что действия всех остальных участков коллектива остаются неизменными и нет возможности «догадаться», могут ли они дать «ответную реакцию».
Замечание 3. Оставаясь в рамках локального управления, однако, все же можно добиться указанной эластичности, правда, путем значительного усложнения тактики поведения каждого элемента системы. В частности, теорема теряет, вообще говоря, смысл, если рассматривать положения равновесия с рефлексией:
-^-сЛ^^аА =0, ? = !,...,».(3.1.17)
OVi XOVi /
Критерий такого типа был построен для одного класса взаимодействующих коллективов вида (3.1.7)—(3.1.11) в работах [Стефанюк, 1969; 19686], где показано, что для него положения а) и б) могут быть выполнены одновременно. Там же обсуждаются некоторые вопросы реализации управления по критерию (3.1.17) (см. также [Стефанюк, 1989в]).
3.1.3. Доказательство теорем 3.1 и 3.2. I. Полная иерархическая схема невзаимодействующего коллектива.
Обозначим через Qi совокупность номеров тех элементов коллектива (3.1.1) г^, . . . , г^, на каждый из которых никто не воздействует. Согласно лемме 3.1, эта совокупность не пуста. Рассматривая под коллектив из всех остальных элементов, выделим Q^ — совокупность номе-
•(2)-(2)„
ров тех элементов г^ , . . . , г^ подколлектива, на каждый из которых не воздействует ни один из элементов этого подколлектива. Согласно лемме 3.1, совокупность Q^ также не пуста, если только в Qi не перечислены все элементы коллектива. (По данному выше определению невзаимодействия в точке очевидно, что в невзаимодействующем коллективе не взаимодействуют и любые подколлективы по тем переменным, которые относятся к рассматриваемому под коллективу.)
Рассмотрим далее подколлектив, возникающий после удаления из коллектива элементов с номерами из Qi и Q2? и аналогичным построением выделим Q3 и т. д. В результате совершения конечного числа т ^ п таких шагов мы приходим единственным образом к полной иерархической схеме данного невзаимодействущего коллектива (в точке!), представляющей собой таблицу
Оз • г(1)г(1)
(3.1.18)
о . Дт)Дт)
Чт • Н ; • • • ; Lqm 1
s = 1, . . . , т. т п).s = 1, . . . , т. т п).(г^ € {1, . . . , n}, j = l,...,q8,
s = 1, . . . , т. т п).
s = 1, . . . , т. т п).
Естественно трактовать индекс з как ранг данного иерархического уровня Qs.
Из приведенного построения видны два общих свойства любой полной иерархической схемы: все элементы одного иерархического уровня (т. е. имеющие один ранг) не воздействуют друг на друга; на каждый элемент ранга s ^ 2 воздействует по крайней мере один элемент ранга s — 1.
Упорядочив произвольным образом элементы данного ранга и перенумеровав натуральными числами все элементы, начиная с первого ранга, мы приходим к представлению (3.1.2), которое уже не является единственным. Однако эта неоднозначность несущественна, если фиксирована полная иерархическая схема (3.1.18).
В качестве примера рассмотрим невзаимодействующий коллектив
Рис. 3.1. Пример графа воздействий в невзаимодействующем коллективеРис. 3.1. Пример графа воздействий в невзаимодействующем коллективе^ = ^(61,0,0,0,0,0), ^2 = ^(0,62,0,0,0,0), ^з = ^з(о, е2, е3,0,0,0), Z/4 = Р4(б1,0, 0, 64, 0, 0), ^5 = ^5(61,62,0,0,65,0), ^6 = Р6(0,0,0,0,е5,е6).
Рис. 3.1. Пример графа воздействий в невзаимодействующем коллективе
Рис. 3.1. Пример графа воздействий в невзаимодействующем коллективе
Его полная иерархическая схема имеет вид
01 : 1,2, Q2 : 3,4,5, Оз :6.
(3.1.19)(3.1.19)(3.1.20)(3.1.20)Для сравнения на рис. 3.1 приведен граф воздействий в коллективе (3.1.19), где направленные дуги означают наличие воздействия (с указанием направления), а число концентрических окружностей соответствует рангу охватываемой ими точки.
(3.1.19)
(3.1.19)
(3.1.20)
(3.1.20)
Ясно, что нескольким различным невзаимодействующим коллективам, имеющим различные представления в виде графа или в виде (3.1.18), может соответствовать одна и та же иерархическая схема
и наоборот. Приведем пример, когда два коллектива
^i =^i (ei, 0, 0),Pi=i7i (ei, е2,0),
^i =^(ei, е2,0),i72=^1(0, е2,0),(3.1.21)
^1 =^(ei, е2, е3),z/3=^(ех, е2, е3),
имеют внешне схожую структуру, и одно и то же представление (3.1.2), но различные полные иерархические схемы.
Для всех утверждений настоящей работы важным является предположение о том, что в каждой точке области D Е X имеется одна и та же полная иерархическая схема. Тогда переход к представлению (3.1.2) для всей этой области правомерен.
Доказательство теоремы 3.1.
Заметим, что в коллективе без взаимодействия при выполнении (3.1.5) равновесный вектор е°, обеспечивающий заданные значения ^1,. . . , р°, является, очевидно, единственным. Этот факт легко следует по индукции из представления (3.1.2). Пользуясь этим представлением, будем доказывать теперь, что система (*) асимптотически устойчива, т. е. что для любой траектории e(t) этой системы, определенной на полубесконечном промежутке, выполняется соотношение e(t) —> е° при £ —У ос.
На самом деле, избранный путь доказательства позволяет отметить также некоторые особенности «динамики» этой системы.
Рассмотрим траекторию e(t) и покажем, что, начиная с некоторого конечного фиксированного для этой траектории момента времени Ди выполняется
\i7° - 17^\г = 1,...,п, t^tn,(3.1.22)
где cp(t) — определенные при t ^ tn неотрицательные, непрерывные и невозрастащие функции, строго убывающие при тех Г где ^(^) + 0, причем <^Д^) —^ 0 при t —>- ос. (Ниже для краткости назовем такую совокупность свойств (^-СВОЙСТВОМ.)
Доказательство поведем по индукции, начиная с первого в нумерации (3.1.2) элемента.
Если в момент t наблюдается \v^ — ^i(t)| = 0, то, в силу алгоритма (*), это соотношение будет выполняться во все последующие моменты времени.
Если же верно \и^ — ^i(t)| 7^ 0, то имеем, очевидно, из (*) соотношение
1^ - ^(f))! = - 1^° -< -Ли\у» - уД < 0,(3.1.23)
ибо случаи
d = а^ 17^ — i7i(ei) < 0,
ei = 6Ъ ^ - ^(ei) > 0
] Исследование роли взаимодействия при локальном управлении 109 исключаются, поскольку при выполнении любого из условий (3.1.24) не могла бы существовать такая величина ej, что v^ = z/i(e^).
Соотношение (3.1.23) показывает, что \v^ — ^i(t)| монотонно убывает, стремясь при t —У оо к нулю, и, таким образом, эта величина может быть выбрана в качестве p(t)^ причем соотношение
l^-J'iWI <^i(f)(3.1.25)
выполняется при t ^ 0.
Следуя далее индуктивному рассуждению, предположим теперь, что, начиная с некоторого момента tk\ выполняется
К -PiW\ < v^tY г = 1,..., fc — 1.(3.1.26)
Покажем, что тогда существует момент времени f &, f & ^ tk~i такой, что при t ^ tk верно соотношение
К " ^к№\ С Фк№(3.1.27)
(буквой р с индексами мы всюду в этом доказательстве обозначаем функции, обладающие ^-свойством).
Существует такой момент f^, f^ ^ tk-u что при t ^ tk не может выполняться ни одно из соотношений
V^ — Vx^ < 0 при 61(f) = «1, гф — ^i(t) > 0 при ei(f) = 61, ^2 - ^W < о при e2(f) = а2,
^2 - ^W > о при e2(f) = 62,(3.1.28)
vk - vk^ < 0 при ek(t) = а^ vk ~ vkW > 0 ПРИ ekW = bk.
(В этой цепочке не указываются те соотношения, для которых либо с^ = — оо, либо Ьг = +оо, г = 1, 2, . . . , к.)
Действительно, в силу (3.1.5), для существования е° такого, чтобы выполнялось и^ = г/Де0), причем е° — внутренняя точка области D. необходимо соблюдение неравенств
^? -. ,е?_1;аг) > 0,
v°<0,(3.1.29)
г = 1, . . . , п.
Поскольку, с учетом (3.1.5), выполнение соотношения (3.1.26) возможно лишь если при f —>- оо верно e^(f) —У е^ г = 1, . . . , к — 1, то из (3.1.29)
получаем
lim (р° -> 0,
t—>oo,ei = ai
lim (i/? - 1Щ0) < 0,(3.1.30)
t—>oo,ei=bi
г = 1, . . . , n.
Теперь легко видеть, что найдется такой момент t^tk ^ tk-i, что при t ^ tk невозможно выполнение ни одного из соотношений (3.1.28). Действительно, предположение, что для каждого t найдется такой момент t' = 1'^1\ что верно хотя бы одно из соотношений (3.1.28), например г-е, ведет к противоречию, так как в этом случае мы имели бы, скажем,
lim ^ -v^ <0,(3.1.31)
t—>oo,ei = ai
а это неравенство невозможно согласовать с (3.1.30).
Рассмотрим при t ^ tk следующую функцию
к-1 А
=(3.1.32)
z=l
которая обладает ^-свойством как сумма с положительными коэффициентами конечного числа функций, обладающих при t ^ tk р- свойством.
Для рассматриваемой нами траектории e(t) на полуоси времени t ^ tk могут быть выделены чередующиеся отрезки времени (замкнутые интервалы), на которых верно
|^О-^№|<Ф,№,(3.1.33)
и открытые интервалы между ними, где верно обратное:
И-Щ01 > ^kW.(3.1.34)
Заметим, что из последнего неравенства, с учетом определения функции ^k(t?). вытекает (принимая во внимание, что при t ^ tk не может выполняться ни одно из соотношений (3.1.28) и, следовательно, алгоритм (*) «упрощается»), что
4 Wk - Щ*)1 = - sign Wk ~^к)^^ W <
<-K-^)i|5 + E|^|K-^iisz=l
/к-1х
< Akd-K-Vk№\ + ^^Vi(1?A <0. (3.1.35) z=l кк’
Таким образом, величина |^ — Vk^\ монотонно убывает, причем в течение открытого интервала (3.1.34) производная ^ 1^ — ^(^1 может стремиться к нулю лишь вдоль траектории уД^Д стремящейся к ^, так как lim фг^ = 0. Построим теперь такую непрерывную функцию фк^У
!
^Д1У при t из замкнутых интервалов вида (3.1.33), \vk — ^(^1 ПРИ ^ из замкнутых интервалов вида (3.1.34).
Эта «склеенная» функция, очевидно, обладает ^-свойством и при всех t ^ tk для нее выполняется (3.1.27). Отсюда по принципу полной математической индукции будет выполнено и соотношение (3.1.22). Теорема доказана.
Доказательство теоремы 3.2.
Допущение, что пункты а) и б) выполнимы одновременно, ведет к противоречию. Действительно, пусть в коллективе К недостижим вектор Vy, . . . , v^.
Построим для каждого а Е Р, где Р : Pi х ... х Рп, положительное решение е°(а) уравнения (3.1.15), которое согласно а) существует, единственно и удовлетворяет системе уравнений
ЭdeiЭdeiк^ц (е^а),.к^ц (е^а),.. ,е°(а)),а^= o,ei=e?(a). ,е°(а)),а^= o,ei=e?(a)(3.1.36)(3.1.36)
Эdei
Эdei
к^ц (е^а),.
к^ц (е^а),.
. ,е°(а)),а^= o,
ei=e?(a)
. ,е°(а)),а^= o,
ei=e?(a)
(3.1.36)
(3.1.36)
г = 1, . . . , n.
Для каждого вектора а рассмотрим теперь невзаимодействующий коллектив вида
(3.1.37)(3.1.37)Vi = Vi (е?(а),... ,е?_1(а),еье?+1(а),... ,е°(а)),
(3.1.37)
(3.1.37)
г = 1, . . . , п.
Далее, пользуясь положением б), выберем с^, . . . , а° так, чтобы получить в г-м элементе невзаимодействующего коллектива величину эффекта, равную иД г = 1, . . . , п. Обозначив соответствующее решение (3.1.15) для этого случая через ёх,. . . , ёп, имеем тождества
г = 1, . . . , п.г = 1, . . . , п.(3.1.38)(3.1.38)
г = 1, . . . , п.
г = 1, . . . , п.
(3.1.38)
(3.1.38)
Согласно б), однако, в невзаимодействующем коллективе (3.1.37) выбранное и^ целиком определяется величиной а ° (и видом С^ т. е.
наравне с (3.1.38) мы могли бы записать также и
г = 1,...,п. (3.1.39)
(Равновесное ё;, вообще говоря, заменится на какое-то другое ё^.)
Сравнивая (3.1.39) с (3.1.36) для а = а°, мы видим, что решением (3.1.39) будет ё^ = е^а°\ причем по условию теоремы это решение единственно. Но поскольку (3.1.39) относится к невзаимодействующему коллективу (3.1.37), соответствующему а = а°, то из (3.1.37) получаем
v^ = Ui (ej(a°),. . . , е° (q°)) , г = 1, . . . , п. (3.1.40)
Чисто формально это соотношение означает, что вектор v^ ... ^v^ достижим в исходном коллективе К. Полученное противоречие доказывает справедливость утверждения теоремы 3.2.
Содержательные условия устойчивости локального управления
Для систем S с антагонистическим характером взаимодействия компонент ниже получены необходимые и достаточные условия устойчивости в малом для естественных алгоритмов выбора действия Si в рамках ограниченной, локальной информации. Они являются дифференциальным выражением условий, сформулированных нами ранее в [Стефанюк и Цетлин, 1967]: когда некоторая компонента выбирает новое действие, то она должна быть уверена в соответствующем результирующем изменении получаемого эффекта, по крайней мере в случае, когда остальные компоненты не стремятся «улучшить» свое положение. Примеры систем с взаимодействием такого типа можно найти в [Стефанюк, 1968в; Hicks, 1946]. Далее приводится формулировка соответствующей теоремы о глобальной устойчивости подобных систем [Микийчук и Стефанюк, 1971].
Отличительной особенностью исследуемых условий является их естественная интерпретация в терминах взаимодействия компонент системы S между собой (см. рис. 1.3). Этим они отличаются от несколько более формальных условий устойчивости, изученных другими авторами ([Малишевский, 1972; Опойцев, 1974-1975; Андрусевич, 1981] и др.).
Итак, пусть взаимодействие подсистем Si в системе S задается с помощью следующих непрерывных (вместе со своими частными производными) функций
Vi = ^(ei, . . . , еп), ai^ei^bi, г = 1,...,п. (3.2.1)
Предполагается, что, в силу этих соотношений, при увеличении (уменьшении) е^ величина эффекта Vi увеличивается (уменьшается)
при выполнении е^ = const, j = 1, . . . , n, j ф г. Наоборот: если увеличивается (уменьшается) какое-то действие е^ j ф г^ а другие действия остаются неизменными, то эффект v^ не возрастает (не убывает).
Пусть v° = (^, . . . ^v^ — вектор требуемых величин эффектов такой, что в области D допустимых изменений е^, г = 1, . . . , п, существует единственный вектор е° = (ej, . . . , е°), удовлетворяющий
ИИ,...,^), г =(3.2.2)
т. е. вектор v° является достижимым.
Настоящий раздел посвящен выяснению того, в каких случаях независимый выбор действия компонентами системы в соответствии с алгоритмами
вг = V^ - v^e^ . . . ,еп), г = 1, . . . , п,(3.2.3)
будет устойчивым, т. е. при t —У ос будет выполняться e^^t) —> е° и, следовательно, Vi(t) —У v^ г = 1, . . . .п х).
«Обобщенная локальная устойчивость». Описанный выше характер зависимости эффекта ^ от «своего» е*, не гарантирует устойчивости (3.2.3) из-за реакции остальных S компонент на изменение величин их эффектов. В такой системе, как было отмечено в работе [Стефанюк и Цетлин, 1967], в принципе, возможны неустойчивые режимы. Поэтому в качестве необходимого условия устойчивости алгоритмов типа (3.2.3) в работе [Стефанюк и Цетлин, 1967] выдвигалось следующее: увеличение (уменьшение) е* должно приводить к увеличению (уменьшению) ^, даже если остальные компоненты изменят действия, но лишь так, чтобы не увеличить (не уменьшить) получаемые ими эффекты по сравнению с тем, что было раньше.
Сформулируем более точно [Микийчук и Стефанюк, 1971]: пусть в момент t в системе были выбраны действия ej,...,e°, которым отвечали ^, . . . , г/°. Пусть теперь г-я компонента устанавливает новое действие е* = нсе^ где к ^ 1,и пусть после этого остальные компоненты устанавливают новые действия е^, . . . , е*.
Естественным необходимым условием устойчивости локально-организованной системы (3.1.23) в работе [Стефанюк и Цетлин, 1967] считалось, что для любого выбора «начального» номера г должно выполняться неравенство
П / ** \/оо \
. , еп) - ^(ei,. . . , еп)
для всех таких е^ j ф г^ для которых при к, > 1 справедливо
') Основные утверждения этого раздела легко обобщаются на случай, когда вместо (3.2.3) используются алгоритмы в» = /г (^г° — ^г(б1, . . . , еп)), где /г — монотонно растущая функция своего аргумента, причем /г(0) = 0, г = 1, . . . ... ^п.
^ = ^(eL • • • ,е*) < v,^,... ,е°), (3.2.4а) а при ^ < 1 справедливо
^ = ^(е^,...,е:)^^(е^...,е°). (3.2.46)
(Выполнение условий (3.2.4), (3.2.4а), (3.2.46) для любой точки (ej, . . . , e°n) из D и для любого г было исследовано в [Стефанюк и Цет- лин, 1967] для случая дробно-линейного взаимодействия и названо там «обобщенной локальной устойчивостью».)
Дифференциальная форма содержательных условий устойчивости. Здесь мы будем изучать устойчивость в малом системы (3.2.3), поэтому будем рассматривать условия (3.2.4), (3.2.4а), (3.2.46) в малой окрестности е°^и°^ предполагая, что е° — внутренняя точка множества D. являющегося прямым произведением интервалов изменения е^, г = 1, . . . , п.
При некоторых условиях (см. ниже), можно говорить о пределах при к —У 1 выражения (3.2.4) при различных e^j ф г, удовлетворяющих (3.2.4а), (3.2.46). Следствием (3.2.4), (3.2.4а), (3.2.46) является следующее требование:
limе^е?limе^е?61 - С1
limе^е?
limе^е?
/ ** \/оО \
dvi^ei, ...,еп) Seidvi^ei, ...,еп) Sei> 0.> 0.щ(в1, . . . ,еп) - щ(е1? . . . , еп)
dvi^ei, ...,еп) Sei
dvi^ei, ...,еп) Sei
> 0.
> 0.
(3.2.5)
(Этот предел, согласно предположенным свойствам системы, существует.) Будем пока предполагать (обоснование дается ниже) справедливость предельных переходов при других реализациях ограничений (3.2.4а, 3.2.46). Так, при к —у 1 следствием (3.2.4, 3.2.4а, 3.2.46) является, в частности, условие
limlim(3.2.6)(3.2.6)6i - е?
lim
lim
(3.2.6)
(3.2.6)
щ(б1, . ..,еп) - щ(е1? . . . , еп)
Оно означает, что vx должно возрастать (убывать) при возрастании (убывании) 61 в случае, если часть компонент коллектива фиксирует свои действия, а остальные меняют их так, чтобы сохранить, если это возможно, величины эффектов.
Перепишем выражение (3.2.6), принимая в нем за независимые переменные v\. . . . , vs. es+i, ...,еп (предполагая, что это можно сделать). Поскольку предельный переход в (3.2.6) совершается при условии, что все эти переменные, кроме и\. не изменяются, то вх в этих
переменных изменяется только благодаря изменению величины vx и поэтому е^ —> 61 эквивалентно v^ —у v^. Тогда вместо (3.2.6) получаем
> 0, (3.2.7)> 0, (3.2.7)/* ОООО \/ООООО \
> 0, (3.2.7)
> 0, (3.2.7)
dvx
где частная производная вычисляется в точке (^, v^.. • ХА* • • X).
И вообще, следствием (3.2.4, 3.2.4а, 3.2.46) является требование положительности всевозможных частных производных (если они, конечно, существуют) вида
Эе5(Д,...,Д-1,^,Д+1,...,/Зп) > 0!(3.2.8)
где 3 k равно либо и^ либо е^ k = 1, . . . , п, к ^ г.
Легко видеть, что необходимым и достаточным условием существования всех частных производных указанного вида в окрестности Зп) является условие неособенности всех главных миноров матрицы Якоби D^vx^ . . . , v^ (D^ex^ . . . ^e^Y
Действительно, по предположению, ^(ei,. . . , еп) представляют собой непрерывные функции и имеют непрерывные частные производные, поэтому функции, участвующие в следующей системе
Ф1(Р1,..., pn, ei,..., е„) = Pi - Pi(ei,..., е„) = О,
(3.2.9)
ФпХ, ..., р„, ei,..., en) = рп - p„(ei,...,е„) = О
П(Ф!,...,Фп) D^....3^П(Ф!,...,Фп) D^....3^также определены и непрерывны вместе со своими частными производными по всем аргументам в точке (^, и^ . . . ^ и°^ е^ . . . ^ e^Y которая является решением этой системы уравнений. Тогда условие, что ранг якобиана
П(Ф!,...,Фп) D^....3^
П(Ф!,...,Фп) D^....3^
(3.2.10)
равен п, является необходимым и достаточным, чтобы в некоторой окрестности точки (/Д, . . . ^ 3nY гДе Рк равно либо и^ либо е^, переменные определялись из системы (3.2.9) как однозначные, непрерывные вместе со всеми своими частными производными функции остальных п переменных. Этот якобиан отличается от якобиана
(3.2.11)(3.2.11)= ^(фъ . . . ,ФП) =
(3.2.11)
(3.2.11)
D(ex, . . . a) D^ex, ...а)
тем, что в столбце, где производная берется по Зк = ^ диагональный элемент равен 1, а остальные элементы столбца равны нулю. Отсюда,
если ii,... Зз — значения индекса к, для которых 0^ — vk^ то (3.2.10) в точности равен
(3.2.12)(3.2.12)П^^Ф^ = Р^г^. .. ,УгЗР^, . . . .в^D^i^. . . ,6^) ’
(3.2.12)
(3.2.12)
причем, если все 0^ равны г/^, то (3.2.10) равен единице. Поскольку якобиан (3.2.12) представляет собой главный минор якобиана (3.2.11), то утверждение доказано.
Р(вгР(вгЗаметим, что (3.2.12) соответствует подсистеме исходной системы, которая выделяется тем, что компоненты с номерами, отличными от ii^... Зз^ фиксируют действия. Если ни один из якобианов (3.2.12) не обращается в нуль, то можно рассмотреть матрицу Якоби, обратную (3.2.12), т.е.
Р(вг
Р(вг
(3.2.13)
Ее диагональными элементами и будут интересующие нас частные производные
dei(3i, • • • , 93
где г = zi, . . . , zs, 0^ = vi^ • • • 0is — v%8^ остальные 0т заменяются на ет.
Каждая такая производная равна отношению величин некоторых, двух главных миноров якобиана (3.2.11). В частности, обозначая через Л1), Л2),..., цепочку «верхнеугловых» окаймляющих главных миноров (3.2.11), имеем очевидные соотношения
т(1) _ деПул^е^^^еЗ ^(1) _ ^62 (щ, ^2, С2, . . . ,еЗ dux1 j(2)di^z’ • • • ’
(3.2.15)
Устойчивость в малом. Проделанные выкладки позволяют легко установить основной результат разд. 3.2:
Теорема 3.3. Пусть v^ = v^ii . . . , еЗ3 = 1? • • • ? ^^ — непрерывные вместе со своими частными производными в окрестности (е^, . . . ... , еЗ функции от (ei,. . . , еЗ? удовлетворяющие
5>о’ S}<0’ M = V.,n.(3-2.16)
Тогда необходимым и достаточным условием устойчивости в малом системы
3 = У? - Vi^x, . . . , епр г = 1, . . . , п,
в окрестности точки (е^, . . . ,е°Д удовлетворяющей (3.2.2), является условие существования и положительности всевозможных частных производных вида
dei(/3i,. . . п — 1 О Нг
где Рк равно либо и^, либо е^, k = 1, . . . ^п^к ф г.
Доказательство. Рассмотрим систему первого приближения для (3.2.3). Ее устойчивость определяется якобианом (3.2.11) (со знаком « — »). В силу (3.2.16) этот якобиан является матрицей Метцлера, поэтому для того, чтобы полученная линейная система была бы устойчивой, необходимо и достаточно, чтобы все главные миноры (3.2.11) были бы положительны [Карлин, 1964]. Определитель (3.2.11) отличен от нуля согласно (3.2.2).
Теперь необходимость вытекает из того, что если все главные миноры (3.2.11) положительны, т. е. эта матрица является М-матрицей, то существуют все частные производные, упоминаемые в формулировке теоремы, и, в силу абзаца, идущего после формулы (3.2.14), удовлетворяется (3.2.8).
Достаточность вытекает из (3.2.15), поскольку из положительности цепочки угловых окаймляющих главных миноров матрицы Метцлера следует положительность всех главных миноров [Гантмахер, 1966].
Замечание 1. Из доказательства видно, что требование (3.2.8) можно было бы заменить на условие положительности только тех частных производных, которые входят в (3.2.15).
С другой стороны, легко показать, что нельзя ограничиться требованием, чтобы выполнялись только неравенства
aei(z/i ,i/n) > 0 . = ! (3.2.17) OVi х
так как при этом некоторые производные (3.2.8) могут оказаться неположительными.
Замечание 2. Утверждение теоремы остается, очевидно, в силе, если условие (3.2.16) заменить условием симметричности матрицы взаимодействия компонент системы
> 0, г,з = 1,...,п, (3.2.18) овг dej Овг
что позволяет несколько расширить класс рассматриваемых систем.
Замечание 3. Высказанная нами гипотеза о глобальной устойчивости локально-управляемой системы (3.2.3) с неограниченной мощностью (свойства 3.1.8-3.1.11) при выполнении условий (3.2.4), (3.2.4а), (3.2.46) была предложена А. М. Микийчуку в качестве темы дипломной работы на кафедре общих проблем управления мехмата МГУ, которому удалось доказать справедливость этой гипотезы в достаточно общих предположениях [Микийчук и Стефанюк, 1971].
Поведение коллектива автоматов в задаче о регулировке мощности
Работа современной системы связи (в частности, сети радиосвязи) является по существу функционированием совокупности взаимодействующих устройств, выполняющих своеобразные задачи перераспределения информации. Для этих систем типичны нестационарность обстановки, отсутствие априорных сведений и необходимость (для каждого устройства) выбора характеристик в зависимости от действий остальных.
Эти особенности сближают работу системы связи с поведением (играми) автоматов и, по-видимому, позволяют использовать имеющиеся там методы и результаты. При этом опыт показывает, что технические средства, обеспечивающие целесообразное поведение системы, относительно просты (малая память, однородность конструкций и т. д.) и допускают естественные технические реализации х).
Моделирование систем связи. Среди всевозможных коллективов автоматов особый интерес представляет специальный класс коллективов, однородных по своему составу (все автоматы коллектива одинаковые по конструкции) и состоящих из автоматов, которые «общаются» только через среду, т. е. каждый автомат получает на вход лишь некоторый суммарный результат своих действий и действий партнеров.
Изучению поведения (игр) таких автоматов посвящены работы [Гельфанд и др., 1963; Стефанюк, 1963] и некоторые другие. Основной результат этих исследований — выяснение принципиальной возможности решения достаточно сложных коллективных задач коллективом автоматов, которые получают минимальные сведения о структуре коллектива и характере задачи в форме «штрафов» и «нештрафов», зависящих от поведения всех членов коллектива. В однородных коллективах автоматов каждый участник ведет себя так, как если бы он «не знал» о существовании других членов коллектива, тем не менее коллектив как целое обнаруживает в ряде случаев целесообразное поведение.
Однородные коллективы автоматов представляют, по-видимому, наиболее естественное средство решения задач, возникающих в современных системах связи, где природа задач не позволяет автоматам знать друг о друге «слишком много», а все элементы встречающихся там коллективов a priori равноправны.
Одна из них — задача о регулировке мощности в коллективе радиостанций, создающих взаимные помехи.
В работе [Стефанюк и Цетлин, 1967] сформулирована математическая модель, описывающая коллектив радиостанций в терминах мощностей и отношений шум/сигнал для каждой пары радиостанций,
') Напомним, что мобильная связь стала внедряться в жизнь лишь в середине 1980-х годов.
и исследованы ограничения на возможные в этом коллективе совокупности отношений шум/сигнал, вытекающие из принятой модели. Чтобы сделать настоящую работу замкнутой, в п. 3.3.2 будут приведены некоторые результаты статьи [Стефанюк и Цетлин, 1967].
В п. 3.3.3 рассматривается конструкция автоматов регулировки мощности, составляющих коллектив, т. е. указывается тактика смены состояний такого автомата под воздействием среды. В следующем п. 3.3.4 изучается поведение коллектива из таких автоматов, перед которым ставится задача выбора некоторого фиксированного вектора отношений шум/сигнал. Основное внимание обращено на вопросы устойчивости.
В п. 3.3.5 содержится попытка учесть статистическую природу сигналов и шумов, что приводит к изучению работы коллектива автоматов при наличии запаздывания. Пункт 3.3.6 содержит некоторые соображения о соотношении коллектива радиостанций, моделирующего асинхронно-адресную коммуникацию, и современной мобильной связи [Невдяев, 2002].
Математическая модель коллектива радиостанций. Ниже будут изложены некоторые результаты работы [Стефанюк и Цетлин, 1967] и их следствия.
При современной плотности радиостанций частотно-временных возможностей эфира явно недостаточно для обеспечения полностью независимой работы различных радиоканалов [Эйдус, Марков, Венедиктов, 1965; Невдяев, 2002]. Поэтому качество связи в значительной мере зависит от уровня перекрестных помех, возникающих между этими парами.
Пусть п пар приемник-передатчик поддерживают попарную связь. Рассмотрим случай, когда передатчик каждой пары при своей работе создает шум на входах приемников других пар этого коллектива. Тогда отношение шум/сигнал А^ на входе г-го приемника равно
Хг + У/ aij Ej
Xi -^,(3.3.1)
где ЕгД = Ц2,...,п, — мощность г-го передатчика, Х^ — аддитивный шум на входе г-го приемника, a^j Ej — эквивалентная шумовая мощность, поступающая на вход г-го приемника от J-ro («чужого») передатчика — по модельному предположению она связана с мощностью Ej коэффициентом пропорциональности a^j ^ 0, г ^ j,i, j = 1, 2, . . . , n. Аналогично сщ Е^ есть полезная мощность.
При произвольных а^з ^ 0 такая модель включает в себя как частные следующие случаи. Например «чужой» сигнал воспринимается г-м приемником как неорганизованный, не несущий информации. Тогда коэффициенты a^j связаны с ослаблением сигнала с расстоянием, направленностью антенн и т. д. Другой случай: сигнал J-ro передатчика воспринимается г-м приемником как осмысленный, но «неинтересный» для этого приемника, тогда мешающее действие J-ro передатчика резко
возрастает (a^j велико), оставаясь пропорциональным полной мощности, излучаемой j-м передатчиком.
В работе [Стефанюк и Цетлин, 1967] показано, что в схему (3.3.1) укладывается работа п пар радиостанций, использующих для связи некоторое число ретрансляторов с фиксированными коэффициентами усиления по мощности.
В настоящей работе везде предполагается, что величины коэффициентов а^з во времени не меняются.
Из формулы (3.3.1) видно, что в таком коллективе радиостанций теряет смысл раз навсегда выбирать мощность передатчика, так как качество связи в данном канале зависит от степени взаимодействия радиостанций (от величин a^j). Поэтому ниже мы будем рассматривать коллектив радиостанций, в котором мощности передатчиков можно менять (регулировать).
Если выбор мощности осуществляется независимо каждой радиостанцией, то возможны неустойчивые, лавинные режимы. Например, если первый передатчик увеличит излучаемую им мощность с целью добиться уменьшения А^, то реакция остальных пар на увеличение шумов на входах их приемников может оказаться такой, что А^ не только не упадет, но даже возрастет.
Мы будем придерживаться идеи именно такого, локального выбора мощности, осуществляемого независимо на каждой радиостанции, не предполагая существования некоего единого центра, устанавливающего мощность на каждом передатчике в отдельности для каждой конфигурации коллектива (т. е. для каждой совокупности а^^ г ф j. i, j = 1, 2, . . . , п и каждого п), тем более, что измерение величин а^^ которые носят даже «семантический» характер, не всегда представляется возможным.
При таком подходе вопросы устойчивости выбора мощности, осуществляемого независимо каждым передатчиком, приобретают большое значение.
Прежде чем переходить к перечислению свойств модели, вытекающих из (3.3.1), заметим, что произвольный коллективный канал связи всегда можно представить в виде совокупности нескольких каналов, в которых связи считаются попарными и односторонними.
Чисто коллективные свойства модели проявляются, в частности, в том, что в пространстве всевозможных векторов А = (Ai, А2,. . . , Ап) существует, как показано в [Стефанюк и Цетлин, 1967], фиксированная при заданных n, а^-, i ^ j. z,J = l,2,...,n область Ап, обладающая тем свойством, что точки (векторы) этой области и только они достижимы при конечных мощностях 81, 82,..., 8П. Если для некоторого А выполнено условие А ^ Ап, то такой вектор недостижим, т. е. нельзя указать такой вектор мощностей 8 = (81,82, . . . , 8П), который обеспечил бы существование в коллективе А.
Показано, что в область Лп входят те и только те векторы А, для которых все главные миноры матрицы
^Ai ап—а12•••—ciin \
(3.3.2)(3.3.2)— ^21А2 а22...—а2п
(3.3.2)
(3.3.2)
у d-nictn2...Xn апп/
строго положительны (для этого необходима и достаточна строгая положительность последовательности угловых главных миноров). Матрица Мп относится к специальному классу действительных матриц с неположительными недиагональными элементами (их называют матрицами Метцлера, изучению которых мы посвятили раздел 3.4).
Далее будет использовано следующее свойство характеристических чисел этой матрицы. Если все главные миноры Мп строго положительны, то действительные части всех характеристических чисел матрицы — Мп строго отрицательны [Гантмахер, 1966]. Следуя работе [Карлин, 1964], такие матрицы будем называть устойчивими.
Пусть задан вектор А°. Можно ли указать такие алгоритмы изменения мощности в отдельности на каждом передатчике, в результате действия которых отношение шум/сигнал на входе г-го приемника окажется равным Х^ г = 1, 2, . . . , п?
Отчасти ответ на этот вопрос содержится в результатах работы [Стефанюк и Цетлин, 1967]: если А ° ^ Ап, то таких алгоритмов не существует. При А ° € Ап вопрос о существовании таких алгоритмов оставался открытым, было лишь показано свойство так называемой локальной устойчивости регулировки мощности.
В следующем параграфе будет изучен конкретный алгоритм регулировки мощности. Основной результат состоит в том, что при А ° € € Ап регулировка мощности предлагаемыми автоматами устойчива. При этом предполагается, что г-му автомату, связанному с г-м передатчиком, известны величины Е^ А^, А°, т. е. подразумевается наличие канала обратной связи между приемником и передатчиком (см. по этом поводу [Стефанюк и Цетлин, 1967]). В пн. 3.3.3, 3.3.4 этот канал считается безошибочным и поэтому реальное отношение А^, имеющееся на входе приемника в каждый момент, точно известно передатчику. В п. 3.3.5 принимается во внимание статистическая природа этой величины, которую предлагается учитывать через соответствующее запаздывание.
Легко видеть, что все результаты [Стефанюк и Цетлин, 1967] относительно существования области и ее связности сохранятся, если эквивалентную мешающую мощность, поступающую на вход г-го приемника от J-ro передатчика, записывать в виде b^ fj (Ej), а «полезную» мощность в виде Ьц fi(Ei). Здесь Ьц^ i^j = 1, 2,. . . , п, — положительные константы, a /^ — произвольные положительные функции мощности Е^ г = 1,2,... ,п. При таком учете нелинейных эффектов заранее предполагается, что вид нелинейности (с точностью до множителя) определяется передатчиком (нелинейность одна и та же для «своего» и «чужого» приемника).
Впрочем, в настоящей работе мы будем полагать, что fj(£j) = Ej, т. е. основываться на формуле (3.3.1).
Конструкция автоматов регулировки мощности. Пусть E^(t) есть мгновенная мощность z-го передатчика в момент t. Тогда в каждый момент времени определена величина
Ш =Ш =3=1du E^ (t)3=1du E^ (t)z = 1, 2,.. . , n.z = 1, 2,.. . , n.(3.3.3)(3.3.3)
Ш =
Ш =
3=1du E^ (t)
3=1du E^ (t)
z = 1, 2,.. . , n.
z = 1, 2,.. . , n.
(3.3.3)
(3.3.3)
Полагая, что z-й паре приемник-передатчик в каждый момент времени t известны «текущие» величины A^(t), E^(t), зададимся для каждого г числом Л° > О — тем отношением шум/сигнал, которое надлежит обеспечит в z-й паре. Подчеркнем, что z-му передатчику неизвестны величины n, а^^ i^j = 1,2, ...,n, Ej(t), Aj(t), Х^ j ф
Свяжем с каждым передатчиком автомат Ui, состояние которого в момент t для простоты будем отождествлять со значением мощности EiW 2-го передатчика, 0 < ЕД^) < ос. Каждому состоянию E*(t) автомата Ui отвечает некоторое значение A^(t), величина которого зависит от состояний всех автоматов Ui, г = 1,2, . . . , п и определяется выражением (3.3.3).
Чтобы оправдать рассмотрение вводимых ниже дифференциальных тактик поведения автоматов регулировки мощности, рассмотрим вначале простейшую тактику изменения состояния автомата Ui, которая определяется лишь величинами Е^ (t), X^t^ Л°. Выберем дискретную шкалу времени с малым шагом At; тогда состояние автомата Ui в момент t + At определяется его состоянием в момент t и значением Xi(t) в соответствии с формулой
E,(t + At) = <E,(t + At) = <если Ciесли CiXj(t)-X°х°Xj(t)-X°х°< 1,< 1,
E,(t + At) = <
E,(t + At) = <
если Ci
если Ci
Xj(t)-X°х°
Xj(t)-X°х°
< 1,
< 1,
k Ei(t) в противоположном случае,
хр-х^А?хр-х^А?(3.3.4) где ei — некоторая константа, на выборе которой мы еще остановимся. Из (3.3.4) следует, что изменение состояния автомата по абсолютной
хр-х^А?
хр-х^А?
величине тем больше, чем больше рассогласование
Выберем величину 6i пропорциональной времени At, т. е. Ci = = K,i At. Это значит, что при фиксированном рассогласовании приращение энергии тем больше, чем реже производится регулировка.
Теперь ясно, что тактике (3.3.4) при At —> 0 соответствует следующая дифференциальная тактика:
(3.3.5)(3.3.5)Xi^^ = KiEiW [Ш-Х°], г = 1,2,...,п.
(3.3.5)
(3.3.5)
Как легко видеть, величина l/fi^ играет роль памяти автомата Ui.
В дальнейшем будут изучены условия существования устойчивых режимов работы в коллективе радиостанций, снабженных автоматами U^ которые непрерывно и независимо управляют выходной мощностью каждого передатчика.
Отметим, что мы неявно предполагаем, что приборы, которыми измеряются величины ЕгЦ^Ь Xi(t^ обладают достаточной инерционностью, так что на этих величинах не сказываются быстрые изменения, связанные с передачей сигнала, несущего информацию от передатчика к приемнику. К этому вопросу мы вернемся несколько позднее.
Устойчивость регулировки мощности. Объединяя выражения (3.3.3) и (3.3.5), получим систему линейных дифференциальных уравнений первого порядка, которая описывает изменение во времени мощностей в коллективе радиостанций, использующих автоматы U^ г = 1, 2,. . . , п,
—Х^ £Д£) + А£ tin Ei — (112 £2 — • • • — ^in = Xi,
< ~A^^W — &21 £1 + А2 ^22 £2 — • • • — &2п £п = ^2,(3.3.6)
А° En(t) — ani Ei — аП2 £2 — • • • + А° апп Еп —
Определим диагональную матрицу
D" = ||d£||, du = ^^, d^Q, i^j, =
1(3.3.7)
Тогда система уравнений (3.3.6) примет вид
D" 4 £ + М"£ = К(3.3.7)
atх '
Стационарное решение (3.3.7) будет устойчивым, если устойчиво нулевое решение однородной системы уравнений. Общее решение однородной системы С еаг устойчиво, если Re а < 0, где а — корень уравнения
(aDn + МП)С = 0,(3.3.8)
где С — произвольный вектор. Для нахождения а имеем уравнение
det |(Dn)-1Mn + аЕ| = 0.(3.3.9)
Здесь Е — единичная матрица.
Отсюда следует, что регулировка мощности устойчива (асимптотически) тогда и только тогда, когда спектр матрицы G = (aDn)-1Mn
124 Локальная организация целесообразного поведения [Гл. 3 расположен в правой полуплоскости комплексной плоскости. Для матрицы G = ||g^|| имеем
ga = к», = З^г, i,j = 1,2,-(3.3.10) ац
т. е. G есть снова матрица Метцлера. В работе [Карлин, 1964] доказана теорема, что положительность элементов диагональной матрицы является необходимой и достаточной, чтобы устойчивая матрица Мп, умноженная на эту диагональную матрицу, дала бы устойчивую матрицу.
Таким образом, регулировка мощности по алгоритму (3.3.5) в коллективе радиостанций устойчива тогда и только тогда, когда А ° € Лп. Это утверждение верно при любых Ki > 0, так что коллектив несвязанных между собой автоматов Ui может решить задачу регулировки мощности — выбор А ° — если только А ° € Лп.
Регулировка мощности с запаздыванием. Как отмечалось, мы предполагаем, что величины ЕД^), входящие в систему уравнений (3.3.6), измеряются приборами, которые сглаживают флуктуации этих величин, связанные с прохождением сигналов. В противном случае автоматы Ui, как легко видеть, препятствовали бы передаче полезной информации от передатчика к приемнику. Далее считается, что величина отношения шум/сигнал определяется точно. А это возможно лишь при наличии фильтра с достаточно большой постоянной времени.
Поэтому, хотя статистическая природа сигналов и шумов непосредственно не сказывается на работе автоматов из-за указанных усреднений, остается эффект, которым пренебрегать нельзя, — это запаздывание.
Ниже будет рассмотрен случай, когда величина ЛД^) становится известной точно, но с некоторым запаздыванием т^ > 0, г = 1, 2,. . . , п, связанным с неизбежным «интегрированием» отношения шум/сигнал на входе приемника.
Тогда дифференциальную тактику (3.3.5) автомата Ui следует записать в виде формулы
Aod^t) =Kj£.M [Л.(#_Т.)_ЛО], ^1)2,...,П. (3.3.И)
Для простоты положим Ti = т, г = 1,2, ...,п, а тактику (3.3.11) заменим на
А°^Д = [АД< - т) - А?], г = 1,2,...,п. (3.3.12)
Ясно, что тактика (3.3.12) описывает автомат, отличный от Ui. Этому автомату для работы требуется точное знание величины т. Однако физические соображения и вид выражений (3.3.11), (3.3.12) наводят на мысль, что вблизи стационарного режима (если он, конечно, существует) автоматы (3.3.11) и (3.3.12) ведут себя, грубо говоря, одинаково.
Математический же анализ автомата, обладающего дифференциальной тактикой (3.3.12), много проще.
Объединяя (3.3.12) и (3.3.3), получим систему линейных дифференциальных уравнений с запаздывающим аргументом
Dn^£(t)+Mn£(i-r) =К(3.3.13)
Асимптотическая устойчивость стационарного режима определяется устойчивостью нулевого решения однородного уравнения
Dn^£(t)+Mn£(t-r) = 0.(3.3.14)
Решением (3.3.14) является экспонента С е^, причем для определения /3 имеем трансцендентное уравнение
det (3 Dn + Мп) = 0.(3.3.15)
Решение асимптотически устойчиво, если для всех 3^ являющихся корнями этого уравнения, выполняется условие Re /3 < 0 [Цыпкин, 1946].
Примеры.
n = 1; тогда получаем
3 + ке"3т=0.(3.3.16)
Введем следующие обозначения
и = ^ т = нт. г > 0;(3.3.17)
тогда (3.3.16) примет вид
u^e”VT = 0.(3.3.18)
Полагая v = ж + гш и приравнивая нулю мнимую и действительную части, получим систему уравнений
ж + е-тж cos тш = 0,
(3.3.19) ш — в тж sin тш = 0.
Покажем, что при условии
т <(3.3.20)
корни уравнения (3.3.18) расположены в левой полуплоскости на комплексной плоскости. Для этого покажем, что при условии (3.3.20) и ж 0 система уравнений (3.3.19) решений не имеет.
В силу ж ^ О решения первого уравнения возможны лишь при
(3.3.21)(3.3.21)+ 2&7Г < ШТ < -^ + 2&7Г,А; = 0, ±1,...
(3.3.21)
(3.3.21)
Оказывается, при выполнении (3.3.20) второе уравнение системы (3.3.19) в этой области решений не имеет. Действительно, у этого уравнения всегда есть решение ш = 0; далее из рис. 3.2 видно, что если тангенс угла наклона прямой £ = ш етж к оси ш меньше единицы, то решения возможны лишь в интервале
7Г7ГРис. 3.2. К доказательству отсутствия решений у системы (3.3.19)Рис. 3.2. К доказательству отсутствия решений у системы (3.3.19)(3.3.22)
7Г
7Г
Рис. 3.2. К доказательству отсутствия решений у системы (3.3.19)
Рис. 3.2. К доказательству отсутствия решений у системы (3.3.19)
Условием этого является неравенство
tga<l,(3.3.23)
или е"гж <•(3.3.24)
Но так как ж ^ 0, то благодаря (3.3.20) это неравенство выполнено.
Итак, все корни уравнения (3.3.16) расположены в левой полуплоскости.
п = 2, полагая для простоты к,\ = к^ = ^, получаем
(^ + е ^т^ Л^ А2 dll d22 — С 2^Т (Z12 &21 = 0,(3.3.25)
или, используя (3.3.17),
(у + e-”r)2 = е-^А.(3.3.26)
Здесь введена величина А, определяемая выражением
(3.3.27)(3.3.27)д _Д12 ^21
(3.3.27)
(3.3.27)
du (Z22 Ai Л2
Если (Ai, Л2) Е Л2, то, как легко отсюда видеть, для А имеется неравенство
(3.3.28)(3.3.28)О < А < 1,
(3.3.28)
(3.3.28)
где правая граница соответствует наибольшему взаимодействию между станциями, при котором еще возможна их совместная работа, левая — наименьшему.
Извлекая корень и приравнивая мнимую и действительные части (3.3.26) нулю, получаем систему уравнений
(3.3.29)(3.3.29)х + е ТЖ (1 ± VA) cos cor = О,_ е-гж(1 ± VA) sin иг = 0.
(3.3.29)
(3.3.29)
Повторяя рассуждения предыдущего примера, можно прийти к выводу, что совместные решения этой системы уравнений невозможны, если выполнено неравенство
(1 ± VA).(3.3.30)
Тогда, учитывая (3.3.28), для ж ^ 0 имеем
(1 ± VA) e~rx ^ max max (1 ± VA) e~rx < 2.(3.3.31)
Если на величину г наложить требование
2г <,(3.3.32)
то неравенство (3.3.30) соблюдается и, следовательно, при этом условии все корни уравнения (3.3.26) лежат строго в левой полуплоскости.
Из рассмотренных примеров видно, что при наличии запаздывания скорость регулировки мощности к следует выбирать не слишком большой — ограничения даются выражениями (3.3.20), (3.3.32). Чем больше запаздывание, тем больше должна быть величина памяти автомата для того, чтобы при А € Лп сохранилась устойчивость.
Эти примеры наводят на мысль, что ограничения на скорость регулировки, связанные с запаздыванием, должны зависеть от полного числа пар радиостанций. Такой результат противоречил бы локальному подходу к задаче регулировки мощности, принятому в настоящей книге. Действительно, в этом случае пришлось бы каждому передатчику сообщать дополнительно число п.
К счастью, это не так: существует фиксированное не зависящее от п число для заданного т — максимально допустимая скорость регулирования, при которой сохраняется асимптотическая устойчивость регулировки мощности.
Чтобы изучить случай произвольного числа радиостанций, распишем подробно уравнение (3.3.15), полагая /^i = к^ = • • • = ^п = (далее будем писать А вместо А °, так как путаница невозможна):
Ai ацAi ац-«12 е-«12 е«1п 6«1п 6-«21 е-«21 еА2 «22 • • •А2 «22 • • •^Zn ^^Zn ^= 0.= 0.-«ni е-«ni е«п2 ^«п2 ^
Ai ац
Ai ац
-«12 е
-«12 е
«1п 6
«1п 6
-«21 е
-«21 е
А2 «22 • • •
А2 «22 • • •
^Zn ^
^Zn ^
= 0.
= 0.
-«ni е
-«ni е
«п2 ^
«п2 ^
(3.3.33)
Матрица, стоящая под знаком определителя, не есть матрица Метцлера, так как все ее элементы, вообще говоря, комплексные. Умножив г-ю строку определителя (3.3.33) на е^т/{ац А^), получим
«21А2 «22«21А2 «22«12Ai ац«12Ai ац(3.3.34)(3.3.34)«п1чг а-п-п«п1чг а-п-п«п2п а-п-п«п2п а-п-пат™Ai ац«2пА2 «22ат™Ai ац«2пА2 «22
«21
А2 «22
«21
А2 «22
«12
Ai ац
«12
Ai ац
(3.3.34)
(3.3.34)
«п1
чг а-п-п
«п1
чг а-п-п
«п2
п а-п-п
«п2
п а-п-п
ат™
Ai ац
«2п
А2 «22
ат™
Ai ац
«2п
А2 «22
Таким образом, получено уравнение для собственных значений матри-
цы
( 1
«21
«12
«1п ^
Ai ац
1.
Ai ац «2п
.(3.3.35)
В =
А2 «22
А2 «22
«п1
«п2
1 )
\ Ап апп
Ап «пп
Каждый главный минор этой матрицы связан с соответствующим главным минором Мп из (3.3.2) положительным множителем, поэтому при А € Лп матрица Метцлера В устойчива. С каждым характеристическим числом 7^ матрицы В соотношением
7j = -^ie^i) г = 1, 2,..., п, ^ = 1,2,...(3.3.36)
связано некоторое число корней Р^. уравнения (3.3.33)
Будет доказано следующее утверждение. При выполнении условия
2кт < 1(3.3.37)
действительные части всех корней трансцендентного уравнения (3.3.33) лежат в левой полуплоскости, если А € Лп, и, следовательно, регулировка мощности с запаздыванием асимптотически устойчива.
В обозначениях (3.3.17) уравнение (3.3.33) эквивалентно уравнению
|B + vevrE| = 0,(3.3.38)
а условие (3.3.37) примет вид
2г < 1.(3.3.39)
Докажем, что корни уравнения (3.3.38) при условии (3.3.39) расположены в левой полуплоскости, для чего рассмотрим величину
г = -v еуг = - (ж + гш) е^^.(3.3.40)
Покажем, что эти точки расположены на комплексной плоскости так, что при выполнении (3.3.39), ж ^ 0 и любых ш ни одна из них не совпадает ни с одним характеристическим корнем матрицы (3.3.35).
Дальнейшие рассуждения станут прозрачными, если отдельно рассмотреть случай чисто мнимых корней (3.3.38). Тогда имеем
%^ = -гше"ШТ,(3.3.41)
или
На рис. 3.3 на комплексной плоскости изображена кривая г(гш) при некоторых фиксированных значениях г = тг/4, тг/6, тг/8. Видно, что при ш, меняющемся от —оо до +оо, кривая сначала спирально «наматывается» на начало координат, а затем «разматывается», проходя через начало координат при ш = 0. Если при этом кривая z(iw) проходит через точку, изображающую на комплексной плоскости какое- либо характеристическое число матрицы В, то у уравнения (3.3.38) появляется чисто мнимое решение. (Напомним, что при А € Лп матрица В устойчива и все ее характеристические числа находятся в правой полуплоскости.)
Из рисунка также видно, что если все характеристические числа заключены в области, образованной двумя первыми от начала координат четверть-витками спирали, то чисто мнимые корни (3.3.38) невозможны.
В силу действительности матрицы В и зеркальной симметрии г(гш) относительно действительной оси, достаточно рассмотреть область между действительной осью и первым четверть-витком спирали при ш > 0, как это изображено в другом масштабе на рис. 3.4.
5 Стефанюк
Рис. 3.3. Поведение г(гш) при некоторых фиксированных значениях г
Рис. 3.4. Поведение ^(гш), показанное в другом масштабе
Оказывается, если заранее известно, что характеристические числа матрицы Метцлера расположены в правой полуплоскости, то они локализованы в некоторой конечной области этой полуплоскости.
Теорема. Пусть Вп = || Ь^ || — есть матрица Метцлера порядка п такая, что Ьц = 1, b^j ^ 0, г ф j, i,j = 1,2, ...,п, и пусть действительные части Re v^ всех ее характеристических чисел v^ строго положительны, г = 1,2,...,п. Тогда все характеристические
числа этой матрицы лежат внутри единичного круга на комплексной плоскости, центр которого помещен в точку 1.
Доказательство. Рассмотрим неотрицательную матрицу (Е — — Вп). По теореме Перрона-Фробениуса для неотрицательных матриц (см. [Гантмахер, 1966, с. 365]) она имеет неотрицательное характеристическое число р такое, что модули всех характеристических чисел рц матрицы (Е — Вп) не превосходят р, т. е.
р^\щ\, г = 1,2,...,п.(3.3.44)
Характеристические числа матриц (Е — Вп) и Вп связаны очевидным соотношением
щ = 1-^, г = 1,2,...,п.(3.3.45)
Заметим, что при р < 1 все характеристические числа матрицы —Вп по условию теоремы расположены в левой полуплоскости и от прибавления к ней Е сдвигаются вдоль действительной оси на 1. Учитывая это, из (3.3.44), (3.3.45) имеем
1>р>|1-^|, г = 1,2,...,п,(3.3.46)
что и требовалось доказать.
Следствие. Характеристические числа произвольной матрицы Метцлера Hn = ||/i^|| порядка п, все характеристические числа которой имеют положительные действительные части, расположены в круге радиуса а с центром в точке а, где
о- = тахЬц.(3.3.47)
На рис. 3.4 штриховой линией изображена окружность единичного радиуса, внутри которой заключены все характеристические числа матрицы В. Видно, что спиральная кривая z^iw) при любом фиксированном г < 1/2 не пересекает эту окружность, следовательно, при этом условии чисто мнимых корней у уравнения (3.3.33) не будет. Но так как при г = 0 (т = 0) по доказанному в предыдущем параграфе все корни (3.3.33) находятся в левой полуплоскости, то при выполнении условия г < 1/2 они не выйдут за ее пределы. Это можно показать аналитически строго. Рассмотрим комплексную величину (3.3.40) и покажем, что при выполнении (3.3.39) точки z находятся вне единичного круга без границы с центром в точке 1, т. е.
|^ — 1|1,(3.3.48)
и, следовательно, никакое /3 в силу доказанной теоремы не является корнем (3.3.33).
Так как указанный круг находится в правой полуплоскости, то достаточно рассмотреть случай ж ^ 0. Имеем
|.г - 1| = У1Гё^7Хж?шУ,(3.3.49)
где
^(ж, ш) = ш(—2 sin шт + ш етж^ + х (2 cos шт + х еГжу (3.3.50)
Вследствие четности этой функции по ш достаточно рассмотреть ш ^ 0. а) ш = 0, тогда
|z - 1| =^ 1.(3.3.51)
ш > 0, тогда заметим, что F(x, ш) при любом фиксированном ш монотонно растет с ростом х ^ 0. Рассмотрим х = 0, имеем
F(0, ш) = ш (—2 sin шт + ш).(3.3.52)
Легко видеть, что при выполнении условия 2г < 1 при любом ш > 0 соблюдается неравенство
Р(^ш) > 0.(3.3.53)
Из монотонности Р(х^ш) вытекает
Р(х,ш) > Р(о,ш) > 0.(3.3.54)
Следовательно, всегда выполнено неравенство (3.3.48), что и требовалось доказать.
Окончательно получаем следующее. Регулировка мощности, осуществляемая однородным коллективом автоматов, заведомо асимптотически устойчива, если только «память» автомата Ui выбрана так, чтобы выполнялось условие
Таким образом, увеличение размеров коллектива (увеличение п) не приводит к увеличению «трудности» решения задачи регулировки мощности. Сравнение (3.3.37) с (3.3.32) и (3.3.20) показывает, что каждому автомату Ui при п > 3 уже не важно, сколько членов в коллективе.
Заключительные замечания. Выше показано, что при решении одной задачи регулировки мощности — выбора заранее заданного вектора А ° путем локального и независимого изменения мощности каждым передатчиком — обеспечена асимптотическая устойчивость, если А ° € Ап и память автомата достаточно велика, чтобы не реагировать на «шумы». Эта память рассчитана, грубо говоря, на коллектив из трех членов и не растет с дальнейшим увеличением числа партнеров по коллективу.
Задачу с успехом решает коллектив автоматов, каждому из которых известны лишь локальные сведения — отношение шум/сигнал в месте приема.
Техническая реализация каждого из автоматов, описываемых конечно-разностной (3.3.4) или дифференциальной (3.3.5) тактикой, очевидно, весьма проста, и на ней мы останавливаться не будем.
Предложенная нами в 1967 г. модель коллектива радиостанций [Стефанюк и Цетлин, 1967] явилась предтечей современной мобильной связи, возникновение которой относят к середине 80-х годов. Надо подчеркнуть, что мобильная связь сразу возникла как коммерческая, полностью оставив без внимания общественный сектор, на который прежде всего ориентирована модель коллектива радиостанций.
Вовлечение бизнеса в область мобильной связи сыграло позитивную роль. Действительно, автором модели коллектива радиостанций были опубликованы десятки статей и прочитаны в свое время десятки докладов в крупнейших научных центрах России, США, Швеции, Англии и др., но это отнюдь не привело к реализации предложенной математической модели в виде инженерных конструкций. Именно соображения коммерческого успеха и сделали возможным появление современной мобильной связи. Но то, что было достигнуто на этом пути, это не совсем то, что ожидалось от «коллектива радиостанций».
Например, при построении коллектива радиостанций большая роль отводилась ретрансляторам [Стефанюк и Цетлин, 1967; Стефанюк, 19716], позволявшим увеличить расстояние, на котором возможна надежная радиосвязь. Но введение такого характерного элемента современной мобильной связи, как базовая станция, основными задачами которой являются, прежде всего, контроль за установлением связи, регистрация абонентов, учет нагрузки, выставление счетов и т. и., полностью противоречило бы всем исходным принципам нашей модели коллектива радиостанций со свободным доступом как локальноорганизованной системы.
Поэтому естественно возникает мысль о необходимости создания также и некоммерческих систем [Стефанюк, 2003], обеспечивающих население основными коммуникационными возможностями. Описанная здесь модель коллектива радиостанций с локальной организацией может быть непосредственно положена в основу такой системы х).
В этой книге не рассматривался очень важный вопрос о выборе критерия, по которому указывается вектор А ° (см [Стефанюк, 1969]), однако, каков бы ни был этот критерий, на некотором этапе всегда возникает задача поддержания фиксированного отношения шум/сигнал А° на входе г-го приемника с помощью автомата, управляющего лишь мощностью г-го передатчика, т. е. изученная здесь задача. Нужно отметить, что задача о регулировке мощности интересна как объект для изучения общих особенностей поведения однородных коллективов
*) Разумеется, осуществление права человека на свободную мобильную связь требует средств, но соответствующие расходы должны компенсироваться на принципиально иной, некоммерческой основе, например, через налоговые поступления, государственный бюджет и обычную абонентскую плату.
автоматов тем, что в ней отчетливо проявляется «антагонизм» партнеров по коллективу. Здесь физическая сущность задачи подсказывает правильное решение, подчеркивает главные проблемы, которые все же достаточно общи и, возможно, приложимы к решению аналогичных вопросов в других задачах коллективного поведения автоматов.
Одна теорема об М-матрицах и ее применения
В предыдущем разделе было видно, что устойчивость локальноорганизованной системы автоматов о непрерывным множеством действий определяется свойствами матрицы Метцлера. Ниже получены новые необходимые и достаточные условия положительности главных миноров такой матрицы, которые находят целый ряд приложений.
Напомним, что матрицей Метцлера называют всякую матрицу с действительными элементами, у которой все недиагональные элементы неположительны. Особый интерес для приложений — математической экономики, задач коллективного поведения в антагонистических ситуациях и т. и. — представляют М-матрицы, т. е. матрицы Метцлера, все главные миноры которых положительны. М-матрица обладает тем важным свойством, что обратная ей матрица переводит всякий вектор с положительными компонентами в вектор, компоненты которого также положительны.
В этом разделе сформулировано удобное необходимое и достаточное условие того, чтобы матрица Метцлера была М-матрицей, из которого, в частности, вытекает, что введенное в [Стефанюк и Цетлин, 1967] множество Л(п), которое может быть определено для каждой матрицы Метцлера, является выпуклым. (В работе [Стефанюк и Цетлин, 1967] множество К^ имеет смысл области «достижимых» векторов отношений шум/сигнал в коллективе радиостанций, создающих при своей работе взаимные помехи. См. также разд. 3.3 выше.) Из этого условия вытекает также одно условие невырожденности произвольной матрицы (с комплексными элементами), эквивалентное условию Фидлера, но по форме подобное условию Адамара (см. [Гантмахер, 1966], с. 408, 412414). В и. 3.4.3 это условие используется при получении необходимых условий полезности «взаимопомощи» в таком локально-организованном коллективе.
Теорема о матрицах Метцлера. Зафиксируем некоторое натуральное п. Замкнутой цепочкой длины т будем называть произведение из т положительных чисел m^ г^ j = 1, . . . , п, имеющее вид
т3132 т3233 • • • mjr-ljr mjrjl -> (3.4.1)
где ^з^...^^ — некоторая перестановка из любых г, чисел 1, . . . ... , п, г ^ п. В дальнейшем мы будем иметь дело с такими цепочками (3.4.1), которые удовлетворяют свойству
mji32 т323з * * * mjr-ijr mjrji (3.4.2)
ТеоремаЗ.З. Для того чтобы все главные миноры матрицы с действительными элементами А^п\ все недиагональные элементы которой a^j отрицательны или равны нулю (т. е. матрицы Метцлера), были бы строго положительны, необходимо и достаточно, чтобы выполнялись следующие неравенства
ац ~ 52 т^з aij > °, г = 1, . . . , п,(*)
где т^з, г, j = 1, . . . , п — некоторая совокупность положительных чисел таких, что любая составленная из них замкнутая цепочка вида (3.4.1) обладает свойством (3.4.2).
Если А^ — неразложимая матрица Метцлера, то неравенства (*) можно заменить на неравенства
(**)(**)агг — 52 т^3 aij О, г = 1, . . . , П,
(**)
(**)
причем, по крайней мере, в одном из них имеет место знак >.
Достаточность. Воспользуемся индукцией по порядку п матрицы А^п\ Утверждение верно для п = 2. Действительно, если выполнено (*), то отсюда получаем
GM1 > 0,а^2 > 0, ацО22 > CL12Cl2imi2m21.(3.4.3)
Если же матрица А^ неразложима, то верно
(3.4.4)(3.4.4)П|2 > 0,021 > О,
(3.4.4)
(3.4.4)
и, теперь уже в силу (**), получаем (3.4.3).
Так как по предположению теоремы Ш12Ш21 ^ 1, то из (3.4.3) вытекает положительность всех главных миноров А^, т. е.
(3.4.5)(3.4.5)<2,ц > 0,022 > О, <2,Ц ^22 — ^12 ^21 > 0.
(3.4.5)
(3.4.5)
Предположим теперь, что утверждения теоремы верны для матриц Метцлера порядка п — 1. Докажем, что тогда они сохраняют свою силу и для матриц порядка п. Не ограничивая общности, будем считать, что в случае (**) «строгим» является неравенство при г = 1, т. е.
Hi — ац — 52 тМ aij > 0-3^
преобразование Гауссапреобразование ГауссаПрименим к определителю матрицы А^ [Гантмахер, 1966]. Тогда получим
преобразование Гаусса
преобразование Гаусса
«11— «12‘ ‘*^lndetA(n) =0a••«22u2n0—a(1) •• °n2• aWU-nn«11— «12‘ ‘*^lndetA(n) =0a••«22u2n0—a(1) •• °n2• aWU-nn(3.4.7)(3.4.7)
«11
— «12‘ ‘
*^ln
detA(n) =
0
a••
«22
u2n
0
—a(1) •• °n2
• aW
U-nn
«11
— «12‘ ‘
*^ln
detA(n) =
0
a••
«22
u2n
0
—a(1) •• °n2
• aW
U-nn
(3.4.7)
(3.4.7)
причем элементы выделившейся при этом преобразовании матрицы ||&(1)I,™ порядка п — 1 связаны с элементами матрицы А^ такими соотношениями:
(1)^18 ^81(1)I ^lk asi, J,. X
а88 = а88,= ask Н, з к. (3.4.8)
ан«их
Таким образом, в силу (3.4.5) Ца^Ц™ есть матрица Метцлера. Покажем сначала, что если выбрать числа т^ согласно соотношению
тп^ = min ^msk; msl mlk}, s,k = 2, . . . , n,(3.4.9)
то для матрицы Ц^^Ц^ будут выполнены соотношения
Н^ = aW - Е mW й« > о, з = 2,..., п, (3.4.10) к 7^1,s
в случае, если для А^ выполняется (*), или неравенства
Н^ = «£ - Е 'Лк Лк ^ °, з = 2,... , п (3.4.11) к
(и хотя бы одно неравенство здесь строгое) в случае, если А^ неразложима и для нее выполняется (**).
Действительно, из (3.4.8) имеем
Неравенство в (*) для г = 1 затем дает
т si G-sl ^11 ^ ^ ^ГПsi G-sl ®lfc TYllk 4” ^ls ™ls ^'sl ^sl* (3.4.13 6) к^Цз
Объединяя эти неравенства и учитывая mis msi ^ 1, получаем
пп
аца88>ац ^ msl ask + У msi asi aik mik + ais asi- (3.4.14) к^Цзk^l,s
Отсюда, в силу (3.4.9), фигурная скобка в (3.4.12) строго положительна для всех з = 2, . . . , п, т. е. верно (3.4.10).
Если же матрица А^ неразложима и выполнено (**), то неравенство (3.4.13 а) становится, вообще говоря, нестрогим, но теперь, уже в силу (3.4.6), неравенство (3.4.13 6) становится строгим хотя бы для одного 8. (Противное означало бы, что asi = 0, s = 2, . . . , п, т. е. что матрица А^п>) разложима.)
Отсюда неравенства в (3.4.14) становятся, вообще говоря, нестрогими, причем, по крайней мере, одно из них — строгое. Поэтому с помощью (3.4.9) приходим теперь к (3.4.11).
Далее, легко видеть, что всякая замкнутая цепочка из элементов ш^, удовлетворяющих соотношению (3.4.9), представляется в виде произведения того или иного числа замкнутых цепочек из элементов т^). Так как, по предположению теоремы, замкнутые цепочки из элементов т^ удовлетворяют свойству (3.4.2), то и все замкнутые цепочки из элементов т^ также обладают свойством (3.4.2).
Наконец, принимая во внимание, что матрица Ц^^Ц^ неразложима, если неразложима матрица А^ (см. ниже лемму 3.4), получаем, что для матрицы Метцлера Ц^^Ц^ выполнены условия теоремы 3.3. Но тогда, по предположению индукции, все главные миноры Ца^Ц™ строго положительны.
Заметим, что из выражения (3.4.7) легко заключить, что верхнеугловой главный минор порядка р (р ^ 2) матрицы А^ равен верхнеугловому главному минору порядка р — 1 матрицы ||«^ Ц2 , умноженному на величину ап, которая, в силу (3.4.5), строго положительна. Отсюда следует, что в матрице А^ имеется цепочка положительных угловых главных миноров. По лемме Котелянского [Гантмахер, 1966] и все остальные главные миноры матрицы А^ при этом положительны.
Необходимость. Справедлива следующая лемма.
Лемма 3.3. Если все главные миноры матрицы Метцлера А^ положительны, то матричное уравнение
где X есть вектор с положительными компонентами, имеет решение, все компоненты которого строго положительны.
Если, кроме того, матрица А^ является неразложимой, то существует также положительное решение матричного уравнения (3.4.15), в котором предполагается, что X есть вектор с неотрицательными компонентами, причем хотя бы одна его компонента строго больше нуля.
Эта лемма хорошо известна (см., например, в [Беллман, 1968, с. 338] формулировку ее первой части). Для удобства чтения, однако, мы приведем ниже для нее достаточно простое доказательство.
Доказательство леммы. Воспользуемся индукцией по порядку п системы уравнений (3.4.15). Решая ее при п = 2, получаем
Х1 «22 + ^2 «12^2 Оц + Х1 0,21а
жх = , Ж2 = ,(3.4.16)
«11 022 — 012 021«11 «22 — 012 «21
откуда видно, что при Xi, Х2 > 0, в силу «ц > 0, а^ > 0, выполняется Ж1,Ж2 > 0. Если же матрица А^ неразложима, т. е. «12, «21 7^ 0, то Ж1>0,Ж2>0, если хотя бы одна из компонент Xi, Х2 строго больше нуля.
Предположим теперь, что утверждение леммы верно для матриц Метцлера порядка п — 1. Докажем, что тогда оно верно и для матриц порядка п. Не ограничивая общности, будем считать, что Xi > О и в случае, если А^ неразложима.
Воспользуемся преобразованием Гаусса, учитывая, что «ц > О по условию леммы. Тогда получим (см. (3.4.7)) следующую систему уравнений, эквивалентную системе (3.4.15):
f П-ц Х^ «12 ^2 ' ' '«1п жп — Xi,
। (В _1 Х1 «21
<а22 ж2•• • + а2п хп -Х2 +,(3.4.17)
.°п2 Ж2Н Олп Жп = Хп +•
Легко видеть (см. выше), что при этом выделяется матрица Метцлера ||«^||2? главные миноры которой строго положительны в силу положительности главных миноров матрицы А^п\
Если все Х^ > 0, то по предположению индукции, выделившаяся подсистема имеет положительное решение Ж2 > 0, . . . , ж° > 0. Тогда, найдя из первого уравнения (3.4.17) х^ > 0, убедимся, что х^, . . . , ж ° является положительным решением (3.4.15).
Если же А^ неразложима, то все правые части этой подсистемы неотрицательны, причем не все обращаются в нуль (противное означало бы, в силу aij > 0 и Xi > 0, что «21 = . . . = ani = 0, т. е. что Л^п^ разложима). Далее, согласно лемме 3.4, матрица Ц^^Цз является
Одна теорема об М-матрицах и ее применения 139 неразложимой и, по предположению индукции, выделившаяся подсистема снова имеет положительное решение х^ • • • , ж ° и т. д. Лемма доказана.
Продолжим теперь доказательство теоремы 3.3. Поскольку все главные миноры матрицы Метцлера Л^п^ положительны, то по лемме 3.3 имеется положительное решение х матричного уравнения (3.4.15), откуда
ац = — + У — , г = 1, . . . , п, (3.4.18) % %
где следует считать вектор X строго положительным, если матрица А^ произвольная, либо полагать, что все компоненты вектора X неотрицательны, и хотя бы одна строго больше нуля, если А^ — неразложимая матрица. Обозначив теперь
= ж^ ’ г = 1,..., п, (3.4.19)
получаем из (3.4.18) в случае произвольной матрицы А^п\ что верны условия (*), а в случае неразложимой матрицы А^ — условия (**). Теорема доказана.
Лемма 3.4. Матрица Ц^^Ц^ возникаюгцая после применения к неразложимой матрице А^ преобразования Гаусса [Гантмахер, 1966], неразложима.
Доказательство. Предположим противное, т. е. что в условиях леммы матрица Ц^^Ц™ разложима. Это означает (см. там же с. 352), что множество индексов 2, 3, . . . , п можно разбить на две дополнительные системы (без общих индексов) zi, . . . , i^ kx , . . . , kv (/i + ^ = n — 1) такие, что cl^ = 0 для всех а = 1, . . . , //; /3 = 1, . . . , v.
Заметим, что в силу (3.4.8) равенство <ь^к = 0 означает
агакз = о (3.4.20)
и, кроме того, ахк3 aiai = 0, а = 1, . . . , /1, /3 = 1, . . . , v. Поскольку ciiiki = сц^кх = . . . = а^к1 = 0, то из предыдущего соотношения следует, что неравенство а^ ^ 0 заведомо предполагает, что
^,1 = «г21 = . . . = а^х = 0. (3.4.21)
Точно так же ясно, что соотношение (3.4.21) будет справедливым, если хотя бы для одного кр, (3 = 1, . . . , п, выполнено ахк3 ф 0. Из (3.4.20), (3.4.21) в этом случае следует, что матрица А^ разложима, так как множество индексов разбивается при этом на две дополнительные системы ti,. . .,г^, 1, кх^ . . . , kvi такие что все матричные
элементы А^ с индексами соответственно из первой и второй системы равны нулю.
В случае же, если aik3 = 0 для всех (3 = 1, . . . , v^ то аналогичным свойством будет обладать разбиение йй,---,^, ki^ . . . , kVD т. е. и в этом случае матрица А^ разложима.
Полученное противоречие доказывает лемму.
Замечание к теореме 3.3. Поскольку все замкнутые цепочки элементов (3.4.19) в точности равны единице, то в этой теореме можно было бы заменить условие (3.4.2) на условие
mjij-2. тзЛз • • • mjr-ijr mjrji = 1?(3.4.22)
где (Д, . . . , jr) — любая перестановка из т чисел 1, . . . , п.
Для приложений теоремы, тем не менее, удобно сохранить в этой теореме условие (3.4.2), так как в общем случае неясно, как явным образом по элементам, замкнутые цепочки которых удовлетворяют условию (3.4.2), построить элементы, цепочки которых удовлетворяют (3.4.22), и чтобы при этом сохранились условия (*), (**).
Выпуклость множества Л^Д Назовем множеством Л(п) множество векторов А = (Ai,. . . , Лп), удовлетворяющих условию
2й -Г ' a^j &j
Aj =, г = 1,..., п,(3.4.23)
где X — фиксированный положительный вектор (все Х^ > 0), || а^Ц — фиксированная матрица неотрицательных величин, сщ Ф 0, г = 1, . . . ... , п, а вектор e=(ei,...,en) пробегает все значения из положительного ортанта Р.
Обозначив через ЛГ^П^(Л) матрицу с диагональными элементами
А^й = g2 + 52 av g1 ’ г = 1,..., п, (3.4.24)
и недиагональными элементами — сц-^ получаем, что (3.4.23) эквивалентно уравнению
M^n^(A)8 =К(3.4.25)
Все главные миноры матрицы Метцлера М^^Х^ строго положительны, так как, согласно (3.4.24), выполняются условия теоремы 3.3. Наоборот, из леммы 3.3 вытекает, что если все главные миноры М^ (Л) положительны, то уравнение (3.4.25) имеет положительное решение. Отсюда множество Л(п) есть совокупность, тех и только тех векторов А = (Ai,. . . , Ап), для которых все главные миноры М^п\Х) строго положительны [Стефанюк и Цетлин, 1967].
Множество Л^п\ очевидно, открыто. Множество точек границы Г множества Л(п) составаляют те точки, в которых все главные миноры Л/(П)(А) неотрицательны и хотя бы один равен нулю. С другой, стороны, из выражения (3.4.23) следует, что все точки 7 границы множества Д(п) в пространстве векторов А, и только они, могут быть заданы (предполагается, что ^ > 0, г = 1,...,п, и матрица Ца^'Ц неразложима) соотношением
7г = У^,=(3.4.26)
где t = (ti, . . . , tn) — произвольный вектор из Р.
Ниже нас будут интересовать вопросы выпуклости названных множеств.
Рассмотрим множество 9Л всех произведений, составленных из г положительных чисел, таких, что каждое такое произведение не меньше единицы.
Л е м м а 3.5. Множество 9Л выпукло и соотношение
Ц [aw; + (1 - а) «;] = Г ае(о,1),(3.4.27)
г=1
при условии, что
П Ui 1, П 1, Ui, Di > 0, г = 1,. . . , г, (3.4.28) г=1г=1
может бытъ выполнено тогда и толъко тогда, когда
Ui = Di, г = 1,. . . , г,(3.4.29)
и
П^ = П^ = 1(3.4.30)
г=1г=1
Доказательство. Согласно неравенству Минковского ([Беккен- бах, Беллман, 1965, с. 42]) при любых Xi,yi > 0 выполняется
■ Т11/Г/ г\Vr/ г\Vr
Н (ж, + Уг) ^ ( ПЖЧ + (ПУЛ ,(3.4.31)
_г=1J\г=1/\г=1/
причем здесь равенство возможно лишь в случае, если существует такое к 0, что выполняется
Подставляя в (3.4.31) вместо ж^ и yi, соответственно аи^ и (1 — а) щ> получаем, если соблюдается (3.4.28), что
1/г1/гЦ (aWi + (1 - a) Vj) _г=1.
1/г
1/г
> а> а(3.4.33)(3.4.33)Таким образом, множество 9Л выпуклое.
> а
> а
(3.4.33)
(3.4.33)
выполненовыполненошц = к (1 — a) v^ г = 1, . . . , п.шц = к (1 — a) v^ г = 1, . . . , п.(3.4.34)(3.4.34)Если же выполнено (3.4.27), то в (3.4.33) все неравенства должны быть заменены на равенства, но тогда существует к > 0 такое, что
выполнено
выполнено
шц = к (1 — a) v^ г = 1, . . . , п.
шц = к (1 — a) v^ г = 1, . . . , п.
(3.4.34)
(3.4.34)
Подставляя (3.4.34) в (3.4.27), получаем, с одной стороны,
(1 -а)(1 + к) Ц^ = 1,(3.4.35)
г=1
а с другой —
а(1 +|) ПЫг = L(3.4.36)
г=1
Отсюда, в силу (3.4.28), должны выполняться неравенства
(3.4.37)(3.4.37)' (1 - а)(1 + к) < 1,
(3.4.37)
(3.4.37)
V к /
Эта система уравнений имеет решение к тогда и только тогда, когда в ней оба неравенства заменены равенствами, причем в этом случае решение единственно и имеет вид к = а/(1 — а). Отсюда сразу же получаем (3.4.29), (3.4.30). Лемма доказана.
Следствие 1. Множество Мп^ выпукло.
Действительно, если А^\ А^2^ € Мп\ то имеются наборы положительных чисел Uij , Vij , замкнутые цепочки которых обладают свойством (3.4.2), и выполняется
А^ ^Н > ^ ^ij ^ij ) ^i ^гг > ^ ^ij ^ij ) ^ — !,•••, ^?(3.4.38)
отсюда следует
(си аГ + (1 - а) А-2)) ан > ^ а^ (a utj + (1 - а) vij'), а G [0,1].
Согласно лемме 3.5 замкнутые цепочки положительных чисел m^j = a u^j + (1 — а) и^з(3.4.40)
также обладает свойством (3.4.2) и, следовательно, по теореме 3.3 все главные миноры М^ (а А^1) + (1 — а) А^2)) строго положительны, т. е.
(а А^1^ + (1 — а) А^2^) е Л^.
Следствие 2. Если матрица Ца^Ц^ неразложима, то замыкание множества Мп^ строго выпукло.
Действительно, покажем, что если -уС|),-у(2) ^ р, 7^) / 7^2\ то (а 7^) + (1 — а) 7^2^) Е Мп\ а Е (0,1).
Условие 7^\ 7^2) Е Г означает, что имеются такие наборы чисел и^ и Uij^ что любые их замкнутые цепочки в точности равны единице (см. (3.4.26)) и выполняется
Тг ^й — ^ у ^ij СЦ] ) Ti ^Н — ^ ^ ^ij ^ij •(3.4.41)
Э^гз^г
Так как 7^) ^ 7^2\ то, очевидно, найдется такая пара индексов (го, jo), что будет выполнено
^iojo N~ ^iojo 7 ^iojo N~ 0-(3.4.42)
Из (3.4.41) имеем
(a7(1) + (1 - a) 7^) = 52 ач тч^(3.4.43)
где числа m^j определяются соотношением
т^з = a Uij + (1 — a) Vij, а Е (0,1).(3.4.44)
По лемме 3.5 все замкнутые цепочки из этих чисел, содержащие элемент m^ojo, строго больше единицы. Ясно, что мы можем тогда перейти к набору величин т^ , цепочки которых удовлетворяют свойству (3.4.2), и выполняется неравенство
m'iojo < miojo, mij = тч(3.4.45)
для остальных (Д j). В силу (3.4.42), имеем, что
(07^ + (1 - а)?^) >(3.4.46)
причем в этой системе неравенств хотя бы одно неравенство — строгое (а именно го-е). Так как матрицы М^п\\) и Ца^!^ неразложимы одновременно, то все главные миноры М^п^а Х^ + (1 — а) А^2)) строго положительны, что и требовалось показать.
Об одном условии невырожденности произвольной матрицы. Объединяя теорему 3.3 и теорему М. Пароди ([Пароди, 1960, с. 50]), получаем следующее утверждение (его можно доказывать и непосредственно, применяя метод полной индукции):
Теорема 3.4. Пусть А = || а^ || — произвольная п х п матрица с комплексными элементами, для которой выполняются п неравенств
I ^^ I ^ у ^ij | ^ij | > 0, i — 1, . . . , П, (•)
где {т^} — совокупность положительных чисел, любая замкнутая цепочка которых (3.4.1) обладает свойством (3.4.2). Тогда матрица А является невырожденной.
Если А — неразложимая матрица и выполняются п неравенств
|йй| - 52 mv|°v| °, г = 1,...,п, (ее)
причем, по крайней мере, в одном из этих условий имеет место знак >, то матрица А — невырожденная.
Мы здесь не приводим тривиального обобщения теоремы 3.4 на случай матриц, представленных в блочной форме, вытекающего из теоремы Фидлера ([Гантмахер, 1966, с. 414]), которая является соответствующим обобщением теоремы Пароди ([Пароди, 1960, с. 50]).
Таким образом, приведенное условие невырожденности является специальной формой условия Фидлера. Отсюда, кстати, следует, что условия Адамара (и ослабленные условия Адамара, соответствующие mij = 1 (см. [Гантмахер, 1966, с. 408, 412])), являются частным случаем условия Фидлера (там же, с. 414).
О взаимопомощи в коллективе автоматов. В локально-организованных системах при очевидной независимости элементов естественно возникает вопрос о возможности неявной кооперации членов коллектива за счет действий, носящих альтруистический характер типа взаимопомощи.
В качестве такого примера рассмотрим модель коллектива радиостанций, в которой часть мощности каждого передатчика идет на ретрансляцию сигналов «чужих» передатчиков [Стефанюк, 19716]. Ниже выписаны необходимые и достаточные условия и получены простые необходимые условия оправданности такой ретрансляции.
Будем предполагать, что передатчик и ретранслятор объединены в одно устройство, так что излучаемая энергия всего устройства делится между непосредственно ретранслирующей и передающей его частями. Пусть е^ер, еретр — соответственно мощности, развиваемые j-м передатчиком и j-м ретранслятором. Тогда если 6j — мощность, развиваемая j-м устройством, то
еретр _ ^ е^ епер _ г = 1,. . . , п, (3.4.47)
где aj — параметр, показывающий, какая доля мощности идет на ретранслирование, 0 ^ aj < 1.
Величина еретр — выходная мощность J-ro ретранслятора. Полную мощность, поступающую на вход J-ro ретранслятора, будем записывать в виде
е°х = Mj + У (1 - “к') Ьзк ек’ г = 1,...,п.(3.4.48)
к=1к^З
Здесь Ху — мощность аддитивного шума на входе J-ro ретранслятора, bjk (1 — а^ е^ — часть мощности к-ro передатчика, которая попадает на вход J-ro ретранслятора (т. е. bj^ ^ 0 есть коэффициент «ослабления» единицы мощности на пути от к-го передатчика к J-му ретранслятору).
Фактически все основные предположения, относящиеся к рассматриваемой математической модели, содержатся в выражении (3.4.48).
Во-первых, считается, что на вход ретранслирующей части J-ro устройства не проходит сигнал от передающей части этого же устройства. Не учитывается дополнительный шум от ретрансляторов.
Другое, более существенное предположение, состоит в том, что на вход ретранслятора поступают лишь сигналы, идущие непосредственно от передающих частей, т. е. сигналы, не подвергавшиеся ретрансляции. (Ниже естественно будет предполагаться, что приемники коллектива радиостанций регистрируют суммарный сигнал, идущий и от передающих частей, и от ретранслирующих.) Такую модель удобнее всего представлять себе в виде двухчастотной схемы, когда все ретрансляторы принимают сигналы в одном частотном диапазоне, а излучают — в другом.
Заметим, что несоблюдение этого требования привело бы к тому, что один и тот же сигнал многократно ретранслировался и возвращался бы на вход данного ретранслятора и в результате, по крайней мере, в рамках линейной модели, могла бы возникнуть интерференция. (Поскольку при многократной ретрансляции доля мощности, отвечающая определенному исходному сигналу, все время падает (при малых dij), то выражение (3.4.48) можно, по-видимому, считать приближенно верным даже и в случае, когда нет упомянутого выше разделения диапазонов частот.)
Учитывая (3.4.47), (3.4.48), выпишем коэффициент усиления по мощности kj для ретранслирующей части J-ro устройства:
ретр
3 =(3.4.49)
3 ^j + 52“ ак^ bjk ек
k=iк^З
Полезный сигнал, поступающий на вход приемника г-й пары, в настоящей модели складывается из полезного сигнала, идущего непосредственно от «своего» передатчика (а^ (1 — сч) е^), и полезного сигнала,
прошедшего через все ретрансляторы: ^ kj bji a^j (1 — а^ е^. Если aj = 0, j = 1, . . . , п, т. е. ретрансляций нет, то верна формула (3.4.23). Поставим такой вопрос: можно ли выбрать ол, . . . , ап так, чтобы качество связи в каждом из п каналов приемник-передатчик улучшилось по сравнению с качеством, даваемым формулой (3.4.23)?
Введение ретрансляции оправдано в этом смысле, когда часть мощности, которая г-м устройством расходуется на ретрансляцию и поэтому не поступает в г-й приемник (а^ ^й еД, «компенсируется» той полезной мощностью, которая приходит в г-й приемник через все ретрансляторы. Отсюда получаем, что ретрансляции могут быть полезными одновременно для всех участников коллектива радиостанций, если при некоторых «1,. . . , ап (0 ^ о^ ^ 1, г = 1, . . ., п) удовлетворяются следующие п неравенств:
(3.4.50)(3.4.50)^ ^ kj bji Qij (1^г) > ^гй ^ — !?•••? ^"
(3.4.50)
(3.4.50)
Пример, п = 2.
Для этого случая из (3.4.49) и (3.4.50) получаем при ол, а^ ДО
Д126^ан62Д126^ан62От Л ^202 \(1 — 01) ^21 61От Л ^202 \(1 — 01) ^21 61Д21 > 62(12261Д21 > 62(12261(3.4.51)(3.4.51)(1 - о2)(1 - о2)
Д126^
ан62
Д126^
ан62
От Л ^2
02 \(1 — 01) ^21 61
От Л ^2
02 \(1 — 01) ^21 61
Д21 > 62
(12261
Д21 > 62
(12261
(3.4.51)
(3.4.51)
(1 - о2)
(1 - о2)
т. е. ретрансляция может оказаться полезной, если отношения 6X12/^11, ^21/^22? достаточно велики, т. е. высок уровень взаимных помех в исходном коллективе, до введения ретрансляции.
Кроме того, из выражения (3.4.51) видно, что ретрансляция окажется полезной «скорее всего» при больших мощностях устройств ci, в2, при малых ослаблениях сигналов на пути от одного передатчика к другому (612,621 велики) и малых аддитивных шумах на входах ретрансляторов.
di2 (121dll (122di2 (121dll (122Следствием (3.4.51) является неравенство
di2 (121
dll (122
di2 (121
dll (122
(3.4.52)
которое означает, что вектор отношений шум/сигнал (1,1) в таком коллективе радиостанций при отсутствии ретрансляций недостижим. Действительно, если вектор (Ai,A2) достижим в коллективе из двух пар радиостанций, то должно выполняться условие (см. п. 3.4.1 и [Сте- фанюк и Цетлин, 1967])
Сопоставляя (3.4.52) и (3.4.53), получаем, что (1,1) ^ Д(2\ Таким образом, условие (1,1) ^ Л^2) является необходимым условием целесообразности введения ретрансляций в коллектив радиостанций. Далее аналогичный результат будет получен для произвольного п.
Отметим, что при п = 2 ценность приведенных результатов невысока в случае, если применяется «двухчастотная схема»: разнесение двух каналов связи по двум частотным диапазонам полностью устранило бы взаимные помехи. Однако рассматриваемая в настоящей работе схема предназначена для использования в условиях локальной организации, когда радиостанциям, входящим в коллектив, становится известной лишь локальная, ограниченная информация, сводящаяся к е^, А^ Поэтому будем придерживаться такой организации связи в коллективе, которая не зависит от п.
Случай произвольного числа участников.
Расписав (3.4.50) с учетом (3.4.49), имеем
= 1,...,п.(3.4.54)(3.4.55),= 1,...,п.(3.4.54)(3.4.55),Eej et (1 — at) bjt
= 1,...,п.
(3.4.54)
(3.4.55),
= 1,...,п.
(3.4.54)
(3.4.55),
^^ДГ?в к (1 О/г) bjk в к
к = 1 к^З
Так как
С г (1 О г) bji_
14jв к (1 О fc) bjk в к
к = 1к^З
то следствием (3.4.50) является система неравенств
aj а^з ej > а^ а^ г = 1, . . . , п.(3.4.56)
Таким образом, необходимым условием полезности ретрансляций является выполнение системы неравенств (3.4.56) при каких-то неотрицательных «1,. . . , ап (ввиду однородности (3.4.56) условие а^ < 1 оговаривать не нужно). Или, если произвести изменение «масштаба» и ввести новые переменные
%г = ai ei, г = 1,. . . , п,(3.4.57)
то таким необходимым условием является выполнение системы неравенств
^з atj > Zi ац, г = 1,. . . , п(3.4.58)
при каких-либо неотрицательных zi,. . . , zn.
Смысл последнего соотношения становится ясным из следующей теоремы.
Тео рем а 3.6. Пусть М^п\Х) есть квадратная действительная матрица порядка п, элементы которой суть числа Х^ ац, — a^j, г, j = = 1, . . . , п. Соотношение
M(n)(A)z<0(3.4.59)
выполняется для некоторого полуположительного вектора % тогда и только тогда, когда вектор A=(Ai,...,Ai) является недостижимым в коллективе радиостанций, определяемом матрицей величин ||||", т. е. X ф
Доказательство. Обратимся вновь к п. 3.4.1.
Если Л € Мп\ то неравенство
M^^Cfe > 0(3.4.60)
имеет положительное решение е, причем Л Е Л(п) выполняется тогда и только тогда, когда все главные миноры М^п\Х) положительны (что выводится в п. 3.4.1 из теоремы 3.3 и леммы 3.3).
Пусть теперь Л Е Л(п) и рассмотрим неравенство
М(п)(Л)у>0,(3.4.61)
где М^^Х) — транспонированная матрица по отношению к М^п\Х\ Поскольку при транспонировании матрицы знаки ее главных миноров остаются неизменными, то это неравенство также имеет неотрицательное решение, если и только если Л Е Мп\
Применим теперь теорему 2.10 из книги [Гейл, 1963]. Согласно этой теореме, имеет место ровно одна из двух возможностей: либо имеется неотрицательное решение у системы неравенств (3.4.61) (т. е. А Е Мп^), либо имеется полуположительное решение неравенства (3.4.59) (и тогда А ^ А^п^). Теорема доказана.
Замечание. Исследуя уравнение границы множества в случае, когда матрица Ца^Ц^ неразложима, можно показать, что все неравенства в (3.4.59) можно сделать строгими, если А [Л(п)], где [Л(п)] — замыкание области Мп\ Доказательство этого факта мы опускаем.
Таким образом, из сказанного вытекает, что условие (3.4.58) может быть выполнено только тогда, когда выполняется
(!,...,!) ^Мп\(3.4.62)
(!,...,!) ^ [А^].(!,...,!) ^ [А^].(3.4.63)(3.4.63)т. е. когда единичный вектор отношений шум/сигнал недостижим в коллективе радиостанций, который возникает при оц = 0, г = 1, . . . , п (т. е. при отсутствии ретрансляций). Можно показать также, что для неразложимой матрицы Ца^']^ условие (3.4.58) заведомо может быть выполнено, если
(!,...,!) ^ [А^].
(!,...,!) ^ [А^].
(3.4.63)
(3.4.63)
Итак, использование части мощности передатчика для ретрансляции сигналов «чужих» передатчиков может привести к улучшению качества связи в предположении, что подобным же образом поступят и другие (см., например, (3.4.51)). Такая «взаимопомощь» может оказаться целесообразной для всех передатчиков лишь при условии, что без нее уровень взаимных помех был столь высок, что одновременно во всех парах приемник-передатчик нельзя было достигнуть единичного отношения сигнала к шуму. Иными словами, ретрансляции могут принести пользу, если без них достижимое «качество связи» оказывается (в среднем) достаточно плохим.
Локально-организованное управление многозвенным манипулятором
Хотя локальное управление и коллективное поведение первоначально возникли при анализе технических моделей, многие авторы, следуя М. Л. Цетлину, отмечали близкие биологические аналоги. М. Л. Цет- лин, И. М. Гельфанд и др., которые непосредственно занимались вопросами организации управления в биологических системах, предложили иерархическую многоуровневую схему, где каждый уровень устанавливает для нижеследующего определенную цель, или автономную задачу [Гельфанд и др., 1986].
Под влиянием этих важных работ, опиравшихся на доказательный экспериментальный материал, мы пытались выявить случаи применения в биосистемах не децентрализованной, а локальной организации (см. Введение и разд. 1.2, 1.3).
Эти попытки обсуждались нами с проф. С. В. Фоминым, что нашло отражение в его книге [Фомин, Беркинблит, 1973]. В ней С. В. Фомин, на протяжении многих лет занимавшийся математическим моделированием в биологии, привел локальное управление и свойство живучести как альтернативные возможности организации биосистем.
Мы не будем здесь обсуждать вопросов живучести, которую мы понимаем как принцип организации сложной системы, а не просто как ее свойство. (На этом принципе нами был разработан «живучий» радиоприемник, действующий макет которого был реализован в ИППИ АН СССР Д. А. Беловым.)
Что же касается локального управления, то нами было предложено попытаться применить его к управлению многозвенным манипулятором с тем, чтобы приблизить работу технического устройства к работе такого совершенного «манипулятора», как рука человека. В 1974 г. нами совместно с Ю. И. Крюковым и С. В. Фоминым были опубликованы тезисы [Крюков и др., 1974], в которых речь шла об алгоритмах выработки навыка в действиях манипулятора.
Ниже мы опишем результаты, полученные и подробно изложенные в нашей публикации [Крюков и Стефанюк, 1981]. Отметим, что, с одной стороны, в настоящее время это направление продолжает развиваться Ю. И. Крюковым, а с другой стороны, группа исследователей, возглавляемая И. М. Гельфандом, какое-то время назад вновь обратила
внимание на возможность рассматривать многозвенную управляемую систему как коллектив автоматов [Интел, процессы, 1987, с. 5-38; Беркинблит, Гельфанд, Фельдман, 1986]. Новым в развиваемых этой группой исследованиях, является хорошая экспериментальная база (эксперименты проводились на лягушке).
Мы опирались в основном на работы по робототехническим устройствам и исследования крупнейшего советского физиолога Н. А. Бернштейна, высказавшего в своих работах [Бернштейн, 1947; 1966] ряд блестящих идей организации управления движениями у человека и животных. Ему, в частности, принадлежит важное для нас наблюдение: «Диалектика развития навыка состоит в том, что там, где есть развитие — там каждое следующее исполнение лучше предыдущего, т. е. не повторяет его; поэтому упражнение есть, в частности, «повторение без повторения» [Бернштейн, 1947].
В искусственном интеллекте общепринят способ управления манипулятором, когда все кинематические и динамические параметры манипулятора, исходное и целевое состояния, возможные ограничения вводятся в ЭВМ, целиком рассчитывающую траекторию и необходимое управление. Исследуется иной подход: сначала решение принимается с помощью простого итеративного алгоритма, который хотя и приводит к цели, но может оказаться неудовлетворительным в отношении энергетических затрат, перегрузок и т. п. «Шлифовка» движения манипулятора от раза к разу достигается за счет второго уровня, вносящего свои коррективы [Крюков и др., 1974].
Таким образом, движение манипулятора организуется подобно тому, как это происходит при обучении новичка удару по мячу в теннисе: сначала грубо определяется «примерно правильное» решение, а затем оно корректируется с приобретением опыта. Действительно, если одна и та же (или примерно одна и та же) задача повторяется несколько раз, то естественно попытаться ввести в алгоритм обучение.
В прил. П.2 содержится изложение некоторых результатов по реализации на компьютере одного из таких адаптивных алгоритмов решения задачи управления манипулятором, описанного в работе [Крюков и Стефанюк, 1981].
Модель манипулятора. Для простоты рассматривается плоская цепь из п шарнирно соединенных тонких стержней массы ттц и длины 1^ каждый, г = 1, . . . ,п (см. рис. 3.5). Соседние стержни связаны парами мышц «сгибатель-разгибатель», которые по модельному предложению могут развивать произвольные (контролируемые) усилия из некоторого диапазона («мышцы» всегда натянуты). Первое звено с помощью шарнира и аналогичной пары мышц связано с неподвижной опорой. Трением и силой тяжести в данном случае пренебрегаем, хотя эти факторы также могут быть учтены [Стефанюк и др., 1980].
Перед этой цепью (в дальнейшем будем условно называть ее «рукой») ставится двигательная задача в простой, но достаточно общей форме, допускающей разнообразную конкретизацию: такая рука должна научиться попадать свободным концом манипулятора А в заданную
Рис. 3.5. Модель манипулятора
окрестность некоторой фиксированной точки Л°, лежащей в плоскости манипулятора.
Наложив определенные ограничения на величину и направление скорости подхода к целевой точке, а также добавив ряд дополнительных условий — периодичность движения, специальное распределение масс (например, наличие дополнительного массивного тела на конце руки) и т. п., можно решение такой общей задачи использовать для целого ряда частных двигательных задач: касание (например, для последующего захвата детали), переноска груза, нанесение ударов заданной силы в заданном направлении — одиночных или серией — как например, при забивании гвоздей, бросании в цель и т. д.
Предполагается, что у такого манипулятора имеется система навигации на основе какого-либо зрительного устройства или другой системы ориентировки цепи в плоскости, позволяющей установить расстояние от А до А°.
Двухуровневая система управления. Как уже говорилось, в задаче используется два уровня управления. Первый включает локальную оценку углов, на которые нужно повернуть звенья цепи, и выбор усилий каждой мышцы исходя из этой оценки, величин и направлений текущих скоростей вращения звеньев и расстояния кисти руки до целевой точки. Если бы можно было пренебречь инерционными свойствами звеньев манипулятора, то мы фактически получили бы систему без взаимодействия в смысле п. 3.1.1 и, согласно теореме 3.1, такое управление было бы глобально устойчивым, приводя финально к минимизации расстояния от конца манипулятора до цели. Однако заметим, что возникающие силы взаимодействия между звеньями в шарнирах-суставах практически непредсказуемым образом изменяют картину движения, на что указывал еще Н. А. Бернштейн [Бернштейн,
1966], поэтому управление такой рукой должно вестись непрерывно: выбор углов поворотов и усилий производится на каждом такте до достижения цели. На втором уровне осуществляется обучение, в ходе которого система постепенно находит динамически улучшенную устойчивую траекторию и запоминает ее. Одновременно может производиться непосредственная коррекция и использование реакций в суставах с целью сглаживания траектории и приближения ее к требуемой, что может оказаться выгодным с кинематической и динамической точки зрения.
Подробное описание алгоритмов работы уровней вынесено в приложение П.2, где приводятся также результаты имитационного моделирования работы такой руки на компьютере.
Выводы по главе 3
Показано, что целесообразность поведения в моделях локальноорганизованных систем с непрерывным множеством действий связана, прежде всего, с вопросом устойчивости системы. При этом неустойчивость может возникать по двум причинам. Во-первых, вектор требований компонент системы может оказаться недостижимым, и тогда неустойчивость является неизбежной. Во-вторых, при достижимом векторе требований неустойчивость может возникать из-за взаимных конфликтов в поведении подсистем.
Показано, как следует анализировать оба эти обстоятельства в достаточно произвольном классе моделей.
Для достижения устойчивости в общем случае предложено использовать локальные критерии, опирающиеся исключительно на доступную локально каждой подсистеме информацию.
Введено представление о системе без взаимодействия, соответствующее важному для практики классу локально-организованных иерархических по взаимодействию систем. Показана глобальная устойчивость поведения такой системы при достаточно общих ограничениях.
Сформулированы и исследованы содержательные условия устойчивости локально-организованной системы в общем случае, использующие рефлексивные соображения о том, каков будет результат для данной подсистемы после ответной реакции остальных подсистем,
Введенное автором понятие эластичности перенесено на достаточно общий случай системы с локальной организацией. Показано, что эластичность не может быть обеспечена во всем классе критериев и алгоритмов поведения подсистем, опирающихся на вариации по действиям подсистем, т. е. где равновесные точки — суть партии Нэша в обычном смысле.
Исследование поведения локально-организованных систем потребовало дополнительных результатов, относящихся к теории матриц. Получено оригинальное условие того, чтобы матрица Метцлера была бы М-матрицей. Как следствие этого результата доказана выпуклость области достижимых векторов в системе с антагонистическим взаимодействием, а также получено новое условие невырожденности
произвольной матрицы, являющееся специальной («аналитической») формой условия Фидлера.
В рамках локально-организованных систем сформулирована и исследована новая модель связи многих пользователей, в которой часть мощности передатчика используется для ретрансляции. Получены необходимые условия полезности введения ретрансляции в такой системе.
Показано, что принципы локальной организации системы позволяют предложить новый подход к проблеме управления многозвенным манипулятором, однако необходимое сглаживание траектории (выработка навыка) потребовало введения дополнительного взаимодействия между подсистемами, компенсирующего естественное, в силу инерционности, взаимодействие подсистем.
В целом показано, что при локальной организации важным является и характер взаимодействия подсистем, и вид локальных критериев индивидуального поведения подсистем. Оба эти фактора достаточно подробно исследованы.
Глава 4
ЛОКАЛЬНЫЙ ПОДХОД К РЕШЕНИЮФУНДАМЕНТАЛЬНЫХ ЗАДАЧИСКУССТВЕННОГО ИНТЕЛЛЕКТА
В области программирования в конце 50-х годов зародилось новое направление — искусственный интеллект [Стефанюк, 1987в]. Ведущие представители этого направления с самого начала пытались как-то отделить его от традиционной кибернетики, т. е. от теории управления, теории автоматов и т. д. Поэтому в обиход стали вводить новые парадигмы, новые постановки задач, новые методы и новые критерии, опираясь, главным образом, на успехи молодой вычислительной науки. (Одно время с термином «искусственный интеллект» успешно конкурировал термин «машинный разум».)
В настоящей главе мы проанализируем возможности локального подхода в некоторых фундаментальных проблемах искусственного интеллекта. В разд. 5.1 гл. 5 будет предпринята попытка показать место локального подхода, характер получаемых результатов и их практическую полезность в области собственно программирования. В настоящей же главе будет показана продуктивность использования локальной организации в области искусственного интеллекта при решении таких проблем, как представление задач и знаний, обучение и формирование систем знаний, объединение свидетельств, поступающих из разных источников.
В разд. 4.1 рассматриваются вопросы эвристического локального поиска представления задач в проблеме плотного покрытия некоторого плоского множества заранее определенными фигурками. В основу подхода положен так называемый принцип семиотической интроспекции, который нам представляется одним из «слабых», в силу его универсальности и широкой употребимости, методов упрощения описания задач, содержащих большое количество в сущности однотипных элементов.
В разд. 4.2 описаны многочисленные варианты и обобщения задач, так или иначе прямо напоминающих «крепкий орешек», описанный Маккарти, показывающие широкие возможности использования семиотической интроспекции. Приведены математические исследования, переводящие проблему из области эвристики в область строгого анализа.
Проводится параллель между двумя внешне весьма далекими проблемами, а именно между задачей плотного покрытия некоторого плоского множества и задачей управления потоками такси в городе.
В разд. 4.3 изучаются возможности локального подхода при эволюционном конструировании достаточно сложных технических устройств, таких, как карбюратор автомобиля. Начато обсуждение вопросов использования аргументации в противовес чисто логическому
анализу. К этому вопросу мы еще раз обратимся в следующих разделах книги.
В разд. 4.4 описан эксперимент по автоматическому формированию фреймо-подобных структур, который, в конечном счете, позволил сформулировать теоретико-категорную модель представления знаний и обучения в разд. 4.5. Показано, что формирование простых фреймов может быть прямо связано с минимизацией времени выборки данных.
Формальная теория представления знаний и локального обучения, изложенная в разд. 4.5, опирается не интенсивное использование элементов теории категорий, которые позволяют описывать разнообразные эффекты обобщения и специализации знаний на самом абстрактном уровне и поэтому охватывающих большое число конкретных случаев.
Раздел 4.6. посвящен вопросам построения теории экспертных (человеко-машинных) систем — области, традиционно считающейся чисто прикладной. Показано, что и здесь локальные представления играют важнейшую роль, позволяя строить большой программный комплекс и базу знаний локальным образом.
В этом разделе предложен и применен аксиоматический подход к суммированию свидетельств с учетом их возможной зависимости друг от друга.
Основные результаты главы опубликованы в работах [Стефанюк, 1973; 1975; 1982; 19876, 1966; 1985; 1987в; 1987г; 1988а; 19886; Жожика- швили и Стефанюк, 1984а; 19846; 1985; 1986а; 19866], в работе [Гинзбург и Стефанюк, 1979], в работах [Алексеева и др., 1984; Алексеева и Стефанюк, 1984] и в работе [Гершт и Стефанюк, 1968].
Программа на языке Лисп, необходимая для экспериментов из раздела 4.4, написана А. В. Жожикашвили с использованием созданной автором книги системы ЭКЛИСП (см. следующую главу).
А. В. Жожикашвили, как специалист по теории категорий, сыграл решающую роль при конкретизации формальной модели представления знаний и обучения, описанной в разд. 4.5. (По этим материалам им защищена кандидатская диссертация.) Здесь, автору настоящей книги принадлежат исходная постановка проблемы, выбор направления исследования, общее руководство и фактическое участие на всех этапах развития темы.
Локальный подход к выбору представления задач
В этом разделе будут рассмотрены некоторые задачи, характеризующиеся тем, что в их исходной формулировке содержится большое количество различных между собой элементов, имеющих, как мы будем говорить, различные имена. Указанное обстоятельство затрудняет
решение таких задач на ЭВМ: требуемый объем перебора невозможно осуществить даже на современных супер-ЭВМ [Time-life, 1987], поскольку он экспоненциально растет с ростом числа разноименных элементов.
Однако будет показано, что уже первые попытки начать решение поставленной перед исследователем задачи дают необходимую эвристическую информацию для упрощения исходного описания задачи путем уменьшения числа используемых для элементов задачи «имен».
Можно сказать, что требование уменьшить общее количество имен является здесь «глобальным», однако его реализация сводится к локальным процедурам. Возникающие при этом новые представления для задачи не обязательно будут полезными для ее решения в силу локальности используемых соображений, но в некоторых нередких примерах, которые будут описаны ниже, такие представления оказываются чрезвычайно полезными, т. е. поведение локально-организованной системы S в целом оказывается целесообразным.
Когда формулируется некоторая эвристика (например, желательность занятия «центра» в игре в шахматы), она формулируется не потому, что стало известно, как решить всю задачу в целом, т. е. выиграть партию в шахматы, а как результат попытки решить некоторую частную подзадачу. В этом смысле использование совокупности эвристик — это разновидность локального подхода к решению задачи.
В подразделе 4.1.1 речь идет не столько об использовании подобных эвристик, сколько о том, как строить такие эвристики, опираясь на некоторые важные соображения семиотического характера.
Если обратиться к схеме, представленной на рис. 1.3, то в разделах 4.1, 4.2 под S следует понимать метод решения всей задачи, а под Si — отдельные соображения (эвристики) по ее решению. Здесь общим требованием является возможность построить решение, которое обеспечивается, как известно, выбором удобного представления для решаемой задачи.
Это удобство в идущих далее примерах обеспечивается малым числом имен, используемых для элементов, характеризующих задачу. В разделах 4.1, 4.2 будет показано, что, действительно, такое упрощение представления позволяет решить и задачу в целом.
Принцип семиотической интроспекции. Семиотика — это наука о знаковых системах. Ее можно применять к задачам, носящим символьный характер. Что касается несимвольных задач, в которых описание дается в терминах слабоструктурированных данных, то к ним идеи семиотики могут быть применены лишь после преобразования в символьную форму. Методы такого рода преобразований можно найти в монографии [Загоруйко, 1999].
Остановимся на одной идее, связанной с использованием семиотики при выборе адекватной формулировки, или выборе представления
задачи, а именно, на семиотической интроспекции, являющейся развитием наших прежних исследований в этом направлении.
Принцип семиотической интроспекции в несколько вольной формулировке звучит следующим образом: «подобное — отождествить, различие — подчеркнуть» [Стефанюк, 2000г; е; з].
Приведенная нарочито расплывчатая формулировка (напоминающая по форме принцип гомеопатии в медицине: «лечить подобное подобным») подчеркивает сущностное свойство данного принципа. Это — не алгоритм, не прямой рецепт, а лишь подсказка для направления интуиции. В некотором смысле, указанный принцип определяется вполне аналогично формулировке GPS (General Problem Solver), т. е. универсального решателя задач, который описан как «метод устранения различий при достижении цели» (предложенный Ньювеллом, Саймоном и Шоу). Что понимать под «различием» и как его «устранять» — зависит от конкретной проблемной области. В формулировке GPS не содержится рекомендаций, как раскрывать эти понятия в каждом отдельном случае. Поэтому метод GPS, который нашел многочисленные практические применения, — например, в системе STRIPS Нильсона для прокладки маршрута интеллектуальным роботом при наличии препятствий — следует считать принципом решения задач, а не непосредственной рекомендацией к ее решению.
Предлагаемый нами принцип семиотической интроспекции, отличает от GPS одно очень важное обстоятельство: применение GPS возможно лишь с того момента, когда задано описание начального состояния и поставлена цель решения задачи. SIP (Semiotic Introspection Principle), т. e. принцип семиотической интроспекции, взятый сам по себе, не решает задачу, но он может применяться для продвижения к подобной цели во всех тех случаях, когда задана начальная формулировка задачи, например, начальная позиция и допустимые ходы. Его применение может позволить переформулировать задачу некоторым иным образом (т. е., представить задачу по-иному [Stefanuk, 1973]). Иногда при этом новое представление задачи оказывается настолько эффективным, что достижение многих поставленных целей становится тривиальным. Обычно люди в таких случаях говорили бы об «открытии» или «озарении».
Сама формулировка принципа семиотической интроспекции «подобное — отождествить, различие — подчеркнуть» предполагает, что в исходной задаче должен быть механизм (или еще один принцип) для определения аналогичности или подобия. Ниже будет показано, что в ряде случаев основания для этого содержатся в самой прагматике решаемой задачи. Кстати, мы используем слово интроспекция, чтобы подчеркнуть, что указанные действия осуществляются на этапе «размышления над задачей».
Практически, отождествление обычно сводится к присваиванию соответствующим элементам задачи одного и того же имени; подчеркивание различия, наоборот, осуществляется путем введения строго
различных имен. Эти имена могут носить как содержательный, так и абстрактный характер. В абстрактном случае для различных имен имеет смысл использовать натуральный ряд чисел, или же функцию (подпрограмму) GENSYM языка ЛИСП, которая гарантирует выдачу совершенно нового имени при каждом обращении к ней.
Можно убедиться, что указанный принцип работает в ряде задач (см. ниже), позволяя построить для этих задач новые представления, полезные с некоторой прикладной точки зрения. Есть все основания предполагать, что этот принцип может быть использован и во многих других областях.
Семиотическая интроспекция в задаче «крепкий орешек». Хорошо известно, что удачное описание задачи может самым существенным образом облегчить ее решение. Без тщательного исследования проблемы адекватного представления задачи искусственный интеллект рискует навсегда остаться совокупностью нескольких удачных технических находок и приемов, привлекательность которых падает сразу же после их выделения и изучения [Нильсон, 1973]. Обнаружение механизмов самостоятельного открытия системой того, что не было сообщено ей извне, могут придать новый импульс этому научному направлению.
В данном разделе вопрос представления исследован на примере иерархической последовательности задач, порожденной одной известной математической головоломкой — доказательством невозможности покрыть косточками домино шахматную доску с удаленными угловыми клетками. Задачи в этой иерархии упорядочены по степени абстракции и, соответственно, требуют представлений возрастающей степени сложности.
Часто полагают, что удачные представления могут возникнуть лишь как результат озарения. В работах [Stefanuk, 1973; Стефанюк, 1975] мы показали, что во многих случаях такие представления могут быть построены путем уменьшения числа используемых имен для элементов задачи и их адекватного присваивания. Основная мысль состоит в том, что многие из задач, с которыми мы сталкиваемся, оказываются трудными, потому что в своей исходной формулировке они содержат слишком большое число различных элементов, т. е. элементов, имеющих различные имена. Когда таких элементов немного, то задачу решает простой перебор. Но при большом числе имен пространство поиска становится слишком большим и задача предстает как трудно разрешимая.
В работах [Stefanuk, 1973; Стефанюк, 1975; Stefanuk, 1996] мы показали, что обычно сама исходная задача содержит определенную эвристическую информацию, необходимую для ее упрощения. Эта эвристическая информация может быть выделена на стадии первых попыток решить задачу. В этом месте наш подход существенно отличается от мысли, изложенной в работе [Simon, 1995], где предполагается, что «поиск начинается с новой точки и с новым направлением внимания, а это делает предыдущие попытки покрыть доску несущественными».
Задача о покрытии усеченной шахматной доски использовалась во многих учебниках по искусственному интеллекту [Нильсон, 1973; Kowalski, 1979] (рис. 4.1) для иллюстрации важной роли адекватного описания задачи. На самом деле, проф. Дж. Маккарти первым обратил внимание на этот интересный пример [McCarthy, 1964]. В своей заметке он тогда показал, что если представить задачу в виде совокупности формально-логических выражений, описывающих свойства доски, расположение ее клеток и характер покрытия доски каждой косточкой домино, то возникает задача на доказательство теорем, которая не под силу ни одному из имеющихся компьютеров. Именно тогда он назвал эту задачу крепким орешком для искусственного интеллекта.
Парадоксально то, что для этой задачи существует очень простое решение. Действительно, если клетки доски окрашены в чередующиеся черные и белые цвета, то легко видеть, что каждое домино накрывает одну черную и одну белую клетку. Отсюда следует, что покрытие доски невозможно, поскольку числа черных и белых полей у доски с удаленными клетками не равны друг другу.
Какое-то время казалось, что родившаяся отсюда идея «инварианта» позволит решить не только эту, но и многие близкие задачи. Но до работы [Stefanuk, 1973] никто не поднимал вопроса о том, каким образом может быть открыто столь удачное шахматное описание доски (рис. 4.2), которое приводит к блестящему решению поставленной задачи. В нашей же работе для этого предложена эвристика уменьшения числа используемых имен и их адекватного приписывания, работоспособность которой была продемонстрирована на множестве примеров [Stefanuk, 1973; Стефанюк, 1975; Stefanuk, 1996].
Проблема адекватной раскраски элементов некоторых множеств возникает во многих случаях. Например, в [McCarthy, 1990; Kempe, 1979] она обсуждается в контексте раскраски географической карты.
Рис. 4.1. Раскрашенный массив Рис. 4.2. Нераскрашенный массив
В замечательной работе [Зенкин, 1991] по когнитивной графике показано, как удачная раскраска числовых массивов помогает решить многие исключительно трудные задачи из области теории чисел. Большое количество примеров покрытия и замощения разнообразных массивов содержится в книге [Голомб, 1975]. К сожалению, как правило, в ней приводятся лишь решения задач, но не объясняется, каким образом автор пришел к таким решениям. В этом и следующих разделах мы покажем, как можно использовать для этого принцип семиотической интроспекции «подобное — отождествить, различие — подчеркнуть.»
Настоящее изложение во многом стимулировано выступлением Г. Саймона на IJCAI-95 [Simon, 1995], который экспериментально изучил проблему озарения и открытия, используя в качестве примера все ту же задачу «о покрытии усеченной шахматной доски.»
Однако авторы редко объясняют то, как они пришли к используемым представлениям задачи, тогда как вскрытие механизмов возникновения таких представлений [Stefanuk, 1973; Стефанюк, 1975] является центральной темой данной главы.
Вариации на тему задачи «крепкий орешек»
Итак, первоначальная задача, вкратце, состоит в том, чтобы доказать невозможность совершенного покрытия квадратного массива клеток 8 х 8, из которого выброшены две максимально удаленные друг от друга клетки [Голомб, 1975; Нильсон, 1973]. Как известно, доказательство невозможности совершенного покрытия (нет пропущенных клеток, и домино не выступают за край доски) следует легко из того, что число черных и число белых клеток на доске не равны друг другу.
Формулировка же этой задачи как обычной задачи логического доказательства приводит к громоздкой комбинаторной проблеме, решить которую за обозримое время не представляется возможным [McCarthy, 1964]. Однако, если клетки массива раскрашены в шахматном порядке (см. рис. 4.1), то сразу видно, что каждое домино накрывает одну черную и одну белую клетку. Поскольку число черных клеток в таком усеченном массиве не равно числу белых, то совершенное покрытие очевидно невозможно.
В ходе решения любой задачи приходится совершать множество открытий различной степени трудности и важности. В случае «крепкого орешка» (см. [McCarthy, 1964]) самой важной нам показалась догадка об использовании шахматной раскраски. Имея такую раскраску, уже нетрудно догадаться об инварианте [Simon and Siklossy, 1972; Stefanuk, 1973; Simon, 1995], ведущем к решению задачи: каждая косточка домино накрывает ровно одну черную и одну белую клетку.
В работе [Stefanuk, 1973] мы обратили внимание на другое обстоятельство, связанное с этой задачей: а каким же образом человек пришел к мысли о раскраске массива из 62 клеток на манер шахматной доски. В этом случае обычно говорят об «озарении» (см. множество примеров
таких «озарений» в книге о полимино [Голомб, 1975]) и делается утверждение, что искусственный интеллект невозможен, так как программы не способны к открытиям.
Таким образом, в работе [Stefanuk, 1973] мы начали тему автоматических методов поиска представления задачи и, в частности, автоматических методов создания окрасок при решении задачи покрытия. Прежде чем переходить к раскрытию темы, заметим, что эта работа была опубликована в тот период, когда в искусственном интеллекте большую роль начали отводить вопросам представления знаний. Однако правильнее было бы говорить о представлении задач и знаний, что нашло отражение в научной программе 4-й международной объединенной конференции по искусственному интеллекту (IJCAI-1975, Тбилиси).
Заметим, что «открытие» соответствующей раскраски остается весьма трудным делом, даже если заранее задаться поиском инвариантных свойств [Simon and Siklossy, 1972]. Это наблюдение подтверждается также и экспериментальными результатами работы [Simon, 1995].
Эвристика, позволяющая естественным путем прийти к необходимой раскраске, была предложена и изучена в [Stefanuk, 1973; Стефа- нюк, 1975]. Ниже мы показываем, что и остальные этапы решения задачи точно также могут быть пройдены без привлечения так называемого озарения.
Иерархия проблем. Приводимые ниже формулировки задач, прямо порожденных задачей «крепкий орешек», обладают тем свойством, что каждая последующая задача является обобщением предыдущей:
Массив раскрашен на шахматный манер, и объяснено понятие инварианта (рис. 4.1).
Массив раскрашен, но никаких подсказок к решению задачи не дается (рис. 4.1).
Предъявлен нераскрашенный массив (рис. 4.2 и рис. 4.3).
Предъявлена фигура — ортогон (рис. 4.13).
Эксперименты с вариантами А, В, С [Simon, 1995] показали, что для людей трудность решения задачи соответственно последовательно возрастает.
Случай В. В работах [Stefanuk, 1973; Стефанюк, 1975] показано, что трудность исходной задачи обусловлена тем, что все клетки исходно имеют различные имена (рис. 4.3), и любая процедура перебора оказывается слишком громоздкой.
При попытках покрыть этот массив полностью в ходе перебора возможностей строится следующее множество покрытий:
path1 = [ai2, ai3], [а^, ai5], [ai6, a^],. . . , [a85, a86], [a87, —], [a76, —],
312
313
а14
315
316
а17
а18
a2i
3>2
З>3
3>4
а25
а26
а27
а28
Зи
З32
Ззз
З34
З35
З36
3^7
3^8
З41
З42
343
З44
З45
З46
З47
З48
З51
352
353
354
З55
З56
З57
З58
3б1
Зб2
ЗбЗ
Зб4
Зб5
Збб
Зб7
Зб8
а71
372
а73
З74
З75
3?6
З77
а7«
381
302
Заз
304
3fi5
Зйб
307
Рис. 4.3. Исходный массив с показанными именами
path2 — [ai2, а22], [ахз, а2з], [ai4, ai5],. . . , [а77, а87], [а78, —], [а87, —],
path^ — [ai2, а22], [ахз, ai4], [ai5, aie],. . . , [а84, a8s], [а85, — ], [а7е, — ].
Здесь в квадратных скобках показана неупорядоченная пара символов. Через [?/, —] показано, что для у не нашлось пары. Порядок элементов в этих цепочках несуществен, и мы помещаем такие непарные элементы в конец, где они и окажутся, вероятно, при реальной попытке покрыть доску косточками домино, как это было в описанных экспериментах [Simon, 1995].
Содержащиеся здесь пары удовлетворяют следующим условиям:
агз / akl И либо j = Ц 1 = к ± 1, либо i = к. 3 = I ± 1.
Если же воспользоваться именами (■ и □), приписанными массиву рис. 4.1 в шахматном порядке, то получим:
а^з = И, если г + j = 2к. к = 1, 2, . . . ,a^j = □, в противном случае.
Из предыдущего получаем, например,
path! = [■, □], [■,[■, □], [■, □], [■, -], [■, -];
впрочем, аналогично будут выглядеть и все другие ветви перебора.
Рассмотрим теперь, например, path^. В принципе, он либо содержит непокрытые клетки, либо нет. Предположим, что все клетки покрыты.
Покажем, что такое предположение ведет к противоречию, Действительно, пусть тц будет общим числом покрытых пар клеток. Тогда в именах ■ и □ должно выполняться следующее соотношение баланса:
тц (1 + □) = 32 В + 30 □.
Однако последнее соотношение не может выполняться ни для какого целого п^, в чем можно убедиться формальными методами, или путем проверки на компьютере для п^ = 1, 2, . . . , 31. Иными словами, показано, причем, что очень важно, не прибегая к понятию инварианта, что совершенное покрытие невозможно.
Случай А. В приведенных рассуждениях мы не прибегали к понятию инварианта. Мы просто подсчитывали число клеток того и другого цвета, и не видно, почему идею инварианта следует считать базовой эвристикой [Simon and Siklossy, 1972; Stefanuk, 1973; Simon, 1995]. Здесь она нам не потребовалась. Тем не менее, ряд ученых стали принимать эту эвристику за исходную. И действительно, в ряде случаев такая эвристика оказывается чрезвычайно полезной. Соответствующие примеры идут ниже, позволяя сделать мысль о правильном назначении (присваивании) имен более выпуклой и увидеть ограничения, присущие нашему подходу.
Возьмем тримино, т. е. домино, покрывающее ровно три клетки (в одном столбце или ряду). Тогда, ограничиваясь двумя именами 0,1, получаем инвариантную «раскраску», представленную на рис. 4.4 а, с помощью которой можно, например, доказать невозможность совершенного покрытия такими тримино массива, представленного на рис. 4.4 б.
Взяв три имени, получим «раскраску», показанную на рис. 4.5 а, которая позволяет доказать невозможность покрытия массива рис. 4.5 б.
Обратившись к гексагональным элементам рис. 4.6 а, увидим, что из них нельзя построить массив, показанный на рис. 4.6 б (слева — используя два имени, справа — используя три имени).
В работе [Simon and Siklossy, 1972] доказано, что куб размером 6x6x6 нельзя построить из одинаковых кирпичей размером 1x2x4. (Приведенное там доказательство дается на 2-х книжных страницах. Оно опирается на введение понятия «карандаша» и подсчете всех возможностей, аналогично тому, как решаются сходные задачи в [Голомб, 1975], см. ниже.)
Чтобы свести эту задачу к нашей проблеме покрытия или использования имен, заметим, что такие кирпичи во всяком случае должны были бы располагаться параллельно сторонам куба, находясь от его сторон на расстояниях, кратных 1. Тогда можно высказать утверждение, эквивалентное исходному: «Куб размером 6x6x6, составленный из кубиков размером 1x1x1, нельзя представить в виде блоков из таких кубиков, имеющих размер 1x2x4».
Используя два имени («черный» и «белый»), нетрудно прийти к инвариантной раскраске куба, показанной слева на рис. 4.7. Полученное 6*
001001001
100100100
010010010
001001001
100100100
010010010
а
Рис. 4.4. Инвариантная «раскрас-ка» (а), показывающая невозмож-ность покрытия массива (5) с по-мощью тримино
012012012
120120120
201201201
012012012
120120120
201201201
Рис. 4.5. Другая инвариантная «раскраска» (а), показывающая невозможность покрытия массива (5) с помощью тримино
Рис. 4.8. Пример массивов (5), которые нельзя покрыть квадрамино (а)
Рис. 4.10. Подобие клеток при использовании нескольких имен
Рис. 4.9. Подобие клеток прииспользовании двух имен
описание легко доказывает требуемое утверждение, так как согласно рисунку, общее число черных кубиков не равно общему числу белых, тогда как всякий кирпич содержит ровно 4 белых и 4 черных кубика. Для сравнения на рис. 4.7 справа показана и другая черно-белая раскраска, которая является инвариантной, но поставленную задачу не решает.
(Работа [Simon and Siklossy, 1972] как раз опирается здесь на некое «озарение». В самом деле, решение задачи у них начинается фразой «Вообразите, что этот куб состоит из кубиков размером 2x2x2. Введем обычным образом для них координаты Lj. k (1 ^ 1^ к ^ 3). Покрасим черным те кубики, у которых сумма координат нечетна; остальные кубики покрасим в белый цвет» и т. д.)
Легко видеть, что в случае тримино в виде уголка вообще не существует нетривиального инвариантного описания. Однако в случае квадрамино, изображенного на рис. 4.8 а, шахматная раскраска даст инвариантное расположение «имен», показывающее, что такими фигурками нельзя покрыть ни один из массивов на рис. 4.8 б.
Случай С. Этот случай подробно описан в наших публикациях [Stefanuk, 1973; Стефанюк, 1975; Stefanuk, 1996], где показано, что приписывание имен диктуется самой задачей. По крайней мере, в задаче «крепкий орешек» и некоторых схожих задачах для этого не требуется озарения. Вполне достаточно элементарного учета сходства клеток в процессе попыток их покрытия (см. рис. 4.10), т. е. применение изложенного выше принципа семиотической интроспекции.
В предельном случае для всех клеток можно использовать одно имя. Тогда получаем в высокой степени однородное описание, поскольку различные действия (расположения косточек) отличаются лишь числом покрытых клеток. Такое назначение имен, очевидно, позволяет решить только самые простые задачи: например, доказать, что косточками домино нельзя покрыть любой массив с нечетным числом клеток.
Два имени дают не столь тривиальное, но все же весьма однородное описание следующего факта «косточка домино положена где-то на доску».
Покажем, что принцип семиотической интроспекции можно использовать для того, чтобы получить совершенно другое представление для задачи «крепкий орешек», и даже целое множество таких представлений, применив этот принцип с большим количеством допустимых имен.
Обратимся для этого к рис. 4.10.
В разделах 4.2.1, 4.2.2 процедура переименования была ограничена, в случае «крепкого орешка» и схожих задач, конкретным планом решения задачи, основанным на понятии инвариантного представления. Это ограничение, однако, не является обязательным. Так, используя эвристику переименования, можно прийти и к новому классу представлений для «крепкого орешка», типичные примеры которых показаны на рис. 4.11а. При построении таких описаний рассуждение ведется аналогично разделам 4.2.1, 4.2.2.
Припишем имя «1» некоторой клетке (клеткам). Припишем имя «2» всем ее соседям на основании следующей общности этих клеток —
6
7
8
9
10
11
12
6
5
6
7
8
9
10
11
5
4
5
6
7
8
9
10
4
3
4
5
6
7
8
9
3
2
3
4
5
6
7
8
2
1
2
3
4
5
6
7
3
2
3
4
5
6
7
8
4
3
4
5
6
7
8
2
3
4
5
6
7
8
2
1
2
3
4
5
6
7
3
2
1
2
3
4
5
6
4
3
2
1
2
3
4
5
5
4
3
2
1
2
3
4
6
5
4
3
2
1
2
3
7
6
5
4
3
2
1
2
8
7
6
5
4
3
2
7
6
5
4
3
2
1
7
6
5
4
3
2
1
2
6
5
4
3
2
1
2
3
5
4
3
2
1
2
3
4
4
3
2
1
2
3
4
5
3
2
1
2
3
4
5
6
2
1
2
3
4
5
6
7
1
2
3
4
5
6
7
к
1 2
3 4
5 6
7
8 9 10 11 12
gk
1
4
7
8
8
9
8
7
4
3
2
1
А,
3
4
4
4
5
3
4
0
3
-1
А,
8
4
6
2
4 О
2
к
1
2
3
4
5
6
7
gk
8
14
12
10
8
6
4
А,
7
5
5
3
3
Рис. 4.11 б. Пример массива, покрытие которого невозможно
косточка домино, покрывающая клетку «1», обязательно покрывает одну из этих клеток. По тем же соображениям припишем имя «3» всем соседям клеток «2» в силу их подобия и т. д. (см. рис. 4.11)
Каждое из представлений рис. 4.11 а может быть использовано для доказательства невозможности полного покрытия косточками домино показанного там массива. Чтобы в этом убедиться, обратимся к таблицам под каждым из рисунков, в которых показано, что предположение о возможности совершенного покрытия приводит к противоречию, если последовательно учитывать «расход» имен, начиная с имени «1».
Видно, что либо имен не хватает, либо они в избытке.
Случай D. Несколько лет назад Д. А. Поспелов и я оказались одновременно в Японии, но в разных университетах (Д. А. Поспелов был в международном университете города Айзу, расположенном в северной части Японии, а я — в университете города Осака). Дмитрий Александрович пригласил меня выступить у него на семинаре. Зная особый интерес Дмитрия Александровича к японской культуре, я подготовил специальный пример «на местном материале». Дело в том, что я долгое время жил в настоящей японской комнате, устланной соломенными матами — татами (рис. 4.12).
Комната имела почти квадратную форму, но в ней был выделен специальный угол, который, как оказалось, предназначался для Доброго Духа.
В следующей таблице приведены типичные размеры татами, широко используемых в Японии. Заметим, что сама конструкция татами не позволяет их разрезать на куски, поэтому задача «замощения» пола татами с фиксированными размерами является достаточно актуальной.
Таблица 4.1. Традиционные размеры японских татами в см
KYOU-MA
160 х 80
EDO-MA
140 х 70
HON-MA
180 х 90
Поскольку наиболее распространенным, как мне сказали, является размер KYOU-MA, то задача, которую я использовал в своем докладе, была сформулирована следующим образом.
Рис. 4.12. Татами в японском помещенииРис. 4.12. Татами в японском помещенииПусть имеется комната указанной формы и татами типа показанных на рис. 4.13.
Рис. 4.12. Татами в японском помещении
Рис. 4.12. Татами в японском помещении
Назовем ортогоном [Stefanuk, 1996] плоский многоугольник, в котором любые две стороны либо ортогональны, либо коллинеарны.
640см560см640см560см±
640см560см
640см560см
80см
т
Рис. 4.13. Задача «крепкий орешек», сформулированная на фигурах
4.14.1
4.1
4.1
Фигура на плоскости, являющаяся объединением двух ортогонов
с частично или полностью совпадающими сторонами, также есть ортогон. Мы будем называть результирующую фигуру объединением или суммой. Обе фигуры, показанные на рис. 4.14, являются ортогонами.
В нашем примере ортогоны соизмеримы и позволяют сформулировать следующую задачу. Будем говорить, что данный ортогон может быть замощен другими ортогонами, когда он представим как объеди
нение этих ортогонов, компланарное исходному ортогону.
Теорема 4.1. Левый ортогон на рис. 4-13 нельзя замостить «татами», образец которых показан справа.
Лемм а 4.1. Левый ортогон (целевой) не может быть замощен такими «татами», если хотя бы одно из них расположено не параллельно его сторонам, как показано на рис. 4^4-
Эта лемма очевидно вытекает из свойств ортогонов и их объединений.
Кроме того, геометрическое место всех границ татами, которые могли бы дать совершенное замощение левой фигуры при всех воз
можных положениях татами внутри целевого ортогона, представляет
собой совокупность линий, изображенных на рис. 4.2, что следует из сопоставления физических размеров ортогонов и приведенной выше леммы.
Далее, при попытке доказать (или опровергнуть) утверждение теоремы путем перебора, для контроля хода перебора нельзя использовать сами эти линии, поскольку каждая линия принадлежит, по крайней мере, паре ортогонов. В то же время единичные поля (или ячейки), образуемые этими линиями, принадлежат только одному домино (при данном конкретном покрытии). Их имена могут быть использованы для представления различных по
ложений домино и прослеживания хода процесса замощения (см. рис. 4.3).
Иными словами, случай D сводится к хорошо изученному нами случаю С.
Шахматная раскраска в шахматах. Прежде чем двигаться дальше, сделаем небольшое «лирическое отступление».
Почему шахматная доска раскрашена на шахматный манер (см. рис. 4.15), зачем там это нужно?
Сразу же отметим, что для того, чтобы следить за тем, как ходит «белопольный» и «чернопольный слон», раскраска доски несущественна.
Можно много фантазировать на тему раскраски. Вот одна из таких фантазий: шахматная раскраска связана с тем, что начальное положение фигур в шахматах по некоторым причинам не является полностью симметричным, а лишь зеркальносимметричным.
Вызвано это, по нашему мнению, тем, что иначе преимущества первого хода сделают игру просто неинтересной: внимательный партнер, играющий белыми, будет всегда выигрывать. (Мне приходилось обсуждать эту «проблему» с несколькими крупными шахматистами, которые в целом подтвердили эту гипотезу.)
Но при такого рода симметрии
Рис. 4.15. Пример шахматной позицииРис. 4.15. Пример шахматной позициишахматная раскраска, видимо, призвана помочь игрокам при начальной расстановке фигур, в которой ферзь стоит напротив ферзя противника, а король — напротив короля противника.
Рис. 4.15. Пример шахматной позиции
Рис. 4.15. Пример шахматной позиции
Рис. 4.16. Китайские шахматыРис. 4.17. Индийские шахматы чату-СянцирангаРис. 4.16. Китайские шахматыРис. 4.17. Индийские шахматы чату-СянцирангаПриведенное соображение в какой-то мере подтверждают некоторые древние варианты шахмат, в которых начальное положение носит центрально-симметричный характер. Рассмотрим, например, показанные на рисунках 4.16, 4.17 две старинные игры, предшественницы современных шахмат.
Рис. 4.16. Китайские шахматыРис. 4.17. Индийские шахматы чату-
Сянциранга
Рис. 4.16. Китайские шахматыРис. 4.17. Индийские шахматы чату-
Сянциранга
В примерах рисунков 4.16, 4.17 черно-белая раскраска не используется. (Проф. Маккарти как-то заметил, что японские шахматы также являются в этом смысле центрально-симметричными. Видимо поэтому там также нет «шахматной» раскраски.)
4.2.2. Работа с произвольным массивом клеток. Хотя задачи типа крепкого орешка не представляют сами по себе никакого практического интереса (если не считать задачи плотного покрытия пола татами, описанного в предыдущем разделе), нам показалось интересным проследить, насколько далеко позволяет уйти применение принципа семиотической интроспекции в задачах такого класса ).
На рис. 4.10 показано, как из подобия элементов массива клеток шахматной доски следует возможность приписывания более, чем двух имен.
Выбор хорошего представления для задачи часто определяет ее решение. Задача «крепкий орешек» (п. 4.1.2) является тому блестящим примером.
Ниже с использованием локальной эвристики переименования построен класс представлений для задачи покрытия массива квадратных клеток косточками домино. Показано, что эти представления глубоко связаны с самой задачей, так как они дают необходимые и достаточные условия возможности совершенного покрытия.
Полученные новые представления позволяют ответить на существенно более серьезный вопрос: при каких условиях возможно покрытие произвольного массива квадратных клеток, а не только того, который использован в оригинальной формулировке задачи «крепкий орешек» [Стефанюк, 1975, Stefanuk, 1996а]. Чтобы в этом убедиться, введем некоторые определения.
Определение. Для односвязного массива квадратных клеток определим систему наименований Р путем приписывания имени 1 некоторому непустому множеству клеток массива gi и имена 2,3, . . ., остальным клеткам таким образом, что имена любых двух соседних клеток отличались на 1.
Пусть g^ есть множество всех клеток с именем к. и пусть \g^ | обозначает мощность этого множества. Система наименований называется корректной тогда и только тогда, когда выполняется
2 = Ы - |gi| > о
з = Ы — А2 > 0
... (4.2.1)
s-l = ks-l| — As-2 0
As = IsTs I — As—1 = 0,
где s — «наибольшее» имя, использованное в Р.
Следующая теорема составляет главный результат настоящего раздела.
Теорема 4.2. Двумерный односвязный конечный массив из п квадратных клеток может быть полностью покрыт (замощен) двухклеточными косточками домино тогда и только тогда, когда любая возможная для этого массива система наименований Р является корректной.
Замечание 1. Нет необходимости отдельно выяснять, четно ли п.
Замечание 2. Раскраска шахматной доски является одной из правильных систем имен Р.
Необходимость. Покрытие невозможно, если некоторая Р не является правильной.
Докажем эквивалентное утверждение: если полное покрытие возможно, то корректна любая система имен. Действительно, предположив существование покрытия, рассмотрим какое-то одно конкретное покрытие. По определению Р каждая косточка домино перекрывает две клетки, одну из gk и одну из gk-^ъ где k = 1,..., з — 1.
Отсюда А&+1 является числом клеток gk-^ъ «неиспользованных» косточками домино, перекрывающими gk и gk-vi- Очевидно, что для рассматриваемого конкретного покрытия А^ ^ О, As = 0, какова бы ни была система наименований Р.
Примеры. На рис. 4.11а справа от представлений для задачи «крепкий орешек» приведены таблицы, содержащие величины gk, А& для всех используемых имен. Для каждого из этих представлений соответствующая ему система наименований не является корректной, поскольку либо некоторое А^ становится отрицательным, либо As ^ О, а отсюда полное покрытие невозможно.
Доказательство достаточности условия теоремы 4.2 вытекает из следующей теоремы, связанной с возможностью корректного разбиения некоторого множества на пары. [Стефанюк, 1975; Stefanuk, 1996а].
Предположим, что для любых двух элементов гД некоторого множества N, содержащего п элементов, задано отношение партнерства. Это означает, что известно допустимо ли их объединение в одну пару. Обозначим через W(г) множество всех партнеров для элемента г. Для любого подмножества g 6 G 6 N обозначим через Wc(g) множество всех различных партнеров для элементов г 6 g, не входящих в G.
Будем говорить, что существует совершенное разбиение множества N на пары, если в нем можно образовать в точности \п/2\ пар его партнеров. (Через [ж] мы обозначаем наибольшее целое, не превосходящее ж .)
Теорема 4.3. Множество N из п элементов допускает совершенное разбиение, если и только если существует множество G С N такое, что |G| ^ [^/2] и для каждого его подмножества g С G, верно неравенство |g| С |Wg(#)|-
Если совершенное разбиение возможно, то существует и такое совершенное разбиение, что один элемент каждой его пары принадлежит G. (Доказательство теоремы дается ниже.)
Замечание 3. Если в множестве N имеются множества элементов, не являющихся партнерами друг друга, то, очевидно, следует
потребовать также, чтобы в G содержалось, по крайней мере, одно из таких множеств «не-партнеров».
Достаточность. Если все системы Р правильны, то совершенное покрытие существует.
Для доказательства этого нам потребуются еще две леммы.
Заметим, что любой плоский массив N квадратных клеток может быть представлен в виде объединения двух множеств не-партнеров Gb и Gw^ соответствующих черно-белой раскраске массива в шахматном порядке.
Лемм а 4.2. Каждому выбору gx С Gb (о также gx С Gw) соответствует некоторая система имен Р, которая может быть построена следующим образом*, всем элементам gx приписывается имя «1», затем всем не получившим имя соседям каждого элемента «1» приписывается имя «2», затем всем не получившим имя соседям каждого элемента «2» приписывается имя «3» и т. д.
Действительно, в этом процессе «волны наименований» распространяются по массиву, причем каждый фронт несет одно и то же имя клеткам. Отсюда результирующее наименование обладает тем свойством, что имена двух соседствующих клеток либо отличаются на единицу, либо, как может показаться, совпадают (в тех точках, где встречаются фронты этих волн). Последнее, однако, на самом деле не происходит, поскольку в таком процессе распространения, очевидно, имеем, если gx С Gb) то g^ С Gw^ g3 С Gb,. . ., что означает, что соседние клетки не могут получить одно имя. Таким образом, в этом процессе, действительно, строится система имен Р. Лемма доказана.
Л е м м а 4.3. Для любой системы имен Р справедливо либо
Gb = Vdgk |fc = l,3,...,Gw = Ugfc \k=2,4v..
либо
Gw = V3gkGb = V3gk Д=2,4,...
Действительно, по определению Р имена двух соседних клеток отличаются на единицу, а отсюда каждый «прямоугольный» путь, соединяющий две клетки «г», «j», содержит нечетное число промежуточных клеток, если оба числа г, j одновременно либо четны, либо нечетны. Это означает, что в таком случае клетки «г», «j» имеют один «цвет». Лемма доказана.
Леммы 4.2 и 4.3 вместе показывают, что все возможные системы имен для плоского массива обладают тем свойством, что либо gx Е Gb) либо gx Е Gw. и могут быть построены в ходе процесса, указанного в лемме 4.2.
Теперь можно провести доказательство достаточности условия теоремы 4.2, завершив тем самым доказательство этой теоремы.
Во-первых, из правильности хотя бы одной системы Р следует, что п четно. В самом деле, для нечетных п очевидно |Сь| ^ |GW| и для любой системы имен
As = |G6|-|Gw|^0,
что говорило бы о неправильности этой Р.
Во-вторых, из правильности любой Р из указанных лемм вытекает, в частности, что для любого множества gi С Gb выполняется следующее неравенство:
Ы = |ivGb(g1)| > ki|, a As = О дает при этом
|Сб| = |^|Ч'
Отсюда Сь удовлетворяет всем требованиям, сформулированным в теореме 4.3 для множества G. совершенное разбиение на пары возможно, и, следовательно, исходный массив из п клеток может быть полностью покрыт косточками домино.
Теорема 4.2 теперь полностью доказана.
Пример. На рис. 4.11 б изображен массив, в котором \Gb\ = |GW|, но покрытие все же невозможно. Последнее вытекает из существования неправильной системы имен Р для этого массива, которая показана на этом массиве.
Замечание 4. Из приведенного доказательства следует, что при установлении возможности покрытия более экономно было бы сначала «раскрасить» массив в шахматном порядке, а затем рассматривать те и только те Р, которые основаны на gi, содержащие только, скажем, черные клетки.
2r —1U Si2r —1U SiwGbwGbgigiЗамечание 5. Для доказательства достаточности были использованы только первое и последнее соотношение из (4.2.1). Однако и промежуточные неравенства несут полезную информацию. Например, из △2г ^ 0 следует, что для любого множества gi С Gb верно следующее неравенство:
2r —1
U Si
2r —1
U Si
wGb
wGb
gi
gi
(4.2.2)
Это неравенство показывает, что требования, предъявляемые к Gb^ как к G в теореме 4.3, проверяются не только для gi, но и для gi U g3, gi U g3 Ug5,. . . , Gb.
Неравенство (4.2.2) вытекает из двух соотношений. Во-первых, имеем
WGbWGb
WGb
WGb
(
2г-3 \/2г —3 \
U ^ I + W(g2rUg2r-l)(S'2r-l) = WGb [ U +
г=1/V г=1/
отсюдаотсюдаwGbwGb= giUg3U .. .Ug2r_i.= giUg3U .. .Ug2r_i.
отсюда
отсюда
wGb
wGb
= giUg3U .. .Ug2r_i.
= giUg3U .. .Ug2r_i.
А во-вторых, из Д2г ^ 0 вытекает, что
(1<^2 | + |g4| + • • • + |g2r|) ^ (Ы + Ы + • • • + |g2r-l|) •
Заключение. Задачи типа «крепкий орешек» оказались хорошим примером, поскольку они допускают полное математическое исследование и позволяют доказать что эвристика уменьшения числа имен оказывается достаточно сильной, по крайней мере в этом случае, позволяя построить целую серию новых представлений.
Доказательство теоремы 4.3. Необходимость условий теоремы очевидна.
Доказательство достаточности: Если для данного множества N из п элементов существует такое множество G, что |G| = = т = [п/2] и для каждого его подмножества g С G справедливо неравенство |g| ^ |ИЛс'(£’)Ь т0 существует совершенное разбиение, такое, что один элемент каждой его пары принадлежит множеству G.
Доказательство будет носить «конструктивный» характер в том смысле, что будет доказано существование алгоритма построения такого рода разбиения. Этот алгоритм включает в себя две процедуры: прямое образование пар (ПОП) и образование пар с перестроениями (ОПП). Процедура ПОП, когда она приложима, образует новую пару в дополнение к уже построенным, а процедура ОПП применяется только тогда, когда ПОП не приложима. В этом случае ОПП также приводит к увеличению числа образованных пар к на единицу. (Разумеется, обе процедуры применяются, лишь если к < т .)
Ниже мы покажем существование процедур ПОП и ОПП с такими свойствами, из чего с очевидностью последует существование искомого разбиения N. учитывая, что, к тому же, в обеих процедурах в каждую создаваемую пару включается один элемент из G.
Ниже символы х и у (возможно с индексами) будут использоваться для обозначения элементов из G и из его дополнения до N. соответственно. Строка (жх, . . . ^х^ обозначает множество элементов жх, . . . ... ,хк.
Описание процедуры ПОП. Отправляясь от множества N. в котором еще не образовано ни одной пары, процедура ПОП выбирает один элемент из G (обозначим его через Ж1) и строит пару [a?i, г/i], взяв одного из партнеров жх, не входящих в множество G. (его мы обозначили через yi)^ который существует, поскольку по условию теоремы I Wg'(^i)! ^ 1. Затем ПОП берет любой другой элемент из G (обозначим его через х^ и любого его партнера из дополнения G до N (его мы обозначим через у^ если таковой найдется, и образует пару [^2,^/2]- (Если же такого элемента не найдется, то мы говорим, что ПОП не приложима и, если все еще к < т, то следует применять ОПП.) Затем ПОП берет любой третий элемент из G и образует новую пару и т. д.
Не исключено, что совершенное разбиение для N будет построено просто в результате последовательного применения процедуры ПОП, но обычно после того, как будет построено к пар
(4.2.3)(4.2.3)[®1, У1] [«2, У2] , • • • , [яьУк],
(4.2.3)
(4.2.3)
к <(4.2.4)
процедура ПОП окажется более неприложимой, поскольку
WG(xk+i, жь+2, • • •, жт) с (уь..., ук\(4.2.5)
Последнее означает, что без перестроения новая пара не может быть создана. В этом случае, пользуясь процедурой ОПП (см. ниже), мы увеличиваем число построенных пар до к + 1, и вновь обращаемся к ПОП и т. д.
Описание процедуры ОПП. Если верно (4.2.3)-(4.2.5), то для любого элемента х^ х Е G^ причем
Xi и yi, изXi и yi, изЖ (жЬ ... ,хк),
Xi и yi, из
Xi и yi, из
процедура ОПП найдет элемент у, у Е G,
У ^ (У1, • • • ,VkY
такой, что существует следующая цепочка партнеров:
Цх, у) = [ж, у'^ [®'1, y'2L---, К-1’ Уг] К, у] •
Здесь х^ и у^ г = 1,. . . , г, совпадают с некоторыми (4.2.3), соответственно. Таким образом,
(^х, . . . ,ж'г) С (Ж1,. . . ,хкУ
(yY ..^Уг)^ Ы, • • -^kY
Так как эта цепочка разрушает в точности r пар из к построенных ранее и указанных в (4.2.3), а содержит г + 1 пару, то общее число пар становится равным к + 1.
Ниже мы докажем существование такой цепочки L(x^y^ что и будет означать завершение доказательства теоремы 4.3.
Докажем, что при выполнении условий (2.2.3)-(4.2.5) для любого х^х Е G. удовлетворяющего (4.2.6), найдется такой у.у ^ G. удовлетворяющий (4.2.7), что существует цепочка партнеров (4.2.8).
Обозначим Ух = Wg($). Из (4.2.5) имеем, что Ух С (уъ. . . ^ук). Для каждого у^ Е Ух возьмем однозначно определенного посредством (4.2.3) партнера х^ = х^у^ и построим множество У2 по правилу
(J WGW\(4-2.10)
Vi Е Ут
Пусть У2 = Ух U У2. Имеются две возможности:
У2 ^ (у^ . . . ^Ук)- Это означает существование следующей цепочки
Цж,у) = [ж, у^] [ж'^у].
Уэ С (ут,. . . , ук\ Тогда мы построим Y3 = J WG (ац^У),
обозначим Уз = У2 U ^ и т- Д
Очевидно, что в нашей процедуре полного перебора, где рассматриваются все возможные партнеры для каждого из ж, входящего в рассмотрение, мы имеем
У1 с У2 С У3 . . .(4.2.11)
По аналогии с предыдущим, в общем случае также имеем две возможности:
У5 ^ (ph . . . ^ук) для некоторого s, что означает существование требуемой цепочки (4.1.8).
Для любого s верно
Ys С (У1,...,ук).(4.2.12)
Однако в условиях теоремы 4.3 последняя возможность не может реализоваться. Действительно, из (4.2.11) и (4.2.12) следует, что существует предел
= (Уи, ■ • • ,t/ij - г < к.(4.2.13)
Процедура построения множеств У5 гарантирует, что вместе с каждым у соответствующее по (4.2.3) х также принимается во внимание, а это по (4.2.13) означает, что все партнеры (ж, ж^,. . . , ж^г), не входящие в G, находятся среди (т/^, • • • , УгЛ^ т- е-
\WG (х,Х^,. . . ,«гг)| < \x,xit,. . - ,xir\.
Полученное противоречие со свойствами множества G доказывает существование цепочки L{x^y) и, следовательно, ведет к доказательству утверждения теоремы 4.3.
Локальное управление потоками такси. Обратимся к проблеме представления задачи совершенно другого рода, а именно к задаче о такси в городе. Мы увидим, однако, что и здесь применимо соображение об использовании небольшого числа имен, характеризующих данную задачу, и что конкретное присваивание или назначение имен также следует из локальных попыток решить задачу (наподобие помещения на массив косточки домино) и желания получить однородное описание таких действий.
В следующем подразделе мы попытаемся дать таблицу соответствий между этими двумя классами проблем.
Задача о такси состоит в следующем. В городе имеется определенный поток машин, часть из них — такси. Заказное такси, т. е. машину, которая едет в определенное место и, следовательно, не ищет заказчика, мы не будем относить здесь к такси, также, впрочем, как и автомашины другого назначения, считая их просто «не-такси». В соответствии с этим свободное такси всегда занято поиском пассажира, причем считается, что местоположение источников возможных заявок такому такси заранее неизвестно.
Такое описание такси несколько идеализировано, но вполне годится для наших иллюстративных целей использования локальной организации управления такси в городе, пример которого изображен на рис. 4.18.
Рис. 4.18. План центра города Сиэтла, США. Числа у перекрестков — начальные заявки на такси
Наиболее детальное описание для этой задачи, как и в случае задачи «крепкий орешек», возникает, если все автомашины города (такси и не- такси) имеют различные имена (например, регистрационные номера).
Другая предельная возможность — все автомашины неразличимы между собой. Ограничиваясь двумя или тремя именами, разработаем процедуру их назначения (присваивания). Действием системы S{ в данной задаче естественно считать выбор направления движения свободного такси, находящегося на перекрестке. (Для простоты считаем, что такси не может развернуться вне пределов перекрестка).
Достаточно очевидно из локальных соображений, что для водителя свободного такси полезно отметить, что встреченная им машина является такси и что эта машина занята. Тогда водитель может предположить, что ему также следует двигаться в том направлении, откуда пришло занятое такси.
Из подобных соображений видно, что для адекватного выбора действия (т. е. направления движения) полезно ввести в рассмотрение следующие имена:
* — не-такси,
О — свободное такси,
1 — занятое такси.
Используя эти имена, можно надеяться на то, что свободное такси быстрее найдет пассажира, чем в случае слепого поиска. На самом деле, приведенные соображения носят эвристический характер и без дополнительной проверки нельзя, быть уверенным в их полезности, если учесть все особенности движения такси.
Имитационное моделирование. Задача о такси была подвергнута прямому моделированию на компьютере Sigma 5. В качестве реального примера был использован центр города Сиэтла (США), где были выбраны достаточно реалистичные числа скоплений заявок на такси (показаны у перекрестков улиц на рис. 4.18, где сами улицы изображены тонкими линиями).
Вычислялось полное время, которое потребуется для удовлетворения всех заявок (новые заявки не поступают). Изначально все такси сосредоточивались в парке, отмеченном на рис. 4.18 знаком «+».
В проведенном моделировании полное время удовлетворения всех заявок вычислялось для следующих четырех случаев:
Все автомашины города имеют одно имя (*), так что каждое свободное такси движется совершенно случайным образом.
Б. Имеются такси и не-такси (*), причем каждое такси движется в направлении, с которого их водители видят минимальное число такси.
Используется два имени: различаются автомашины (*) и незанятые такси (0), причем свободное такси движется в том направлении, с которого поступает минимальное число свободных такси.
Используется три имени: *, 0 и 1. Свободное такси движется как в случае В, но в случае совпадения потоков выбирается направление, с которого поступает максимальное число занятых такси.
В таблице показаны времена полного обслуживания (в условных единицах) для различных значений к — общего числа такси:
Таблица 4.2. Полное время удовлетворения заявок на такси
к
А
Б
В
Г
25
16,8
12,8
14,3
12,0
50
11,70
6,95
6,61
6,54
100
9,38
4,45
5,25
4,02
200
5,73
2,67
3,25
2,70
Из этой таблицы видно, что использование имен, назначение которых производилось из чисто локальных соображений, оказывается целесообразным и с точки зрения глобальной оценки времени полного обслуживания всех заявок.
Кстати, проведенное моделирование показывает, что, прежде всего, необходимо ввести заметное для водителей отличие такси от не-такси (важное и для пассажиров, ожидающих такси). Следует отметить, что в то время, когда осуществлялось данное имитационное моделирование, такое отличие для такси, например в г. Москве, отсутствовало. Однако
позже на всех московских такси был установлен на крыше специальный знак. (Известно, что такси в Лондоне весьма приметны из-за их нарочито архаичной формы, тогда как в Нью-Йорке такси окрашены в заметный ярко-желтый цвет).
На сегодняшний день в г. Москве положение с такси снова изменилось, так как появилось множество никак не выделенных такси на кооперативной и личной основе, некоторые из которых используют специальные знаки.
Сходство задач покрытия массивов и локального управления такси. Различие между проблемами, рассмотренными в разделах 4.2.1-4.2.4, достаточно очевидно — это различие между математической задачей комбинаторного характера и «реальной» задачей управления.
Попробуем, однако, рассмотреть их сходство (табл. 4.3.).
Таблица 4.3. Сопоставление задачи покрытия и задачи о такси в городе
Элементы проблемы
Клетки массива
Автомашины
Элементарные действия
Наложение косточки домино
Выбор направления движения на перекрестке
Простейшее описание — одно имя
Представляет интерес лишь для простейших задач, где важно, например, общее число элементов
Единственная возможность — случайный выбор направления движения (это случай А — наибольшее время обслуживания)
Два или больше имен
Локальные соображения о наложении домино используются для правильного назначения имен. Цель — построение инвариантного представления
Правильное назначение имен дает инвариантное описание: в эквивалентных «по смыслу» ситуациях совершаются одни и те же действия
Изоаритмическое управление сетью ЭВМ с локальным взаимодействием разрешений. Заканчивая обсуждение принципа семиотической интроспекции, хотелось бы остановится на примерах, достаточно далеких от исходной задачи «крепкий орешек».
Так можно показать, что задача о такси, может быть непосредственно использована при решении проблемы заторов на вычислительных сетях.
Эту возможность должен прояснить данный раздел, где мы дадим лишь постановку задачи, изложенной в работе [Гинзбург и Стефанюк, 1979].
Заторы, возникающие в сетях ЭВМ, отличаются от обычной блокировки сообщений тем, что они являются поглощающими состояниями
сети: возникшие заторы не могут быть ликвидированы просто путем снижения вновь поступающей нагрузки. Хорошо известны, например, два «классических» затора, с которыми столкнулись еще конструкторы сети АРПА в США. Это затор компоновки, связанный с пакетным характером передачи сообщений по сети, и затор при передаче с накоплением.
Оба затора имеют чисто логическую основу, и условия для них могут создаваться лишь после того, как в одном или нескольких СПС (сопрягающих процессоров сообщений) произошло заполнение соответствующего буфера.
Отсюда простая стратегия предотвращения заторов — не допускать критического заполнения буферов СПС. На это и направлено изоарит- мическое управление, при котором сообщение допускается в сеть из ГВМ (главная вычислительная машина или HOST) лишь при наличии свободного разрешения. По Дэвису [Devis, 1972] предполагается, что общее число разрешений (занятых и свободных) в сети постоянно, а освободившиеся разрешения случайным (равновероятным) образом движутся по ребрам сети.
Поскольку со многих точек зрения целесообразно как можно быстрее переправить свободные разрешения в те точки, где имеются заявки на отправку сообщений, то естественно рассмотреть некоторые усовершенствованные по сравнению со случайным механизмы управления движением свободных разрешений. При этом нежелательно прибегать к централизованным или децентрализованным методам уже, например, потому, что они ведут к необходимости большого потока служебной информации на сети (см. гл. 1).
В работе [Гинзбург и Стефанюк, 1979] мы предложили определенную схему перераспределения разрешений в такой сети, когда разрешения двигались к тому месту, где возникала заявка на передачу пакета, ориентируясь по встречным занятым и свободным разрешениям.
Насколько эффективно локальное взаимодействие разрешений при выборе направления движения свободных разрешений по сети показывает моделирование, проделанное в п. 4.2.4 для задачи о такси.
Проведенное в [Гинзбург и Стефанюк, 1979] (см. также выше) моделирование подтвердило, что принцип семиотической интроспекции вполне работоспособен и в этой сугубо практической задаче.
Локальный подход при эволюционном конструировании
Все больше исследователей начинают волновать эзотерические вопросы о том, с чего все начинается, как происходит открытие новых, прежде неизвестных сущностей, явлений, взглядов и т. п. А как люди справляются с творческими задачами? В предыдущих разделах мы занимались исследованием этого вопроса на примере задачи «крепкий орешек» и других задач, так или иначе навеянных этим простым вопросом.
Рис. 4.19. Схема карбюратора автомобиля
В этом разделе мы рассмотрим как человек решает внешне очень сложную задачу конструирования, обращаясь к примеру, показанному на рис. 4.19.
Ясно, что никакой инженер не мог бы «с нуля» придумать карбюратор, изображенный в разрезе на рис. 4.19, особенно учитывая явное повторение некоторых элементов и довольно сложное взаимодействие частей, осуществляемое с помощью не показанных на этом рисунке тяг и рычагов.
Однако можно представить себе, как просто создается подобное устройство локально, если применить разумные соображения (аргументы) и эволюционный подход.
Действительно, исходно задача карбюратора в автомашине довольно проста: смешать бензин с воздухом, чтобы образовалась легко воспламеняемая горючая смесь.
Видимо, в начале это и было сделано с помощью весьма нехитрого однокамерного смесителя, но потом, когда автомобиль начал ездить, стало ясно, что, например, при большой скорости движения необходимо увеличить процентное содержание бензина. Тогда была добавлена вторая камера подготовки смеси и с помощью тяг и внутренних каналов организована передача информации о скорости вращения двигателя, которая позволяла своевременно увеличить качество смеси.
Когда это было сделано, возникла совершенно противоположная трудность: на малых оборотах двигателя необходимо было подавать более бедную смесь. В результате появилась новая система тяг-рычагов и регулировочных винтов. Такой «эволюционный подход» вполне объясняет показанную на рисунке схему карбюратора. Важно отметить, что эти соображения, которые возникали у конструкторов последовательно, в течение некоторого времени, могли бы быть построены и с
помощью, скажем, генетического алгоритма, если бы он сразу был включен в состав системы контроля питания автомобиля.
Конечно, сегодня такие конструкторские соображения общеизвестны и поэтому могут быть прямо реализованы на электронном карбюраторе, представляющем собой пьезопластинку, на которую поступает какое-то количество бензина. Характер колебаний пластинки диктуется управляющим компьютером, который учитывает ровно такие же разумные соображения, но уже в виде программы, а не в «железном» исполнении, как это происходит в рассмотренном нами карбюраторе для автомобиля «Москвич М-412».
Отчасти по этой причине инжекторные двигатели постепенно начинают вытеснять карбюраторные, допуская более простое управление качеством горючей смеси.
Разумеется показанное «эволюционное конструирование» встречается и во многих других случаях. Например, оно отражает ходя развития некоторых идей или теоретических построений, которые являясь достаточно разработанными, представляют собой лишь результат постепенного локального усовершенствования некоторой первоначальной мысли.
3.1. Аргументы в сравнении со знаниями. На примере вышеупомянутых разумных соображений выпукло проявляется разница между фактами (знаниями) и аргументами. Пока знания являются строго обоснованными утверждениями, эта разница не бросается в глаза, если не считать возможности взаимодействия между аргументами, которые вполне могли бы относиться, на наш взгляд, и к самим знаниям. Однако эта разница сразу бросается в глаза, если знания и аргументы являются в какой-то мере ненадежными, т. е. не полностью обоснованными.
Так, если в цепочке вывода
Kx,K2,...,Kn h в
утверждения K^KiviKn не являются надежными на 100%, то сразу видно, что надежность вывода В определяется произведением надежностей посылок (конечно, если посылки не зависят друг от друга). В результате при 7 даже довольно надежных посылках (при надежности каждой посылки 90 %) результирующий вывод будет иметь уже только 50 %-ю надежность. Более того, надежность вывода будет, грубо говоря, определяться надежностью посылки, имеющей самую низкую надежность.
Другое дело — аргументы. Если надежности элементов знаний перемножаются при выводе, то надежности аргументов складываются. О закономерностях такого сложения см. ниже в разд. 4.6. Даже если аргументы Ai, Л2, • • • , Ат в пользу утверждения В имеют низкую надежность, но они независимы, и их много, то вывод В может получиться высоконадежным. На эту существенную разницу знаний и аргументов неоднократно указывал Д. А. Поспелов в своих докладах.
Но не все так уж очевидно. Определенно нужна некоторая «арифметика» для аргументов, пример которой нами был дан в публикации [Стефанюк, 19876]. Там описан один из обоснованных способов
суммирования свидетельств, или аргументов, в пользу некоторого обстоятельства. Проиллюстрируем этот способ на примере двух таких аргументов. Пусть в пользу соображения В говорят два свидетельства- аргумента, уверенности в которых, а и /3, определены на шкале [0,1], т. е. являются нечеткими величинами в смысле Л. Заде. Ясно, что в качестве суммарной уверенности f(o^3) в В нельзя принять просто сумму (а + /3), поскольку значения функции f(a,3) также должны принадлежать отрезку [0,1].
В нашей работе [Стефанюк, 19876] для поиска вида функции f(o^3) был предложен аксиоматический подход. Основная его мысль — сформулировать обязательные требования к характеру функции и искать максимум этой функции, достигаемый равномерно для всех а и /3 при выполнении следующих требований:
f(a^3) — симметрическая функция;
(/,а,/3)€[0,1];
/(1,1) = 1;
/(а, 0) = а;
f(a,3) — разложена в ряд Тейлора с пренебрежением производными выше второго порядка.
Максимум ищется потому, что в случае компьютера последний просто обязан относиться с максимальным доверием к поступающим свидетельствам в пользу некоторого обстоятельства, если только у него нет другой информации (подробное обоснование можно найти в [Стефанюк, 19886], а также в п. 4.6.5).
Вычисления, приведенные в п. 4.6.3, показывают, что максимум доверия обеспечивает достаточно хорошо известная в области экспертных систем формула Шортлиффа
/(а,/3) = (а + /3) - а(3.
Варьируя перечень условий поиска экстремума, можно получить более сложные выражения, позволяющие учесть зависимость свидетельств друг от друга и их взаимозависимость (см. [Стефанюк, 19876] и п. 4.6.4 ниже.)
Описанный аксиоматический подход нашел признание у других авторов (см. [Johnson and Kotz, 1989]). Интересно, что Джонсон и Котц не только высоко оценили достоинства предложенного автором данной книги подхода ), но и применили его для получения формулы суммирования свидетельств, несколько уточняющей приведенную выше.
Так, оставляя четвертый порядок производных в разложении функции f(a^P) (см. подробности в п. 4.6.3), они получили следующее выражение:
/(«, ^) = (а + /?) - а^(1 - а)(1 - 0\
В заключение отметим, что аксиоматический принцип, предложенный нами выше, напоминает по своему характеру принцип максимума энтропии, успешно использованный рядом авторов в прошлом (см. соответствующие примеры в п. 4.6.5).
Локальное формирование простых фреймов
Эффективность вычислительных систем, работающих с большим объемом данных, в значительной степени зависит от того, насколько быстро происходит извлечение из памяти ЭВМ данных, необходимых в заданной ситуации. Известны системы, обеспечивающие уменьшение среднего времени выборки информации из памяти за счет простых локально-организованных механизмов обучения, основанных на накоплении фактов обращения к памяти. Примерами могут служить магазинная память или «стопка книг» (см. прил. П.1.2) и адаптивная память со случайной выборкой (см. гл. 2, раздел 2.4).
С другой стороны, в системах искусственного интеллекта задачу ускорения выборки знаний решают, как правило, посредством применения фреймов (блоков, сценариев и т. д.). Такая система, встретившись с определенной ситуацией, извлекает из памяти соответствующий ей фрейм и затем поступает согласно содержащимся в нем рекомендациям.
Может сложиться впечатление, что фрейм — это целостное логическое образование, во всех случаях привносимое человеком извне. Показательна, например, известная работа Чарняка [Charniak, 1978], в которой создается «фрейм ситуации покраски», где описываются мельчайшие подробности, характеризующие такую ситуацию. О том же говорят и интенсивно ведущиеся работы по изучению структур для фреймов, которые человеку остается только заполнить (языки типа FRL, системы А-фреймов).
Суть проведенных экспериментов. Настоящая работа была выполнена в надежде на то, что достаточно простые и естественные локальные механизмы обучения способны в процессе своей работы автоматически порождать структуры, типа простых фреймов и сетей из них. Изложим кратко результаты модельных экспериментов в этой области, в частности, опишем элементарную систему, формирующую сеть фреймов.
Ситуации, с которыми работает система, описываются множеством признаков. Фреймы, используемые системой, имеют вид (Q,T), где Q — множество признаков, Т — множество элементов вида (t, s), где t — задача, типичная для данной ситуации, as — ее решение. Множество фреймов упорядочено: фрейм (Qi,Ti) называется подфреймом фрейма (Q2, ^2), если О2 С 01- При необходимости решить задачу
to, в ситуации Qo система ищет наиболее общий фрейм (Q,T), для которого Q С Qo- Если при этом (to, so) Е Т для некоторого so, то so считается ответом, если же такого зо нет, система переходит к исследованию подфреймов найденного фрейма. В случае когда, исследовав все имеющиеся фреймы, система не находит ответа, она обращается к оператору-человеку, который должен сообщить ответ so, после чего создается новый фрейм (Qo(to, so)).
Всякий раз, когда в система возникают два фрейма вида (Q U U {qi}, Ту) и (Q U {qi}, Т2), строится новый фрейм (Q, Ту П T^Y обобщающий оба исходных. Если в результате работы фрейм (Q, Т) дает на задачу t неверный ответ s, пара (t, s) удаляется из множества Т; если при этом множество Т оказывается пустым, то весь фрейм удаляется из сети. Все множества хранятся в памяти в виде списков. Для ускорения выборки сведений всякий раз, когда обращение к элементу списка приводит к успеху, этот элемент перемещается в начало списка.
Система, таким образом, обеспечивает автоматическое создание на локальной основе сети фреймов, адекватной заданному классу задач.
Хотя ясно, что обучением путем накопления не исчерпываются все формы обучения (среди которых, разумеется, и обучение по подсказке учителя), но, будучи выделены, такие механизмы были бы полезны на практике как генераторы элементарных фреймов. В теории же их можно было бы использовать при экспериментальной проверке различных формальных предположений, касающихся операций над фреймами, и, быть может, для создания адекватной «алгебры» фреймов.
И в самом деле, проведенные с помощью системы программирования ЭКЛИСП эксперименты, изложенные в отчете [Стефанюк, 1985, с. 42-55], позволили в дальнейшем построить такую алгебру на языке теории категорий, которая приводится в разд. 4.5 ниже.
Эксперименты с программой формирования фреймов. Вопросы представления знаний являются центральными в современном искусственном интеллекте. Для того, чтобы успешно решать любую сколько-нибудь сложную задачу из области искусственного интеллекта, компьютер должен быстро ориентироваться в большом объеме данных. Одним из путей достижения этого является создание определенных структур, связывающих объекты в базе данных. Примером таких структур являются фреймы. Эксперименты с системами, хранящими знания в виде фреймов, показали, что, с одной стороны, такие системы могут успешно решать задачи, требующие работы с большим объемом знаний, с другой стороны, сеть фреймов, необходимая для решения даже сравнительно простых с точки зрения человека задач, устроена довольно сложно и составление такой сети связано с серьезной и трудоемкой работой. По-видимому, составление адекватной системы фреймов [Минский, 1978] станет главным «узким местом» при решении достаточно сложных задач. В свете этого естественным является желание переложить работу по созданию фреймов, сетей фреймов и подобных структур для представления знаний на сам компьютер.
Рассмотрим пример, который явился исходной точкой для дальнейшей работы. Пусть на вход системы поступают ситуации, которые она
должна обработать определенным образом. Система хранит в памяти список всех возникавших прежде ситуаций, и, для того чтобы правильно отреагировать на ситуацию, поступившую на вход, она ищет ее в этом списке, просматривая его от начала до конца. Очевидно, что для минимизации времени поиска ситуации в памяти, следует расположить эти ситуации в списке в порядке убывания вероятностей их возникновения. Однако такой нелокальный подход не всегда является приемлемым. Во-первых, вероятности возникновения ситуаций могут быть неизвестными до начала работы системы, более того, может быть неизвестным само множество возможных ситуаций. Во-вторых, при всяком изменении этих вероятностей и, тем более, при возникновении новых ситуаций, пришлось бы перестраивать систему. Между тем существуют локально-организованные простые адаптивные алгоритмы, позволяющие системе самой расставлять ситуации в нужном порядке, используя статистику фактов обращения к памяти, (см. гл. 2, разд. 2.4). Одним из самых простых таких алгоритмов является алгоритм «стопки книг» [Цетлин, 1963], согласно которому всякий раз, когда система находит в списке нужную ситуацию, она автоматически переставляется в начало списка 0 . Можно показать [Цетлин, 1961], см. также П.1, что в процессе работы ситуации будут расставлены в порядке, близком к «оптимальному».
Для того чтобы сделать следующий шаг, будем рассматривать описание ситуации как множество признаков, по которым можно узнать эту ситуацию. Список ситуаций будет, следовательно, представлять собой список множеств признаков. Основная идея, которая будет развита ниже, следующая: если большая группа ситуаций имеет общую часть в виде некоторого множества признаков, входящих в описание каждой из этих ситуаций, то, хотя каждая конкретная ситуация из группы может встречаться сравнительно редко и, соответственно, занимать «далекое» место в списке, их общая часть, будучи выделенной, может появляться часто. При этом хотелось бы, чтобы это как-то было отмечено самой системой, т. е. автоматически. Общая часть группы ситуаций может рассматриваться тогда как обобщенное описание класса сходных, но различающихся в деталях ситуаций, и, хотя каждая конкретная ситуация из класса может возникать редко, появление любой ситуации из этого класса может быть явлением существенно более частым.
Для реализации сформулированной идеи в список, кроме множества признаков, являющихся описаниями конкретных ситуаций, включены множества признаков, не являющиеся описаниями каких-то конкретных ситуаций. Назовем эти множества обобщенными ситуациями. Всякий раз, когда искомая ситуация Р обнаружена в списке ситуаций и должна, следовательно, быть перенесена в его начало, будем перемещать в начало списка также все подмножества множества Р. (Здесь и в дальнейшем мы для краткости отождествляем ситуацию
х) В системе ЭК ЛИСП, на которой велось моделирование, не было предусмотрено использование дробных чисел, что исключало применение в эксперименте модели памяти со случайной выборкой, изученной нами в гл. 2.
и описывающее ее множество признаков.) Такой алгоритм приведет к тому, что если некоторое множество Q, входит в описание большого числа ситуаций, то каждая из этих ситуаций, встречаясь редко, «уйдет» в глубину, списка, в то время как само множество Q, будет «держаться» на поверхности.
(4ноги)
(хвост)
(плавает)
(2ноги)
(4ноги хвост)
(2ноги крылья)
(хищник)
(2ноги перья)
(2ноги крылья перья)
(4ноги хвост хищник)
(4ноги копыта травоядное)
(4ноги травоядное)
(4ноги рога копыта травоядное)
(хвост плавники плавает)
(2ноги крылья перья летает)
(хвост плавники чешуя плавает)
(хвост плавники (питается рыбой) плавает)
(4ноги хвост рыжий хищник)
(2ноги крылья перья летает черный)
(хвост плавники чешуя плавает соленая)
(4ноги горб (обитает в~пустыне))
(2ноги крылья плавает)
(2ноги крылья перья летает плавает)
(4ноги уши травоядное)
(2ноги крылья перья хищник)
(2ноги крылья перья летает поет)
(4ноги хвост хищник серый)
(4ноги рога копыта травоядное)
(4ноги хобот)
(4ноги хвост хищник (ловит мышей))
(4ноги рога копыта травоядное (дает молоко))
(хвост плавники чешуя плавает (питается рыбой))
((пятится назад) плавает)
(2ноги хвост крылья перья (несет яйца))
(4ноги хвост копыта травоядное)
Рис. 4.20. Начальная часть списка обобщенных ситуаций, сформированногобез учета весов
Эксперименты с описанным алгоритмом (см. рис. 4.20) показали, что, чем меньше элементов содержало множество, тем ближе, как правило, оказалось оно к началу списка всех возможных ситуаций, что вполне естественно. Множества с меньшим числом элементов находятся, следовательно, в более «выгодном» положении, поскольку они
перемещаются в начало списка и сами по себе, и как подмножества некоторых других множеств ситуаций. Такая работа системы не всегда оправдана. Рассмотрим, например, следующее множество ситуаций:
{(р, q, n), (р, q, г2),..., (р, д, г„)}.
Все они содержат общую часть — множество {р, q}, что позволяет рассматривать это множество как описание важного класса ситуаций. Все они содержат так же и множество {р}, однако предположим, что этот факт имеет меньшую значимость, являясь просто следствием предыдущего. Было бы естественно потребовать тогда, чтобы множество {р, q} заняло бы в списке более «высокое» положение, чем множество {р}.
Одним из способов отразить большую значимость более информативных обобщенных ситуаций является введение весовых коэффициентов, характеризующих эти ситуации. Вопрос о том, каким образом вычислять эти коэффициенты, требует дальнейшего исследования.
Более того, в настоящий момент отсутствует ясность в том, функцией каких параметров должен быть вес обобщенной ситуации. Было бы естественным считать вес обобщенной ситуации монотонной функцией от количества входящих в ее описание признаков. Эксперименты, однако, показали, что лучших результатов можно достичь, если учитывать не только число признаков обобщенной ситуации, но и то, насколько эта ситуация близка к реальной ситуации, вызвавшей ее перемещение в списке. Так, если на вход системы поступила ситуация, описываемая множеством признаков Р, что вызвало перемещение в списке всех подмножеств этого множества в начало списка, то вес подмножества Q множества Р должен быть тем больше, чем меньше разность P\QV Смысл такого подхода ясен: в привилегированное положение ставятся такие описания классов сходных ситуаций, которые содержат значительную часть информации о ситуациях класса.
Мало определить, как считать вес, следует еще понять, как учитывать его при движении ситуаций «вверх» по списку. Обязательное перемещение найденной ситуации в начало списка не дает возможности учесть ее вес. Одним из путей решения проблемы было бы перемещение ситуации в начало списка с некоторой вероятностью, значение которой определялось бы весом ситуации. Несмотря на то, что этот путь обладает рядом достоинств, он не был использован, поскольку замедлял процесс формирования списка: если вероятности перемещения ситуаций малы, то в значительной части случаев в списке ничего не будет перемещаться. Для экспериментов был выбран другой путь, сущность которого заключается в том, что ситуация перемещается не в самое начало списка, а двигается на несколько шагов вперед, на сколько именно — определяется ее весом ). Такой способ дал к тому же более наглядную картину (см. рис. 4.21), ибо у редко встречающихся ситуаций практически не было возможности подняться в начало списка
и поэтому первая часть списка всегда содержала наиболее часто встречающиеся ситуации. При небольшом количестве ситуаций и коротком времени эксперимента это было особенно важно.
(4ноги)
(4ноги хвост хищник)
(4ноги рога копыта травоядное)
(4ноги копыта травоядное)
(хвост плавники плавает)
(2ноги крылья перья)
(2ноги крылья перья летает)
(хвост)
(2ноги перья)
(хвост плавники чешуя плавает)
(4ноги травоядное)
(хвост плавники (питается рыбой) плавает)
(2ноги крылья)
(4ноги хвост)
(плавает)
(4ноги хвост рыжий хищник)
(2ноги крылья перья летает черный)
(хвост плавники чешуя плавает соленая)
(4ноги горб (обитает в~пустыне))
(2ноги крылья перья летает плавает)
(4ноги уши травоядное)
(2ноги крылья перья хищник)
(2ноги крылья перья летает поет)
(4ноги хвост хищник серый)
(2ноги крылья плавает)
(4ноги рога копыта травоядное)
(4ноги хобот)
(4ноги хвост хищник (ловит мышей))
(4ноги рога копыта травоядное (дает молоко))
(хвост плавники чешуя плавает (питается рыбой))
((пятится назад) плавает)
(2ноги хвост крылья перья (несет яйца))
(4ноги хвост копыта травоядное)
(хищник)
(2ноги)
Рис. 4.21. Начальная часть списка обобщенных ситуаций, сформированногос учетом весов
Использование сложных формул для подсчета весов ситуаций, позволяя получить достаточно разумное с точки зрения человека распределение ситуаций в списке, делает в то же время алгоритм значительно менее привлекательным, чем простые алгоритмы типа «стопки книг». Стремление уйти от необходимости использования весов привело к несколько иному подходу к созданию обобщенных ситуаций. Суть этого подхода сводится к следующему: при поступлении на вход ситуации,
описываемой множеством признаков Р, в список заносятся не все подмножества множества Р, а только те из них, которые являются пересечением множества Р с другими множествами, уже находящимися в списке. Выбор такого алгоритма связан с тем фактом, что если Р и Q — две ситуации, то обобщенная ситуация РП Q представляет собой наименее общее обобщение этих ситуаций, т. е. содержит ту и только ту информацию, которая относится и к Р, и к Q. Так, в рассмотренном выше примере с ситуациями {(р, q, тд), (р, q, Г2), . . . , ^РЛЛп^ множество {р, 7} будет занесено в список как пересечение всех приведенных ситуаций, в то время как множество {р} в список не попадает.
Эксперименты показали, что такой метод дает разумное распределение ситуаций в списке без использования весов (см. рис. 4.22). Отсюда следует, что процедура локального обобщения, т. е. построения по двум ситуациям наименее общего описания, под которое подходит каждая из этих ситуаций, может с успехом быть использована для формирования новых понятий в процессе обучения (см. п. 4.4.3).
Основным недостатком методики упомянутых выше экспериментов является то, что единственным критерием оценки работы системы являлась «разумность» создаваемого ею списка. При всей важности этого критерия, он, очевидно, не является удовлетворительным. В частности, такой критерий не дает возможности количественной оценки качества различных алгоритмов перемещения ситуаций в списке и, следовательно, выбора оптимального варианта, не говоря уже о теоретических исследованиях.
Поскольку исходной идеей для выработки описанных выше алгоритмов послужила идея быстрого поиска ситуации в памяти, естественно было бы взять в качестве количественного критерия работы системы ускорение такого поиска. В связи с этим выскажем следующие два соображения.
Во-первых, если наша задача — найти поступившую на вход ситуацию в списке, просматривая его с начала до конца, то добавление обобщенных описаний не только не сокращает время поиска, а наоборот, увеличивает его, поскольку элементов в списке становится больше. Тот факт, что, разыскивая ситуацию Р, которая находится далеко от начала, мы можем встретить значительно ближе к началу ситуацию Q, обобщающую Р, т. е. такую, что Q С Р, не дает ничего для нахождения самой ситуации Р. Другое дело, если, найдя такую ситуацию Q, мы могли бы просматривать дальше не весь оставшийся список, а только те входящие в него ситуации, которые содержат множество Q. Попытка перестроить систему таким образом приводит к замене списка ситуаций деревом, каждая вершина которого представляет собой ситуацию, а ветви ведут от более общих ситуаций к их частным случаям. В этом случае введение обобщенных ситуаций могло бы дать ускорение поиска. (Подробнее это анализируется в следующем п. 4.4.3.)
Во-вторых, поиск поступившей на вход ситуации в списке, как правило, не является самоцелью. Обычно это делается для того, чтобы каким-то образом обработать поступившую ситуацию, например, от-
(2ноги крылья перья)
(2ноги крылья перья летает)
(4ноги хвост хищник)
(4ноги копыта травоядное)
(2ноги крылья)
(2ноги перья)
(4ноги рога копыта травоядное)
(4ноги)
(крылья перья летает)
(2ноги перья летает)
(2ноги крылья летает)
(хвост плавники плавает)
(4ноги хвост)
(крылья перья)
(4ноги травоядное)
(хвост)
(4ноги хищник)
(хвост хищник)
(травоядное 4ноги рога копыта)
(травоядное 4ноги копыта)
(4ноги рога копыта)
(4ноги рога травоядное)
(рога копыта травоядное)
(4ноги копыта)
(копыта травоядное)
(хвост плавники чешуя плавает)
(плавает хвост плавники)
(перья летает)
(крылья летает)
(2ноги летает)
((травоядное) 4ноги)
(плавники плавает)
(хвост плавает)
(хвост плавники)
(2ноги)
(травоядное рога копыта)
(травоядное 4ноги рога)
(плавники чешуя плавает)
(хвост чешуя плавает)
(хвост плавники чешуя)
(крылья)
(перья)
(травоядное копыта)
(4ноги рога)
(рога копыта)
(рога травоядное)
(плавает хвост плавники чешуя)
(плавает хвост)
(плавает плавники)
Рис. 4.22. Часть списка обобщенных ситуаций, полученногос использованием наименьших обобщений
ветить на определенный касающийся ее вопрос. Однако для того, чтобы ответить на некоторые вопросы, может быть не обязательным установление всех признаков ситуации. Пусть, например, наличие у ситуации признаков р и q однозначно определяет ответ на некоторый вопрос. В этом случае мы можем хранить ответ на этот вопрос не отдельно для каждой из ситуаций (р, q. ri), (р, q. г^У . . . ^р^ гп\ а только для обобщенной ситуации {р, q^ сформулированной в процессе работы системы (нечто подобное представляет собой процедура наследования во фреймовых языках представления знаний). Это не только сделает информацию более компактной, но и позволит ускорить время, требуемое для ответа на вопрос, поскольку ситуация {р, q^ может находиться в списке (или дереве) «выше», чем ситуации (р, q, гд), (р, q, г-^ • • • • •• Лр^гпУ
С целью реализовать эти соображения было проведено несколько дальнейших экспериментов на ЭВМ. Описание одной из программ, развивающей некоторые идеи, включенные нами в [Stefanuk, 1974], дано в [Стефанюк, 1985, с. 45-47]. Здесь ограничимся только кратким изложением ее особенностей по сравнению с вышеприведенными алгоритмами.
Вместо задачи найти ситуацию перед системой ставилась задача ответить на некоторый вопрос об этой ситуации. Поиск прекращался, как только ситуация оказывалась конкретизированной достаточно для ответа на этот вопрос.
Список ситуаций был заменен деревом. Каждая обобщенная ситуация имела ссылку на список ситуаций (возможно, тоже обобщенных), являющихся ее частными случаями. Все перемещения по типу «стопка книг» происходили независимо в каждом таком списке. Для создания новых обобщенных ситуаций был выбран метод наименьшего обобщения. Наименьшее обобщение пары ситуаций становилось новой вершиной дерева, а каждая из исходных ситуаций включалась в список ее частных случаев.
Система решала не только задачу структурирования знаний, но и задачу накопления знаний. В начале работы система не знала ответов ни на один вопрос. В процессе работы она, под руководством оператора, записывала возникающие ситуации и ответы на возникающие вопросы, одновременно создавая для их хранения древовидную структуру. (Сейчас, по прошествии некоторого времени, такой подход представляется не вполне правильным. Реальные обучающиеся системы должны, по- видимому, работать именно так, однако на стадии эксперимента для ясности следовало бы разделить процесс накопления знаний и процесс создания структур для представления этих знаний.)
Работа с системой показала, что при количестве возможных ситуаций порядка 30, система находила ответ на вопрос, делая 2-3 проверки (для поиска в списке со случайным распределением это число было бы равно 15).
Мы не останавливаемся здесь на детальном описании этой системы, поскольку процедурам усвоения знаний при обучении посвящен следу-
ющий раздел 4.3 книги, который явился результатом обобщения части материала, полученного в ходе описанных экспериментов.
4.4.3. Оценка целесообразности обобщения ситуаций. Как уже отмечалось, описанный выше эксперимент носил качественный характер. Однако можно попытаться дать и количественную оценку условиям, при которых полезно введение обобщения и организация дерева ситуаций. В частности, используя выражения для средней глубины памяти типа стопки книг (см. П.1) или памяти со случайной выборкой (см. раздел 2.4), можно получить условия, при которых «близкие» ситуации полезно заменить на их обобщение в исходном «стеке» с последующим поиском ситуации во втором стеке, где хранятся ситуации, подвергнутые обобщению. (На самом деле, в последующем анализе никак не учитывается «близость» обобщаемых ситуаций.)
Пусть Pi^ . • . ^ рп — априорные вероятности поиска ситуаций «1,. . . ... , ап, причем
Ё^ = 1,(4.4.1)
г=1
и пусть Ц — среднее время поиска ситуации а^ зависящее, очевидно, от способа хранения ситуаций в «стеке». Тогда среднее время выборки произвольной ситуации определяется выражением
L' («1,..., а„) = У) pi Ц,(4.4.2)
г=1
где штрих означает, что поиск ведется в одиночном стеке, в котором хранятся все ситуации.
Пусть теперь ситуации «1,. . . , ат, т < п, заменены обобщенной ситуацией а^, среднее время выборки которой обозначим символом 1^\ а сами ситуации «1,. . . , ат собраны во второй «стек» со средним временем выборки, равным /^2\ г = 1,. . . , т. Тогда среднее время выборки произвольной ситуации в такой двухступенчатой системе определяется выражением
L4ai,...,c^ = t,P<) + ^) + Ё рЛ^
г=1к = тЦ-\
= Р^ + Ё Рк^^рЛ^ (4.4.3) к = т-\-1г = 1
гДе
Р^ = ^2,Рг.(4.4.4)
г=1
Из выражения (4.4.3) видно, что
L" («1,..., а^ = L' (am+i,..., ап, a^-Vp^L' (ац,..., ат), (4.4.5)
посколькупосколькугдегде^Pil^p^p*!^г=1г=1тv.-^- Ер.-1-^Pil^p^p*!^г=1г=1тv.-^- Ер.-1-(4.4.6)(4.4.6)
поскольку
поскольку
где
где
^Pil^p^p*!^
г=1г=1
т
v.-^- Ер.-1-
^Pil^p^p*!^
г=1г=1
т
v.-^- Ер.-1-
(4.4.6)
(4.4.6)
Очевидно, что введение обобщения и второго «стека» оправдано и приводит к уменьшению среднего времени поиска, если выполнено
(4.4.7)(4.4.7)L (^1? • • • ) ^П^ > L (^1 ? • • • ) ^П^ 1
(4.4.7)
(4.4.7)
т. е. если
£'(«!,...,«„) > L'(am+i,...,an,aB)+pBL'(«!,...,«„). (4.4.8)
Дальнейший анализ этого неравенства проведем для памяти типа «стопки книг», где UB задается выражением (см. [Burville and Kingman, 1973] и приложение П.1)
(4.4.9)(4.4.9)1 , V^ Pi Рз
(4.4.9)
(4.4.9)
22^ Pi + Pj 1
г,3 = 1
и памяти со случайной выборкой, где UT задается выражением (см. гл. 2)
(4.4.10)
Подставляя (4.4.10) в (4.4.8). имеем
(4.4.11)(4.4.11)
(4.4.11)
(4.4.11)
откуда для памяти со случайной выборкой получаем условие
(4.4.12)(4.4.12)
(4.4.12)
(4.4.12)
Подставляя (4.4.9) в (4.4.8), имеем
(4.4.13)(4.4.13)। Eli । V Pi Pj
(4.4.13)
(4.4.13)
2.2^ Pi + Pj *
K7=l
Здесь левая часть неравенства, очевидно, равна
тт пп
(4.4.14)(4.4.14)+ Pi Pj + 2Pi Рз +Pi Рз
(4.4.14)
(4.4.14)
Pi ^PjPi + Pj . Л Pi + Pj '
г,3 = 1г=1 j=m+lг,з=т+1
Аналогично, справа имеем
V^ PiPj 2 У' PSPj . PS РЕ у-' PiPj
. .^ ,, Pi + Pi . ^ Ре + Рэ 222-, Pi + Pj •
г,з=т-\-1з=т^\г,3 = 1
Поэтому из (4.4.13) для «стопки книг» (стека) получаем условие
2 V PiPj (—> Ре-(4.4.16)
J \Pi ^Рз Р^+Рз)V 7
z=l з=т + 1
Выражения (4.4.12), (4.4.16), учитывая (4.4.4), формально решают поставленную задачу — они определяют требования к вероятностям запросов ситуаций, при выполнении которых двухступенчатая организация памяти приводит к уменьшению среднего времени поиска произвольной ситуации. Однако в общем случае не удается дать более простую интерпретацию приведенным выражениям. Ясно, что, вообще говоря, соотношения (4.4.12) и (4.4.16) не выполняются, поскольку переход к двухступенчатой памяти добавляет «лишний» этап поиска: сначала отыскивается обобщение, а потом ищется конкретная ситуация из числа обобщенных.
Приведем численный пример, когда эти неравенства оказываются выполненными и введение второго «стека» оправдано.
Пусть п = 41, т = 20, рх = 0,9, р^ - - - , P4i = Р и, следовательно, р = 0,0025, ру = 0,9475. Тогда в случае стопки книг в одноступенчатой памяти средняя глубина поиска равна « 3,15, а при двухступенчатой — ~ 3,10. (Соответствующие цифры для памяти со случайной выборкой равны 8,69 и 7,70.)
Формальная теория представления знаний и локального обучения
В этом разделе будет продемонстрирована достаточно абстрактная локально-организованная система, подсистемами которой служат так называемые образцы (или фреймы, или продукции), взаимодействие которых определяется, как и в случае экспертных систем (см. разд. 4.6), поступившей извне информацией. Такую систему, которая в силу локальности используемых процедур обучения строится довольно просто, можно рассматривать как способ компактной записи поступивших знаний, позволяющий достаточно эффективно опознавать очередную ситуацию и предпринимать соответствующее действие.
Развитая в настоящем разделе теория в значительной степени продиктована соображениями, возникшими в ходе экспериментов на ЭВМ,
описанных в предыдущем разделе. Вторым фактором, стимулировавшим ее создание, были наши интенсивные работы по разработке локально-организованной системы перевода с английского на русский (см. рис 29 в работе [Жожикашвили и Стефанюк, 1986а]).
Методы, используемые для представления знаний в различных задачах искусственного интеллекта, имеют много общего, несмотря на различие предметных областей, с которыми связаны задачи [Плесне- вич, 1982].
В настоящем разделе предлагается математический аппарат, позволяющий изложить ряд концепций, используемых в представлении знаний на языке, не зависящем от предметной области.
Дадим сначала неформальное описание понятий, с которыми мы будем иметь дело в дальнейшем.
Рассмотрим систему, хранящую в памяти обобщенные описания ситуаций, которые могут встретиться ей в процессе работы. Обобщенное описание может быть пригодным для работы с целым рядом сходных ситуаций, и в дальнейшем будем называть его образцом.
Операцию, служащую для проверки того, подходит ли данный образец для описания данной ситуации, будем называть операцией сопоставления с образцом [Уинстон, 1980]. Она, как минимум, должна дать утвердительный или отрицательный ответ. Однако в большинстве случаев этого недостаточно, и от операции сопоставления ожидается «побочный эффект» — означивание переменных, заполнение слотов фрейма и т. д.
Образцы могут различаться по степени общности. Один образец может быть частным случаем другого, если каждая ситуация, сопоставимая с первым образцом, сопоставима и со вторым. Это позволяет естественным образом ввести на множестве образцов частичный порядок и рассматривать такие понятия, как наиболее общий частный случай двух образцов и наименьшее обобщение двух образцов, соответствующие нижней и верхней грани в теории структур.
Еще одним понятием, широко используемым в различных задачах искусственного интеллекта, является продукционное правило, или продукция. Продукцию можно представлять себе состоящей из двух частей: условия применимости, т. е. условия, которому должна удовлетворять ситуация для того, чтобы к ней можно было бы применить данную продукцию, и указания на то, как следует преобразовать текущую ситуацию. Во многих случаях условие применимости можно задать в виде образца, считая продукцию применимой к ситуации, если ситуация сопоставима с этим образцом. Побочный эффект, возникающий при этом сопоставлении, может быть использован второй частью продукции. Такой подход позволяет использовать для описания продукций тот же теоретический аппарат, что и для работы с образцами.
Основные определения. Пусть задана произвольная подкатегория С категории множеств. Выделим в ней объект Е, который будем называть базовым. Образцом назовем пару (X, у?), где X — некоторый объект категории С, р Е Hom (X, Е) — морфизм из X в Е. Выделим также объект / категории, который будем называть
исходным. Ситуацией будем называть образец (/, а\ где а — морфизм из I в Е.
Будем говорить, что ситуация (/, а) сопоставима с образцом (X, у?), если существует хотя бы один морфизм ^ с Hom (/, X) такой, что диаграмма на рис. 4.23 коммутативна. Заметим, что морфизм ^ определяется, вообще говоря, неоднозначно.
Рис. 4.23. Сопоставлениеситуации с образцомРис. 4.23. Сопоставлениеситуации с образцомРис. 4.24. Сопоставлениедвух образцовРис. 4.24. Сопоставлениедвух образцовИз двух образцов (X, у?) и (У, ^) будем считать первый частным случаем второго, если существует морфизм % 6 Нот (X, У), делаю-
Рис. 4.23. Сопоставлениеситуации с образцом
Рис. 4.23. Сопоставлениеситуации с образцом
Рис. 4.24. Сопоставлениедвух образцов
Рис. 4.24. Сопоставлениедвух образцов
щий диаграмму рис. 4.24 коммутативной. Отметим, что и здесь морфизм % определяется из условия коммутативности диаграммы неоднозначно. Таким образом, утверждения «ситуация сопоставима с образцом» и «ситуация является частным случаем образца» имеют одно и то же значение. Очевидно, что если один образец является частным случаем другого, то всякая ситуация, сопоставимая с первым образцом, сопоставима и со вторым, однако обратное утверждение в общем случае неверно.
Легко показать, что отношение «быть частным случаем» задает на множестве образцов квазипорядок, который не обязательно является порядком. Будем называть два образца эквивалентными, если каждый из них является частным случаем другого. Ясно, что с эквивалентными образцами сопоставимы одни и те же ситуации ).
Пусть заданы два образца: (X, у?) и (У, ^). Образец (Я, %) вместе с морфизмами X : Z —¥ X и р : Z —¥ Y назовем наибольшим частным случаем пары образцов (X, у?) и (У, V0, если диаграмма рис. 4.25 а коммутативна и для любого другого образца (Z^x'^ Для которого диаграмма рис. 4.25 б коммутативна, найдется морфизм v : Z1 —> Z такой, что коммутативна диаграмма рис. 4.25 в.
Полезность этого понятия раскрывается в следующем утверждении.
Ситуация сопоставима с каждым из образцов (X, у?) и (У, ^) в том и только в том случае, когда она сопоставима с их наибольшим частным случаем (Z, %), если последний существует.
Действительно, пусть ситуация (/, а) сопоставима с образцом (Z, %). Согласно определению, это означает, что существует морфизм Р : I —> Z, для которого имеем равенство а = Рх-
Рис. 4.25. К определению наибольшего частного случая двух образцов
Полагая 7 = /ЗА и 5 = /З/i и используя то, что % = Ху? = рф, находим, что а = /3% = (ЗХу? = ^у? и а = /3% = (Зр/ф = 6у?^ т. е. ситуация а сопоставима с каждым из образцов (X, у?) и (У, ^).
Обратно, пусть ситуация а сопоставима с каждым из образцов (X, у?) и (У, ^). Это означает, что существуют морфизмы 7 : I —у Хи 5 : I —У У, удовлетворяющие условию а = 792 = 5^. Тогда, согласно определению наибольшего частного случая, должен существовать морфизм (3 \ I ^ Z такой, что а = /3%, что и означает сопоставимость ситуации с образцом (Z, %).
Заметим, что наибольший частный случай отличается от конструкций, принятых в теории категорий тем, что отсутствует требование единственности морфизма и. Нельзя утверждать, что наибольший частный случай единственен, хотя бы даже с точностью до изоморфизма. Легко впрочем показать, что все наибольшие частные случаи пары образцов являются эквивалентными. (Разумеется, пара образцов может вообще не иметь наибольшего частного случая.)
Рис. 4.26. К определению наименьшего обобщения пары образцов
Наряду с наибольшим частным случаем, можно рассмотреть наименьшее обобщение пары образцов. Пусть заданы два образца (X, у?)и (У, ^). Образец (Z, %) с морфизмами А : X —у Z и р : У —> Z назовем их наименьшим обобщением, если диаграмма рис. 4.26 а коммутативна и для любого другого образца (Z',^), для которого диаграмма рис. 4.26 б коммутативна, найдется морфизм v : Z —У Я'такой, что диаграмма рис. 4.26 в является коммутативной. (Как и в предыдущем определении, мы не требуем единственности морфизма л.) Пара образ-
цов может не иметь наименьшего обобщения; если она имеет несколько наименьших обобщений, то все они эквивалентны.
Аналогично предыдущему, если ситуация сопоставима с одним из образцов (X, у?) и (У, ^), то она сопоставима и с их наименьшим обобщением (Z^xY если последнее существует.
Действительно, пусть ситуация (/, а) сопоставима с образцом (X, у?). Это означает, что существует морфизм Р : I —> X такой, что а = Рф. Тогда, полагая 7 = ДА, получаем а = Рф = РХх = 7Х откуда видно, что ситуация (/, а) сопоставима с образцом (Z, xY
Заметим, что обратное утверждение неверно: ситуация, сопоставимая с наименьшим обобщением двух образцов, не обязательно должна быть сопоставимой с одним из них.
Аппарат теории категорий может быть использован также для описания систем продукций. Дадим соответствующие определения.
Выделим в категории С два базовых объекта Е и R и будем говорить об образцах и ситуациях со значениями в Е и R. Продукцией из Е в R назовем тройку (X, ф^У гДе ^ — объект категории, ф Е Hom (X, EY ^ 6 Hom (X, RY Продукцию, следовательно, можно рассматривать как пару образцов (X, ф) и (X, ^). Пусть (/, а), а Е Нош (/, Е) — произвольная ситуация со значением в Е. Будем говорить, что продукция (X, ф, фр применима к ситуации (/, а), если эта ситуация сопоставима с образцом (X, у?), т. е. если существует морфизм Д : / —> X такой, что а = Рф. В этом случае будем называть ситуацию Д^ : I —> R результатом применения продукции (X, ф^) к ситуации а. Таким образом, результатом применения продукции из Е в R к ситуации со значением в Е будет ситуация со значением в R. Наиболее интересен случай R = Е. однако в некоторых случаях удобно различать Е и R^ считая ситуации со значениями в Е условиями некоторой задачи, а ситуации со значениями в R — решением этой задачи.
Отметим одну существенную деталь. Морфизм Д может определяться условием а = Рф неоднозначно. Если Д' : / —> X — другой морфизм, для которого выполнено равенство а = Д'ф. то возможно, что Р’ф) ф Рф. Это означает, что результат применения продукции к ситуации не определяется однозначно. Продукция, следовательно, не является функцией.
Примеры конкретизации теории в приложениях. В приложении П.З рассмотрен ряд примеров, проясняющих применение предложенного аппарата в типичных задачах искусственного интеллекта.
В этом приложении придается явный вид категориям (т. е. указываются объекты категории и задаются морфизмы), описывающим наиболее широко распространенные процедуры работы со знаниями.
Среди рассмотренных задач — «классическое» сопоставление с образцом, допускающее замену переменной константой (см. рис. 4.27), обобщенное сопоставление с образцом, допускающее замену переменной строкой символов (см. рис. 4.28), алгебраические преобразования и дедуктивный вывод (в простейших случаях), узнавание и обобщение описаний и теоретико-категорное описание системы фреймов.
Рис. 4.27. Пример на традиционное сопоставление с образцомРис. 4.27. Пример на традиционное сопоставление с образцомРис. 4.28. Пример на обобщенное сопоставление с образцомРис. 4.28. Пример на обобщенное сопоставление с образцом
Рис. 4.27. Пример на традиционное сопоставление с образцом
Рис. 4.27. Пример на традиционное сопоставление с образцом
Рис. 4.28. Пример на обобщенное сопоставление с образцом
Рис. 4.28. Пример на обобщенное сопоставление с образцом
Замечание. Поскольку основные предлагаемые здесь операции — взятие наиболее общего частного случая и наименее общего обобщения, — представляют собой аналоги верхней и нижней грани в теории частично упорядоченных множеств, возникает естественный вопрос: не является ли предлагаемый теоретико-категорный аппарат чрезмерно общим и нельзя ли было получить те же результаты, используя теорию упорядоченных множеств [Епифанов, 1974]. Действительно, многие понятия, введенные в работе, могут быть переформулированы на язык частичного порядка. Мы можем, например, рассмотреть некоторое упорядоченное множество Р, называемое множеством образцов, минимальные элементы этого множества назвать ситуациями и считать ситуацию s Е Р сопоставимой с образцом р Е Р. если выполнено неравенство s ^ р. На этот язык можно даже перевести понятие продукции, определив продукцию как пару образцов (pDq)D р. q Е Р. В этом случае все, что мы можем сказать о продукции — это то, что она применима к ситуации s, если s ^ р, и что результат ее применения г должен удовлетворять условию г < Q, однако здесь нет информации о том, какую именно ситуацию из удовлетворяющих этому условию следует выбрать. Интуитивно ясно, что ситуация г должна быть частным случаем образца q в таком же смысле, в котором s является частным случаем р. однако частичный порядок, будучи отношением, дает только положительный или отрицательный ответ на вопрос, выполнено ли условие s ^ р. и нет никакой информации относительно того, как именно из р получается з. Это делает аппарат упорядоченных множеств непригодным для описания сколько-нибудь сложных систем продукций.
Таким образом, использование частичного порядка оправдано в задачах, в которых операция сопоставления является заключительным шагом, если же после сопоставления требуется дальнейшая обработка ситуаций с учетом результатов этого сопоставления, то использование частичного порядка, как правило, является недостаточным. Здесь имеется, определенная аналогия с обсуждением необходимости символьного оценивания ситуаций в процессе поиска решений [Минский, 1978].)
Сети образцов. Для описания процесса обучения систем, т. е. процедур усвоения нового знания, в общем случае недостаточно понятий изолированных образцов, продукций или фреймов, описанных в предыдущих разделах. Исходным при построении обучающихся си-
стем являются сети образцов, формальное определение которых дается в настоящем разделе.
Здесь дается также описание процедур модификации этой сети с использованием таких операций, как обобщение, отождествление узлов и разложение в произведение.
Сеть образцов позволяет обеспечить узнавание ситуаций из некоторого их множества. Таким образом, сеть образцов — это обобщение понятия образца. В п. 4.5.4 рассматривается р-сеть, которую можно считать обобщением продукции. По распознанной ситуации p-сеть строит новую ситуацию, которую можно использовать различным образом.
Будем говорить, что задана сеть образцов, если: 1) задано некоторое множество {А^ г 6 М^ объектов категории С (не обязательно различных); 2) для каждой пары i^j Е М задано множество морфизмов A^j С Hom (А^ Aj) категории; 3) выделено множество Mq С М (объекты А^ г Е М^. будем называть выходными объектами сети).
Дадим рекурсивное определение сопоставимости ситуации с сетью. Пусть а : I —У At — произвольная ситуация. Будем говорить, что она сопоставима с сетью М в одном из следующих случаев: 1) если г Е МО1 т. е. объект является выходным; 2) для некоторой ситуации (3 : I —> —> А^ сопоставимой с сетью, существует морфизм у? Е А^ такой, что а = Р<р. Простейшим примером сети является один образец ip : X —У —> Е; если положить М = {0,1}, До = Е, Ai = X, Mq = {1}, Дю = = {<р}, Aij = 0 для остальных г, J, то условие сопоставимости ситуации с построенной сетью есть не что иное, как условие сопоставимости ситуации с образцом (X, ф\
Чуть более сложный пример изображен на рис. 4.29. Здесь L и I — объекты категории, рассмотренной в примере 2 (см. рис 4.28 и П.З), фах^ фЬх и т. д. — морфизмы, соответствующие образцам аж, Ьх и т. д., например, ipax = (siao х тгД ст^. Выходные вершины отмечены кружками. Ситуация сопоставима с такой сетью, если она представляет собой либо последовательность, начинающуюся с 6, либо последовательность, начинающуюся с а, в последнем случае оставшаяся ее часть должна либо оканчиваться буквой 6, либо быть равной с.
Рис. 4.29. Пример сети образцовРис. 4.29. Пример сети образцовРис. 4.30. Другой пример сети образцовРис. 4.30. Другой пример сети образцов
Рис. 4.29. Пример сети образцов
Рис. 4.29. Пример сети образцов
Рис. 4.30. Другой пример сети образцов
Рис. 4.30. Другой пример сети образцов
Сеть может иметь петли. Например, с сетью, изображенной на рис. 4.30, сопоставимы последовательности 6, ab, aab и т. д.
Сеть образцов может использоваться для описания некоторого множества ситуаций: система определяет, входит ли конкретная ситуация в это множество, судя по тому, сопоставима ли эта ситуация с сетью.
Обобщение в сети образцов. Сеть образцов может иметь весьма сложную структуру и описывать нетривиальное множество, однако локально она устроена просто: процедура сопоставления с образцом применяется в каждом узле сети независимо. Это позволяет построить сравнительно простые локально-организованные алгоритмы, дающие возможность системе самостоятельно строить сеть на основе обработки примеров ситуаций из того множества, которое эта сеть должна описывать.
Изложим основную идею работы одного такого алгоритма. Исходно сеть состоит из одного объекта До и не содержит морфизмов. Пусть к некоторому моменту уже сформирована сеть М и на вход поступила очередная ситуация а ; I ^ Ао. Будем действовать следующим образом.
Если ситуация сопоставима с М, это означает, что система узнала ситуацию а и нет оснований что-либо менять;
если для некоторого г 6 М существуют морфизмы ф 6 А^ и /3 6 6 Нош (/, Д^) такие, что а = /Зу?, то заменить а на /3, До на Ai и применить снова описываемую процедуру;
в остальных случаях проделать следующие действия:
добавить к множеству М новый элемент ш, положить Ат = /, положить Дто = {а} и Атг = 0 для всех г ^ 0, А^т + 0;
исследовать все морфизмы у? 6 А^г Е М. и если для одного из таких морфизмов ф : Ai —> До и морфизма а : Ат —>- До существует нетривиальное ) обобщение — объект X с морфизмами А : Ат —у X, ц \ Ai —у X и\; X -у До, то добавить к сети объект А^ = X, полагая ^пО — {х}? ^тп — {^}: ^гп — {//}; других морфизмов, входящих в Ап или выходящих из Ап нет.
Несложно убедиться, что полученная сеть описывает те и только те ситуации, которые использовались для ее построения. В этом смысле использование сети не дает ничего нового по сравнению с хранением в памяти списка всех поступивших ранее ситуаций; однако сеть может иметь преимущество перед списком, связанное с тем, что время сопоставления ситуации с сетью будет меньше, чем время поиска ее в списке (см. [Stefanuk, 1974]).
Отметим, что здесь и в дальнейшем мы рассматриваем обучение на примерах, т. е. на вход системы подаются конкретные ситуации. Но ничто, однако, не запрещает подать на вход системы готовый образец, что будет означать сообщение системе правила для распознавания
ситуаций; возможность восприятия таких правил не требует никаких дополнительных изменений в алгоритме.
Отождествление узлов. По существу, мы рассматривали две операции, используемые для построения сети — добавление ситуаций и обобщение. Введем в рассмотрение еще одну операцию — отождествление узлов сети. Пусть i^jE М. г ^ з^ А^ = Aj. Заменим узлы А г и Aj на один узел А^ полагая А^ = Аг = Aj^ А^т = А^т U U Ajm, Amk — Ат^ U Amj для всех тп Е М.
Система будет отождествлять узлы г и j сети при условии Ат^ = = Amj для всех т Е М. Например, сеть рис. 4.31 а будет преобразована к виду 4.31 б.
ааРис. 4.31. Процедура отождествления узловРис. 4.31. Процедура отождествления узловвв
а
а
Рис. 4.31. Процедура отождествления узлов
Рис. 4.31. Процедура отождествления узлов
в
в
Отождествление узлов позволяет хранить информацию в более компактной форме. Однако введение этой операции влечет и более серьезные изменения. Дело в том, что теперь так построенная сеть уже может описывать ситуации, которые ни разу не встречались в процессе обучения. В самом деле, если на вход сети, изображенной на рис. 4.31 б, подать ситуацию ае, сеть примет вид, изображенный на рис. 4.31 в; это приведет к тому, что система будет рассматривать ситуацию be как допустимую, хотя эта ситуация ни разу не встречалась и может, вообще говоря, не являться допустимой.
Свойство системы узнавать не возникавшие прежде ситуации может являться мощным методом обучения, позволяющим системе обрабатывать новые ситуации по аналогии со старыми, однако как и всякое рассуждение по аналогии, такой метод может привести к ошибкам в работе системы.
Во многих случаях следует проводить отождествление вершин, заменив условие Ami = Amj на более слабое: Ami близко к Amj. Что значит «близко», должно быть задано для каждой конкретной предметной области.
При таких условиях отождествление вершин с большей вероятностью может привести к ошибкам, однако во многих случаях это единственный способ получить достаточно богатую сеть. Например, отождествление близких вершин является единственным способом получения рекурсивных сетей, содержащих петли. Так, например, после отождествления вершин на рис. 4.32 а, система построит сеть, изобра-
Рис. 4.32. Построение рекурсивной сети при отождествлении узловРис. 4.32. Построение рекурсивной сети при отождествлении узловс сетью (здесь символомс сетью (здесь символомженную на рис. 4.32 б. Во многих задачах (например, в лингвистических) использование таких рекурсивных сетей является необходимым.
Рис. 4.32. Построение рекурсивной сети при отождествлении узлов
Рис. 4.32. Построение рекурсивной сети при отождествлении узлов
с сетью (здесь символом
с сетью (здесь символом
Разложение в произведение. Введем некоторое дополнение к определению сети образцов. Рассмотрим множество Р, элементами которого являются некоторые конечные последовательности (го, й, • • • dn) элементов множества М, для которых имеет место равенство А^о = П ^ij^ гДе знаком j=i
П обозначено теоретико-категорное произведение. Если (й, й • . . . , гп) 6 6 Р, будем говорить, что объект сети разложен в произведение объектов А^, . . . ... , А^. К двум условиям сопоставимости с сетью добавим третье: ситуация а : / —У Ао сопоставима с сетью М, если (0,й?---Дп) 6 Р и каждая из ситуаций aiTj : / —> A^j сопоставима 7Tj обозначена проекция объекта Ао =
= П А^ на Ао). Рассмотрим, например, сеть, изображенную на j=i
Рис. 4.33. Пример разложения в произведениеРис. 4.33. Пример разложения в произведениерис. 4.33. Знак 0 и линии, соединяющие его с объектами сети, служат для изображения того, что объект Lq разложен в произведение объектов Li и L2, т. е. что (0, 1,2) 6 Р. Ситуация, входящая в Lq, сопоставима с такой сетью, если она представляет собой слово, первая буква которого есть а или 6, а вторая — с или d.
Рис. 4.33. Пример разложения в произведение
Рис. 4.33. Пример разложения в произведение
Разложение в произведение позволяет хранить приобретенные системой знания в более компактном виде, кроме того, оно ускоряет процесс обучения за счет того, что некоторые сомножители могут отождествиться с другими узлами сети, и получение новых знаний об этих узлах будет автоматически добавлять знания о произведении.
Для того, чтобы использовать разложение
в произведение в процессе обучения, нужно, чтобы система могла самав произведение в процессе обучения, нужно, чтобы система могла самасоздавать такие разложения.
в произведение в процессе обучения, нужно, чтобы система могла сама
в произведение в процессе обучения, нужно, чтобы система могла сама
Рассмотрим пример. Допустим, на некотором этапе обучения была сформирована сеть, фрагмент которой изображен на рис. 4.34 а. С помощью операции обобщения может быть построен фрагмент сети, изображенный на рис. 4.34 б (указаны только те морфизмы, которые
LoLoаа
Lo
Lo
а
а
Рис. 4.34. Использование разложения в произведение в процессе обучения
используются в дальнейшем построении). Отождествляя узлы Ly и L^ система получает сеть, приведенную на рис. 4.34 в. Теперь можно разложить объект Lq в произведение, в результате чего сеть примет вид, изображенный выше на рис. 4.33. Во
Рис. 4.35. Пример замены сетей системойРис. 4.35. Пример замены сетей системойобще, всякий раз, когда система встречается с сетью, изображенной на рис. 4.35 а, она ищет возможность заменить ее сетью рис. 4.35 б. Вопрос о том, как это сделать, должен решаться для каждой конкретной задачи (так же, как и выработка алгоритмов для построения наиболее общего частного случая, для сопоставления и т. д.). Для разложения в произведение иногда можно использовать те же методы,
Рис. 4.35. Пример замены сетей системой
Рис. 4.35. Пример замены сетей системой
что и для нахождения наименьшего обобщения.
Сети продукций (p-сети). Сеть образцов, которая рассматривалась выше, представляет собой как бы более сложный вариант образца в том смысле, что ее можно использовать для сопоставления с ситуациями и ответа на вопрос, входит ли некоторая ситуация в заданное множество или нет. Теперь мы рассмотрим сеть, являющуюся обобщением понятия продукции, которую, подобно одиночной продукции, можно будет использовать для преобразования ситуации, замене ее новой ситуацией. Такую сеть будем называть р-сетью.
Дадим формальное определение. Будем говорить, что задана р- сеть, если заданы две сети образцов {А^ £ М^ и {В^, г 6 М}, имеющие взаимно однозначное соответствие между множествами A^j и В^ для любых г и у. Потребуем, кроме того, чтобы выполнялось равенство А г = В г для любого г из множества Mq. Если сети образцов содержат разложения в произведение, потребуем, чтобы множество Р было бы одним и тем же для обеих сетей.
Пусть задана ситуация а : I ^ А^. Будем говорить, что р-сеть переводит ее в ситуацию (3 : I —> Bi в одном из следующих случаев:
если г 6 Mq (следовательно, Ai = ВД и а = Д;
если для некоторого морфизма у? 6 A^j и соответствующего ему морфизма ф Е Bij найдутся такие ситуации х : I —у А3и 5 : I —У Bj. что а = ^ф^ (3 = дф ^ ситуация 7 переводится p-сетью в ситуацию J;
если (г, Ji, . . . , Jn) 6 Р и для каждого k = 1, . . . , п ситуация атг^ переводится в ситуацию bq^ (здесь тг^ обозначает проекцию Ai на А3^ a qk — проекцию В г на В^).
Как и сеть образцов, p-сеть может быть построена в процессе обучения. Система, использующая такую сеть для обработки ситуаций, работает под контролем оператора, который может вмешиваться в ее работу. Всякий раз, когда на вход системы поступает очередная ситуация, система пытается применить к ней p-сеть. Результаты этой попытки могут быть следующими: 1) система правильно строит новую ситуацию; 2) система неправильно строит новую ситуацию; 3) система не может применить сеть, ибо ситуация с ней не сопоставима.
В первом случае система не меняет сети, считая, что сеть пригодна для обработки данной ситуации. (На самом деле, информацию о правильной работе сети имеет смысл хранить и использовать для ускорения поиска [Жожикашвили и Стефанюк, 1984а; 19846].)
Во втором случае оператор сообщает системе, что ситуация обработана неверно, в этом случае система удаляет те элементы сети, которые привели к неверному ответу. Мы не будем касаться этих операций и сосредоточимся на третьем случае.
В том случае, когда ситуация не сопоставима с сетью, оператор сообщает системе ситуацию, которая должна была получиться на выходе. Эту информацию система использует для наращивания сети. Опишем алгоритм, используемый для этого.
Пусть на вход системы поступила ситуация а : / —> А^ а подсказкой оператора является ситуация (3 \ I ^ В^. Если существуют соответствующие друг другу морфизмы у? Е Ajj ^ Е В^ и существуют морфизмы 7 : I —У А3 и 5 : I ^ Bj. такие, что а = 7у?, 3 = = дф и ситуация 7 переводится сетью в ситуацию J, то применяем описываемый алгоритм к ситуациям 7 и J. В противном случае следует проделать следующее: 1) добавить к множеству М новый элемент ш, положить Ат = Вт = /, Ami = {a}, Bmi = {/3}; 2) если для некоторого морфизма ср : Aj —у Ai и морфизма а существует нетривиальное обобщение — объект X с морфизмами х • X А^ X : Aj —> X и pt : Ат —> X, а для соответствующего морфизма ф : Bj —> Bi и морфизма 3 — нетривиальное обобщение Y с морфизмами г] : Y -V Вр ^ : Bj Y и ( : Вт —> У, то добавляем к множеству М элемент п, полагая
Ап = X, Вп = У, АПг = {у} , Ajn = {А} , Атп = {/z} ,ВНг = {??} , BjH = {£} , Втп = {С} •
В результате обучения система сформирует сеть, которая позволит ей с некоторого момента перейти в автономный режим работы, без контроля со стороны оператора.
Можно перенести на p-сети остальные операции, сформулированные для сетей, образцов — отождествление вершин и разложение
в произведение, причем теперь эти операции должны выполняться одновременно в каждой из двух сетей, составляющих р-сеть.
Отметим, что, как и в случае сети образцов, оператор может сообщить системе не только пару ситуаций (обучение на примерах), но и готовую продукцию (X, <р,^), ф : X —У А^ ф : X —У Bi (обучение посредством сообщения правила). В этом случае к множеству М^ добавляется элемент m, Ат = Вт = X, Ami = {<р}, Bmi = {^L а в дальнейшем алгоритм работает, как изложено выше.
В заключение отметим, что рассмотренный в настоящем разделе подход является весьма общим. На этом уровне абстракции, тем не менее, представляется, что следующей важной и интересной задачей является выделение содержательных классов морфизмов, которые при разумном компромиссе между абстрактностью и конкретностью позволили бы эффективно применить методы теории категорий к решению содержательных классов задач.
Хочется надеяться, что изложенное облегчит работу в этом направлении.
Некоторые аспекты теории локально-организованных человеко-машинных (экспертных) систем
Возникшее в начале 80-х годов направление экспертных систем (ЭС) к настоящему времени оформилось в самостоятельную научную дисциплину, в основе которой лежит создание прикладных программных систем [Алексеева и др., 1984; Алексеева и Стефанюк, 1984; Антонюк, 1985; Микулич, 1985; Попов, 1987; Поспелов и Поспелов, 1965]. Поскольку эта дисциплина зародилась в недрах искусственного интеллекта (ИИ), то многие теоретические аспекты, такие как выбор способа представления знаний, схемы логического вывода и индуктивного накопления знаний, являются в областях ИИ и ЭС общими.
С другой стороны, имеется достаточное число открытых теоретических проблем, которые относятся, по-видимому, только к области ЭС. В настоящем разделе уделяется внимание двум таким вопросам. Условно их можно назвать «Мета ЭС» и «Объединение свидетельств».
Обращение к первому из этих вопросов позволяет с единых позиций взглянуть на область ЭС. Второй вопрос имеет особую важность на этапе построения подсистем работы со знаниями в реальных ЭС.
Экспертные системы метауровня. Метапонятия часто используются в ИИ и ЭС. Обычно подразумевается, что высказывание «мета X» означает «X об X»: метазнания — это знания о знаниях, метаязык — это язык для описания языка и т. п. Но такое толкование следует воспринимать всего лишь как мнемоническое правило, которое, к тому же, не всегда применимо. Например, метауровень — это просто следующий по отношению к исходному уровень, и вообще, «мета» (греч.) означает «после», «через».
Полезно напомнить, что, например, в теории поведения автоматов в случайной среде [Цетлин и Крылов, 1963] часто говорилось об ав-
томатах второго уровня, задача которых состояла в подборе параметров автоматов первого уровня, непосредственно выбиравших действия в случайной среде. Так с полным правом можно было бы назвать метаавтоматом автомат, использованный в [Гершт и Стефанюк, 1968] для поиска оптимального объема памяти автомата нижнего уровня, помещенного в марковски переключаемую среду. Итак, здесь метаавтомат — это автомат, управляющий работой другого автомата.
Столь подробное объяснение смысла метапонятий приведено для того, чтобы было видно, что вводимое понятие «мета-ЭС» отличается от таких понятий, как «пустая ЭС», «скелетная ЭС» или «оболочка ЭС». Мета-ЭС — это «ЭС об ЭС», т. е. экспертная система, способная решать задачи из некоторого достаточно узкого класса (см. ниже) задач, касающихся прикладных экспертных систем.
Таким образом, предметной областью мета-ЭС являются всевозможные прикладные экспертные системы. Опыт работы, с прикладными ЭС показал [Хейес-Рот, Уотерман, Ленат, 1987], что не только предметная область должна быть в определенном смысле узкой, но и класс решаемых задач тоже не слишком широкий.
Заимствовав из [Хейес-Рот, Уотерман, Ленат, 1987] перечень решаемых ЭС задач, а именно, интерпретация, прогноз, диагностика, проектирование, планирование, управление, наблюдение, исправление, отладка, ремонт и обучение, можно попытаться создать мета-ЭС для решения каждой из них. Разработка таких мета-ЭС, очевидно, эквивалентна созданию некоторой теории ЭС, отсутствие которой в настоящее время сдерживает прогресс в области экспертных систем.
Для конкретности дадим примеры задач, решаемые гипотетическими мета-ЭС в соответствии с приведенным выше списком.
По наблюдаемому поведению данной прикладной ЭС или ее описанию дать ее интерпретацию, т. е. указать класс, к которому она может быть отнесена.
Дать прогноз направления развития ЭС, скажем, данного класса [Стефанюк, 1987г].
В сложно устроенной ЭС диагностировать использование какого-то основного подхода (например «доски объявлений» или семантической сети и т. п.).
В частности, легко видеть, что в подавляющем большинстве существующих ЭС используются правила Ri, каждое из которых вносится в систему экспертом практически независимо от других правил. Поэтому такая экспертная система представляет собой локальноорганизованную систему (в смысле разд. 1.2) правил Ri, характер взаимодействия которых жестко регламентирован и зависит лишь от поступающих в систему данных извне.
Мета-ЭС в задаче проектирования ЭС может помочь при выборе необходимых ее составляющих. Такая постановка очень близка задаче, решаемой системой XI (см. [Алексеева и Стефанюк, 1984]). Другим примером может служить вопрос объединения свидетельств, которому посвящены следующие пункты данного раздела.
Сами свидетельства также образуют локально-организованную систему. Каждое свидетельство е^ поставляется из опыта совершенно независимо от других, и вопрос их объединения, который разбирается далее, — это вопрос указания характера взаимодействия подсистем некой локально-организованной системы, что соответствует этапу IV на рис. 1.3.
Мета-ЭС — весьма полезная концепция при планировании этапа разработки ЭС или планировании создания последовательности постепенно усложняющихся ЭС.
Мета-ЭС может быть использована при выборе характера управления потоками информации внутри ЭС.
Концепция мета-ЭС может быть использована при ведении наблюдения за работой ЭС, позволяющего обнаружить, например, когда ЭС перестает справляться с решаемой задачей.
Мета-ЭС может помочь при отладке ЭС и ее ремонте (например, при корректировке знаний). Именно это имеется в виду в [Хейес-Рот, Уотерман, Ленат, 1987] при описании эволюционного процесса создания ЭС.
Наконец, мета-ЭС может быть особенно полезна для обучения специалистов, в частности, в процессе подготовки инженеров знаний, что сегодня является весьма актуальной задачей.
Приведенные нами примеры не исчерпывают всех возможностей теоретического осмысления области прикладных ЭС, которые открываются благодаря введению концепции мета-ЭС. В заключении раздела приведем список тех трудностей или проблем, которые имеются на сегодня в области прикладных ЭС [Стефанюк, 1987г]: малоразвитый процесс приобретения знаний, узкая предметная область, неглубокие рассуждения, разные способы представления знаний, разные дедуктивные машины, практическое отсутствие самообучения. Кроме того, на современном этапе отсутствуют способы сравнения ЭС между собой, в существующих ЭС не всегда ведется адекватный учет свойств пользователя и т. п.
Эти проблемы также могут рассматриваться как задачи для метаЭС. Таким образом, сама концепция мета-ЭС может оказаться полезной и, по-видимому, заслуживает самостоятельного изучения ’). В следующих разделах, однако, мы ограничиваемся рассмотрением одного из вопросов, заслуживающих изучения на метауровне — вопроса использования в прикладных ЭС неточных знаний.
.2. Использование нечеткой логики. Одним из главных достоинств прикладных ЭС, обеспечившим им особенно широкое распространение, является возможность работы с неточными (неполными, ненадежными, ошибочными) знаниями [Алексеева и Стефанюк, 1984]. Причинами возникновения неточных знаний могут быть ошибки в дан-
х) Мета-ЭС была нами реализована на Лиспе и успешно демонстрировалась на нескольких выставках (см. например [Стефанюк и Жожикашвили, 1990а; 19906]).
ных, в правилах вывода, а также использование неточных моделей или нехватка данных.
Из существующих способов работы с неточными знаниями мы остановимся на одном из двух наиболее распространенных методах — применении нечеткой логики.
В [Zadeh, 1965] было предложено понятие нечеткого множества, характеристическая функция которого может принимать произвольное значение из интервала [0,1], позволяя отобразить разнообразные нечеткие понятия, такие как «высокий», «старый», «широкий» и т. п. Развитые в дальнейшем методы были использованы во многих работах, но, пожалуй, трудно указать для них наиболее яркое применение, чем то, которое они нашли в прикладных ЭС.
Согласно [Zadeh, 1965], истинность ц некоторого утверждения X (например, «этот человек — высокий») является числом ц(Х) Е [0,1], причем выполняется
pt (X V У) = тах{//(Х), р\¥)^ ,
ц(Х ^Y) = min ЫХУ /Ау)} > М W = 1 - ^XY
По этим формулам производится комбинирование истинностей отдельных утверждений, но возникает вопрос, а как комбинировать между собой различные свидетельства в пользу некоторого одного утверждения?
Опишем кратко схему, используемую для этого в системе MYCIN, в которой Шортлифф [Shortliff, 1976] предложил использовать коэффициенты уверенности (КУ) для оценки степени доверия данному заключению, являющегося результатом собранных свидетельств:
КУ(Н|е) = а(Н|е) - а(Н|е).
Здесь КУ(Н|е) — коэффициент уверенности в гипотезе Н при наличии свидетельства е, а — мера доверия этой гипотезе, а а — мера недоверия этой гипотезе.
Меры а и а могут изменяться в интервале [0,1], а КУ, следовательно, — в интервале [—1, +1]. Далее Шортлифф предлагает работать с а и а по отдельности. В частности, он опирается на следующую простую формулу, позволяющую вычислить новую степень доверия при поступлении двух свидетельств ei, е2 в пользу гипотезы Н:
a(H|ei, е2) = a(H|ei) + а(Н|е2)(1 - a(H|ei)).
Например, если одна цепочка правил в экспертной системе приводит к степени доверия некоторому факту Ф, равной 0,5, а другая — к степени доверия тому же факту, равной 0,6, то итоговая степень доверия факту Ф будет равна 0,8.
В следующих разделах мы сделаем попытку разобраться, насколько оправдано применение такого рода формул.
.3. Получение закона объединения свидетельств — аксиоматический подход. В настоящем разделе показано, как используемая Шорт- лиффом формула может быть получена в результате решения некоторой вариационной задачи, обоснованию которой посвящен п. 4.6.5. Для этого слегка изменим обозначения. Пусть имеются два свидетельства 61, 62 в пользу некоторой гипотезы Н и пусть соответствующие степени доверия в отношении Н равны сц 3^ причем 0 ^ а, Д ^ 1. Нас будет интересовать «суммарная» степень доверия х(сц 3) гипотезе Н при поступлении в систему обоих указанных свидетельств.
Рассматривая х(а, 3) как функцию а и Д, можно предложить следующий естественный набор требований к этой функции:
х(а, 3) — непрерывная действительная функция своих аргументов, имеющая производные любого порядка;
х(а, — симметрическая функция;
х^а^З е [0,1];
ж(1,1) = 1;
ж(а, 0) = а;
х^с^З) ПРИ заданных а^З достигает максимума в классе функций, удовлетворяющих условиям 1)-5). Однако нетрудно видеть, что эта функция ж (а, 3) не имеет максимума при перечисленных требованиях, поэтому наложим на нее дополнительное условие, отбросив члены высшего порядка в ее разложении в ряд Тейлора.
Разложим функцию х(а^З) в РЯД Тейлора в окрестности точки [0,0]:
х^а, 3) = ^(0, 0) + аж^О, 0) + Дж^(0, 0) +
+ 5 {«2^«(0,0) + 2а^ж"/3(0,0) + /?2ж^(0, 0)} + О<а, ЗУ
Пренебрегая членами со степенями а и 3 выше второй, что упрощает анализ, и учитывая условия 2) и 5), имеем
Да, /?) = В(а + 3) + С(а2 + 3^ + ОаЗ,
где В, С, D — некоторые действительные константы. Для определения значения последних из условия 4) получаем 2В + 2С + D = 1, а из условия 5) (при а = 1) получаем В + С = 1. Из двух последних соотношений имеем С = 1 — В, В = — 1 и, следовательно, получаем
ж(а, 3) = В (а + 3) — <^3 + (1 — В) (а2 + Д2).
Можно показать (см. ниже лемму), что В ^ 1. Учитывая это, нетрудно видеть, что максимум ж(а,Д) достигается при В = 1. Это следует из того, что неравенство (а + Д) — аЗ ^ В (а + /3) — аД + + (1 — В) (а2 + Д2) эквивалентно преобразуется в неравенство (1 — — В)(а + Д) > (1 — В) (а2 + Д2), которое при В < 1 выполняется в силу условия 3).
Таким образом, решение поставленной экстремальной задачи в перечисленных условиях единственно и дает выражение совпадающее с формулой, примененной Шортлиффом.
В заключение докажем использованную выше лемму.
Лемма 4.3. В 1.
Доказательство. Запишем х(а,3) в следующей форме х(а, 3) = [(а — ЗУ + аЗ"\ + В[а(1 — а) + Д(1 — /3)]. При фиксированных а^З прямая х = х(ВЗ очевидно, проходит так, что существует значение В = В+(а,/3), при котором она пересекает горизонтальную прямую х = 1 на соответствующем графике.
Имеем
В а(1 - а) + /3(1 - ЗУ а +
Легко видеть, что В+(а,/3) ^ 1. Действительно, это утверждение эквивалентно неравенству 1 — [(а — ЗУ + аР"\ ^ а(1 — се) + /3(1 — /3) или (а + Д) — аД^1, что выполняется, поскольку верно тождество
(се + /3) — аЗ = 1 — (1 — се)(1 — /3).
Далее заметим, что для выполнения условия 3) необходимо, чтобы при любых се, 3 выполнялось неравенство В ^ В+(се, Д). Чтобы показать, что
inf {В+(се,Д)} = 1,
достаточно убедиться, что В+(се,Д) = 1. Таким образом, константа В, которая не должна превосходить значение В+(се,Д) при любых се, /3, ограничена сверху значением этого предела, т. е. В ^ 1, что и требовалось доказать.
В заключение отметим, что аналогичным путем можно получить формулу объединения любого конечного числа свидетельств (или аргументов по терминологии п. 4.3.1), но проще всего здесь потребовать, чтобы операция объединения свидетельств была ассоциативной. Тогда имеем при п 2
ж(сЕ/[, . . . , СЕП) — ^ СЕ^ ^ Q-^Q-j Т ^ 0,^0, j Q,^ ( 1) СЕ/[ . . . СЕ^. г i^j i^j^k
Взаимозависимость свидетельств. Вывод формулы Шорт- лиффа для объединения двух свидетельств не является единственной целью предлагаемого аксиоматического подхода. Другая наша задача — учет случаев зависимости и взаимозависимости свидетельств (или аргументов).
Вернется еще раз к выражению для х^а^ЗУ Ясно, что использованные при его выводе требования предыдущего раздела по смыслу эквивалентны предположению о независимости свидетельств в пользу одной и той же гипотезы Н. Однако на практике свидетельства (будучи вполне равноправными) часто оказываются зависимыми друг от друга. Так, если указана степень г, в которой свидетельства ei,
и 62 взаимозависимы, причем 0 ^ г ^ 1, то при г = 1 достаточно наблюдения одного из свидетельств, причем все равно какого. Поэтому при г = 1 из теории нечетких множеств (см. п. 4.6.2) следует, что
х(а, 3) = max (а, 3).
Для вывода общей формулы объединения свидетельств при наличии взаимозависимости можно воспользоваться некоторыми результатами предыдущего раздела. Действительно, при каждом фиксированном т мы, по существу, имеем ту же самую экстремальную задачу, которая теперь закончится получением выражения х(а, 3) = [(Q — — 3Y + <^Д] + В(г)[а(1 — а) + Д(1 — 3TV гДе коэффициент В теперь явным образом зависит от т.
Поскольку, согласно доказанной лемме, выполняется В (г) ^ 1, то теперь у нас есть основания для того, чтобы разложить В (г) ^ 1 в ряд Тейлора: В (г) = В(0) + гВДО) + О(г).
В дополнение к шести условиям, перечисленным в предыдущем разделе, мы имеем теперь еще такие два:
При г ^1 имеем ж(а, 3) ~> max (а, /3);
При г = 0 имеем B(r) = 1.
Не ограничивая общности, предположим пока, что а > 3- Тогда, оставляя два члена в указанном выше разложении, т. е. считая, В (г) = = 1 + г В при г = 1 получаем а = [(а — /З)2 + аД] + (1 + В)[а(1 — а) + + /3(1 — /3)]. Отсюда можно найти В и получить следующее выражение: х^а^ /3) = (1 — г)[а + Д — аД] + га, а > 3^ или в общем виде
ж(а, /3) = (1 — г)[а + Д — аЗ"\ + г • тах(а, /3).
Рассмотренный нами путь получения формул комбинирования свидетельств может быть использован и в других ситуациях. Так, можно было бы отказаться от требования симметричности функции ж(а,Д), что приведет к более сложным выражениям. Иногда это оказывается необходимым. Например, в работе [Khan and Jain, 1985] в одной экспертной системе предлагается учитывать второе свидетельство с большим весом, чтобы отразить особую важность вновь поступившего свидетельства.
Можно рассмотреть случай, когда влияние свидетельств друг на друга носит несимметричный характер. Например, если свидетельство 62, возникает исключительно под влиянием свидетельств ei, то, заменив условие 7 в этом случае на требование, чтобы при г ^1 выполнялось х(а,3) = сц аналогично предыдущему, получаем следующую формулу объединения свидетельств:
х^а, /3) = (1 — г)[а + Д — аЗ"\ + га.
Сравнивая ее с формулой, используемой Шортлиффом, можно заключить, что при таком однонаправленном влиянии фактически происходит замена степени доверия гипотезе Н, связанной со вторым свидетельством, на величину /3 = /3(1 — г), что представляется нам достаточно естественным.
Принцип максимального доверия свидетельствам. Человеко-машинная система обычно с доверием относится к свидетельствам (т. е. к данным или знаниям), поступающим в систему извне. Однако такие свидетельства могут вызывать и недоверие, если они прямо или косвенно противоречат фактам, уже известным системе.
Так, например, в хороших экспертных системах вводимое инженером по знаниям правило сопоставляется с уже накопленными, и, если не все в порядке, инженера просят как-то модифицировать это правило. Если же новое правило не противоречит накопленным системой знаниям, то оно принимается за истинное (с тем коэффициентом уверенности, который указан автором правила) и включается в «опорную» совокупность правил. Таким образом, локально-организованная система правил каждый раз анализируется в соответствии с рис. 1.3.
(Заметим, что в естественном интеллекте встречаются самые разнообразные реакции «системы» на свидетельства, так что смоделированные нами в экспертных системах полное доверие им или полное недоверие — всего лишь два полярно противоположных случая из всего набора возможных реакций.)
Мы предлагаем придать этому явлению явную форму в виде следующего принципа «максимального доверия»:
Система искусственного интеллекта относится к поступающим свидетельствам с максимально возможным доверием, совместимым с уже имеющимися у нее знаниями.
Выше было показано, что этот естественный для локально-организованной искусственной системы принцип является конструктивным, напоминая в этом отношении принцип «максимальной энтропии», применяемый в физике, теории связи и т. п.
Дело в том, что такие принципы, уверенность в которых вытекает из общетеоретических соображений, дают возможность доопределить исследуемую систему до степени, позволяющей применить к ее анализу развитый математический аппарат.
Чтобы не быть голословным, остановимся на нескольких примерах использования принципа максимальной энтропии [Стефанюк, 1966].
А. При анализе вопросов передачи одномерного сигнала по каналу с шумами необходимо знать плотность вероятности р8^ того, что на выходе канала будет наблюдаться значение г при том условии, что на его вход был подан сигнал s.
Можно показать [Стефанюк, 1966], что р8^ удается найти как решение следующей экстремальной задачи:
Пусть Е(Л)(гД) — оператор напряженности электрического поля в точке (гД), создаваемой осциллятором А, Й(Л) — оператор энергии последнего, а — оператор плотности.
Найти p8(z\ обеспечивающую максимум энтропии
W = - | ps(z) logps(z) dz
при условиях
j ps(z) dz = 1 (нормировка);
j zps(z) dz = s (аддитивность средних значений);
j z2ps(z) dz = s2 + ст2 (аддитивность энергий).
Решением такой задачи, как и следует ожидать, является / х1- s)2
Б. При анализе передачи информации по квантовому каналу с аддитивным тепловым шумом соответствующая экстремальная задача несколько усложняется, поскольку квантовая совокупность сигнала и шума характеризуется матрицей плотности р^х\ где А — номер осциллятора соответствующего квантовомеханического поля.
Пусть E(A)(r,t) — оператор напряженности электрического поля в точке (r,t), создаваемой осциллятором Л, Й(А) — оператор энергии последнего, а р^А^ — оператор плотности. Требуется найти оператор р^А^, обеспечивающий максимум энтропии
W = -k Sp^ \п^
при условиях
Spp(A) = 1;
Spp<A)E^(r,t) = Ё^(г,ф
Spp^H^ = Пшх(п^ +п^\
Здесь Ё(а)(г,£) — среднее значение напряженности поля сигнала, п^ — среднее значение числа фотонов в сигнале, йщ ^ — среднее значение числа фотонов шума, причем
^^(ехр—-1) .
Можно показать [Стефанюк, 1966], что решением такой задачи является матрица плотности р^А^, которая в ^-представлении имеет вид
_1/ Йш V
^1 + пш \ 1 + тгш / ’
и найти унитарное преобразование Ust^ связывающее энергетическое представление с ^-представлением, которое мы здесь не приводим из- за его громоздкости.
(Опираясь на эти величины удается найти важную формулу для минимально возможной вероятности ошибки при передаче по квантовомеханическому каналу связи бинарного сигнала, включающую как классические, так и квантовые эффекты [Стефанюк, 1966]:
/14Еhw \
th — j,
где Ф — интеграл вероятности.)
Таким образом, налицо несомненная параллель в применениях принципа максимальной энтропии и принципа максимального доверия. Но если первый из них наиболее полезен в задачах физической природы, то принцип максимального доверия особенно привлекателен для систем искусственного интеллекта, переводя их из плоскости чистой эмпирики в область строгих научных методов.
Выводы по главе 4
. Материал главы показывает, что локальная организация — типичный подход к основным проблемам, возникающим в области искусственного интеллекта, среди которых:
представление задач;
представление знаний;
формирование знаний и обучение;
организация экспертных систем;
объединение свидетельств (или аргументов) в экспертных системах.
Показано, что локальный подход позволяет с успехом строить подходящее представление в некотором классе комбинаторных задач (задачи покрытия множеств).
В целом ряде случаев «озарение» удается заменить на систематическую процедуру уменьшения числа используемых имен и их адекватного приписывания элементам задачи, реализуя две стороны принципа семиотической интроспекции «подобное — отождествить, различие — подчеркнуть».
Имеется большое число родственных задач, например гексагональные массивы, тримино вместо косточек домино, наконец, трехмерные проблемы, в которых интуиция помогает достаточно мало и где предложенный принцип семиотической интроспекции оказывается достаточно полезным.
Имеются и примеры использования принципа семиотической интроспекции для действительно полезных задач, например: покрытие пола татами (задача замощения), изоритмическое управление в сети пакетной передачи информации, децентрализованное управление потоком такси в городе.
Использование принципа семиотической интроспекции является достаточно очевидным. В то же время доказательство положительных свойств полученного представления может оказаться весьма сложной, с математической точки зрения, задачей.
Показано, что эволюционное конструирование представляет собой мощный механизм построения сложных систем, работающий в природе и в инженерной практике человека. Эволюционное конструирование позволяет объяснить парадокс, связанный с тем, каким образом происходит открытие сложных устройств, для создания которых требуется большой запас твердо установленных знаний. Основная идея — использование дополнительных соображений (или аргументов) при последовательном усовершенствовании конструкции, исходя из условий практического её использования.
Существенная разница между знаниями и аргументами продемонстрирована также и на теоретических схемах. Грубо говоря, знания перемножаются, а аргументы — складываются. Показан оригинальный аксиоматический подход, который позволяет систематическим образом строить процедуру суммирования надежностей аргументов в искусственных интеллектуальных системах.
В экспериментах на компьютере показано, что в локально-организованной системе с использованием моделей памяти, обсуждаемых в гл. 2, естественно возникают фреймо-подобные представления как средство ускорения выборки информации.
С применением теории категорий построена достаточно общая теория представления знаний и обучения в системах искусственного интеллекта, охватывающая широкий спектр систем, организованных на локальных принципах.
Высказан принцип максимального доверия свидетельствам, позволяющий на регулярной основе получать выражения для объединения свидетельств в локально-организованной экспертной системе. Показана определенная параллель в использовании этого принципа и принципа максимальной энтропии.
Таким образом, с использованием принципов создания локальноорганизованных систем сформулирован и исследован ряд новых прикладных задач и решен ряд новых теоретических проблем.
Глава 5
ИСПОЛЬЗОВАНИЕ ЛОКАЛЬНОЙ ОРГАНИЗАЦИИПРИ РАЗРАБОТКЕ ПРИКЛАДНЫХ
ПРОГРАММНЫХ И ЧЕЛОВЕКО-МАШИННЫХ
СИСТЕМ
На протяжении всей книги, изучая принципы локальной организации, мы старались, чтобы приводимые примеры и модели отражали те или иные проблемы, присущие техническим системам, как существующим, так и гипотетическим. В настоящую главу вынесены те случаи, когда с использованием локальных подходов удалось построить замкнутые, целостные системы. При «внедрении», разумеется, дело не сводится только к той теме, которой посвящена данная книга: приходится привлекать и множество других соображений, характеризующих реальную ситуацию. Эти вторичные по отношению к основной теме книги соображения могут быть найдены в публикациях автора и будут упомянуты здесь лишь кратко.
Задача данной главы — убедиться, что локальная организация позволяет расширить класс практически полезных систем за пределы того класса систем, которые удается создать, ограничиваясь централизованными или децентрализованными схемами.
В области программирования на ЭВМ естественно выделяются различные способы организации программ и процесса их составления, отличающиеся степенью централизации. Можно сказать, что в историческом плане программирование развивалось от централизованных методов к методам децентрализованным и, наконец, локальным, что происходило по мере роста сложности составляемой программы, все большей «логической нагрузкой» программы и, как результат, постепенной потерей контроля программиста над свойствами создаваемой программы.
Централизованные методы были характерны, прежде всего, для первых этапов освоения ЭВМ, когда программирование относительно несложных вычислительных задач велось на уровне машинных кодов, а в дальнейшем — с применением ассемблера, языков типа Алгол и Фортран.
Идеи структурного программирования [Dijkstra, 1970] были вызваны повышением сложности программы, необходимостью работы над ее созданием целого коллектива авторов, высокими требованиями к надежности программы и т. п. Структурное программирование, дающее определенные рекомендации по разбиению программы на отдельные блоки, вполне естественно отнести к методам децентрализации.
Ярким примером языка, допускающего реализацию программы на локальных принципах, является язык Лисп в его наиболее распространенном интерпретируемом варианте [Weissman, 1967; Лавров и Сила- гадзе, 1978]. В этом языке ) программа состоит из отдельных модулей, причем каждый такой модуль пишется и отлаживается в интерактивном (или диалоговом) режиме совершенно независимо от других, что соответствует этапу III анализа подсистем рис. 1.З., так как отладка алгоритма ведется в стационарных условиях.
Отлаженные модули в ходе работы «вызывают» друг друга, т. е. вступают во взаимодействие. Сразу отметим, что обычно программа на языке Лисп характеризуется интенсивным взаимодействием ее блоков, чем ситуация существенно отличается от использования подпрограмм в более традиционных языках программирования, где обычно обращение к подпрограммам идет в иерархическом порядке, т. е. взаимодействие в смысле раздела 3.1 отсутствует.
Локальные методы в программировании имеют свою специфику, поэтому методы анализа, развитые в гл. 2-4, требуют некоторого пополнения. К числу особенностей следует отнести детерминированный характер отдельных подсистем Si и последовательный характер их взаимодействия. Последний обусловлен фон-Неймановской организацией компьютера. (Заметим, что использование других методов организации вычислений, а именно систем с однородной перестраиваемой структурой [Прангишвили, 1987], сетевых [Hillis, 1985], параллельных [Хинтон, 1987] и им подобных, в еще большей степени связано с децентрализованными и локальными методами программирования).
Практика программирования на языке Лисп все в большей степени приводила к идее локальной организации программ. Так программисты постепенно перестали пользоваться прямой (или косвенной) адресацией к данным, хранящимся в компьютере, предпочитая поиск по образцу. Для программиста вообще перестало играть роль, в каком физическом разделе памяти хранятся данные и структуры. Широкое применение получили «демоны» — структуры, которые срабатывают в программе при возникновении определенных условий [Уинстон, 1980].
То же можно сказать и об организации современных экспертных систем [Хейес-Рот, Уотерман, Ленат, 1987; Форсайт, 1984; Алексеева и др., 1984; Алексеева и Стефанюк, 1984; Микулич, 1985; Стефанюк, 19876; 1987г; 1988а]: правила, обуславливающие работу экспертной системы, вносятся в нее независимо друг от друга, и лишь в ходе их взаимодействия на этапе функционирования системы выясняется их коллективное свойство. (Аналогичная картина наблюдается и при использовании семантических сетей, классной доски и т. д. По-видимому, иначе дело обстоит в случае глубоких экспертных систем [Майклсен и др., 1987],
которые должны будут строиться на нелокальных принципах, а точнее, не только на локальных принципах.)
Состав этой главы следующий.
В разд. 5.1 рассматривается несколько реализованных программных систем, в которых изучается и используется локальный подход: взаимодействие подпрограмм с учетом возникающих побочных эффектов, вычисление несимвольных функций в символьных и других языках программирования, допускающих рекурсию, комментирующая система программирования, облегчающая работу программиста.
В разделах 5.2 и 5.3 описывается концепция интеллектуальной операционной системы на локальных принципах [Стефанюк, 1982; Сте- фанюк и Алексеева, 1986] и приводится реализованная модель такой системы — интерактивная система FLEX программирования на языке Лисп, обеспечивающая программиста дополнительным сервисом.
В разд. 5.4 описаны различные аспекты реализованной и внедренной системы PROMPTER поддержки ввода информации в компьютер. При создании этой системы были использованы некоторые принципы обучения путем «минимального» обобщения [Жожикашвили и Стефанюк, 1986а; 19866], описанные в книге ранее.
В разд. 5.5 рассматривается вопрос использования знаний экспертов при решении одной из важнейших современных задач — задачи автоматического восстановления последовательности оснований ДНК по результатам хроматографического анализа [Stefanuk, 2000b; 2000с; Стефанюк, 2000ж].
Наконец, в разд. 5.6 для борьбы с вирусами и спамом, поступающими по всемирной компьютерной сети (WWW) предлагается использовать активный фильтр. В отличие от привычного пассивного фильтра, обычно поставляемого в составе почтового пакета, активный фильтр предполагает проведение встречных, предупредительных действий, направленных на выяснение истинного характера полученного письма при отсутствии у пользователя соответствующей априорной информации. Предложенный нами ранее активный фильтр [Стефанюк, 2000д] уже доказал свою работоспособность в режиме защиты компьютера от поступления вирусов.
Локальный подход в программировании
В данном разделе рассматриваются задачи использования локального подхода, возникающие в программировании. В и. 5.1.1 решена важная задача сведения рекурсивных кодов к итеративным с учетом дополнительного взаимодействия функций языка Лисп, вызванного наличием побочных эффектов. Описанная здесь система является обобщением и развитием системы Т. Риша [Rish, 1973], названной им REMREC, на случай побочных эффектов.
В п. 5.1.2 показано, что, благодаря локальности организации программы, можно в интерактивном режиме рекурсивно вычислять «арифметические» функции такие, как sin, log и т. д. Предлагаемый нами прием отличается от привычного обращения к подпрограмме
из основной программы и дает ряд преимуществ методологического и вычислительного характера.
В этих разделах в качестве параметра, дающего глобальную оценку локально-организованной системы (гл. 1), выступает сходимость вычислений, в частности, отсутствие циклов и т. и. (Заметим, что для экспертных систем, построенных на локальных принципах, создаются специальные программы обнаружения циклов.)
В и. 5.1.3 результаты предыдущего пункта переносятся на случай алголо-подобных и фортрано-подобных языков программирования.
В и. 5.1.4 содержится краткое описание системы ЭКЛИСП, разработанной автором книги для компьютера Эклипс в ИППИ АН СССР. Эта система в течение ряда лет была единственной доступной нам на регулярной основе системой Лисп, и на ней были реализованы программы, упомянутые в разд. 4.4. (Позднее некоторые усовершенствования в нее были добавлены Е. Ф. Алексеевой и А. В. Жожикашвили.)
В разд. 5.2 описаны принципы организации интеллектуальной операционной системы, которые были сформулированы нами в [Стефа- нюк, 1982]. Описанная в следующем разд. 5.3 система гибкого обслуживания программиста на языке Лисп была первоначально задумана как модель интеллектуальной операционной системы, создаваемой на локальных принципах. Но она представляет и самостоятельный интерес. Программирование этой системы выполнено, в основном, Е. Ф. Алексеевой, которой принадлежат также выбор ряда конкретных элементов реализации системы. Однако общая структура системы FLEX и ее модификаций принадлежит автору книги.
В разд. 5.4 описана система, которая основана на результатах, полученных в гл. 4. (разд. 4.3). Эта работа на всех этапах велась совместно с А. В. Жожикашвили, но ответственность за постановку задачи и конкретный метод организации диалога с пользователем несет автор книги.
Основной материал этой главы опубликован в работах [Стефанюк, 1982; 1981а; 19816; 1979; 1987а; Stefanuk, 1976; 1979; Жожикашвили и Стефанюк, 1988а; Алексеева и др., 1984; Алексеева и Стефанюк, 1984; Стефанюк и Алексеева, 1986; 1987].
Если в гл. 2. книги подсистемами Si системы S являются довольно простые конечные и стохастические автоматы, в гл. 3 — непрерывные автоматические устройства, то в разд. 5.1 подсистемы представляют собой рекурсивные программы произвольной сложности, в качестве которых, в частном случае, могут выступать автоматные структуры, изученные в гл. 2. С этой главой разд. 5.1 сближает также использование графовых представлений, которые здесь, однако, характеризуют не отдельные подсистемы, а их взаимодействие.
Приведенные здесь постановки задачи и полученные результаты принадлежат автору и высказаны на языке программ. Новым является подход к программе, как локально-организованной системе, однако авторы [Back and Mannila, 1984] несколько позже, и по-видимому независимо, пришли к подобной точке зрения на программы, имеющие модульную структуру.
Проблема взаимодействия подпрограмм в локально-организованной программе. Вводимое в поди. 5.1.1.1 каноническое представление направленного графа, типа графа, рассмотренного в гл. 3 для систем из невзаимодействующих компонент, оказывается полезным для упрощения процедуры перебора (поиска).
Это представление используется в задаче оптимизации порядка оценивания аргументов рекурсивного кода, возникающей в свете снятия рекурсии. В поди. 5.1.1.2 описана программа, минимизирующая число промежуточных состояний. В подпунктах 5.1.1.3, 5.1.1.4 показана организация всей программной системы при наличии побочных эффектов, которые достаточно строго определены в приложении П.4.1. В П.4.2 описаны принципы, положенные в основу программы. В П.4.3 описана реализованная автором на языке BBNLISP программа, а в подп. 5.1.1.5 приведены примеры ее работы.
Каноническое представление направленного графа. Пусть Г — направленный граф без петель. Для ряда приложений оказываются полезными следующие два представления такого графа. Представление TD («сверху-вниз») [Stefanuk, 1979] является перечнем списков элементов и строится в ходе следующего процесса, применяемого к Г и обозначаемого нами символом canon (Г), который аналогичен процессу, использованному ранее в гл. 3 для выявления структуры коллектива без взаимодействия.
Пусть s’ — множество всех «неподчиненных» вершин Г, на которые не указывают никакие стрелки. Если такое s’ — пусто, то пусть s’ будет множеством всех «неподчиненных» пар вершин Г и т. д. (Группа вершин называется неподчиненной, если отсутствуют стрелки, идущие к этой группе от остальной части графа .)
Для непустого подмножества s' графа Г обозначим через Г' множество оставшихся вершин графа, из стрелок которого удалены все стрелки, ведущие к s’. Тогда в обозначениях языка Лисп имеем очевидное рекурсивное отношение
canon (Г) = append (s' canon (Г));
append (LI L2) выдает список, составленный из последовательно взятых элементов списков L1 и L2. TD-представление для графа, показанного на рис. 5.1., имеет такой вид:
((E)(B))((A))((GD)).
По аналогии можно построить BU-представление («снизу-вверх»), если в s' отнести вершины или их группы, которые «не воздействуют» на остальную часть графа. Такое представление для графа на рис. 5.1 выглядит следующим образом:
((E)(A))((CD))((B)).
Представление TD интересно потому, что оно позволяет последовательно выделять наименее зависимые части системы, работать с ними,
((E)(B))((X))((CD))((E)(B))((X))((CD))Рис. 5.1. Простой граф и его представление «сверху-вниз»Рис. 5.1. Простой граф и его представление «сверху-вниз»а затем переходить к остальной части системы. В работе [Стефанюк, 1973а] (см. гл. 3) фактически оно было использовано для доказательства теоремы об устойчивости локального управления в коллективе без взаимодействия.
((E)(B))((X))((CD))
((E)(B))((X))((CD))
Рис. 5.1. Простой граф и его представление «сверху-вниз»
Рис. 5.1. Простой граф и его представление «сверху-вниз»
Представление BU имеет особый интерес для рассматриваемой ниже проблемы оптимизации порядка оценивания функций в языке Лисп с учетом возможных побочных эффектов.
Перечислим некоторые свойства приведенных представлений:
Для заданного графа Г представление TD и представление BU единственны с точностью до порядка элементов в выделенных группах и подгруппах.
TD(T) совпадает с BU(T+), где Г+ — обратный по отношению к Г граф (множества вершин и стрелок в Г и Г+ совпадают, но направление всех стрелок — противоположное).
Если Г — ациклический граф, то TD(F) представляет собой список, который является «обратным» по отношению к BU(F).
Каждая подгруппа s' имеет хотя бы один простой цикл порядка к. где к — число элементов в этой подгруппе.
Свойство 2 показывает, что алгоритмы построения BU и TD по существу идентичны.
Свойство 4 наводит на мысль о более «подробном» алгоритме сортировки вершин Г, когда, при отсутствии неподчиненных вершин, ищутся вершины, на которые указывает не более одной стрелки и т. и.
Приведем взятую из работы [Stefanuk, 1979] программу на диалекте INTERLISP языка Лисп [Teitelman, 1971], позволяющую построить такое более подробное TD-представление, которое мы обозначим TD*.
(CANONC
[LAMBDA (G V)
(COND
((NULL G) NIL)
(T (CONS (SETQ V (CANONB G 0)) (CANONC (REMOVE V G])
(CANONB
[LAMBDA (G S)
(COND
((NULL G) NIL)
((CANONA G G S))
(T (CANONA G G (ADD1 S])
(CANONA
[LAMBDA (G U S)
(COND
((NULL G) NIL)
8 Стефанюк
((EQ S (TEST (LIST (CAR G))
(REMOVE (CAR G) U))) (CAR G)) (T (CANONA (CDR G) US])
На рис. 5.2 показан пример более сложного направленного графа и соответствующие ему представления TD, BU, TD*, BU*. Ниже, однако, нам потребуется лишь алгоритм для создания представления, которое позволит работать по очереди над подгруппами элементов, будучи уверенным, что это не скажется на остальной части элементов графа. Внутри же группы мы будем прибегать к полному перебору, считая, что на практике число элементов в группе будет небольшим.
TD: [(Г)][(ЛВ)][(С)][(ЕО)] BU :[(ВР)][(В)(С)][(ЛВ)]
TD* : [(В)][(В)(В)(Л)][(С)(В)] Ви* :[(Г)(В)(С)][(Р)][(Л)(В)]
Рис. 5.2. Пример более сложного графа и некоторые его представления
Замена переменных в рекурсивных кодах. Предположим, что нам задан список функций вида
L: F1(X1,... ,XN) F2(X1,... ,XN)... FN(X1,... ,XN)
и соответствующий список «новых переменных» (XI Х2 ... XN) такой, что переменной XI должно быть присвоено значение Fl, Х2 — значение F2 и т. д.
В общем случае при вычислении этих функций (предполагая, например, что функции из L оцениваются в порядке слева направо) они будут интерферировать друг с другом в том смысле, что уже оцененные значения и присвоенные некоторым переменным могут повлиять на значение других функций. Чтобы избежать недоразумений, необходимо ввести какое-то число временных промежуточных переменных и некоторое дополнительное число операций присваивания типа SETQ.
Задача состоит в том, чтобы найти оптимальный порядок оценивания L с тем, чтобы минимизировать число дополнительных переменных.
В дальнейшем через Fl, F2V . . мы будем обозначать произвольные функциональные формы, в частности функции, имеющие некоторое число А-переменных.
Такая проблема оптимизации наиболее отчетливо возникает при решении вопроса снятия рекурсии, т. е. перехода от рекурсии к итерации. Рассмотрим следующий довольно искусственный пример:
(F00
[LAMBDA (X Y Z)
(COND
((NULL(AND X Y Z)) NIL)
(T (CONS(QUOTE *)
(FOO(CDR X)
(CONS(CAR X)(CDR У))
(CONS(CAR X)
(CONS(CAR Y)(CDR Z]),
где
Fl — это (CDR X),
F2 — это (CONS (CAR X) (CDR Y)),
F3 —это (CONS(CAR X) (CONS(CAR Y) (CDR Z))).
Пытаясь оценить FOO итеративно, мы увидим, что было бы неразумно оценивать аргументы при обращении к FOO в их естественном порядке, т. е. в порядке Fl, F2, F3, поскольку, чтобы не помешать верной оценке F3, придется ввести две временные (промежуточные) переменные. Правильно было бы оценивать переменные в порядке F3, F2, F1, когда необходимость в промежуточных переменных не возникает.
Такого рода оптимизация предусмотрена в программе REMREC [Rish, 1973], по крайней мере для тех семи типов рекурсии, на снятие которых она рассчитана, при условии, однако, что сами Fl, F2, . . . не создают дополнительных побочных эффектов. (Такими же свойствами характеризуются и другие системы устранения рекурсии, предшествовавшие программе REMREC.)
Наш план состоит в том, чтобы перед программой «снятия рекурсии «запустить» программу оптимизации (назовем ее REMMEM), которая позволила бы системе учесть некоторые дополнительные связи между оцениваемыми функциями, в частности, возникающие побочные эффекты.
Организация программы. Программа REMMEM обеспечивает следующее. Для заданного порядка оценивания форм она должна быть в состоянии построить оценку необходимого числа временных (промежуточных) переменных; на основании ее найти оптимальный порядок оценивания и при необходимости реорганизовать код соответствующим этому образом. Ниже мы дадим краткое описание функций, обеспечивающих работу (они первоначально были написаны на языке Interlisp [Teitelman, 1974] на компьютере PDP-10, а затем перенесены
на диалект BBNLISP на компьютере DEC-20, установленном в Линчепингском университете, Швеция.
Функция exprisl (Fl, F2, . . ., FN) возвращает список, CAR которого есть оптимальная оценка, a CDR — соответствующий оптимальный порядок оценивания форм. Например, для совокупности функций (F1 X) (F2 X Y) (F3 X Y Z) и списка новых переменных (X Y Z) указанная функция строит список (О (F3 F2 F1)). (Здесь предполагается, что побочные эффекты отсутствуют.)
Функция semprog (Fl, F2, . . ., FN) дает так называемую семантическую программу оценивания; в нашем примере результатом ее работы будет последовательность кодов
((SAVE Fl X)(SAVE F2 Y) F3 (RETURN X Fl X)(RETURN X F2 X))
Последняя, в рамках программы REMMEM, преобразуется в
((SETQ Т_1 (Fl X))
(SETQ Т_2 (F2 X))
(SETQ Z F3)
(SETQ X Т_1)
(SETQ Y Т_2)).
Учет побочных эффектов. Насколько нам известно по литературе [Rish, 1973] прежде не предпринимались попытки включить знания о побочных эффектах в процесс оптимизации порядка оценивания. (Под влиянием наших исследований Я. Урми, Линчепингский университет, Швеция, предложил отдать учету побочных эффектов приоритетную роль уже на уровне интерпретатора.) С другой стороны, мы не нашли подходящей классификации побочных эффектов в системах Лисп. Поэтому в Приложениях (см. П.4.) мы обсудим ряд примеров, позволяющих прийти к строгому определению понятий побочных эффектов и относительных побочных эффектов.
В приложении П.4.2 описаны предложенные принципы действий пакетов снятия рекурсии при учете побочных эффектов и некоторые подробности их реализации (прил. П.4.3).
Примеры реальной работы программ. Приведем результаты некоторых экспериментов на симулированной системе Interlisp для PDP-10 (эта Лисп-система была создана П. Эмануэлссоном, Швеция). (EXPRIS ‘(Fl F2 F3 F4)) -э (2 (F3 F4 F2 F1)) Процессорное время: 21,52 с.
(CANON (Fl F2 F3 F4)) -э (2 (F3 F2 F1))((F4))
Процессорное время: 10,52 с.
(CANON (Fl F2 F3 F4 F5 F6 F7)) -э
((F5))((F6))((F7))(2 (F3 F2 F1))((F4))
Процессорное время: 18,24 с.
Однако, если для сравнения запустить EXPRIS без функции CANON,
то
(EXPRIS ‘(Fl F2 F3 F4 F5)) -э (2 (F5 F3 F4 F2 F1))
Процессорное время 3 м. 54 с.!
Выше предполагается, что формы имеют побочные эффекты, показанные в табл. 5.1.
Таблица 5.1.
Тестовый пример
Форма
Новая переменная
Ламбда- переменная
Побочный эффект
Fl
X
(X)
(x Y)
F2
Y
(XY)
(Z)
F3
Z
(X YZ)
(U)
F4
и
NIL
NIL
F5
NIL
NIL
NIL
F6
NIL
NIL
NIL
F7
NIL
NIL
NIL
Здесь последовательно показаны: результат работы функции CANON, оптимальная цена и оптимальный порядок оценивания, а затем итеративная программа, вводящая необходимое число промежуточных ячеек.
Приведенные примеры ясно показывают полезность создания BU- представления перед процедурой перебора, если граф побочных эффектов достаточно хорошо структурирован.
Далее мы приводим реальные распечатки системы DIMANP, работающей в режиме запросов. Вначале система запрашивает пользователя относительно характера форм, а затем о структуре списка PSEPLIST, описывающего характер побочных эффектов. (Программа PROMPT была написана с демонстрационной целью, позволяя просмотреть разные варианты оформления списка PSEFLIST.)
(PROMPT ’(Fl F2 F3 F4]
Type the list of new variables for the forms in (Fl F2 F3 F4), please (X Y Z T)
Type thelistofLAMBDAvariablesoftheformFl,please:(Z)
Type thelistofLAMBDAvariablesoftheformF2,please:(XY)
Type thelistofLAMBDAvariablesoftheformF3,please:(XYZ)
Type thelistofLAMBDAvariablesoftheformF4,please:(XУZT)
Type PSEPLIST or NIL: NIL
((F4)(F3)(F2)(F1))
(F4)
(SETQ T F4))
(F3)
(SETQ Z F3))
(F2)
(SETQ Y F2))
(F1)
(SETQ X F1))
NIL
Type PSEPLIST or NIL: ((Fl F2)(F3 F4))
((F3 F4) (Fl F2))
(1 F3 F4)
((SETQ A0001 F3) (SETQ T F4) (SETQ Z AOOOD)
(1 Fl F2)
((SETQ A0001 Fl) (SETQ Y F2) (SETQ X AOOOD)
NIL
Type PSEFLIST or NIL: ((Fl F2 Y) (F3 F4))
((F3 F4) (Fl F2))
(1 F3 F4)
((SETQ AOOO1 F3) (SETQ T F4) (SETQ Z AOOOD)
(1 Fl F2)
((SETQ AOOO1 Fl) (SETQ Y F2) (SETQ X AOOOD)
NIL
Type PSEFLIST or NIL:((Fl F2) (F3 F4 T))
((F3 F4) (Fl F2))
(1 F3 F4)
((SETQ AOOO1 F3) (SETQ T F4) (SETQ Z AOOOD)
(1 Fl F2)
((SETQ AOOO1 Fl) (SETQ Y F2) (SETQ X AOOOD)
NIL
Type PSEFLIST or NIL: ((Fl F2 Y) (Fl F3 Z))
((F4) (Fl F2 F3))
(F4)
(SETQ T F4)
(2 Fl F2 F3)
((SETQ AOOO1 Fl) (SETQ A0002 Y) (SETQ Y F2) (SETQ Z F3)
(SETQ X AOOOD)
NIL
Type PSEPLIST or NIL: ((Fl F2 Y) (Fl F3 Z) (Fl F4 T))
((Fl F2 F3 F4))
(3 Fl F2 F3 F4)
((SETQ AOOO1 Fl) (SETQ A0002 Z) (SETQ A0003 Y) (SETQ Y F2)
(SETQ Z F3) (SETQ T F4) (SETQ X AOOOD) NIL
Рекурсивное взаимодействие при вычислении арифметических функций. Здесь приводятся соображения в пользу «явного» вычисления элементарных функций в системах Лисп. Даются примеры простых рекурсивных кодов для вычисления sin, exp и In, иллюстрирующие общий подход.
Традиционные методы вычислений в языке Лисп. Язык Лисп и его различные диалекты заняли прочное место при решении задач, прежде всего, неарифметической природы [IJCAI-1979]. Этот язык программирования становится все более популярным в нашей стране, благодаря появлению, в свое время, его реализации на ЕС ЭВМ [Семенова, 1977] и других вычислительных машинах (например, [Nordstrom and Sandewall, 1970]) в дополнение к известной реализации
Лисп 1.5 для БЭСМ-6 [Лавров и Силагадзе, 1978]. В последние годы появилось также несколько новых реализаций, работающих под контролем операционной системы Windows.
Наша цель состоит в том, чтобы указать на один распространенный недостаток методологического плана, связанный с использованием систем Лисп, и дать элементарный рецепт для его устранения. Дело в том, что, хотя в любой реализации языка Лисп предусматривается известный набор арифметических операций и «библиотечных» функций типа SIN, SQR и т.п., широко распространено представление, что Лисп не предназначен для арифметики. Например, в описании одной из наиболее развитых реализаций [Teitelman, 1974], предшествовавших Common Lisp, прямо отмечено, что программы для вычисления элементарных функций включены в систему, лишь чтобы не ограничивать ее общности. В этой реализации такие программы оказались скрытыми от пользователя, поскольку в их основу положены взятые без изменения стандартные программы на Фортране.
Пока эти функции были фактически не нужны, такой подход казался целесообразным, хотя он и в самом начале привел к ненужному усложнению описания системы ИНТЕРЛИСП.
Ситуация в настоящее время значительно изменилась в связи с появлением высокоэффективных систем Лисп, в частности Лисп- машин [IJCAI-1979] и современных реализаций Common Lisp и в связи с тем, что для значительного контингента пользователей Лисп является основным языком программирования (см. [Уинстон, 1980]). Благодаря этим обстоятельствам, на языке Лисп стал решаться более широкий круг задач, включая, например, задачи управления робототехническими системами. Здесь можно указать на успешное моделирование на Лисп-машине Массачусетского технологического института (США) механического робота с учетом конкретной физики происходящих процессов: инерции, трения, изгиба металлических компонент и т. д. )
Сложившийся способ введения и использования элементарных функций неприемлем потому, что: 1) программы оказываются машинно-зависимыми; 2) погрешность вычислений фиксирована раз и навсегда; 3) неясно, как при необходимости пополнять запас библиотечных функций.
В следующем разделе показано, что совсем нетрудно, а часто и очень естественно, писать программы для вычисления «арифметических» функций непосредственно на языке Лисп. При этом такие параметры, как быстродействие и погрешность, могут контролироваться непосредственно. (Заметим, что описываемый ниже прием выгодно отличается от приема, использованного в учебнике [Weissman, 1967] при написании на языке Лисп программ вычисления SIN с помощью сходящегося ряда с заранее оцененными коэффициентами, своей наглядностью и большей универсальностью.)
Использование простых функциональных соотношений. Задачей данного раздела, ориентированного на пользователя системой Лисп, является демонстрация примеров рекурсивного вычисления элементарных математических функций на языке Лисп, при котором основную роль играют не сходящиеся ряды, а используемые для рекурсии функциональные соотношения. При этом применение эффективно организованных Лисп-машин, систем снятия рекурсии [Rish, 1973; Ste- fanuk, 1979] (см. также весь предыдущий раздел 5.1) и компилятора позволяет рассчитывать на достаточно высокое быстродействие и малый занимаемый объем в памяти. Такая рекурсивная форма вычисления является естественной для пользователя, позволяя применять обычные интерактивные отладочные средства для контроля погрешности и скорости сходимости в рамках не арифметических, а символьных представлений, типичных для языка Лисп.
Пример 1: Вычисление sin ж, 0 ^ х ^ тг/2, можно произвести по следующей программе
(SIN
[LAMBDA (X)
(COND
((LESSP X DELTA) X)
(T (RAT(SIN(FQUOIIENT X 3.]),
где
(RAT
[LAMBDA (X)
(FDIFFERENCE (FTIMES 3. X) (FTIMES 4. XXX]).
Для организации рекурсии здесь использовано соотношение
sin Зж = 3 sin ж — 4 sin3 ж
и то, что при ж —> О выполняется sin ж ~ ж.
Поскольку достигаемая точность лишь отчасти определяется условием остановки рекурсии (LESSP X DELTA) и соответствующей асимптотикой для функции sin и в действительности будет меньше из-за промежуточных арифметических операций в ходе рекурсии (логические операции, разумеется, погрешности не вносят), то глубина рекурсии является важным параметром. Например, при вычислении по этой программе sin, при DELTA равном 1,2 • 10, требуется 10 итераций и производится (1 + 4 + 1)10 = 60 сложений /умножений/ делений.
Отметим в заключение, что для sin 5ж = 20 sin5 ж — 20 sin3 ж + 5 sin ж указанное соотношение хуже: хотя итераций меньше, но суммарное число арифметических операций оказывается большим (7 итераций, 98 промежуточных операций).
Пример 2: Вычисление ехрж, ж > 0, можно произвести по следующей программе
(ЕХР
[LAMBDA (X)
(COND
((LESSP X DELTA) (ADD1 X))
(Т (FTIMES(EXP(FQUOTIENT X 2.))
(EXP(FQUOTIEHT X 2.]).
Здесь использовано тривиальное соотношение ехрж = ^ехр — J и то, что при х —> 0 верно ехрж « 1 + ж. Кстати, для повышения скорости вычисления здесь можно ввести обычным образом промежуточную переменную для хранения (EXP(FQUOTIENT х 2)).
х — 1, получаемх — 1, получаемПример 3: Вычисление In ж, ж > 0, может быть основано на использовании функции SQR (вычисление арифметического значения квадратного корня), которая может быть реализована, например, с применением алгоритма Герона. Тогда, опираясь на соотношение
х — 1
, получаем
х — 1
, получаем
22In ж = 2 In д/ж и то, что при ж —> О верно In ж
2
2
следующую программу:
(LOG
[LAMBDA (X)
(COND
((LESSP(EXP(SUB1 X)) DELTA)
(FTIMES 2.
(PQUOTIENT(SUB1 X)(ADD1 X)))) (T (FTIMES 2. (LOG(SQR X] ) .
Таким образом, для организации рекурсии для некоторой непрерывной функции /(ж) годится любая асимптотика этой функции и подходящее функциональное соотношение. При этом, конечно, величина DELTA должна быть выбрана настолько малой, чтобы используемая асимптотика давала бы для /(DELTA) приемлемую погрешность с некоторым «запасом» на арифметические ошибки в ходе такой «арифметической» рекурсии.
Важно отметить, что, используя стандартную отладочную программу языка Лисп типа TRACE [Teitelman, 1974; Nordstrom and Sandewall, 1970], за дисплеем легко устанавливается глубина рекурсии для данного значения аргумента, строится оценка погрешности, даваемой промежуточными выкладками [Демидович и Марон, 1966]. Этих данных достаточно для выбора константы DELTA, гарантирующей требуемую точность. (В некоторых случаях достаточно будет проведения тестов с различным значением константы DELTA, добиваясь повторяемости результата с требуемой точностью.)
Заметим в заключение, что в вычислительной практике используется рекурсивный способ оценки функции, но, как правило, целочисленного аргумента и в комбинации с более полными сходящимися
рядами. Настоящий раздел, однако, ориентирован на системы Лисп, где подобный подход не встречается.
Наглядное программирование вычислений. С какой-то точки зрения все методы облегчения контакта с компьютером, т. е. организации взаимопонятного полезного диалога, расширяют штат программистов. Современное программирование ведется на так называемых языках высокого уровня, так что от программиста в идеале не требуется ничего знать об устройстве конкретного компьютера, скажем, о том, какие там регистры, в каких разрядах машинного слова помещаются коды команды, а в каких — адреса операндов и тому подобное.
Программирование становится все более наглядным и доступным ученому, решающему с помощью компьютера некоторую задачу. И хотя системное программирование требует четкого априорного анализа задачи — вычленения ее подчастей и точного описания их работы и их будущего взаимодействия, на практике такое программирование ведется в той или иной степени локальными методами в диалоге с компьютером, в котором отлаживается не только написанная программа, но и уточняется сама постановка решаемой задачи. При этом вполне естественно, программисту необходимо, как правило, держать под контролем все аспекты составляемой им программы.
Именно по этой причине все большее распространение находят, например, лиспоподобные языки высокого уровня, которые обеспечивают указанный контроль, ввиду обозримости этого языка и подконтрольности его структур.
Наглядность программирования определяется двумя факторами: возможностью воспользоваться теми знаниями, которыми априори располагает составитель программы, и тем, чтобы в минимальной степени требовалось приобретать какие-то специальные знания, которые не слишком нужны вне области программирования.
Рассмотрим пример. Одним из путей облегчения программирования, несомненно, является создание библиотеки подпрограмм. Это высокоэффективное средство упрощения программирования делает, однако, какую-то часть программы «скрытой»; действительно, при обращении, например, к sin в программе на Фортране обычно нелегко выяснить точность, с которой вычисляется эта функция. А ведь подчас точность может быть и излишней и тогда мы просто оставляем несколько знаков после запятой, огрубляя полученный результат!
Совсем плохо обстоит дело с вычислением «редких» или новых функций, не перечисленных в библиотеке. В этом случае приходится прерывать основную линию своих рассуждений, связанных с решаемой задачей, отвлекаясь на поиск соответствующей подпрограммы или пытаясь написать свою собственную подпрограмму. Требование наглядности становится в этом случае очень важным.
Мы предлагаем здесь метод наглядного программирования вычислений функций путем организации рекурсий (итераций), который опирается, главным образом, на знание общих асимптотических закономерностей для рассматриваемой функции и на знание аналитических формул-соотношений для функций при различных значениях
аргумента. Это, по-видимому, тот запас знаний, которым программист- исследователь заведомо располагает.
Приведем примеры трех итеративных программ для вычисления sin, log и exp на Фортране, а также рекурсивную программу вычисления sin на Алголе. (Аналогичные примеры рекурсивных программ на Лиспе показаны в предыдущем разделе.)
ACCEPT "TYPE IN THE PRECISION: ", XO ACCEPT "TYPE IN X: ",X X1=X K=0
IF(ABS(X).LE.XO) GO TO 2
X=X/3
K=K+1
GO TO 1
IF(K.EQ.O) GO TO 4
DO 3 1=1,К
X=3*X - 4*X**3
CONTINUE
TYPE " SIN ", XI ," = ", X END
ACCEPT "TYPE IN THE PRECISION: ", XO ACCEPT "TYPE IN X: ", X
X1=X
K=0
IF(ABS(X-1).LE.XO) GO TO 2 X=SQRT(X) K=K+1 GO TO 1
X=2*(X-l)/(X+l)
IF(K.EQ.O) GO TO 4
DO 3 1=1,К
X=2*X
CONTINUE
TYPE " LOG ", XI ," =", X END
ACCEPT "TYPE IN THE PRECISION: ", XO ACCEPT "TYPE IN X: ",X
X1=X
K=0
IF(ABS(X).LE.XO) GO TO 2
X=X/2
K=K+1
GO TO 1 X=l+X
IF(K.EQ.O) GO TO 4 DO 3 1=1,К X=X*X
CONTINUE
TYPE " EXP ", XI ," =", X END
BEGIN REAL XO, X
REAL PROCEDURE MSIN(X);
BEGIN IF ABS(X)<XO THEN MSIN:=X
ELSE MSIN:=3*MSIN(X/3) - 4*SGN(1,MSIN(X/3))*
ABS(MSIN(X/3))~3;
END;
OPEN(0,"©INPUT");
OPEN(1,"©OUTPUT");
WRITE(1,"<NL>TYPE IN THE PRECOSION: ");READ(O, XO);
WRITE(1,"TYPE ON X: ");READ(O,X);
WRITE(1,"SIN ",X,"=",MSIN(X));
END;
Интерактивная система программирования ЭК ЛИСП. В основу системы был положен LISP-F1 или «Лисп на Фортране», разработанный М. Нордстрёмом в Уппсальском университете, Швеция. Однако, не могло быть речи о прямом переносе этой системы [Nordstrom and Sandewall, 1970] на мини-компьютер ECCLIPS, поскольку для нее требовалось 85 кбайт оперативной памяти (создатели LISP-F1 имели в виду реализацию системы на компьютере типа IBM 360/40).
В системе LISP-F1 применялась традиционная схема интерпретатора и было решено ее сохранить. В то же время программная реализация на Фортране была нами основательно пересмотрена с целью максимальной экономии оперативной памяти.
Необходимая экономия памяти была достигнута за счет замены 4-байтовых переменных, в тех случаях, когда это возможно, на 2байтовые и перехода к оптимизирующему компилятору Fortran-5 вместо Fortran-IV, предусмотренного М. Нордстрёмом, а также за счет использования ассемблера.
В окончательный вариант системы ЭКЛИСП удалось добавить ряд свойств, отсутствующих в LISP-F1. В частности в нее встроены:
система «редактирования на экране»,
система прерывания цикла интерпретации,
развитая файловая система,
информационная система HELP (см п. 5.1.5),
система «виртуальной памяти».
Кроме того пересмотрена система хранения атомов, чтобы позволить использование имен неограниченной длины, и добавлена «одиночная кавычка» — эквивалент оператора QUOTE.
Комментирующая система для языка Лисп. Здесь рассматриваются особенности построения достаточно эффективной и простой базы данных HELP для языка Лисп с ассоциативной выборкой информации и с возможностью переработки статей на языке Лисп. Управляющая часть системы реализована в двух вариантах, отличающихся по ряду параметров.
Характерной особенностью языка Лисп является единообразие типов данных (числа, атомы, списки) и методов работы с ними. С другой стороны, различные версии языка Лисп отличаются друг от друга имеющимися вспомогательными средствами (редактор, трассировка, BREAK, DWIM и т. д.) и запасом библиотечных функций [Teitelman, 1974]. При этом, хотя общая структура языка Лисп для программиста достаточно очевидна, знание указанных особенностей при практическом программировании остается чрезвычайно важным.
Поэтому благодаря разнообразию конкретных реализации и легкой возможности пополнения системы как вспомогательными средствами, так и новыми библиотечными функциями в случае языка Лисп, создание на ЭВМ информационно-комментирующей системы является необходимым.
При построении на практике информационно-комментирующих систем приходится учитывать следующие факторы: объем памяти, занимаемый этой вспомогательной системой; ее «прозрачность» для данных, с которыми работает пользователь; удобство восприятия пользователем; удобство исправления и пополнения; транспортабельность системы.
Метод реализации системы. Прежде всего отметим, что созданная система ориентирована главным образом на реализацию языка Лисп, названную нами ЭКЛИСП, для мини компьютера Ecclips С/330, в основе которой лежит программа «Лисп на Фортране» (см. выше). В этой существенно интерактивной реализации к настоящему времени имеются такие элементы, как BREAK — прерывание, сохраняющее определенные пользователем атомы и списки, структурный редактор и редактирование на экране, которые делают диалоговый режим особенно удобным.
Основным недостатком системы является небольшой объем оперативного рабочего пространства Лисп. Указанные особенности учитывались при разработке двух схожих во многом методов реализации информационно-комментирующей системы. Этим методам соответствуют два пакета программ: пакет I и пакет II. Самое существенное их отличие состоит в том, что в пакете I вся информационная и контрольная часть постоянно находятся в рабочем пространстве системы Лисп, тогда как в пакете II в рабочем пространстве находится лишь управляющая часть, а банк данных хранится во внешней памяти (в нашем случае на диске).
Перейдем к рассмотрению этих реализаций в свете перечисленных фактов.
Объем памяти. Поскольку в пакете I система HELP занимает значительное место в рабочем пространстве, то он исходно хранится во внешней памяти и считывается в рабочую память лишь при поступлении от пользователя первого запроса. Этот режим основывается на том соображении, что если пользователем написана такая большая программа на языке Лисп, что вопрос объема рабочей памяти становится для него критичным, то с большой вероятностью он не
будет обращаться к ЭВМ за вспомогательной информацией, являясь достаточно подготовленным программистом.
Как уже отмечалось, в пакете II в оперативной памяти хранится лишь управляющая часть, состоящая из функций HELP, HELP*, HREAD, которые будут кратко описаны позже. Информационная часть, или банк данных, состоит из совокупности файлов, хранимых на диске и вызываемых функцией HELP. Функция HELP* используется для обновления информации или для записи новой информации в базу данных. Заметим, что если отказаться от возможности изменения содержания базы данных средствами языка Лисп, то можно было бы вообще не загружать в процессе выборки данные в рабочее пространство, как это и делается обычно в операционных системах, не предполагающих никаких изменений пользователем.
Прозрачность. Важным параметром вспомогательных систем является отсутствие интерференции с теми данными, с которыми работает пользователь. Ясно, что пользователь уже не имеет возможности употреблять имена HELP, HELP* и HREAD — в случае пакета II больше никаких ограничений не возникает. В случае пакета I запрещенными оказываются еще несколько имен. Свойство прозрачности хорошо обеспечивается самой структурой языка Лисп, где допускаются множественные ссылки на один и тот же атом.
Удобство восприятия. Типы данных, допускаемые языком Лисп, в своей первоначальной форме мало пригодны для представления текстуальной информации, поэтому в обоих пакетах используется специальная форматирующая функция HREAD, превращающая список в текст по следующим правилам: внешние скобки списка всегда опускаются; если в списке фигурирует специальный символ &, то делается перенос строки и снимаются скобки соответствующего уровня списка.
Внутренняя запись текста в обоих вариантах ведется в форме обычных для языка Лисп списков. Этим обеспечивается возможность обработки текста стандартными средствами языка Лисп.
Удобство исправления и пополнения. В случае пакета I одна и та же функция HELP используется и для считывания, и для занесения (или замены) информации. При обращении к этой функции вида (HELP ATOM LIST) текст LIST заносится под именем АТОМ, так что (HELP АТОМ) возвращает значение атома LIST.
В пакете II для записи (или замены) информации набирают (HELP* АТОМ), после чего комментирующая система запрашивает пользователя относительно новой информации. В обоих вариантах старый текст можно перерабатывать, используя системный структурный редактор EDIT.
Удобство обновления информации говорит о том, что пакет HELP можно было бы использовать для записи любых комментариев, которые пользователь захочет сделать относительно определяемых им функций. Именно поэтому система в целом и получила название информа- ционно-комментирующей.
Важно отметить, что в пакетах приняты меры дня автоматического отделения локальной комментирующей информации пользователя от общесистемной.
Транспортабельность системы. В смысле возможности переноса системы на другой компьютер пакет I обладает преимуществом, представляя собой совокупность стандартных операторов Лисп 1.5, если не считать функцию BREAD), которую можно заменить на стандартную функцию PRINT. Для пакета II существенным оказывается взаимодействие с операционной системой конкретного компьютера [AOS, 1977], поэтому управляющая часть оказывается системно зависимой.
Некоторые подробности реализации. В пакете I используются функции HELP, HELP*, HREAD, HINSERT, HREPLACE и группа вспомогательных функций Hl, Hll, STARREM, HREPLA. Непосредственно роль базы данных играет функция HELP*, что оправдано, если информационных статей немного. Функция HELP обращается к функции HELP*, обеспечивая в зависимости от значения своих аргументов либо считывание, либо занесение информации. Функция HREAD предназначена для форматирования списка, ее работа описана в предыдущем разделе.
В пакете II используются три функции HELP, HELP* и HREAD. В этом варианте функция HELP служит лишь для считывания информации, тогда как HELP* используется для изменения или пополнения банка данных, который представляет собой совокупность дисковых файлов. При считывании файла, с одной стороны, тратится время на открытие соответствующих каналов ввода-вывода и считывание с диска, но, с другой стороны, поиск файла с данным именем ведется непосредственно операционной системой, т. е. существенно быстрее, чем с использованием SELECTQ в пакете I. Поэтому время реакции системы остается примерно одинаковым в обоих случаях.
Интеллектуальная операционная система на локальных принципах
Стремительное развитие технических показателей компьютеров отнюдь не снимает вопрос об их эффективном использовании, поскольку нагрузка на компьютер также растет. Действительно, с одной стороны, пропорционально возможностям компьютеров растет и масштаб задач, традиционно на них решаемых, а с другой — происходит существенное расширение контингента пользователей, а следовательно, появление новых проблем, среди которых, в частности, повышенные требования к универсальности и доступности компьютера. Для удовлетворения запросов разнообразных пользователей необходимо общение на естественном языке, привлечение больших баз знаний, автоматический синтез процедур ит. п., что само по себе требует больших вычислительных ресурсов.
Основной тезис, развиваемый в настоящем разделе, состоит в том, что возможности и высокопроизводительных машин новейших поко-
лений, и мощных персональных компьютеров будут использоваться значительно полнее, если перейти от традиционных универсальных операционных систем (ОС) к интеллектуальным ОС, которые по существу обеспечивали бы адаптацию ЭВМ к уровню данного, конкретного пользователя.
В смысле освещения этого тезиса, настоящий раздел книги носит замкнутый характер: в нем дается постановка задачи об интеллектуальной ОС, впервые сформулированная нами в работе [Стефанюк, 1982], и приводятся этапы постепенного воплощения этой идеи, завершающегося реализацией макета интеллектуальной ОС в виде программного комплекса на языке Лисп.
Сразу же отметим два обстоятельства. Во-первых, интеллектуальные ОС не дублируют другие средства обеспечения «дружественной» реакции компьютера, например, в рамках так называемого интеллектуального интерфейса. Более того, они могут выступать в сочетании. Во-вторых, описываемые ниже программы имеют и самостоятельную ценность, создавая адекватную среду интерактивного программирования на языке Лисп. Последний факт говорит о том, что сама идея подстройки под пользователя и предлагаемый ниже способ ее реализации несомненно могут быть использованы на самых разных уровнях, в частности, в экспертных системах и в других ситуациях, когда человек вступает с ЭВМ в продолжительный контакт.
Операционные системы даже малых вычислительных машин способны предоставлять пользователю самую разнообразную вспомогательную информацию. Так, в случае рассогласования требований, предъявляемых составленной пользователем программой, с возможностями вычислительной машины компьютер может выдать такие сообщения (далее для конкретности все примеры даны для случая ОС мини ЭВМ типа Эклипс С/330 (США) [AOS, 1977]):
FATAL ERROR
PROGRAM TERMINATED
CHANNEL NOT OPEN
BOUND ERROR
TERMINATED BY A SUPERIOR PROCESS
YOU HAVE SONS, DO YOU WANT TO TERMINATE?
TRYING TO RELOCATE DATA FROM IRESTART
PROGRAM SPACE LARGER THAN 32K
Кроме того, набрав команду HELP, на терминале можно увидеть некоторую полезную информацию о возможностях данной ЭВМ, а, скажем, команда HELP/V дает ту же информацию, но в развернутой форме. Команда XHELP сообщает информацию о системе диспетчеризации и т. д.
Обилие различных видов и форм представления вспомогательной информации говорит о том, что компьютер рассчитан на самый широкий круг пользователей, которые могут столкнуться с самыми разнообразными трудностями.
Отметим три важных обстоятельства: во-первых, объем вспомогательной информации настолько велик, что всю ее трудно представить в сжатой и обозримой форме: этой цели служат десятки руководств для пользователей, программистов и операторов ЭВМ; во-вторых, операционные системы, как правило, непрерывно совершенствуются (устраняются обнаруженные ошибки, расширяется круг вычислительных возможностей), причем это происходит быстрее, чем публикуются и рассылаются новые описания с перечнем изменений, поэтому самая верная информация хранится в самой ОС; в-третьих, реально программист в своей деятельности сталкивается лишь с небольшим подмножеством случаев из общего числа случаев, в которых ЭВМ способна дать вспомогательную информацию, и поэтому он не склонен к обстоятельному изучению всех возможных сообщений и их смысла.
Возвращаясь к приведенному списку сообщений, можно отметить, что последние носят разнообразный характер, начиная от мало информативного, но решительного ФАТАЛЬНАЯ ОШИБКА, до весьма информативных, но понятных лишь опытному программисту, хорошо знакомому с принципами размещения и оперирования данными конкретного компьютера.
Положение будет значительно улучшено, если компьютер окажется в состоянии «следить» за пользователем, настраиваясь на его уровень подготовленности. Довольно много в этом плане достигнуто в системе программирования ИНТЕРЛИСП, предназначенной для языка программирования Лисп, которой мы займемся в следующем разделе.
В общем случае такая задача может быть решена путем встраивания в ОС некоторой фиксированной сети фреймов [Минский, 1978]. Каждому фрейму, соответствующему определенному представлению о степени подготовленности данного программиста, отвечает заданное подмножество сообщений, которые будут понятны данному программисту. При этом можно предусмотреть посылку некоторых специальных сообщений оператору системы или запись их в специальный файл. Можно также предусмотреть и ведение весьма ограниченного диалога с пользователем [ММ/1, 1980].
Если заранее известна квалификация программиста, то априори можно решить, каким именно фреймом руководствоваться, но более естественно допустить, чтобы компьютер, опираясь на наблюдаемое поведение программиста (временные задержки, характер ошибок, объем и число работающих программ и т. д.), сам выбирал бы наиболее подходящий фрейм. При этом гибкость системы можно увеличить, опираясь на определенные возможности формального комбинирования фреймов (см. [Кузин и Дубинина, 1980], а также раздел 4.5 выше).
Отметим, что интеллектуальная ОС приведет не просто к дополнительным удобствам для программиста, но и должна, очевидно, повысить эффективность использования компьютера в целом, а также способствовать росту квалификации программистов.
В заключение подчеркнем, что описанная в самом начале организация вспомогательной информации на практике доказала свою по-
лезность и речь идет о дальнейшем совершенствовании и развитии контакта человека с машиной.
Локальная организация гибкого обслуживания в системе Лисп
Широкое распространение вычислительной техники, в частности, внедрение персональных вычислительных машин, значительно расширило контингент пользователей вычислительных машин: кроме программистов-экспертов появились средне и мало подготовленные программисты, а также и просто новички в программировании.
Важно отметить, что среди таких «новичков» оказываются и высококвалифицированные специалисты в других областях, которые по тем или иным причинам решили обратиться к компьютеру [Поспелов и Солодов, 1984]. Однако для краткости ниже все пользователи компьютеров будут называться программистами.
В следующем разделе описываются общие принципы построения и конкретная реализация системы, призванной обеспечить гибкую реакцию со стороны вычислительной машины, зависящую от степени подготовленности, проявленной программистом в ходе работы на языке Лисп, присущего ему стиля программирования и т. д. Изначально вид реакции задается автоматически или опытным программистом (в дальнейшем называемым экспертом) по имеющейся у него информации о данном пользователе. В дальнейшем, однако, реакция видоизменяется с учетом накопленного опыта.
Созданная система FLEX рассчитана на программирование в среде языка Лисп, поэтому естественно, что при ее создании использовались многие соображения, включенные в такие модификации языка, как MACLISP, BBNLISP, INTERLISP [Teitelman, 1974]. Кроме того, были использованы методы представления знаний с использованием фреймов и ряд общих идей из области экспертных систем. В целом описываемую систему можно рассматривать как прототип «интеллектуальной операционной системы» [Стефанюк, 1982] (см. также раздел 5.2), обеспечивающей индивидуальное обслуживание различных пользователей компьютера, повышающей как удобство обращения, так и эффективность его применения к решению практических задач.
Заметим, что проблеме гибкого подхода к пользователю в настоящее время начинает уделяться все большее внимание как за рубежом, так и в нашей стране. В частности, в работе [Lenat et al, 1983] упоминаются зарубежные исследователи, обратившие внимание на вопрос индивидуализации пользователей при создании экспертных систем.
Принципы организации системы. Система FLEX представляет собой дополнительный интерфейс между пользователем- программистом и обычной системой Лисп, как показано на рис. 5.3.
Каждая команда (s-выражение) программиста сначала поступает в систему FLEX, которая с учетом предыдущей истории либо передает ее в интерпретатор Лиспа на исполнение, либо предпринимает другие
действия, «общаясь» как с программистом, так и с интерпретатором системы Лисп.
Ситуацией на очередном шаге процесса программирования будем называть весь набор выражений языка Лисп, поступивших с терминала, упорядоченный по времени их поступления. В системе FLEX для каждого из пользователей заранее задается экспертом некоторый набор ситуаций, называемых критическими. Если текущая ситуация не принадлежит классу критических, то FLEX просто передает очередное s-выражение пользователя на вход интерпретатора, в результате чего на терминале возникает результат оценки этого выражения.
Экспертом при генерации системы заранее задается вид реакции системы FLEX на каждую из критических ситуаций. Гибкость же поведения системы FLEX обеспечивается за счет обучения, при котором с течением времени происходит видоизменение множества ситуаций, которые для данного пользователя считаются критическими (полный набор всех возможных критических ситуаций задается экспертом в ходе отдельного диалога с FLEX).
В результате обучения для данного пользователя формируется своя система FLEX (или, точнее, свое состояние системы FLEX), которая обеспечивает пользователя адекватной данному лицу системой услуг. Этот подход является более совершенным, чем априорное выделение категорий программистов, таких, как новички, опытные и т. п.
Рис. 5.3. Место системы FLEX в системе программирования
Действительно, такое разбиение во многом носило бы условный характер, так как известно, например, что даже опытный программист может проявить свойства новичка, сталкиваясь с совершенно неизвестными ему возможностями, предоставляемыми данным компьютером.
Формальное описание системы, s-выражением в языке Лисп, как обычно называется либо атом, либо один список языка Лисп. Под ситуацией размерности r понимаем упорядоченный непустой набор вида (si,. . . , sr), где s^ суть s-выражения, г = 1, . . . , г.
На множестве всех ситуаций размерности т определим классы ситуаций, и пусть { К^Г^ — множество всех классов ситуаций размерности т. Классы введем таким образом, чтобы для каждой ситуации размерности т можно было сказать, принадлежит она данному классу или нет. Если ситуация принадлежит какому-нибудь из классов, будем называть ее критической. Приведем несколько примеров.
Пример 1: г = 1. Зададим множество {К^1)} следующим образом: оно состоит из одного класса К^\ в который входят все s- выражения вида (CONS * *), где * обозначает произвольный подсписок, конкретный вид которого является несущественным.
Пример 2: г = 2. Зададим теперь множество ^К^ }. Пусть оно состоит из одного класса К^\ такого, что пара (si,S2) 6 К^ тогда и только тогда, когда si имеет вид (de * * *) и одновременно з^ имеет вид (dump * *).
Объединим теперь все s-выражения, имеющие вид (DE * * *), в отдельный класс К^\ а все s-выражения, имеющие вид (DUMP * *), — в класс K^V Теперь можно сказать, что ситуация (si, S2) принадлежит классу К^ тогда и только тогда, когда выполнено совместное условие si е к^\ 82 е к^\
Таким образом, в нашем примере класс К^ является прямым произведением классов и .
Замечание 1 . Классы ситуаций в системе FLEX задаются заранее экспертом и остаются неизменными в ходе всей работы системы. (В общем случае, множество всех классов ситуаций может пополняться экспертом в ходе отдельного диалога с FLEX.)
Замечание 2 . В описываемой системе FLEX классы ситуаций размерности г, г > 1 задаются именно таким способом, который описан в примере 2, т. е. через классы К^\ К^\ . . . , К^\ описывающие соответственно вид каждого из s-выражений si, S2, . . . , зт.
Рассмотрим теперь, как введенные нами классы ситуаций используются при работе системы FLEX. Для этого проследим шаги программирования конкретного пользователя-программиста в процессе его работы. Пользователь системы определяется однозначно своим именем в момент начала работы с системой. Пусть моменты рабочего времени задаются поступлением в систему от программиста одного з- выражения. Таким образом, конкретная ситуация в момент времени t = к характеризуется поступлением в систему от программиста ровно к s-выражений. Пусть з^ означает s-выражение, поступившее в систему в момент времени t = к.
Опишем теперь, как реально в системе FLEX решается вопрос, не является ли конкретная ситуация критической.
В момент времени t = 1 проверяется принадлежность s-выражения si и всех его подвыражений классу ситуаций единичной размерности
В момент времени t = 2 проверяется принадлежность множеству {Я^} классов единичной размерности s-выражения si, и всех подвыражений s-выражения si, затем проверяется принадлежность ситуации (si,S2) множеству {/С^2)} классов ситуаций размерности 2 (см. замечание 2); при этом возникают две возможности: либо проверять вид s-выражений si и S2 и всех их подвыражений, либо осуществлять проверку только для самих этих s-выражений. В системе FLEX выбран компромиссный вариант — вид подвыражений проверяется рекурсивно только для последнего s-выражения, поступившего в систему,
Максимальная размерность заранее заданных ситуаций в системе FLEX равна 2. Это вызвано, с одной стороны, соображениями упро-
щения системы, с другой — тем, что достойные внимания ситуации большей размерности автору пока не встречались. Поэтому в момент времени t = к система FLEX сначала проверяет принадлежность з- выражений з^ и всех его подвыражений множеству классов ситуации {/С^1)}; затем проверяет принадлежность ситуации (s^-i^Sk) множеству {Я<2)} (причем для зк проверяется вид всех подвыражений).
В случае, если система FLEX обнаруживает критическую ситуацию, она выполняет некоторую последовательность функций языка Лисп, называемую реакцией на данную ситуацию (точнее, на данный класс ситуаций). На каждый класс ситуаций существует своя реакция, которая задается экспертом заранее — одновременно с заданием самих классов ситуаций. Реакция может включать в себя самые разнообразные функции. Среди них — поддерживающие диалог с программистом, исправляющие поступившие от него s-выражения, корректирующие имеющуюся информацию о данном программисте и т. д. Часть реакции всегда направлена на программиста, а часть — на саму систему FLEX. Выполнив последовательность шагов, составляющих реакцию, система передает (или не передает) команду программиста Лисп-интерпретатору на выполнение (это тоже зависит от реакции).
Система FLEX обучается, настраиваясь на конкретного программиста, двумя путями:
— путем получения, непосредственной информации о программисте в момент первого «знакомства» с ним (это происходит либо в результате небольшого анкетирования самого программиста, либо в результате использования знаний о программисте, заранее занесенных в систему экспертом);
— путем уточнения имеющихся данных о программисте в процессе его работы (это осуществляется посредством изменения множества классов критических ситуаций, заданного для конкретного программиста в начальный момент его работы).
Приведем некоторые пояснения. Обозначим через {Л} множество всех классов критических ситуаций, априорно заданных экспертом, а через {/Оо — множество классов критических ситуаций, заданных для конкретного пользователя перед началом его работы, т. е. в момент времени t = 0. Заметим, что, во-первых, {/С}0 С {Л} и, во-вторых, множество {/Оо автоматически формируется для каждого программиста всякий раз перед началом его работы с системой FLEX на основании информации, имеющейся у компьютера.
Пусть tai , ta2 , . . . , tam — те моменты времени в процессе работы данного программиста, в которые система FLEX обнаруживает критические ситуации и выполняет последовательность функций, составляющую реакцию на обнаруженную ситуацию. Тогда можно сказать, что множество классов критических ситуаций для данного программиста зависит от времени следующим образом:
l^^t = {^Ъ-П еСЛИ ^ ^7 ^«2 7 * * * 7 ^«т}7
если t Е {tai,ta2,. . . )tam^ то {K}t определяется состоянием системы FLEX в момент времени L Для реализованной на данном этапе версии системы FLEX можно сказать, что для конкретного программиста
WtC i = 0,l,2,
Здесь {K}t означает множество классов критических ситуаций в момент времени L
Реакция на обнаруженную критическую ситуацию тоже зависит от времени:
Rt = R ({^lt 7 ^FLEX’ ^FLEx) 7
где t E {^,£q,2,. . . До,т}; Rt — реакция в момент времени t на класс критических ситуаций {K}f; СЕЕЕХ — состояние системы FLEX в момент времени t^ при этом, в свою очередь, CELEX = C(Rt), a CELEX однозначно задается именем программиста с учетом информации, накопленной о нем в предыдущие сеансы его работы.
3.3. Представление знаний в системе FLEX. Знания в системе FLEX содержат информацию о пользователях-программистах, о возможных ситуациях, возникающих при работе программистов, и о реакциях на эти ситуации, об устройстве самой системы FLEX. Знания о пользователях и ситуациях организованы в динамическую сеть фреймов. В системе применены два типа фреймов: фрейм пользователя и фрейм реакции на ситуацию.
Множество всех фреймов пользователей содержит отдельные фреймы на каждого программиста, работающего в системе FLEX, и три стандартных фрейма на типы программистов (фрейм на новичка, на среднего и на опытного программистов). Эти стандартные фреймы оказываются полезными, когда в систему входит новый пользователь, на которого еще не заведено фрейма. В результате короткого анкетирования система причисляет программиста к одному из трех типов и выбирает для него соответствующий его уровню стандартный фрейм. Далее в процессе работы этого пользователя его фрейм меняется в соответствии с собственными правилами (в зависимости от поведения пользователя) и вскоре становится отличным от стандартного фрейма. (Фрейм пользователя вызывается по имени пользователя.)
Примерный общий вид фрейма пользователя приведен на рис. 5.4. Каждый фрейм пользователя содержит административные слоты и слоты ситуаций, количество последних в системе не фиксировано. В административных слотах запоминается общая информация о пользователе, например количество сеансов работы в системе FLEX, число отказов от работы в системе FLEX, другие статистические данные. Слоты ситуаций содержат ссылки на подфреймы ситуаций, в которых, в свою очередь, хранится информация о поведении системы в случае, если данный пользователь попадет в данную критическую ситуацию, о том, сколько раз он попадал в данную ситуацию ранее, когда он попадал в нее в последний раз и т. д.
Административные слотыАдминистративные слотыСлоты ситуацийСлоты ситуацийРис. 5.4. Фрейм пользователяРис. 5.4. Фрейм пользователя
Административные слоты
Административные слоты
Слоты ситуаций
Слоты ситуаций
Рис. 5.4. Фрейм пользователя
Рис. 5.4. Фрейм пользователя
Фреймы реакций на ситуации хранятся в системе под своими именами. Когда система обнаруживает критическую ситуацию, она вызывает фрейм реакции на нее. Одной ситуации может соответствовать несколько фреймов реакций. Какие из них выбрать, если какой-либо пользователь попал в данную ситуацию? Эту информацию система находит во фрейме пользователя. Общий вид фрейма реакции на ситуацию приведен на рис. 5.5.
Этот фрейм содержит семь слотов-подфреймов, которые имеют следующий смысл:
VALUE* — содержит значение фрейма, являющееся по сути реакцией на ситуацию, вызывающую этот фрейм );
OPFLG — показывает, когда фрейм реакции необходимо открыть (открытие фрейма означает, что в случае обнаружения данной ситуации система будет реагировать на нее по правилам, описанным в данном фрейме реакции);
CLFLG — показывает, когда фрейм необходимо закрыть, т. е. он перестает участвовать в формировании реакции системы;
MISC* — слот для вспомогательных действий;
IOC* — счетчик числа обращений к фрейму;
IACCNT* — счетчик положительных и отрицательных реакций пользователя на сообщение или действие системы, позволяющий установить, насколько данному пользователю желательно участие системы;
COMMENT — комментарии к фрейму.
Заметим, что для конкретного программиста фрейм реакции на конкретную ситуацию может быть открыт как по правилам для данной ситуации, содержащимся в слоте OPFLG, так и по правилам для
Рис. 5.5. Фрейм реакции на ситуацию
данного программиста, заданным заранее экспертом и содержащимся во фрейме данного программиста.
Подслоты: VALUE — содержит значение подслота; WHEN содержит условие, когда менять значение слота; WHAT — содержит значение: на что менять значение слота.
Фреймы обоих типов хранятся на внешних файлах и вызываются в момент необходимости (это объясняется большим объемом знаний даже частично заполненной системы). Фреймы реакций на ситуацию, так же как и фрейм пользователя, постоянно меняются в процессе работы пользователя, за их динамикой следит система.
3.4. Описание составных частей системы FLEX. Система FLEX состоит из следующих частей:
FLEXSYS — собственно система, обеспечивающая связь программиста с системой Лисп;
FLEXINIT — подсистема, обеспечивающая начало работы (загрузка, формирование фрейма пользователя, введение в систему новых пользователей и т. д.);
FLEX AUGM — подсистема, обеспечивающая полуавтоматическое пополнение системы FLEX новыми ситуациями.
Рассмотрим подробно каждую подсистему,
FLEX SYS — основная задача данной подсистемы состоит в обработке критических ситуаций, возникающих при работе конкретного
программиста. Как уже было сказано ранее, распознавание ситуации ведётся рекурсивно, однако подсистема FLEXSYS позволяет не обрабатывать аргументы некоторых функций (например, QUOTE, HELP). Подсистема также предоставляет возможность прервать оценивание текущего s-выражения (не вычислять его), либо исправить его и вычислить уже исправленное s-выражение. Подсистема обеспечивает защиту системных функций и переменных от любых попыток их изменения всеми программистами, кроме эксперта.
Рассмотрим, как реализовано распознавание критической ситуации. Во-первых, отметим, что распознавание можно проводить «просмотром вперед», заметив первое «подозрительное» s-выражение и ожидая следующих s-выражений, входящих в критическую ситуацию, и «просмотром назад», увидев последнее «подозрительное» s-выражение и проверяя, не было ли ранее s-выражений, составляющих вместе с данным критическую ситуацию. Подсистема FLEX осуществляет «просмотр назад».
Во-вторых, поиски более эффективной реализации распознавания критических ситуаций привели к созданию новой версии системы FLEX.
В первой версии распознавание ситуаций осуществлялось общей функцией MATCH, которая сопоставляла возникшую в данный момент ситуацию со всеми возможными (предусмотренными в системе). С возрастанием общего числа ситуаций в системе ее быстродействие существенно замедлялось именно из-за возрастания времени работы функции МАТСЫ. Возникла необходимость в другом подходе к распознаванию ситуации. В новой версии системы FLEX функция МАТСЫ формируется автоматически для каждого отдельного программиста. Далее в процессе работы возникающие ситуации сопоставляются функцией МАТСЫ не со всеми имеющимися в системе ситуациями, а только с теми, которые предусмотрены для данного программиста.
Прежде чем перейти к описанию подсистемы FLEX INIT, сделаем еще два замечания.
Работа подсистемы FLEX SYS осуществляется посредством имеющегося в языке ЭКЛИСП (см. п. 5.1.4) специального режима (MODE 3), который позволяет заменить обычный цикл
ЧТЕНИЕ - ВЫЧИСЛЕНИЕ - ПЕЧАТЬ
на цикл
SYS - ПЕЧАТЬ
где SYS — первоначально неопределенная функция. Для системы FLEX функция SYS была определена так, чтобы в результате получился цикл
ЧТЕНИЕЧТЕНИЕВЫЧИСЛЕНИЕ - ПЕЧАТЬВЫЧИСЛЕНИЕ - ПЕЧАТЬОЦЕНИВАНИЕ ПОСТУПИВШЕГО ВЫРАЖЕНИЯ И ВЫПОЛНЕНИЕ ОПРЕДЕЛЕННЫХ ДЕЙСТВИЙ
ЧТЕНИЕ
ЧТЕНИЕ
ВЫЧИСЛЕНИЕ - ПЕЧАТЬ
ВЫЧИСЛЕНИЕ - ПЕЧАТЬ
Хотя подобные возможности имеются во многих системах, можно обойтись и простыми средствами языка Лисп, организуя, например, в нем бесконечный цикл:
ЧТЕНИЕ- ОЦЕНИВАНИЕ - ВЫЧИСЛЕНИЕ - ПЕЧАТЬ
ВЫРАЖЕНИЯПЕРЕМЕННОЙ И
В НЕКОТОРУЮВЫПОЛНЕНИЕ
ПЕРЕМЕННУЮОПРЕДЕЛЕН
НЫХ ДЕЙСТВИЙ
По окончании работы программиста вся необходимая информация о нем автоматически сохраняется посредством запоминания фрейма пользователя. В следующий раз перед началом работы данного программиста система сформирует все необходимые фреймы и параметры, обеспечивающие работу программиста с учетом информации о нем, накопленной за все предыдущие сеансы.
В системе FLEX для программиста предусмотрена возможность во время следующего сеанса сразу в точности восстановить состояние системы, не настраивая отдельно необходимые фреймы и параметры. Для этого в системе ЭКЛИСП используется функция SAVE, которая в точности и на любой срок запоминает состояние системы на момент вызова этой функции. Выход программиста из системы по окончании работы через функцию SAVE является полезным, когда программист не успел завершить какую-то логическую часть своей программы. Однако в случае, когда он приступает к новой логической части работы, по ряду причин удобнее пользоваться обычным («нормальным») выходом и входом в систему (например, потому что в системе не нужно при этом хранить большое количество не относящейся к делу информации).
Основные задачи подсистемы FLEX INIT следующие:
Подготовить работу системы FLEX с данным пользователем, если пользователь желает работать в контакте с этой системой. Для этого FLEX INIT загружает все необходимые блоки системы FLEX, формирует фрейм пользователя с учетом имеющейся о нем информации и открывает ситуации, которые необходимо учитывать для данного пользователя, формирует функцию MATCH для данного пользователя.
Организовать выход пользователя из системы FLEX в случае, если он не хочет работать в контакте с системой. Для этого FLEX INIT изменяет фрейм пользователя с учетом новой полученной о нем информации и запоминает его до следующего раза,
изменяет (в случае необходимости) и запоминает все другие параметры системы, очищает рабочее пространство и «отключает» систему FLEX.
Организовать прием нового, впервые входящего в систему пользователя. Для этого FLEXINIT заносит имя пользователя в список всех пользователей системы, на основании небольшой анкеты формирует фрейм пользователя, готовит работу пользователя с системой FLEX (см. этап I).
Подсистема FLEXAUGM обеспечивает полуавтоматическое пополнение системы FLEX новыми ситуациями и учет новых пользователей. Как указывалось ранее, учет новых пользователей в системе может происходить двумя путями:
— эксперт заранее заводит фрейм на нового программиста, где определяет режим его работы;
— если новый программист самостоятельно входит в систему, то на него заводится один из трех стандартных фреймов, как это было описано ранее.
Пополнение системы FLEX новыми ситуациями происходит в результате диалога эксперта с подсистемой FLEX AUGM (О системе общения с экспертом см. далее.)
FLEX как экспертная система. При построении системы FLEX гибкого обслуживания программистов авторы руководствовались принципами создания экспертных систем, изложенными в работах [Алексеева и др., 1984; Алексеева и Стефанюк, 1984].
Пользователями системы FLEX являются программисты, работающие на языке Лисп. Их уровень, стиль работы могут быть различными.
Как уже говорилось, система FLEX изначально представляет собой незаполненную структуру. Ее наполнение знаниями осуществляет эксперт-программист. Область приложения системы FLEX не так проста. Поскольку формирование достаточно полного индивидуального портрета программиста невозможно без учета определенных субъективных характеристик, было бы желательно, чтобы эксперт привнес в систему еще и некоторые знания психологии программиста.
Далее, как и в большинстве экспертных систем, на этапе формулирования экспертом знаний системы FLEX, так же как и в момент принятия решения системой FLEX, широко используются эвристические подходы. Что касается заполнения и пополнения системы знаниями, то в системе FLEX предусмотрена возможность непосредственного взаимодействия с системой самого эксперта, не знающего ее устройства (эта возможность обеспечивается подсистемой FLEX AUGM). Общение происходит в результате взаимно активного диалога: новые знания в системе формируются в результате ответов эксперта на вопросы системы, однако, если эксперту что-то неясно, он может сам задать вопрос системе пополнения. Система пополнения способна напомнить
эксперту форму его ответа, структуру фреймов, в которые организуются поступающие знания, смысл отдельных слотов и под слотов фрейма. Система пополнения способна также дать информацию о собственных возможностях и ограничениях.
Для экспертных систем характерно наличие также системы общения с пользователем. В системе FLEX, в связи с ее спецификой, эта часть развита слабо: нам показалось нецелесообразным загружать и отвлекать программиста вещами, не относящимися к программированию. Однако необходимые минимальные возможности общения программиста с системой FLEX предусмотрены.
Действия системы — ее вопросы, сообщения, решения — могут оказаться не совсем понятными для пользователя, поэтому ему предоставляется возможность задавать системе вопросы. Вопросы могут касаться как конкретных действий системы (вопрос типа «почему?»), так и общего устройства самой системы — ее возможностей и ограничений (вопросы типа «что такое?», «как работает?»...). В свою очередь, система сама может задавать пользователю вопросы с целью уточнения его желаний, выяснения его намерений, определения его уровня и т. д.
В системе FLEX предусмотрена возможность получения информации о результатах действий системы, в частном случае, в систему может поступить сообщение о реакции программиста на действия системы. Эта информация позволяет системе корректировать свои действия, все точнее настраиваясь на конкретного программиста.
Что касается неточных знаний, то они могут возникнуть в системе FLEX, например, в результате анкетирования (программист может неточно оценить, либо скрыть свой уровень) либо в результате того, что фрейм пользователя был первоначально подобран неточно. Такого рода неточные знания, как уже говорилось ранее, корректируются в процессе работы программиста.
Основным для экспертных систем, помимо прочего, является наличие развитой базы знаний. В системе FLEX знания организованы во фреймы, которые динамически пополняются или изменяются в процессе работы пользователей. Очевидно, что настоящую ценность такая система приобретает только при наличии большого числа предусмотренных ситуаций, т. е. при наличии объемной базы знаний. Формирование этой базы знаний и является следующим этапом работы создателей системы.
Таким образом, система FLEX, по существу, является «оболочкой» экспертной системы, предназначенной для программистов на языке Лисп. Ее принципы могут быть положены в основу создания подобных систем и для других интерактивных языков программирования. Наконец, поскольку общение пользователя с операционной системой компьютера также носит простой интерактивный характер, то систему FLEX можно в определенном смысле считать прототипом интеллектуальной операционной системы из разд. 5.2.
5.4. Локально обучающаяся система поддержки ввода информации
С широким распространением вычислительной техники связана важнейшая задача обеспечения пользователя удобными средствами взаимодействия с компьютером в диалоговом режиме. Особая роль принадлежит персональным компьютерам, давшим возможность массовой проверки разнообразных форм обобщения, некоторые из которых являются определенным развитием ранее существовавших идей, а другие — например «многооконный интерфейс» — совершенно новыми.
В последнее время стало ясно, что дальнейший прогресс средств, обеспечивающих удобство общения с компьютером, определяется не только появлением новых технических решений (многооконный интерфейс, тактильный терминал, графические средства ввода, «мышь» и т. п.), но и возможностью для компьютера, обучаясь, «подстраиваться» под решаемую данным пользователем данную задачу. Именно на такой возможности основаны так называемые интеллектуальные операционные системы (см. [Стефанюк, 1982; Стефанюк и Алексеева, 1986] и разд. 5.3) и подобные им диалоговые системы, являющиеся примерами локально-организованных систем.
Важно отметить, что полезность того или иного предложения зависит от целого ряда чисто практических соображений, таких, как класс решаемых пользователем задач, персональные свойства пользователя (его привычки, предпочтения, интеллектуальный уровень и т. п.), наличие достаточных памяти и производительности компьютера, оснащенность средствами ввода информации (например богатство клавиатуры терминала). Без детального учета этих и других факторов любая идея рискует остаться чисто теоретической рекомендацией, которая, быть может, никогда и не найдет своего применения.
Кратко содержание настоящего раздела можно сформулировать так: описывается локально-организованная обучающаяся система PROMPTER, обеспечивающая оператора подсказкой в форме некоторого «текущего меню», отражающего повторяемость вводимой им текстовой информации.
Эта система первоначально была разработана специально для одного конкретного ее приложения — автоматизации ввода грузодоку- ментов в ЭВМ, осуществляемого оператором морского порта в ходе погрузки судна. При ее создании были использованы некоторые принципы обучения путем «минимального» обобщения [Жожикашвили и Стефанюк, 1986а; 19866], см. также разд. 4.5 выше, а также практический опыт, накопленный при использовании системы, которую можно было бы считать упрощенным прототипом системы PROMPTER. Этот опыт, также как и опыт, полученный на этапе реализации системы PROMPTER, показал, что сфера ее применения может быть достаточно широкой и поэтому эта система заслуживает специального описания.
Заканчивая введение, отметим, что система PROMPTER реализована в виде пакета программ на языке Лисп, и в дальнейшем для
простоты мы будем называть системой PROMPTER как этот пакет, так и ту идею поддержки ввода информации, которую он реализует ).
Диалоговая система как автомат. Для описания запросоответной формы диалога с компьютером часто используется представление процесса диалога, как функционирование во времени некоторого автомата. Так, подобный диалоговый процесс в работе [Павлюк и Рос- сиков, 1986] описывается как поведение конечного автомата, имеющего конечное множество состояний s = {si,...,s^}h конечное множество действий в = {ei, . . . , еп}, причем функция переходов / представляет собой элементарную композицию двух функций, первая из которых ставит в соответствие текущему состоянию множество альтернативных состояний, в которые, в принципе, возможен переход, а вторая, задаваемая пользователем, — обеспечивает выбор из них ровно одного состояния, а именно того, которое устраивает пользователя в соответствии с его функцией предпочтения g.
Формальной моделью такого процесса является совокупность (см. [Павлюк и Россиков, 1986])
Р = (s,e,f,g,t),
где t — моменты времени, определяемые действиями пользователя.
В такой модели конечность используемого автомата существенно упрощает дело, позволяя, например, непротиворечиво определить действия, совершаемые ЭВМ «по умолчанию»: если пользователь определенно отказывается принять решение, то ЭВМ может просто повторить последнее действие пользователя, которое тот совершил находясь в точности в той же ситуации.
Тем не менее приведенное описание диалога является слишком бедным, по нашему мнению. Оно не пригодно, например, для описания обучающихся диалоговых систем, примерами которых может служить система FLEX (см. разд. 5.3), система PROMPTER и им подобные. Дело в том, что конечно-автоматные модели, хотя и могут охватывать некоторые простейшие формы запоминания (необходимые, например, для действий по умолчанию), но не описывают собственно обучения, ведущего к пополнению (или другой реорганизации) множества состояний s и множества действий е. В частности, в результате обучения в системах FLEX или PROMPTER приходится иметь дело с изменяющимся числом состояний (действий), так что, вообще говоря, процесс лишь с малой вероятностью может повториться буквально, что необходимо для действий по умолчанию в смысле работы [Павлюк и Россиков, 1986].
Формальная модель обучающейся диалоговой системы может быть записана в следующем виде:
Р = {s,e,f,g,xs,Xe,Xf,t),
где з, е — произвольные множества состояний и действий, / — функция переходов, определяемая возможностями такого автомата и выбором пользователя, g — функция предпочтения, обуславливающая выбор пользователя, а величины Xs^Xe^Xf представляют собой, соответственно, правило изменения множества состояний, правило изменения множества действий и правило изменения функции переходов ).
Пример задания правил х в случае системы FLEX можно найти в работах [Стефанюк и Алексеева, 1986; 1987]. В случае анализируемой здесь системы PROMPTER интересующие нас множества и правила их изменения, определяющие формальную модель диалога, достаточно просты. В следующем разделе мы дадим описание системы PROMPTER на языке этих множеств и правил.
Описание системы PROMPTER в виде формальной модели.
Опишем несколько упрощенный вариант системы PROMPTER, опуская некоторые детали, связанные с ее реализацией.
Моменты времени t определяются нажатием пользователем любой клавиши на терминале, что соответствует вводу им в систему одной буквы (или цифры). Особую роль контрольно-управляющих клавиш мы пока не будем принимать во внимание.
В начальный момент t = 0 множество з содержит один элемент, множество действий пусто, правила изменений этих множеств неприменимы, пока в момент t = 1 не поступит от пользователя символ — начало вводимой строки.
Пусть состояние з^ определяется набранной пользователем цепочкой символов а^\ а^\ . . . , а^ (включая пробелы), которая всегда высвечивается на экране терминала.
Пусть состояние Зд^ — это внутреннее состояние системы PROMPTER, точнее состояние дерева, которое строится системой от сеанса ввода информации к сеансу. Ребра этого дерева помечены одиночными символами из числа тех, которые когда-либо вводились пользователем.
Тогда состояние з^ системы в произвольный момент времени t „ „ (t) (t)
задается парой состоянии Зц ,Зд , т. е. множество з является прямым произведением множеств Зц и Зд .
Далее мы рассмотрим несколько первых тактов работы системы, из которых можно получить содержательное представление относительно компонент формальной модели, предложенной в конце предыдущего раздела.
Будем называть сеансом ввод конкретной строки символов от начала либо до конца, либо до момента поступления реакции от системы PROMPTER. В ходе первого сеанса общения пользователь задает до конца строку информации (которая затем поступает в некоторую базу данных, но в данном разделе мы этим обстоятельством не интересуемся). В первом сеансе указанное выше дерево пусто.
Во втором сеансе в качестве дерева будет выступать введенная пользователем в первом сеансе строка символов. На самом деле, это дерево последовательно строилось в первом сеансе, так что с поступлением каждого нового символа в нем создавалась новая ветвь, но это никак не отражается на работе системы. Если первый символ, введенный
(2) »
пользователем во втором сеансе, т. е. с^ , совпадает с пометкой первого ребра дерева, то на экране высвечивается копия этого дерева, которая служит в данном случае подсказкой.
Получив подсказку, пользователь может либо продолжить набор своей собственной цепочки символов, не обращая внимания на появление подсказки, либо перейти на рассмотрение показанного ему пути по дереву. При этом он может либо достраивать этот путь, либо его укорачивать, зачеркнув необходимое число символов с конца.
Рис. 5.6. Развитие дерева системы от сеанса к сеансу
В любом случае в ходе второго сеанса пользователь вводит неко- (2)(2)(2),-
торую строку символов aj, , «2 , • • • ? ai2 ? которая будет использована в системе PROMPTER для модификации дерева при подготовке его к третьему сеансу. В ходе этой модификации выделяются общие части у этого дерева и вводимой информации способом, который показан на рис. 5.6. Три дерева, изображенные на этом рисунке, соответствуют тем деревьям, которые возникают после первого, второго и третьего сеанса:
1-й сеанс введено: морское пароходство дерево: рис. 5.4 а
2-й сеанс введено: м
подсказка: морское пароходство введено: орское судно
дерево: рис. 5.4 б
3-й сеанс введено: м
подсказка: морское пароходство морское судно
введено: орские порты дерево: рис. 5.4 в
Таким образом, после k-го сеанса дерево представляет собой простое обобщение всех поступивших в систему к цепочек символов, которое является частным случаем взятия наименьшего обобщения к ситуаций, как обсуждалось в разд. 4.5 (см. также ниже п. 5.4.3).
Итак, мы дали качественное, описание таких элементов формальной модели, как ход диалога запросо-ответного характера, правило изменения множества действий (подсказки, поступающие от системы), правило изменения функции переходов между состояниями системы.
Замечание 1 . При вводе оператором лишь алфавитноцифровой информации множество состояний системы оказывается счетным.
Замечание 2 . Описывая систему, мы не затронули механизма работы с управляющими символами, которые в системе носят однородный характер и поэтому не включаются в формируемое системой дерево: переход на другую строку, вычеркивание символов по одному с конца, конец ввода строки («перевод каретки»).
В результате, пользователь в настоящее время не в состоянии с терминала управлять самим деревом. Однако нетрудно представить себе модификацию системы, при которой пользователю разрешается при вводе информации прибегать к некоторым специальным (управляющим) символам или их цепочкам, которые могли бы привести в действие некоторую продукцию, связанную с деревом, влияющую либо на все дерево, либо на его часть, либо на характер просмотра дерева и т. п.
Теоретико-категорное описание системы. Теоретические идеи, на которых основано обучение в системе PROMPTER, были разработаны в рамках исследования систем представления знаний, способных обучаться посредством накопления и обобщения знаний (см. гл. 4). В теоретическом плане алгоритмы хранения, извлечения информации и усвоения новой информации, используемые системой PROMPTER, являются частным случаем алгоритмов, изложенных в п. 4.5.3. Действительно, работа системы допускает описание на предложенном в разд. 4.5 теоретико-категорном языке, которое мы приводим ниже.
Рассмотрим множество символов А, которые могут поступить на вход системы. В системе PROMPTER в качестве множества А вы-
ступает множество букв, цифр и других знаков, которые можно ввести с клавиатуры компьютера, однако теоретически оно может быть произвольным, например содержать отдельные слова, пиктограммы и т. д. Обозначим символом W множество всех последовательностей элементов из множества А, т. е. W = U Ап. Для каждой последо- п=0
вательности и из множества W определим отображение фи : W
—> W формулой ф^^и) = ии для любой и G W. Рассмотрим теперь категорию, содержащую единственный объект — множество W и множество морфизмов Нош (ГР, ГР) = ^ф^и Е ГР}. То обстоятельство, что это действительно категория, проверяется элементарно, в частности, тождественным морфизмом является отображение ф0^ где символ 0 обозначает пустое множество, а композицией морфизмов фи и фг — морфизм у^у. Отметим, что, как известно, любую полугруппу можно рассматривать как категорию с единственным объектом; в данном случае такой полугруппой является множество ГР с операцией «приписывания» — т. е. свободная полугруппа с множеством образующих А.
Следуя терминологии раздела 4.5, будем называть пару ГР и морфизм описанной категории образцом. Согласно этой, терминологии образец (ГР, ф^ является частным случаем образца (ГР, ф^\ а образец (W, ф^) — обобщением образца (W, фи), если существует морфизм фш такой, что фи = фуф^ Это означает, что для некоторой последовательности w из множества ГР выполнено равенство и = vw. иначе говоря, последовательность и является «началом» последовательности и.
Для пояснения этого определения заметим, что последовательность и = ai,... , ат^ рассматриваемая как образец, описывает множество последовательностей, у которых первые т символов известны и равны ai,... , ат. а остальные символы (и их количество) могут быть произвольными. Если теперь и = ai,. . . , ап и п ^ ш, то образец, соответствующий последовательности и^ описывает множество последовательностей, у которых первые п символов равны ai,... , ап. Это множество включает в себя предыдущее, поэтому образец (ГР, у^) является более общим, чем (ГР, фи\
Пусть u = ai,. . . , ап и v = 61,. . . , Ьт — две последовательности из множества ГР, причем а^ = bL при г < киа^ ф Ь^. Несложно убедиться, что наименьшим обобщением образцов (ГР, ф^ и (ГР, ф^ будет образец (ГР, ф™^ где w = ai,. . . , a^-i — наибольшая последовательность, являющаяся «началом» последовательностей как и так и и.
Если первые символы последовательностей и и и различны, их наименьшим (и единственным) обобщением будет пустая последовательность. (Здесь и далее мы не различаем последовательность и и связанный с ней образец (ГР, фи\ Очевидно, что всякая пара последовательностей имеет ровно одно наименьшее обобщение.
Система PROMPTER получает на вход последовательности символов, т. е. элементы множества ГР. Все введенные в систему последовательности хранятся в памяти. При поступлении в систему очередной последовательности, эта последовательность отыскивается
в памяти, если она уже встречалась (или встречалась ее начальная часть), либо записывается в память, если она встретилась впервые. Последовательности хранятся в памяти в виде дерева. Количество последовательностей, известных системе, равно количеству листьев дерева, каждому листу соответствует последовательность, получающаяся, если пройти по ветвям от корня до этого листа и выписать подряд все последовательности, соответствующие этим ветвям. Так, например, дерево, изображенное на рис. 5.7, описывает три последовательности: u, uw и v^; здесь буквы u, щ w^ z обозначают некоторые элементы множества
W. Если считать, что каждая ветвь обозна-а
чает морфизм, соответствующий ассоцииро-/ X.
ванной с этой ветвью последовательности, мы /Х.^
приходим к описанной в п. 4.5.3 сети образ- / X* цов. Сформулируем приведенный там алго- //X.
ритм сопоставления ситуации с деревом на / w / X. языке наших последовательностей.//X.
Пусть на вход системы поступает, напри
мер, последовательность и. Возможны два рИс. 5.7. Пример дерева варианта:последовательностей
Существует вершина дерева р и ветвь, ведущая от корня к этой вершине, причем соответствующая этой ветви последовательность и является началом последовательности щ т. е. для некоторой последовательности w из W имеем и = vw (на языке образцов это означает, что <ри является частным случаем ip^Y В этом случае алгоритм рекурсивно применяется к последовательности w и поддереву с корнем р.
Такой ветви не существует. В этом случае ищется ветвь и из корня в некоторую вершину р такая, что существует нетривиальное минимальное обобщение ipw образцов <ри и у^, поэтому и = w.t и и = = шу для некоторых w,x,y € W. Ветвь и исключается из дерева, к дереву добавляются новые вершины q и г и следующие ветви: w из корня в Q, х из q в т и у из q в р. (Если подходящей ветви и нет, к дереву просто добавляется новая вершина q и ветвь и из корня в q. Из анализа алгоритма очевидно, что может существовать не более одной ветви щ удовлетворяющей условию 1, и не более одной ветви щ удовлетворяющей условию 2.)
Используя дерево образцов, система PROMPTER может контролировать ввод последовательностей, обеспечивая пользователя определенным сервисом — возможностью вернуться в предыдущее состояние, изображением возможных вариантов в виде меню и т. д.
4.4. Выбор параметров в системе PROMPTER. При создании системы PROMPTER планировалось, что она будет давать следующие преимущества ):
Система облегчит ввод информации.
Система ускорит ввод данных.
Система позволит избежать ряда синтаксических и семантических ошибок.
Система обеспечит стандартизацию записей в базе данных.
Ясно, однако, что пользователь-оператор будет к ней прибегать (заметим, что по самому замыслу системы «упрямый» пользователь всегда может просто игнорировать появляющиеся на экране подсказки), лишь если оператору самому будут очевидны преимущества системы, т. е. если будут выполнены свойства I и II.
Чтобы сделать соответствующие оценки, примем следующие упрощающие выкладки соображения.
Пусть все подсказки, порождаемые системой PROMPTER в некоторый момент, размещаются на экране размером L по горизонтали (на самом деле в системе предусмотрены средства визуализации и более длинных путей по дереву). Пусть число подсказок, т. е. путей по дереву, равно Н, где Н — размер экрана дисплея по вертикали.
Таким образом, после задания оператором символа а под последним высвечивается набор подсказок, который мы будем называть «меню», и пусть в наиболее близкой к намерениям оператора подсказке имеется I символов из числа тех, которые оператор намеревался ввести.
Если через т обозначить среднее время, которое тратится оператором на ввод некоторого конкретного символа, а через тп — среднее время при многократном повторении нажатия некоторой выбранной клавиши (эта операция возникает при перемещении по меню и при стирании лишних символов в пределах некоторой выбранной строки меню), то оператор будет фактически пользоваться услугами, предоставляемыми системой PROMPTER лишь при выполнении такого соотношения:
(у - 1) тп + т + (L - / - 1) тп + т < /т.
Упростив это соотношение, учитывая, что Н = — L, имеем
G"2)t,
иными словами, получаем
z (1,15 / — 2) тп + 2тТп + Г
Несложный эксперимент (см. ниже), проведенный для одного достаточно опытного оператора, показал, что порядок отношения времен примерно следующий: т « 2,5тп. Отсюда получаем при L = 80, что условием целесообразности использования системы PROMPTER является требование, чтобы «угадывалось» не менее 27 символов из числа задуманных оператором. Сразу же отметим, что из приведенных выкладок следует, что при глубине дерева меньшей, чем размер экрана, требование на размер «угаданной» части вводимой строки ослабляется.
Замечание 1 . В приведенном выше анализе не принимаются во внимание (кроме всего прочего!) следующие два фактора. С одной стороны, оператор будет тратить также определенное время на обнаружение в меню подходящей подсказки. Это время, однако, невелико из-за «иконного» восприятия экрана дисплея опытным оператором. С другой стороны, в настоящем варианте системы используется всего четыре контрольных клавиши (конец ввода строки, перемещение по меню вверх и вниз, вычеркивание символов с конца строки), к местоположению которых оператор быстро привыкает и тратит на их поиск меньше времени, чем величина т.
Эти факторы действуют в противоположном направлении, и для простоты анализа мы будем ими пренебрегать. (Также как и различием действий оператора по перемещению курсора по вертикали и по горизонтали экрана, которое ожидается в связи с некоторыми психофизическими свойствами зрения.)
Замечание 2 . Целесообразно ограничить число подсказок в меню, по крайней мере, числом строк, которые помещаются на экране. По этой причине, а также учитывая приведенный выше анализ, было решено ввести в систему PROMPTER два параметра /г, /. Параметр h ограничивает сверху число возможных строк в меню, а / — показывает минимально допустимое число символов в каждой строке меню. Если имеющееся дерево таково, что этим границам удовлетворить невозможно, то подсказка на экране не появляется.
Экспериментальная оценка параметров т, тп. Для оценки т вычислялось среднее время ввода символа (с учетом пробелов, конца строки и т. д.) при вводе в компьютер текста очень хорошо известного оператору стихотворения. Предполагалось, что при этом внимание оператора не отвлекается ни на какую другую задачу, кроме ввода каждого отдельного символа.
Поскольку несколько проведенных экспериментов дали весьма близкие результаты, то ниже мы будем описывать один из них, считая его типичным.
Ввод стихотворения из 116 символов на терминале Data General занял 59 секунд, т. е. т = 0,51 секунд. (Для сравнения заметим, что тот же оператор на терминале Videoton показал т = 0,47 секунд.) Хорошая машинистка ’) вводит 250-300 знаков (и более) в минуту, т. е. ввод
х) Березин Б. И. Самоучитель машинописи. — М.: Легкая индустрия, 1969. - 157 с.
знаков данным оператором осуществлялся в 2-2,5 раза медленнее, чем это делала бы профессиональная машинистка. Однако как будет видно из дальнейшего, если отбросить время поиска соответствующей кла
виши и сконцентрироваться только на ее нажатии, то характеристики оператора могут и превосходить характеристики хорошей машинистки,
которая, видимо, также не тратит время на поиск клавиши.
Полученная выше величина т использовалась во второй серии экспериментов, в которой требовалось, чтобы оператор вводил строки из одинаковых букв до тех пор, пока курсор не «упирался» в предварительно наклеенную на экран терминала бумажную полоску. Чтобы
Рис. 5.8. Изменение времени ввода символа в зависимости от длины вводимой строкиРис. 5.8. Изменение времени ввода символа в зависимости от длины вводимой строкисделать результаты статистически сопоставимыми с первым экспериментом, оператор должен был вводить несколько строк, нажимая в конце строки «возврат каретки», причем в каждой строке использовалась своя буква и буквы эти брались подряд из начала алфавита.
Рис. 5.8. Изменение времени ввода символа в зависимости от длины вводимой строки
Рис. 5.8. Изменение времени ввода символа в зависимости от длины вводимой строки
Данные этого эксперимента отражены на рис. 5.8 и сведены в таблицу 5.2 (эксперимент повторялся для различных длин вводимой строки).
Поскольку задачей этой серии было определить «чистое» время при многократном нажатии одной
клавиши, то при его подсчете мы вычитали из общего времени ввода строки время поиска буквы и время нажатия клавиши «возврат каретки». В соответствии с таблицей и была выбрана величина тп, использованная в предыдущем разделе.
Таблица 5.2. Данные эксперимента
Длина строки
Время на строку, с «Чистое» время, с
10
20
30
40
293,11
392,00
541,83
641,61
5.4.5. Применение системы PROMPTER при работе с портовой документацией. При создании автоматизированной системы передачи и обработки грузовых документов между морскими портами возникает отдельная задача подготовки информационных файлов для их последующей передачи по каналам связи [Стефанюк, 1987а].
Подробное описание характера используемых в морском порту документов выходит за рамки настоящей работы (см. [Стефанюк, 1987а]),
но чтобы дать общее представление, отметим, что все документы можно разбить на три группы:
I — документы, сопровождающие груз в пути следования до момента прихода груза в порт его отправки (железнодорожная накладная, дорожная ведомость и т. п.);
II — документы, создаваемые в порту и сопровождающие груз во время перевозки морем (погрузочный ордер, передаточная ведомость, каргоплан, люковые записки и т. п.);
III — документы, создаваемые в порту для внутренних целей и остающиеся в архиве порта (тальманские листки, коммерческие акты, сведения экспедитора, опись груза, амбарная книга, книжки погрузки).
Подробный анализ документооборота показывает, что большая часть содержащейся в них информации неоднократно дублируется. Чрезвычайно велик объем ручного труда при их обработке (так из Архангельска в Дудинку по железной дороге и водным артериям проходит 28 тысяч партий груза по накладным. Кроме того, за навигацию осуществляется более 100 судоотходов при 200-400 погрузоордерах на каждом судне).
Недостаток времени на анализ информации, содержащейся в документах, часто приводит к ошибкам при составлении новых документов.
Система PROMPTER нацелена на то, чтобы облегчить ввод реквизитов и подготовку документов группы II, попутно решив также ряд других важных задач:
Подготовить файл для передачи данных о погрузке в порт назначения судна.
Избежать дублирования и разночтения данных (по возможности).
Упростить (облегчить, ускорить) ввод данных.
Создать стандартную ячейку сети ЛИСПНЕТ, предназначенную для включения в сеть автоматизированной подготовки и передачи грузовой информации.
В настоящее время система PROMPTER реализована как пакет программ на языке Лисп. Система позволяет создавать стандартный информационный файл DATA.LSP, который совместно с файлом «шапок документов» NAMES.LSP, позволяет с использованием функции REPORT выдать содержательный файл, удобный для контроля текущего состояния документов. Приведем распечатки этих файлов.
Распечатка файла входных данных:
К50016
Ф0РМА5
2,00 ДОЛ.
200000 ДОЛ.
100000 ДОЛ.
ВОСТОЧНЫЙ
АНАДЫРЬ
Т/Х КАПИТАН КРЕМС
П/0 "СПАССКЦЕМЕНТ" СПАССК-ДАЛЬНИЙ. 5 Р/С 9259001 В СПАССКОМ ОТД.
Г/Б
УПР. СНАБЖЕНИЯ И СБЫТА МАГАД. ОБЛИСПОЛКОМА 685026,
Г. МАГАДАН, УЛ. БАЗОВАЯ 1, Р/С 92532101 В МАГАДАНСКОМ ГОРУПРАВЛЕНИИ Г/Б
ПОРТЛАНДЦЕМЕНТ СТРОИТЕЛЬНЫЙ М-500
НЗПБ СК12
20240
360
4
ЕСТЬ
4/2
Распечатка файла позиций документа и атрибутов системы:
(((НОМЕР КОНОСАМЕНТА:))
((НОМЕР ФОРМЫ ПЕРЕСЫЛАЕМОГО ДОКУМЕНТА:))
((СТАВКА ФРАХТА:))
((ПОЛУЧЕНО В СЧЕТ ФРАХТА:))
((ПОДЛЕЖИТ ПЕРЕВОДУ НА ПОЛУЧАТЕЛЯ:))
((НАИМЕНОВАНИЕ ПОРТА ОТПРАВЛЕНИЯ:) "SOURCE.THE")
((НАИМЕНОВАНИЕ ПОРТА НАЗНАЧЕНИЯ:) "DESTIN.TRE")
((НАИМЕНОВАНИЕ СУДНА:) "STEAMER.TRE")
((НАИМЕНОВАНИЕ, "SENDER.TRE")
АДРЕС,
РАСЧЕТНЫЙ
СЧЕТ
ГРУЗООТПРАВИТЕЛЯ:)
((НАИМЕНОВАНИЕ, "CARRIER. TRE")
АДРЕС,
РАСЧЕТНЫЙ
СЧЕТ
ПЕРЕВОЗЧИКА:)
((НАИМЕНОВАНИЕ, "RECEIVER.TRE")
АДРЕС,
РАСЧЕТНЫЙ
СЧЕТ
ГРУЗОПОЛУЧАТЕЛЯ:)
((НАИМЕНОВАНИЕ ГРУЗА:))
((ШИФР ГРУЗА:))
((ИМЕЮЩИЕСЯ НА ГРУЗЕ МАРКИ, ОТТИСКИ ПЛОМБ:))
((МАССА ГРУЗА В КГ ИЛИ В КУБОМЕТРАХ:))
((ЧИСЛО МЕСТ В ПАРТИИ:))
((НОМЕР ТРЮМА:))
((СОГЛАСИЕ НА ПЕРЕВОЗКУ ГРУЗА НА ПАЛУБЕ:) "CONFIRM.TRE")
((КООРДИНАТЫ МЕСТА РАСПОЛОЖЕНИЯ ГРУЗА НА СУДНЕ:)))
Подробная распечатка документа:
НОМЕР КОНОСАМЕНТА:
К50016
НОМЕР ФОРМЫ ПЕРЕСЫЛАЕМОГО ДОКУМЕНТА:
Ф0РМА5
СТАВКА ФРАХТА:
2,00 ДОЛ.
ПОЛУЧЕНО В СЧЕТ ФРАХТА:
200000 ДОЛ.
ПОДЛЕЖИТ ПЕРЕВОДУ НА ПОЛУЧАТЕЛЯ:
100000 ДОЛ.
НАИМЕНОВАНИЕ ПОРТА ОТПРАВЛЕНИЯ:
ВОСТОЧНЫЙ
НАИМЕНОВАНИЕ ПОРТА НАЗНАЧЕНИЯ:
АНАДЫРЬ
НАИМЕНОВАНИЕ СУДНА:
Т/Х КАПИТАН КРЕМС
НАИМЕНОВАНИЕ, АДРЕС, РАСЧЕТНЫЙ СЧЕТ ГРУЗООТПРАВИТЕЛЯ:
П/0 <СПАССКЦЕМЕНТ" СПАССК - ДАЛЬНИЙ, 5 Р/С 9259001
В СПАССКОМ ОТД. Г/Б
НАИМЕНОВАНИЕ, АДРЕС, РАСЧЕТНЫЙ СЧЕТ ПЕРЕВОЗЧИКА:
ДАННЫЕ НЕ ЗАНЕСЕНЫ
НАИМЕНОВАНИЕ, АДРЕС, РАСЧЕТНЫЙ СЧЕТ ГРУЗОПОЛУЧАТЕЛЯ:
УПР. СНАБЖЕНИЯ И СБЫТА МАГАД. ОБЛИСПОЛКОМА 685026, Г. МАГАДАН, УЛ. БАЗОВАЯ 1, Р/С 92532101 В МАГАДАНСКОМ ГОРУПРАВЛЕНИИ Г/Б. НАИМЕНОВАНИЕ ГРУЗА:
ПОРТЛАНДЦЕМЕНТ СТРОИТЕЛЬНЫЙ М-500
ШИФР ГРУЗА:
ДАННЫЕ НЕ ЗАНЕСЕНЫ
ИМЕЮЩИЕСЯ НА ГРУЗЕ МАРКИ. ОТТИСКИ ПЛОМБ:
НЗПБ СК12
МАССА ГРУЗА В КГ ИЛИ В КУБОМЕТРАХ:
20240
ЧИСЛО МЕСТ В ПАРТИИ:
360
НОМЕР ТРЮМА:
4
СОГЛАСИЕ НА ПЕРЕВОЗКУ ГРУЗА НА ПАЛУБЕ:
ЕСТЬ
КООРДИНАТЫ МЕСТА РАСПОЛОЖЕНИЯ ГРУЗА НА СУДНЕ: 4/2
При необходимости последний файл может быть распечатан в колонках такого стандартного портового документа, как коносамент.
Детали реализации. Как отмечено выше, система PROMPTER была реализована в виде программного пакета, написанного на языке Лисп. Выбор языка для реализации системы является сложным вопросом. Использование некоторых других языков не столь высокого уровня, например языка Си, а тем более, языка Ассемблера, позволило бы создать более эффективную программу, которая, к тому же, занимала бы меньше места в оперативной памяти компьютера. Тем не менее, ряд соображений привел авторов к выбору языка Лисп. Изложим вкратце эти соображения.
Использование Лиспа позволило создать довольно сложную программу в сравнительно короткие сроки. Это было связано не только с тем, что Лисп имеет развитые средства поддержки программирования и отладки, значительно облегчающие работу программиста, но и с тем,что Лисп имеет механизмы, которые при работе с другими
языками пришлось бы специально реализовывать. Дело в том, что списковые структуры, являющиеся основным типом данных в языке Лисп, являются идеальным способом для представления деревьев в памяти компьютера. Особенно ярко возможности Лиспа проявляются при работе с деревьями, которые могут «разрастаться», причем новые ветви могут «вырастать» из любой вершины дерева. В такой ситуации лисповские локально-действующие динамические процедуры выделения памяти и процедуры «сборки мусора», позволяющие освободить неиспользуемую более память, являются незаменимыми. При работе на традиционных языках пришлось бы специально программировать такие процедуры.
Другая причина использования языка Лисп — его локальная организация: он дает возможность создать легко перестраиваемую программу, позволяющую вносить изменения в работу отдельных элементов системы, не переделывая ее целиком (см. обсуждение в начале гл. 5). Предполагалось, что система PROMPTER должна работать по-разному в зависимости от типа пользователя, от характера вводимой информации. Способ отображения информации на экране дисплея должен зависеть от возможностей этого дисплея, наконец, способ представления деревьев в памяти мог зависеть от особенностей конкретного компьютера.
Использование локально-организованной структуры языка Лисп позволило создать программу с модульной структурой, отдельные компоненты которой можно переделывать или заменять независимо. Так, например, основная программа работы с деревом состоит из трех достаточно независимых блоков. Управляющий блок контролирует процесс движения по дереву; он ответственен за выполнение описанного выше алгоритма поиска информации и пополнения дерева. Связь с пользователем реализуется с помощью другого блока, управляющий блок обращается к нему с помощью функции GETINF для получения информации от пользователя и функций SHOW и UNSHOW для выдачи информации пользователю. Информация пользователю может быть выдана в виде одной строки или в виде меню, которое может видоизменяться в зависимости от структуры информации и возможностей дисплея, но все это никак не меняет работу основного блока. Наконец, отдельный блок «знает» о том, как представлено дерево в памяти машины. Управляющий блок обращается к нему с помощью небольшого числа функций, например BRANCHES для получения списка ветвей, выходящих из данной вершины, или GO BACK для возврата по дереву на один шаг. Можно изменять способ представления дерева, например упаковывать отдельные его фрагменты для экономии памяти, можно включать в дерево дополнительную информацию, не используемую основным алгоритмом (например связать с каждой вершиной дерева множество продукций, которые будут выполняться в нестандартных ситуациях), опять сохраняя при этом основной алгоритм.
Локальная организация программы позволила сравнительно легко реализовать системы типа PROMPTER на нескольких различных машинах с разными операционными системами и на разных диалектах языка Лисп.
Заключительные замечания. Исторически система PROMPTER явилась для автора книги и руководимого им коллектива «побочным продуктом» многолетних теоретических и экспериментальных исследований по разработке человеко-машинной системы перевода с языка на язык, которую планировалось создавать на локальных принципах и в которой обучению отводилась решающая роль (см. детали и примеры в [Жожикашвили и Стефанюк, 1986а]). (Другим «побочным» продуктом явилось теоретико-категорное описание задачи представления знаний и задачи обучения, описанное в разд. 4.5 данной книги.) Однако система PROMPTER имеет, очевидно, и самостоятельную ценность, не зависящую от упомянутой задачи перевода.
Система PROMPTER может быть использована для поддержки ввода данных во всех тех случаях, когда разнообразие алфавитноцифровых данных невелико по сравнению с общим числом вводимых в систему данных, т. е. когда данные часто повторяются. Такое ограничение выполняется во многих практических задачах, поскольку в них обычно совокупность вводимых данных описывает некоторую узкую область или даже некоторую конкретную концепцию. В качестве примера отметим, что предшествовавшая системе PROMPTER система с успехом использовалась когда-то в ИППИ АН СССР при организации подписки на газеты и журналы.
В последнее время в западных программных продуктах все чаще используется схема поддержки ввода данных, получившая название «завершение строки» (completion), которая используется, например, в редакторах серии GNU Emacs [Stallman, 1986]. Эта система напоминает PROMPTER по своей сути. В GNU Emacs она также написана на языке Лисп. Но человеко-машинный интерфейс в системах такого рода, очевидно, развит в существенно более слабой степени, чем в нашей системе PROMPTER.
Использование знаний экспертов при выявлении последовательности оснований ДНК
Ниже предлагается новый подход и новые алгоритмы для восстановления имен оснований (нуклеотидов) по данным, полученным в 4канальном приборе, предназначенном для выявления последовательности оснований в ДНК с применением электрофореза. Подход основан на соображениях из области экспертных систем и локальных топологических соображениях, которые позволяют избежать многих ошибочных результатов при обработке типичного числового файла, получаемого для каждой конкретной ДНК.
Показано, что в виду сложной природы процесса наблюдения автоматическое выявление последовательности оснований не всегда может рассматриваться как простая задача проверки гипотез или задача распознавания образов. Оказалось, что для этой задачи наиболее подходящей является технология экспертных систем и учет целого ряда соображений локального характера.
Постановка задачи. Восстановление последовательности оснований (base-calling) для данной ДНК с применением электрофореза представляет собой процедуру, работающую с большой совокупностью измерений, сделанных фотодетектором, являющихся результатом измерения уровня излучения четырех цветов. Эти цвета обусловлены возбуждением флуоресцирующих терминальных меток, прикрепленных к каждому члену данного олигомера, т. е. группы однотипных отрезков ДНК, вызванным светом, поступающим от четырех лазеров.
В последнее время техника идентификации оснований стала обычным делом. Во многих лабораториях мира для этого используются разнообразные установки, нацеленные на получение ясной картины измерений. Однако несмотря на наличие многих изящных инженерных решений идентификация последовательности оснований остается медленной и дорогостоящей процедурой, что ограничивает ее более широкое применение в каждодневной практике медицинских учреждений и в других случаях.
Пучки от 4-хлазеров
Л'Л'
Л'
Л'
Рис. 5.9. Принципиальная схема устройства для одномерной колончатой хро-матографии
Выдвигались различные предложения по созданию установок, призванных обеспечить быструю и надежную идентификацию. В качестве примера можно привести секвенсер Applied Biosystems ABI 373 DNA. В нем применяют химические метки четырех цветов в одномерной колончатой хроматографии, предложенной еще в 1986 г. Смитом с соавторами и в 1987 г. Коннелом с соавторами. В приборе используется один фотометр, который порождает четыре записи данных на каждом цикле сканирования геля, используемого в этой установке (рис. 5.9). На каждом этапе сканирования флуоресцентное излучение от освещаемой позиции в этом геле, предварительно пропущенное через четыре полосовых фильтра, подвергается измерению с помощью фотоприемника (см. описание в [Rudall, 1997]).
В идеале такие четыре лазера освещения порождают четкое сочетание пиков, отчетливо выявляющее каждый конкретный олигомер. Благодаря этому появляется возможность приписать один из четырех возможных знаков, т. е. G, А, С, Т (Гуанин, Аденин, Цитозин, Тимин), чтобы показать тип нуклеотида этого олигомера и, в конечном счете, установить вид соответствующего основания. В результате для данной ДНК будет реконструирована последовательность {жД, г = 1,2,..., в которой каждый х^ выбирается из множества {G, А, С, Т} четырех возможных азотистых оснований.
Однако реальная ситуация оказывается намного сложнее (см. рис. 5.10) х). Наблюдения оказываются зашумленными в силу различных факторов, среди которых неконтролируемая фоновая засветка, регистрируемая непосредственно от освещающих лазеров, и дисперсия членов олигомера — разброс времени появления флуоресцентного света в окуляре фотоэлемента в пределах одной и той же группы отрезков ДНК, имеющих одну и ту же длину. Масштаб указанной дисперсии может даже скрыть различие между двумя соседними пиками. Эти и другие явления могут серьезно снизить качество автоматической идентификации оснований и поэтому проблема правильного приписывания символов оснований наблюдаемым олигомерам все еще считается трудной. Решению этой проблемы посвящен настоящий раздел книги.
Рис. 5.10. Образец реальных данных, полученных в результате хроматографического процесса
Предварительно заметим, что порядок символов оснований в ДНК очень важен, так как тройка соседних нуклеотидов может составлять так называемый кодон, т. е. код, задающий вполне определенную аминокислоту на этапе синтеза белков живого существа. Характер этой по-
х) Рис. 5.10 заимствован нами со следующей интернет-страницы: http://www.biotech.missouri.edu/dnacore/sequencing/interpreting.html и помещен здесь с любезного разрешения автора страницы Дж. Форрестера (Joe Forrester) (он же приведен на обложке книги в цветном исполнении).
следовательности в ДНК человека является уникальным, объясняя специфическое множество характеристик каждого индивидуума, идет ли речь о физических размерах, или склонности к заболеваниям [Rudall, 1997]. Отсюда достаточно очевидно, что каждый «геномный» проект начинается с определения последовательности оснований в конкретной ДНК.
Близкие работы. Рассматриваемая область характеризуется большим числом публикаций. Однако самой близкой к нашим исследованиям нам показалась публикация [Tibbet et al., 1995], в которой сделана попытка воспользоваться обучающимися нейросетями для улучшения процедуры восстановления последовательности оснований. В этом подходе проблема рассматривается как задача распознавания образов. Благодаря обучению на большой выборке подобных ситуаций, использованных для тренировки нейросети, было достигнуто существенное улучшение качества обработки данных. Исследование в [Tibbet et al., 1995] велось в тесном сотрудничестве с фирмой Du Pont Со.
Как и в большом числе других случаев (см. также ссылку [Wanders, 1995]), авторы работы [Tibbet et al., 1995] основывают свой анализ на пиках, обнаруживаемых на кривых, аппроксимирующих наблюдаемые данные: «Поиск пиков и оценка степени разделения олигомеров и их интенсивностей выполняется с использованием алгоритма, применяющего обработку сигнала с учетом второй производной» [Tibbet et al., 1995].
Подобный подход обычно применяется во всех американских ДНК- лабораториях, о которых нам известно.
Различные взгляды на определение последовательности оснований.
Математический взгляд. Наблюдаемые данные выглядят как обычный случайный процесс (см., например, Fig. 31.4 в работе [Tibbet et al., 1995] или рис. 5.10). По этой причине многие авторы заключали, что проблема приписывания некоторого значения для основания является проблемой испытания гипотез или задачей распознавания образов. Однако, с математической точки зрения, эти данные описывают довольно сложную последовательность некоторого числа отрезков различных локальных случайных процессов, следующих друг за другом. Более того, эти отрезки накладываются друг на друга в том смысле, что наблюдаемые значения являются результатом суммирования нескольких значений, относящихся к соседствующим олигомерам.
Простой случай перекрытия показан на рис. 5.11, где мы изобразили пример, взятый из реальной практики.
Схематический чертеж для более сложного случая показан на рис. 5.12.
На практике ситуация оказывается еще более запутанной, так как имеется четыре частично перекрывающихся аддитивных процесса в каждом из четырех каналов измерения. Эта ситуация безусловно исключает восстановление последовательности оснований путем анализа пи-
ков, не считая самых простых случаев, которые, к счастью, составляют большинство наблюдаемых данных.
Заметим, что описываемая трудность делает также бесполезной применение обратной матрицы флуоресценции для прямого вычисления значений символов G, А, С, Т из наблюдаемых данных.
Из-за описанных выше сложностей традиционные статистические методы оказываются малопригодными в трудных случаях, изображенных на рис. 5.11 и 5.12. Успех же с обучением хорошему восстановлению, продемонстрированный в работе [Tibbet et al., 1995], может быть объяснен тем фактом, что все указанные случайные отрезки все же имеют очень много общего по своему характеру. Сложившаяся ситуация напоминает в большой степени применение технологии экспертных систем для динамических прогнозов в сейсмологии [Стефа- нюк, 1994], [Stefanuk, 2000а]. Так сейсмопрогноз, основанный на наблюдениях, сделанных в различных точках Земли, становится тем не менее возможным в силу подобия физических явлений, происходящих в самых различных местах.
Видимо описанные выше трудности и объясняют попытки авторов [Tibbet et al., 1995] подкорректировать свои результаты путем обучения дополнительным «апостериорным» правилам редактирования. В табл. 5.3 приводится список действий по апостериорному редактированию имени второго пика из двух пиков, следующих друг за другом, заимствованный из Table 31.1 работы [Tibbet et al., 1995].
С точки зрения обработки сигналов. Обработка сигналов, известная из литературы, основывается на ожидании того, что форма пиков на кривых напоминает форму функции ошибки.
Действительно, рис. 5.11 может быть представлен как результат суммирования двух «гауссовских» форм, что и объясняет появление там «плеча». Однако серьезных оснований для использования именно такой формы нет. Например, во многих случаях лучше было бы аппроксимировать двумя пиками простой треугольной формы. При такой аппроксимации легко видеть, что правый конец плеча совпадает с концом первого пика. Заметим, что первый из пиков прямо не виден из рис. 5.11 и не может быть обнаружен описанными выше автоматическими системами восстановления оснований.
Рис. 5.12. «Покрытие»
Таблица 5.3. Инструкции для апостериорного редактирования
Нет изменений Вычеркнуть основание Добавить G Добавить А Добавить С Добавить Т Изменить на G Изменить на А Изменить на С Изменить на Т
С позиции организации естественной зрительной системы. С бионической точки зрения восстановление символов оснований напоминает работу системы цветового зрения животных. От зрительной системы человека ее отличает лишь количество детекторов цвета. У человека при нормальных условиях освещения используется три детектора, в противоположность рассматривемой нами ситуации секвенсинга, где используется четыре таких детектора поскольку искомых оснований — четыре.
Это означает, что многие решения могут быть прямо заимствованы у авторов, которые исследуют вопрос неизменности зрительного восприятия цветов поверхностей (окрасок) независимо от условий освещения [Максимов, 1984].
С позиции экспертных систем. Подход со стороны экспертных систем к рассматриваемой проблеме выглядит особенно ценным, поскольку эксперты часто в состоянии исправить ошибки, допускае-
мые автоматическими системами восстановления последовательности оснований. Этот факт был отмечен и в работе [Tibbet et al., 1995], хотя используемый там подход отличается от нашего.
В результате целого ряда обсуждений с экспертами в рассматриваемой нами области было установлено, что эксперты пользуются некоторыми специальными семиотическими именами (концептами) для описания наблюдаемых явлений в тех случаях, когда возникает необходимость вмешательства экспертов в процесс выявления наименований оснований.
В частности, эксперты широко используют понятия плеча и покрытия, которые изображены на наших рис. 5.11 и рис. 5.12. Возникающее при этом правило коррекции имеет гораздо более богатую семантику, чем правила из работы [Tibbet et al., 1995] (см. таблицу 1 выше), поскольку оно допускает дальнейший осмысленный пересмотр полученных данных.
Локальный топологический подход. Подход, предпринятый в настоящем разделе, продолжает соображения, высказанные выше в подп. 5.5.3.4. Он опирается на тот факт, что эксперты по выявлению оснований во многих случаях могут установить название основания, пользуясь какими-то дополнительными подсказками. В таких случаях перспективен подход с позиции экспертных систем, если только имеется возможность собрать те знания, к которым прибегают эксперты. В принципе, закодировав это знание, можно создать экспертную систему, позволяющую достигнуть уровня результатов, приближающихся к результатам экспертов, и даже превзойти их.
Обычно эксперты по восстановлению названия оснований приглашаются после того, как начальная дешифровка уже проделан с применением какого-то программного обеспечения [Tibbet et al., 1995]. И действительно, если бы кривые были более четкими и все пики четко отстояли друг от друга, исходная задача решалась бы тривиально и необходимости в помощи экспертов не возникало.
Предлагаемый топологический подход позволяет легко решать проблемы, показанные на рис. 5.11 и рис. 5.12. В случае рис. 5.11 рассуждение является очевидным (см. выше). Для решения задачи в случае рис. 5.12 приходится применять некоторые соображения из теории игр, которые мы здесь не описываем. Если последовательно воспользоваться подобными топологическими соображениями, результирующая экспертная система опять становится достаточно тривиальной.
Этот подход был проверен на практике лишь отчасти. Тем не менее, проведенное тестирование показало целый ряд замечательных примеров успешной дешифровки оснований в двусмысленных ситуациях похожих на ситуации, изображенные на рис. 5.11 и рис. 5.12. Полагаем, что, будучи полностью запрограммированным, наш метод позволит ближе подойти к цели получения 97-99% правильных ответов на множестве из 300-400 оснований, цели, сформулированной в работе [Tibbet et al., 1995].
Детали предлагаемого топологического подхода сообщались сотрудникам Факультета электроинженеров и вычислительных наук государ-
ственного университета Нью-Йорка, где автору книги довелось работать над описанной проблемой в качестве приглашенного консультанта.
Кстати, хотелось бы поблагодарить членов «команды ДНК» за предоставление в распоряжение автора всех подробностей, необходимых для данного исследования, и, в особенности, за помощь в программировании. Хотелось бы также поблагодарить членов Факультета электроинженеров и вычислительных наук за ценные соображения, высказанные на рабочем совещании 30 марта 2000 г., на котором автор изложил основные принципы и относящиеся к делу алгоритмы выдвигаемого топологического подхода, а также некоторые предварительные результаты машинного моделирования конкретных алгоритмов обработки данных.
Заинтересованные лица могут получить информацию о реализации соответствующих алгоритмов от автора данной книги, обратившись к нему по электронному адресу stefanuk@iitp.ru
Заключение. Итак, описан новый подход к рассмотрению расшифровки порядка следования оснований в ДНК в приборах электрофоретического сканирования в реальном времени, применяющих селективные полосовые фильтры для хроматографического разделения четырех флуоресцирующих меток, находящихся на концах нуклеотидов, и специфических для каждого из четырех возможных оснований.
Мы показали, что наблюдаемое явление порождает довольно сложный случайный процесс, состоящий из ряда накладывающихся аддитивных процессов, идущих друг за другом, которые соответствуют флуоресцентному излучению, поступающему от различных олигомеров в результате их облучения светом лазеров.
Показано также, что проблема выявления имени символа в процессе идентификации основания (соответствующее автоматическое приписывание одного из четырех возможных символов основания) имеет определенную аналогию с работой обычной зрительной системы. Однако эта аналогия должна быть подвергнута более глубокому изучению.
В результате обсуждения некоторых близких работ мы предложили использовать подход с позиции экспертных систем, основанный на широком использовании экспертных знаний. Этот подход не полагается целиком на выделение изолированных пиков, что на сегодня является распространенной практикой. В то же время наш подход должен служить определенным дополнением к традиционным технологиям, которые обеспечивают правильное приписывание символов оснований во всех случаях, за исключением наиболее трудных.
Некоторые примеры, взятые из реальных измерений и иллюстрирующие эти «наиболее трудные случаи», представлены выше. Изложенные выше результаты опубликованы в работах [Stefanuk, 2000b; 2001с и Стефанюк, 2000ж].
Профилактика заражения компьютерным вирусом и получения спама через электронную почту
Хорошо известны случаи получения вируса вместе с почтовыми отправлениями. Обычно это происходит тогда, когда обладатель почтовой программы открывает, т. е. читает прилагаемый к письму файл (Attachment).
При этом создатель вируса, учитывая психологию пользователя, старается как-то заинтересовать корреспондента в открытии такого файла. Среди наиболее популярных способов известны два: указать в разделе Subject письма интересующую пользователя тему, или тему достаточно нейтральную. В последнем случае пользователь может «открыть» прилагаемый файл просто из любопытства.
Другой способ состоит в том, что распространитель вируса с помощью простых приемов выявляет список корреспондентов пользователя, так что пользователь получает письмо, присланное якобы одним из его коллег. В этом случае резко возрастает вероятность того, что прилагаемый файл будет непременно открыт.
В обоих случаях пользователь редко вспоминает о рекомендации не открывать неизвестные ему файлы: «а вдруг там содержится что- нибудь полезное!»
Популярные антивирусные программы типа Dr.Web, AVP и другие обнаруживают вирусы и излечивают от многих из них. Мощность таких программ возрастает с каждым новым штаммом вирусов. Но, к сожалению, и размер этих программ также стремительно растет, занимая дисковое пространство компьютера. Поскольку идеи таких программ почти всегда на шаг отстают от идей злоумышленников — разработчиков вирусов, то это «соперничество» между ними, видимо, никогда не кончится. Очевидно, сложившееся положение дел устраивает обе стороны. Но оно не может устраивать рядовых пользователей электронной почты.
Известно, что профилактика — это более правильный путь борьбы с заболеваниями. Человек обычно старается не заболеть гриппом, принимая профилактические меры, а не рассчитывает на то, что все равно грипп будет вылечен теми или иными лекарствами.
Ниже предлагается простой рецепт такой профилактики в случае компьютера.
Получив письмо, содержащее приложение (Attachment), при малейшем подозрении на возможность получения вируса, получатель письма должен послать назад отправителю короткое письмо с просьбой подтвердить факт посылки данного письма, используя для этого команду Reply почтовой программы. Поскольку новое письмо и ожидаемый ответ на него уже не содержат приложения, то это приведет к незначительной дополнительной нагрузке на почтовую сеть.
Только получив запрашиваемое подтверждение, можно рисковать открыть приложение. («Рисковать», потому что вирус, тем не менее,
может в нем содержаться, если, например, автор исходного письма не знает, что его компьютер уже давно заражен и некий вирус автоматически включается в каждую подходящую для этого посылку.)
Успех описанного нами алгоритма основан на том факте, что умышленная рассылка вирусов обычно идет с адресов, которые немедленно после рассылки закрываются (и тогда в ответ на указанный «Reply» придет письмо от сервера, что такой-то адрес не существует).
Как легко видеть, описанный алгоритм носит опережающий характер: вирус в большинстве случаев не будет скопирован в компьютер, каким бы совершенным он ни был. К достоинствам указанного профилактического приема следует отнести и то, что он будет отбраковывать и так называемый «спам» — безобидную, но отвлекающую от дела рекламу, рассылаемую массовым образом (см. следующий раздел).
В заключение отметим, что подобный образ действий может быть реализован прямо оператором на почтовом сервере, что было бы весьма удобным для пользователя. При этом большой процент вирусосодержащих писем просто не поступал бы к пользователю.
С другой стороны, предлагаемый алгоритм прост и может применяться пользователем сразу же по прочтении этого раздела [Стефанюк, 2000д].
Активный фильтр для вирусов и спама. В отличие от привычного пассивного фильтра, обычно поставляемого в составе почтового пакета компьютера, активный фильтр не осуществляет простого отбрасывания подозрительных писем по заранее запомненным критериям. Активный фильтр предполагает проведение встречных, предупредительных действий, направленных на выяснение истинного характера полученного письма при отсутствии у пользователя соответствующей априорной информации. Предложенная нами ранее активная фильтрация [Стефанюк, 2000д] уже доказала свою работоспособность защиты компьютера от поступления вирусов. Такая фильтрация опиралась на проведение достаточно простых действий со стороны пользователя, хотя теоретически эти действия могли бы осуществляться и программой почтового сервера.
Ниже показано, как подобный фильтр может быть использован и для борьбы со спамом — несанкционированными почтовыми отправлениями, — но в этом случае желательно, как показано, чтобы все действия производились именно на уровне почтового сервера, а не на уровне пользователя.
Основания для активной фильтрации. В работе [Стефанюк, 2000д] был описан простой локальный алгоритм активной фильтрации приходящей почты, при которой до минимума снижается риск получения вируса при чтении письма на данном компьютере. Этот алгоритм является прекрасной альтернативой применению антивирусных программ. Так, за время трехлетнего использования такого алгоритма автором не было получено ни одного вируса, хотя количество и качество таких вирусов существенно возросло, о чем не забывают нас
информировать круги, связанные с производством и распространением антивирусных программ.
Однако, решив по существу задачу исключения вирусов (но отнюдь не борьбы с ними после того, как вирус уже проник в компьютер пользователя!), можно заняться борьбой с так называемым спамом. Такое название получили всевозможные почтовые отправления, получение которых никак не предусмотрено пользователем. Как правило, — это реклама товаров и услуг, которые не были заказаны получателем, которые раздражают, отнимая массу времени на ознакомление с ними, и на прием которых из сети Интернет расходуются средства пользователя. Объем спама постоянно растет, а современные технические средства делают, подчас, невозможной борьбу с ним с использованием предназначенных для этой цели пассивных фильтров. Дело в том, что пассивные фильтры хорошо отсеивают сообщения, содержащие заранее указанные нежелательные адреса, либо некоторые ключевые слова, находящиеся в шапке сообщения. Однако создатели спама, а среди них попадаются и распорядители серверов и другие опытные программисты, научились за последнее время так модифицировать адреса и так прятать информацию о себе, чтобы практически исключить возможность пассивной фильтрации [Стефанюк, 2004].
Немаловажно и то, что при традиционной пассивной фильтрации письмо сначала считывается в память компьютера, а только на следующем шаге отфильтровывается, т. е. (обычно платное) время работы с WWW тем не менее расходуется, хотя время на чтение самого этого письма пользователем уже не тратится.
Причина бурного развития спама, на наш взгляд, чисто экономическая. Это вопрос получения материальной выгоды для злоумышленника. Сложилась определенная ставка: рекламодатели выплачивают порядка 200 долларов США тем, кто берется разослать информацию по списку из 1 млн адресов. Технически такую рассылку осуществить довольно просто. Все, что для этого нужно, — это иметь доступ к компьютеру на ограниченное время и умение как-то скрыть свой обратный адрес, чтобы избежать получения в ответ порядка 1 млн писем от возмущенных читателей этой не заказанной ими информации.
Скрыть свой адрес можно многими способами. Обычно временно открывается почтовый ящик на общедоступном сервере типа Hotmail или Yahoo, делается указанная рассылка и ящик закрывается, так что послать свое возмущение становится просто некому.
Какое-то время назад автор делал попытку обратить внимание хозяев этих бесплатных серверов на возможность такого использования их систем и предлагал рассмотреть некоторые меры борьбы с этим злом. К сожалению, тогда реакции на это не было. (Совсем недавно стало известно, что Hotmail теперь разрешает послать одно сообщение не более, чем по 10 адресам, что несколько затрудняет действия злоумышленников.)
Кстати, автор сталкивался с тем, что многие обычные почтовые серверы просто закрывают с помощью пассивных фильтров доступ корреспонденции с таких общественных серверов. При этом в жертву
приносятся совершенно ни в чем не повинные пользователи. Однажды это привело к тому, что у автора не было возможности связаться с корреспондентами в Германии по срочным вопросам, связанным с организацией крупной международной конференции по искусственному интеллекту. В это время автор временно находился в США и на тот момент указанные выше серверы были единственным средством воспользоваться WWW.
При существующей чисто локальной организации WWW сами сотрудники серверов и их ближайшие товарищи могут заниматься спамом х).
В последнее время, благодаря техническому развитию WWW, стало возможным сокрытие обратного адреса и многими другими способами. Особенно легко это сделать, работая непосредственно на почтовом сервере и имея соответствующие привилегии ).
Активный фильтр антиспам. По существу, борьбу с получением спама предлагается проводить теми же средствами, что и борьбу с поступлением вирусов, как отмечалось в работе [Стефанюк, 2000д]. Отличие состоит только в том, в каком месте происходит применение алгоритма: на пользовательском компьютере или на почтовом сервере.
Если активный фильтр для вирусов может быть с равным успехом использоваться и в том и другом случае, то алгоритм борьбы со спамом становится действительно эффективным, если он реализуется на уровне почтового сервера. Хотя убедиться в его потенциальной эффективности можно и имитируя его работу на компьютере пользователя. «Имитировать», потому что на уровне пользователя компьютера трудно автоматизировать соответствующие действия — приходится выполнять их вручную. Но тогда все предприятие теряет смысл поскольку все шаги предпринимаются уже после того, как спам получен и может быть оценен пользователем непосредственно.
Итак, получив сообщение, которое возможно содержит вирус или спам, пользователь, пользуясь командой Reply согласно рекомендации публикации [Стефанюк, 2000д] отправляет примерно следующий текст «Подтвердите пожалуйста, что вы действительно направляли мне это сообщение». Если в течение определенного отрезка времени ответа не последует, то письмо можно не читая вычеркнуть из почтового ящика: либо это спам, либо письмо, содержащее вирус.
Если же ответ получен, то необходимо проанализировать его содержание. Если это — нормальное подтверждение, то можно прочесть письмо и открыть приложение (см. предыдущий раздел). Если видно, что подтверждение фиктивное, то следует поступать как и в случае отсутствия какого-либо подтверждения, т. е. письмо следует вычеркнуть ).
Что значит «сообщение, которое возможно содержит вирус или спам, или и то и другое»? В случае борьбы с получением вируса — это наличие в письме приложения. Всякое другое письмо от неизвестного вам корреспондента целесообразно считать потенциальным спамом.
Преимущества и недочеты установки активного фильтра на почтовом сервере. Недочеты связаны с тем, что на сервере неизвестны заведомо гарантированные корреспонденты данного пользователя, поэтому сервер должен совершать указанные действия при получении любого письма, т. е. считать каждое письмо подозрительным на спам. Этот недостаток можно в значительной степени уменьшить за счет того, что спамообразующие письма обычно содержат некоторые дополнительные признаки, увеличивающие вероятность того, что это действительно спам.
Например на сервере ИПС РАН г. Переславль-Залесский поставлена защита, которая объявляет лишь некоторые письма подозрительными на спам. Здесь может быть несколько критериев, множество которых может со временем модифицироваться. Например, подозрительным считается письмо созданое одной из специализированных программ циркулярной рассылки и т. п.
Кроме того, на этом же почтовом сервере установлена возможность из этого ограниченного множества выделить некоторое подмножество «легитимных» циркулярных писем, которые поступают из заведомо проверенных источников.
При установке активного фильтра на сервере возникают дополнительные возможности, основанные на корреляции корреспонденций, поступающих для различных пользователей. Например, убедившись в «неблагонадежности» одного из источников можно запретить все поступления, приходящие на данный сервер, независимо от того, кому конкретно они адресованы.
Оставшиеся после такого отсеивания и все же подозрительные на спам письма следует обработать также, как в случае антивирусной фильтрации. А именно: послать командой Reply сообщение типа «Подтвердите пожалуйста что имярек уполномочил вас присылать ему ваши письма». Если ответ не приходит в течение определенного промежутка
времени, то письмо вычеркивается из временного хранения и пользователю не поступает.
Если ответ пришел, то возникает сложная задача автоматического распознавания подлинности (аутентичности) письма, т. е. что письмо не сфабриковано какой-либо автоматической программой ответа на подобные запросы. Хотя пока что нам ничего не известно о существовании такой программы, необходимо научится узнавать результаты ее действия. Это — благодарная задача для искусственного интеллекта, которая является прямо противоположной задаче осмысленного поиска на WWW полезной информации [Осипов, 1997]. Заметим, что в случае описанной выше имитации работы сервера на пользовательском компьютере такая задача узнавания легко решается «естественным интеллектом» пользователя. Эта легкость дает все основания считать такую задачу разрешимой, по крайней мере в первом приближении, и в рамках искусственного интеллекта.
Но есть одно соображение, по которому создание такой интеллектуальной программы распознавания может быть на время отложено. Дело в том, что разработка и использование программы выдачи фиктивных подтверждений потребуют от спамеров дополнительных затрат, причем представляется, что эти затраты могут оказаться настолько существенными, что сделают работу по рассылке спама экономически неоправданной (см. п. 5.6.1). Поэтому на рис. 5.13 обсуждаемый искусственно-интеллектуальный блок распознавания обведен пунктиром.
Если же ответ пришел и он признан подлинным, то такое письмо следует переправить пользователю обычным порядком.
В большинстве же случаев спама, с которыми мы сталкиваемся сегодня, ситуация оказывается более простой — источник спама не пришлет никакого ответа на посланный запрос. Кстати, работа алгоритма на сервере удобна тем, что на сервере часто можно убедиться чисто сетевыми средствами, что адреса, с которого пришел спам, физически больше не существует. В этом случае письмо может быть вычеркнуто безо всякого переспроса. (Такая возможность отсутствует в описанном выше режиме имитации, снижая эффективность метода.) К сожалению, как говорилось выше, сегодня спамеры с легкостью могут создавать фиктивные адреса на интернете, которые физически «прописаны» в адресной шапке письма. Тем не менее, ответить правильно на переспрос они не в состоянии.
Выводы. Таким образом, предлагаемый активный фильтр можно создавать постепенно в виде локально-организованной системы, усовершенствуя его работу по мере поступления нового фактического материала о дополнительных возможностях спаммеров, которые, во многом, уже заранее предусмотрены в предлагаемом алгоритме. Еще раз обращаем внимание читателя на то, что этим наш подход кардинально отличается от подхода разработчиков антивирусных программ, которые совершенствуют свои программы только после поступлении очередного варианта вируса, никак не опережая мысль создателей вирусов и тем более распространителей спама.
ПОЧТОВЫЙ СЕРВЕР
WWWWWWПассивный фильтрПассивный фильтр! Блок ИИ !! Блок ИИ !перебросаперебросаОТВЕТ НЕ ПРИШЕЛ - письмо вычеркнутьОТВЕТ НЕ ПРИШЕЛ - письмо вычеркнутьОТВЕТ ЛЕГИТИМНЫЙ - письмо переслать пользователюОТВЕТ ЛЕГИТИМНЫЙ - письмо переслать пользователю
WWW
WWW
Пассивный фильтр
Пассивный фильтр
! Блок ИИ !
! Блок ИИ !
переброса
переброса
ОТВЕТ НЕ ПРИШЕЛ - письмо вычеркнуть
ОТВЕТ НЕ ПРИШЕЛ - письмо вычеркнуть
ОТВЕТ ЛЕГИТИМНЫЙ - письмо переслать пользователю
ОТВЕТ ЛЕГИТИМНЫЙ - письмо переслать пользователю
Рис. 5.13. Состав активного фильтра
Хочется надеяться, что настоящая публикация будет полезной не только для пользователей интернета, высвободив массу времени и интеллектуальной энергии, но и для спамеров, которые должны из нее почувствовать, что для них нет будущего на интернете и попытаться найти для себя более подходящее занятие ).
Автор благодарен В. Ф. Хорошевскому, без дружеского одобрения которого автор в свое время не решился бы на публикацию своего подхода [Стефанюк, 2000д].
Выводы по главе 5
Показано, что программу на интерактивном языке программирования можно рассматривать как локально-организованную систему. Приведены примеры, иллюстрирующие преимущества локальной организации программы и процесса программирования.
Поставлена и исследована задача перехода от рекурсивной программы к итеративному коду, что эквивалентно переходу к локальноорганизованной системе без взаимодействия в смысле гл. 2.
Выделены и описаны основные типы побочных эффектов, возникающих в системах Лисп, и описана построенная автором программа снятия рекурсии с учетом побочных эффектов, позволяющая повысить эффективность вычисления. Приведены примеры реальной работы программы.
Предложен новый метод рекурсивного вычисления в локальноорганизованной системе символьного программирования «арифмети-
ческих» (несимвольных) функций, не прибегающий к явному использованию сходящихся рядов.
Показано, что этот метод отличается большой простотой и наглядностью, позволяя установить требуемую точность вычислений в диалоговом режиме.
Приведены примеры наглядного программирования традиционных вычислений с использованием рекурсии (или итерации) в обычных языках программирования высокого уровня.
Методы локальной организации облегчают создание прикладных систем, сводя (в соответствии с рис. 1.3) процесс разработки сложной человеко-машинной системы к созданию целесообразноорганизованных достаточно простых подсистем. В частности, методы локальной организации, описанные в гл. 5, позволили создать:
эффективную операционную систему эклисп для миникомпьютера eclips С/330;
гибкую систему FLEX помощи программисту при работе в среде программирования Лисп;
обучающуюся систему PROMPTER ввода портовой документации. Система эклисп много лет эксплуатировалась в ИППИ РАН, МЭИ, МГУ.
Система FLEX доведена до уровня рабочего прототипа.
Система PROMPTER, была принята к внедрению в порту г. Клайпеда (см. [Стефанюк, 1987а]).
Предложен новый подход и новые алгоритмы для восстановления имен оснований (нуклеотидов) по данным, полученным в 4-канальном приборе, предназначенном для выявления последовательности оснований в ДНК с применением электрофореза. Подход основан на локальных топологических соображениях и экспертных знаниях, которые позволяют избежать многих ошибочных результатов при обработке типичного числового файла, получаемого для каждой конкретной ДНК.
Предложен новый подход в борьбе с нежелательной корреспонденцией, поступающей по всемирной компьютерной сети (WWW), в основе которого лежит использование активного фильтра. В отличие от традиционного пассивного фильтра, поставляемого в составе почтового пакета компьютера, активный фильтр предполагает проведение встречных, предупредительных действий, направленных на выяснение истинного характера полученного письма. Такой фильтр уже доказал свою работоспособность в режиме защиты компьютера от поступления вирусов.
ОБЩИЕ ВЫВОДЫ
В книге предложен и детально исследован новый принцип организации больших систем — локальная организация. Изучение локальной организации является самостоятельным научным направлением, основные этапы которого развиты автором книги. Локальная организация представляет собой важную альтернативу централизованной и децентрализованной организациям систем, позволяя поставить и решить ряд задач новых классов, среди которых:
— коллективное поведение,
— локальное управление,
— локальный подход к программированию,
— локальные аспекты искусственного интеллекта,
— локально-организованные экспертные и другие человеко-машинные системы.
Для всех указанных классов задач в книге построены и изучены характерные математические примеры, носящие оригинальный характер. Эти примеры, представляющие самостоятельный интерес как модели естественных технических систем, показывают, что локальный подход применим к самым разнообразным областям и позволяет в этих областях сформулировать проблемы в новых постановках.
Предложена общая методология анализа и синтеза локальноорганизованных систем, которая последовательно реализована в построенных математических и программных моделях. Предложены оригинальные математические методы исследования этих моделей, зависящие от класса решаемой задачи.
Под руководством автора книги и с его непосредственным участием был создан ряд программных комплексов на локальных принципах, опытная проверка которых подтвердила их полезность на практике и перспективность всего научного направления в целом.
Вышесказанное позволяет заключить, что в книге разработан широкий круг положений, развивающих новое перспективное направление, каким является локальная организация систем, в теории и практике создания больших систем в технике и информатике и решении проблем управления такими системами.
ПРИЛОЖЕНИЯ
П.1. Некоторые характеристики памяти сослучайной выборкой в сравнении со «стопкойкниг»
П.1.1. Дисперсия продолжительности поиска. Для дальнейшего обсуждения правомерности использования приближенных моделей поучительно вычислить не только £г (среднее число обращений в память), но и дисперсию этой случайной величины, которая обусловлена двумя факторами: случайным разбросом при поиске именно г-го слова и разбросом, обусловленным недетерминированностью (т. е. с вероятностью р^ обращения к г-му слову.
Пусть / — случайная величина, представляющая собой число сравнений с образцом прежде, чем будет найдено слово, соответствующее данному образцу, в предположении, что образцы предъявляются с вероятностями pi)... ^ р-п- Ее дисперсия определяется формулой
(
х 2 yppwV lEL/
где Р(Ц — распределение / на множестве L натуральных чисел 1,2,... Ясно, что
PW = ±Pi <МП,z=l
где Qi(J) — условное распределение / при условии, что ищется г-е слово. Отсюда
(
х 2
^Pi £19(0 ] • z=l IEL /
Аналогично (2.4.2) можно показать, что при поиске с возвращением при Ni 1
2-££09(0 = ^-1еь-И
Таким образом,
<r2 = ^Pi z=l<r2 = ^Pi z=l
<r2 = ^Pi z=l
<r2 = ^Pi z=l
2 _ 2п - 112 —\2 _ 2п - 112 —\Рис. П.1. Зависимость относительной дисперсии от средней глубины поиска в оптимальной случайной памятиРис. П.1. Зависимость относительной дисперсии от средней глубины поиска в оптимальной случайной памяти£ь = 1 + 2£ь = 1 + 2' Pi Pj' Pi + Pj' Pi Pj' Pi + Pj
2 _ 2п - 11
2 —\
2 _ 2п - 11
2 —\
Рис. П.1. Зависимость относительной дисперсии от средней глубины поиска в оптимальной случайной памяти
Рис. П.1. Зависимость относительной дисперсии от средней глубины поиска в оптимальной случайной памяти
£ь = 1 + 2
£ь = 1 + 2
' Pi Pj
' Pi + Pj
' Pi Pj
' Pi + Pj
П.1. Некоторые характеристики памяти со случайной выборкой 285
Предполагая выполненным «закон квадратного корня», можно получить следующее выражение:
представляющее относительную дисперсию, в котором А = £°pt.
Видно, что наименьшее значение ^2 _ 51 достигается при наиболь- п
шем А (равном п), а наибольшее, /З2 = = 2п — 2, при наименьшем А = 1 (см. соответствующий отрезок ветви гиперболы на рис. П.1).
Таким образом, относительная дисперсия в случайной памяти всегда велика, причем она достигает наибольшего значения именно тогда, когда применение такой памяти наиболее оправдано ). Интересно было бы сравнить это свойство со
свойствами дисперсии для стопки книг [Цетлин, 1963], но в следующем разделе мы ограничимся сопоставлением математических ожиданий для этих двух моделей.
П.1.2. Сравнение оптимизированной случайной памяти со «стопкой книг». Модель стопки книг, впервые предложенная М. Л. Цетлиным [Цетлин, 1963], неоднократно заново открывалась другими авторами (см. например «независимую», но идентичную постановку задачи в [Hendriks, 1972] ).
Однако математические результаты, полученные в [Цетлин, 1963] (в [Стефанюк, 1961] приводится выражение для финальной вероятности конкретного расположения книг в стопке), были существенно развиты лишь в работе [Burville and Kingman, 1973], где показано, в частности, что средняя глубина поиска книги определяется следующим изящным выражением:
Сопоставив эту формулу и (2.4.6), нетрудно убедиться, что £r > Lb- Действительно неравенство
5252^^7 >52525252^^7 >5252г=1 j>iг=1 j>iPi PjPi + PjPi PjPi + Pj
5252^^7 >5252
5252^^7 >5252
г=1 j>i
г=1 j>i
Pi Pj
Pi + Pj
Pi Pj
Pi + Pj
оказывается всегда выполненным, так как из неравенства между средним арифметическим и средним геометрическим при pi ф 0, г = 1, . . . ... , п, следует
Чтобы оценить количественно, насколько стопка книг «лучше» случайной памяти, рассмотрим два крайних случая.
В лучшем для применений адаптивной памяти случае имеем р^ —>- —У 1, pj —> 0, и тогда
£°Pt = £61,
т. е. они ведут себя одинаково.
В самом худшем случае, когда pi = — г = 1, . . . , п. имеем п
= n, Lb =,
т. е. случайная память проигрывает стопке книг по глубине поиска практически вдвое.
Прежде чем продолжить сопоставление стопки книг и случайной памяти, напомним, что эти две модели отвечают двум разным встречающимся на практике ситуациям и лишь в некоторых из них представляется реальный выбор, какой из схем воспользоваться (см. п. 2.4.1 выше).
П.1.3. Поведение случайной памяти и «стопки книг» при зависимых заявках. В общем случае вероятность обратиться в память за г-м словом может зависеть от всей предыстории
PiW = pt (г(1), г(2),..., i(t - 1)),
где i(t) — номер запрашиваемого в момент t слова (наиболее естественной моделью здесь была бы марковская зависимость, но сейчас это не существенно).
Дополнительно усредняя (2.4.1), имеем тогда
т—1т—1 г=1
Учитывая, что средняя глубина поиска слова /Дт) зависит исключительно от процедуры поиска и, согласно (2.4.2), определяется только
N^ N, которые во времени не меняются (мы здесь уже не говорим об алгоритмах оптимизации памяти), видим, что к(т) от времени не зависит. (Для сравнения заметим, что /Дт) для книг в стопке от времени зависит, см. ниже.) Тогда имеем
г=1 I т—1 J
Мы, естественно, ограничимся эргодическим случаем, когда существует предел
1 _
1™ 7 Е PiM = Pi-
Сопоставляя
(Щ)) = ^Pikz=l
c (2.4.1), убеждаемся, что все соображения о «законе квадратного корня» и т. п. остаются в силе для случайной памяти (с заменой р^ на р^. Иными словами, случайная память после каждого обращения к ней приходит в исходное состояние, в ней нет «последействия».
Однако в случае стопки книг, где также можно говорить о средней глубине книги в стопке на значительном отрезке времени усреднения, картина совершенно другая — весьма существенно, чтобы обращения к различным книгам представляли собой строго независимые события.
Рассмотрим, например, предельный случай, когда книги (или слова) требуются в строго определенном порядке (слова, скажем, могут соответствовать подпрограммам, вызываемым некоторой итеративной процедурой), тогда р^ = 1/п и глубина поиска в случайной памяти (при поиске с возвращением) равна в точности п.
В этой ситуации в стопке книг видно, что требуемые книги всегда будут расположены в строго обратном порядке — нужная книга при систематическом чтении собрания сочинений будет располагаться внизу стопки (!).
Таким образом, в случае цепочки заявок свойства стопки книг и случайной памяти сравниваются. Более того, случайная память при использовании процедуры без возвращения получает (при малых N) некоторое преимущество. Действительно, из выражения (2.4.21) имеем
£°pt =£°pt =УУ + 1N + пУУ + 1N + п< Lb = п.< Lb = п.
£°pt =
£°pt =
УУ + 1
N + п
УУ + 1
N + п
< Lb = п.
< Lb = п.
П.2. Двухуровневая система управленияманипулятором
Первый уровень. Для многозвенных цепей существует, вообще говоря, бесконечно много финальных положений, в которых «схват»
руки находится в заданной окрестности целевой точки, и каждого из этих положений можно достичь бесконечным числом способов. Аналитическое определение оптимальной траектории и финальных межзвенных углов, как правило, затруднительно вследствие большой сложности системы уравнений динамики, описывающих движение манипулятора. Вместо этого в каждый момент времени можно производить оценку необходимых углов поворота звеньев и производить коррекцию чисто локальным образом.
Можно предложить несколько достаточно естественных, хотя не обязательно оптимальных способов такой оценки. Один из них состоит в том, что в каждый момент для г-го звена, г = 1,. . . , п, угол поворота 0г принимается равным углу между направлениями на схват руки (тачка А) и на целевую точку А0 (см. рис. П.2). Введем следующие обозначения:
а^ — угол между (г — 1)-м и г-м звеньями («1 — угол между первым звеном и опорой);
Ro — расстояние от точки крепления цепи О до целевой точки;
фо — угол между направлениями на А0 из О и плоскостью опоры.
А0Рис. П.2. К кинематической модели управления манипуляторомА0Рис. П.2. К кинематической модели управления манипулятором
А0
Рис. П.2. К кинематической модели управления манипулятором
А0
Рис. П.2. К кинематической модели управления манипулятором
Запишем выражения для декартовых координат Х^ и У^ г-го суста
ва, г = 1, . . . , п:
Xt= ^Ц cos^j, Yi= ^Ц sin^-, Xq = Yq = О, J=1J=1
где ^j = «1 + . . . + а^, и выражения для соответствующих углов поворота:
0i0i= arccos= arccosХ„ -
0i
0i
= arccos
= arccos
V(Xn - Xi-гУ + (Y„ - Yi-if
— arccos— arccosRo COS фо ~ Xi-l
— arccos
— arccos
V(Ro cos фо - Xi-Д*2 + (Ro sin фо - Хг-Д*2
Некоторые особые случаи расположения звеньев и А0 практически не меняют вид этой формы.
Другой способ отличается от описанного тем, что оценка углов поворота начинается с последнего, n-го сустава, и при переходе от г- го сустава к (г — 1)-му, г = 2,. . . , п, считается, что все предыдущие звенья уже совершили повороты на соответствующие углы 6п^ 0п-1^ • • • ... , 6г ПРИ неподвижной остальной части цепи.
Мы выбираем в каждый момент усилия мышц так, чтобы звенья начинали поворачиваться в направлении «компенсации» углов 6г (которые имеют тот же знак и примерно ту же величину, что и некоторые неизвестные истинные углы поворотов, необходимые для достижения цели). На следующем такте, т. е. через выбранный малый промежуток времени At, после осуществившегося поворота звеньев на достаточно малые углы, которые определяются всеми силами, действующими в системе, и распределением масс, процедура выбора углов 6г и усилий повторяется.
В обоих способах можно применять процедуру, позволяющую более точно направить перемещение схвата (конца руки) на целевую точку: углы изменяются так, чтобы скорректировать соотношение между перемещениями точки А по оси абсцисс (АХ) и по оси ординат (АУ) при повороте звеньев на малые углы Аа^ пропорциональные 6f.
△X = У ^ Да;△X = У ^ Да;AY = У ^ Да;don 1AY = У ^ Да;don 1
△X = У ^ Да;
△X = У ^ Да;
AY = У ^ Да;
don 1
AY = У ^ Да;
don 1
гдегдеdXndatdXndat= -УЛ sin^YJ=1= -УЛ sin^YJ=1dY nI ri7/dY nI ri7/j=ij=i
где
где
dXndat
dXndat
= -УЛ sin^Y
J=1
= -УЛ sin^Y
J=1
dY n
I ri7/
dY n
I ri7/
j=i
j=i
Нетрудно приближенно оценить вращающий момент М^ который должны развивать мышцы, управляющие г-м звеном, для поворота его на угол Дс^ за время At:
м. « I '"(Д,;Г (Д«. - А.-Л«),
где А{* — угловая скорость вращения г-го звена относительно г-го шарнира в начале такта. (Знание более точных оценок считалось излишним,
во-первых, из-за мешающего действия реакций в суставах и, во-вторых, благодаря тому, что итеративный характер процедуры обеспечивает достижение цели независимо от погрешностей оценок (если они относительно невелики) на отдельных тактах. Значение М^ определяет, какой мышце из управляющей пары напрячься и какое развить усилие.
Второй уровень. Реализовавшаяся траектория неизбежно будет иметь ряд недостатков. Силы взаимодействия между звеньями существенно возмущают движение цепи, в результате чего на некоторых тактах конец руки может даже уходить от целевой точки. Далее, возрастание угловых скоростей звеньев, возможно значительное, увеличивает помехи, связанные с реакцией в суставах. Большие скорости сами по себе затрудняют управление системой (возможно промахива- ние). Все эти факторы увеличивают время движения и затрачиваемую энергию. Поэтому было бы целесообразно предвидеть такие отклонения и мешающие воздействия и не допускать их, заранее корректируя усилия «мышц», чтобы улучшить характеристики движения. Для оценки и сравнения траекторий можно использовать три естественных критерия: кинематический — время достижения целевой точки Т, энергетический — работа управления W и обобщенный — действие S
т
S = ^ Ldt,о
где L — функция Лагранжа системы.
Обучение, в результате которого модель будет заранее «знать» о будущих отклонениях и с упреждением корректировать их, можно организовать следующим простым способом. В течение к-го прохода от исходной точки к целевой (т. е. к-го цикла) запоминаются все усилия, которые развивает каждая мышца. Затем система возвращается в исходное положение и снова начинается движение, но усилие, которое в каждый момент выбирает мышца, теперь складывается из двух компонент с весами: из силы, которую она развивала бы в данный момент по правилам первого уровня, и силы, которую она фактически развивала на следующем такте во время предыдущего цикла. Обозначив через F^^Qt) реальное усилие некоторой мышцы в момент t на (к + + 1)-м цикле, и через F^^t) — усилие ее при условии управления только первым уровнем, запишем правило выбора реального усилия с помощью некоторого «упреждающе-демпфирующего» алгоритма ):
Fk+iW = (1 - 7) F^t) + 7 F^t + At).
где At — продолжительность такта, 0 ^ 7 ^ 1.
При таком способе обучения мышца на (к + 1)-цикле будет заранее осуществлять небольшие (при 7 <^ 1) поправки и предупреждать возникавшую на &-м цикле необходимость дальнейшего торможения,
коррекции промахивания или изменения усилия по какой-либо иной причине. Траектория движения становится более плавной, так как сглаживаются броски цепи, вызванные появлением сил реакции в суставах, и более точно и быстро приводящей к цели. При малых значениях 7 траектории будут незначительно отличаться от одного цикла к другому, что обеспечивает возможность обучения.
Можно ожидать, что при этих условиях последовательности ^F^ (t)} будут сходиться, причем вся область начальных условий распадается на подобласти, возможно, с несколько размытыми границами — такие, внутри которых наборы финальных функций F^^t). характеризующие движение всей цепи, будут ненамного отличаться друг от друга, так что некоторый усредненный набор этих функций будет для всех точек такой подобласти достаточно точно определять необходимую последовательность усилий. Соответствующие подобласти возникнут и на множестве возможных положений целевых точек. Иными словами, предполагается выявление для данной задачи (простое попадание в цель) небольшого числа охватывающих все возможные состояния системы «рука — целевая точка» динамических стереотипов — некоторых аналогов синергий (см. например, [Бернштейн, 1966]), образование, которых характерно для движений кинематических цепей живых организмов.
Моделирование на компьютере. Было проведено предварительное исследование цепи для простого случая п = 2. Программа состоит из процедур решения алгебраической системы, к которой после преобразования свелись дифференциальные уравнения динамики, и вспомогательных уравнений 3-й и 4-й степени общего вида; из блоков вычисления углов рассогласования 9^ расстояния от конца руки до цели, выбора усилий, обучения и запоминания усилий; из блоков определения коэффициентов системы уравнений динамики и, после обращения к процедуре ее решения, вычисления дополнительной работы управления A IE и изменения действия AS после каждого такта. Параллельно ведется сравнение функций F^^x^ и F^^ для каждой мышцы — считается средний квадрат р разности F^x^t) — — F^^t) и максимум Q ее абсолютной величины за весь (к + 1)-й цикл. После попадания в заданную окрестность целевой точки выводится время (число тактов) ее достижения, работа Wдействие S и величины р и Q. Если траектории на к-м и (& + 1)-м цикле достаточно близки (р и Q малы), то дополнительно выводится номер последнего цикла и программа может перейти к следующей точке, в противном случае рука возвращается в исходное положение и снова движется к цели. Все величины, характеризующие движение на каждом такте, могут быть выведены на печать.
Моделирование показало, что при расположении точек прикрепления мышц к стержням на равных расстояниях а от шарнира второе звено оказывает очень большое воздействие на перемещение первого. Это затрудняет процесс сходимости алгоритма обучения, поскольку в таких условиях небольшие изменения усилий второй пары мышц и положения второго звена заметно изменяют динамику всей системы. Однако и в этих условиях примерно в 70% случаев выявилось финаль-
ное поведение системы. После обучения время движения от исходного состояния к целевому в большинстве случаев оставалось прежним, а динамические характеристики — иногда только работа управления, иногда обе — улучшались. Например, при Zi = 15; mi = 15; /2 = 8; m2 = 8; а = 1; Но = 18; ^о = тг/З; сц = тг/1О; а2 = Итг/12; At = 1/30 при нулевых начальных скоростях и первом цикле было
Т = 125 тактов; W « 0,62796; S « 0,30634, а уже на 9-м цикле выявляется финальный тип движения:
Т = 95 тактов; W « 0,61193; S « 0,29870.
Есть основание предполагать, что смещением точек прикрепления мышц к звеньям можно добиться увеличения устойчивости движения и большей эффективности управления вторым звеном, а, следовательно, улучшить сходимость процесса обучения и динамические характеристики финального типа движения.
Выше уже отмечалось, что приведенный здесь локальный подход к управлению манипулятором в робототехнике продолжает развиваться Ю. И. Крюковым [Крюков, 1986] и другими авторами. При этом Ю. И. Крюков постепенно перешел к рассмотрению этой задачи как задачи поиска экстремума в некотором пространстве. На возможность такой трактовки вопросов управления биосистемами указал еще И. М. Гельфанд [Гельфанд и др., 1986].
П.З. Примеры построения категорий длятрадиционных операций со знаниямив искусственном интеллекте
Пример 1 . Пусть А — произвольное множество, которое будем называть множеством констант. Построим категорию С следующим образом. В качестве объектов категории возьмем множества вида А^ п = 0,1, . . . Под множеством А0 будем понимать некоторое одноэлементное множество. Символом тг^ будем обозначать проекцию Ап —>- А множества Ап = Ах. . . х А на г-й сомножитель. Пусть ^1^2^ • • • ^ ^Рп — отображения из Ат в А. Обозначим символом epi х ф2 х • • • х ^п единственное отображение ip : Ат —у Ап , для которого ipiVi = у?^ множество Нош (Ат, Ап) определим теперь как множество всех отображений из Ат в Ап вида тг^ х 7Гг2 х . . . х тг^. Кроме того, определим для каждого элемента s Е Ап отображение as ; А0 А^ отображающее единственный элемент множества А0 в s, и положим Нош (А0, Ап) = = {as,s Е А0}. Наконец, множество морфизмов Нош(Ап, А0) будем считать состоящим из единственного отображения sn, отображающего все элементы множества Ап в единственный элемент множества А0. Нетрудно проверяется, что так определенное множество отображений замкнуто относительно композиций и содержит тождественные отображения. Этим определение категории С закончено.
Выберем любой из объектов категории С в качестве множества Е. В качестве исходного объекта / возьмем множество А0. Полученная система образцов может быть использована для описания процедуры, которую мы будем называть классическим сопоставлением с образцом. Изложим вкратце суть этой процедуры. Рассматриваются всевозможные последовательности элементов множества А длины п. Образцом называется последовательность длины п, состоящая из элементов множества А и переменных. Говорят, что последовательность сопоставима с образцом, если в этот образец можно подставить вместо переменных такие элементы из А, что образец совпадает с последовательностью.
Существует прямая связь между классическим сопоставлением с образцом, и построенной выше категорией С, которую проще всего пояснить на примере. Рассмотрим образец хаух, где х,у обозначают переменные, а компонента а — элемент множества А. Такой образец сопоставим с любой последовательностью, состоящей из четырех букв, первая и последняя из которых одинаковы, а вторая есть а. Сопоставим этому образцу морфизм у? = тгх х е2^а х ?Г2 х 7Г1: А2 —> А4.
Последовательности bacb сопоставим морфизм а = аьаеЬ- I —> —> А4. Теперь тот факт, что последовательность bacb сопоставима с образцом хаух, на категорном языке выражается в коммутативности диаграммы рис. 4.27. Нахождение морфизма аьс имеет тот же смысл, что и присваивание значений b и с переменным х и у.
Пример 2 . Видоизменим предыдущий пример. Пусть L означает множество последовательностей элементов из А произвольной длины (в том числе длины 0). Обозначим, как и выше, символом тг^ проекцию Ln -э L на г-й сомножитель. Каждому элементу з множества L сопоставим, как и раньше, отображение as : I —У L, где / = L0 обозначает одноэлементное множество, и введем в рассмотрение, как и в предыдущем примере, отображение sn : Ln —у / для каждого п. Определим для каждого п отображение ап : Ln —У L, отображающее набор последовательностей (si,82, . . . , зп) в последовательность si, 82, . . • , зп, получающуюся выписыванием подряд символов из (si, 32, , зп) (например (abc, de, f)a^ = abcdef).
Построим теперь соответствующую категорию С. В качестве объектов категории возьмем множества вида Ln, п = 0,1,. . .. В качестве множества морфизмов категории возьмем минимальное множество отображений между объектами категории, которое: 1) содержит все проекции 7г^ : Ln —>- L; 2) содержит все отображения as : I —У L и все отображения sn : Ln —>- L; 3) содержит все отображения о"п : Ln —>- L; 4) если содержит отображения pi, р2, • • • , ^п : Lm —У L, то содержит и отображение рх х р2 х . . . х рп : Lm —>- Ln; 5) замкнуто относительно композиции.
Возьмем в качестве исходного объекта множество /, а в качестве базового объекта — множество L.
Исследование свойств построенной категории не входит в нашу задачу. Отметим лишь связь между ней и «классическим» сопоставлением с образцом. Для этого рассмотрим другой вариант сопоставления с образцом, который отличается от изложенного выше тем, что вместо
переменной можно подставлять не один элемент множества А, а произвольную последовательность (возможно, пустую) таких элементов. При таком подходе рассмотренный в предыдущем примере образец хаух сопоставим с любой последовательностью, имеющей одинаковые подпоследовательности в начале и в конце, причем за первой из них следует буква а. Сопоставим образцу хаух морфизм (тгх х Е^а х тг2 х х 7Г1) сг4: L2 —> L. В этих обозначениях сопоставимость последовательности bab с образцом следует из коммутативности диаграммы рис. 4.28.
Построенная категория может быть применена для описания продукций, используемых в теории формальных грамматик. Рассмотрим, например, продукцию а —>- Ьс, означающую, что символ а в последовательности символов может быть заменен парой символов Ьс. В категории С такой продукции соответствует пара морфизмов р = (тгх х х Е^аа х тг2) <т3: L2 —> L и ^ = (тгх х Е^аъс х тг2) сг3: L2 -> L.
Пусть задана последовательность символов aba. Ей соответствует морфизм а = aaba- I L2 О. Рассмотрим морфизм Р = а0 х а^о: I L2. Легко видеть, что а = Рр. Последнее по определению означает, что продукция (/, р^фр применима к ситуации а и результатом этого применения является ситуация, определяемая морфизмом Рф = — (^0 X С^6а)(^"1 X S2Q^c X 7Г2) 6Т3 — (^0 X Q^c X OL^q^ О"^ — ^bcba^ ЧТО соответствует последовательности bcba.
Пример 3 . Рассмотрим следующий пример. Пусть A, F — произвольные множества, которые будем называть множеством констант и множеством функциональных символов соответственно.
Множество F имеет вид Fy U F^ • • •; F^ A Fj = 0; элементы множества Fn будем называть n-арными функциональными символами. Определим понятие выражения следующим образом: 1) константа есть выражение; 2) если / есть n-арный функциональный символ, a ei,. . . ... , еп суть выражения, то /(ei,. . . , еп) — выражение. Обозначим символом Е множество всех выражений. Символом тг^ будем обозначать проекцию Еп на г-й сомножитель, символом / — одноэлементное множество Е°, символом ае — отображение I -> Е, отображающее этот единственный элемент в выражение е, символом sn — единственное отображение Еп —>- I. Каждому элементу / множества Fn поставим в соответствие отображение pj : Еп —у Е, отображающее выражения ei, . . . , еп в выражение /(ei, . . . , еп).
Рассмотрим теперь категорию С объектами которой являются множества Еп. а множеством морфизмов — минимальное множество, которое: 1) содержит все проекции тг^ : Еп —>- Е; 2) содержит все отображения ае : I —У Е и все отображения еп : Е™ —> /; 3) содержит все отображения pj : Еп Е, / Е Fn^ п = 1,2, . . .; 4) если содержит отображения р-\. р^. . . . . рп."- Ет —>- Е^ то содержит и отображение pi х р2 х . . . х рп; Ет —>- En^ 5) замкнуто относительно композиции.
В качестве базового объекта возьмем множество S, а в качестве исходного объекта — множество I.
Приведем два простых случая, в которых «работает» построенная так категория.
Рассмотрим задачу преобразования алгебраических выражений. Будем считать заданным некоторый набор правил, согласно которым можно осуществлять эти преобразования, к примеру правило х + у —У —у у + х позволяет переставлять слагаемые в сумме. Будем применять префиксную нотацию, т. е. вместо х-Vy будем писать +(ж, уЗ где символ «+» означает операцию сложения, тогда алгебраическое выражение будет выражением в смысле данного выше определения, т. е. будет элементом множества Е. Правилам преобразования выражений можно сопоставить продукции в используемом нами смысле. Например, продукция (/, у?, ^), где ф = (?Г1 х 7Г2) фу. К2 ч Е и ц = (тгх х 7Г2) у>+: Е2 —у Е задает приведенное выше правило коммутативности. Взяв некоторое выражение е, мы сопоставляем ему морфизм ае : I Е. Если существует морфизм /3 : / —У Е2 такой, что ае : I —У Е, то продукция применима и результатом ее применения является выражение, соответствующее морфизму ЗФ- Возьмем, например, выражение +(а, Ь). Тогда ае = а^а^у Взяв 3 = oia х а^ легко получить, что а = 3^ т- е- результатом применения продукции является морфизм З'ф = (аа х аь)(?Г2 х тгД ф^_ = (аь х аа) ф+ = а+(о^), что соответствует последовательности + (6, а).
Другой пример связан с дедуктивным логическим выводом. Для такого вывода можно также использовать правила, например правило g(xDy) —#(+(ж, 1), + (т/, 1)) или, на более привычном языке, если х > у, то ж + 1 > у + 1. Такое правило можно представить в виде продукции (/,у?,^), в которой ф = (тгх х 7Г2) фё: Е2 —> Е и ^ = = ((тгх х S2«i) ф^ х (?Г2 х S2«i) у>+) фё. Применение этой продукции производится аналогичным предыдущему образом.
С логическим выводом связана процедура унификации, т. е. процедура нахождения наиболее общего подстановочного частного случая двух выражений. Легко убедиться в том, что если сопоставить выражениям морфизмы так, как это было сделано выше, то их унификатор будет соответствовать наибольшему частному случаю этих морфизмов. Дуальное (в теоретико-структурном смысле) понятие — наименьшее обобщение — реже используется в логике, однако оно может иметь важное значение для формирования гипотез и обучения,
Пример 4. Перейдем к рассмотрению следующего примера. Для этого рассмотрим произвольное множество Р. Пусть ^В(Р) обозначает множество всех подмножеств множества Р. Для каждого подмножества Q множества Р определим отображение фQ : В(Р) —>- —> 53(F) по формуле: RфQ = F U Q для любого R Е 35 (Р\ Построим категорию, единственным объектом которой является множество 53(F), a Hom (B(F), В(Р)) = ^фд^ Q Е 53(F)}. Естественно, в качестве множеств Е и I выбирается множество 53(F).
Рассмотрим задачу, в которой может быть использована построенная категория. Пусть система, анализируя ситуацию, должна установить наличие у нее ряда признаков. Если эти признаки обнаружены, то система может сделать некоторое заключение об этой ситуации, причем это заключение может быть сделано в форме добавления к описанию ситуации новых признаков. Например, если в описании
животного содержатся такие признаки, как «двуногое», «имеет крылья», «летает», то можно добавить утверждение «это птица». Построим продукцию, которая выполняла бы подобную операцию. Пусть при наличии у ситуации признаков pi, Р2, следует добавить признаки Рз,Р4- Рассмотрим продукцию (93(F), у?, ^), где р = ^{Р1,р2}, ^ = = ^{р1,Р2,рз,Р4}- Пусть, например, описание ситуации состоит из признаков Рх^р^Рь- Этому описанию соответствует морфизм ф^р^р^р^у Поскольку имеет место равенство ф^р^ ф^Рг,Р^ = Ф^ркр^рФр продукция применима, результатом ее применения является ситуация ^{р5} ^{pi,p2,P3,p4} = ^{р1,р2,рз,Р4,р5}’ которая соответствует набору признаков рх, р2, Рз, Р4, Рь •
Отметим также, что определенные ранее операции взятия наибольшего частного случая и наименьшего обобщения соответствуют теоретико-множественному объединению и пересечению в том смысле, что наибольшим частным случаем пары образцов рдг и pq2 является образец ^q1uq2, а их наименьшим обобщением — образец ^Q!nQ2-
Пример 5. Рассмотрим более сложный пример. Для этого обратимся к широко применяемому в настоящее время понятию фрейма. Фреймы были введены в работе [Минский, 1978] как описания стереотипных ситуаций. В настоящее время встречаются самые разнообразные трактовки этого понятия. В большинстве случаев фрейм содержит набор слотов, каждый из которых содержит информацию о той или иной стороне описываемой ситуации.
Рассмотрим сильно упрощенную модель фрейма, а именно назовем фреймом следующую структуру:
(<имя слота! ><значение слота!>)
(<имя слота2 ><значение слота2>)
(<имя слота п ><значение слота п>)
Более сложные структуры такоговида используютсяв языках про
граммирования подобных FRL. Мы не будем давать специального определения для ситуации, считая ситуацией фрейм, который мы по каким- либо причинам не хотим или не можем дальше конкретизировать. Фрейм сопоставим с ситуацией, если можно добавить в него новые слоты таким образом, чтобы он совпадал с этой ситуацией.
Перейдем к формальным определениям. Пусть задано множество X, элементы которого будем называть слотами. Для каждого слота х 6 X зададим множество F(x) допустимых значений слота х. Для любого подмножества U множества X положим F(U) = ]Д F(x\ xEU
Для любых f Е F(U) и х Е U обозначим символом f(x) проекцию элемента / на множество F(x\ При заданном подмножестве V С U будем обозначать символом /|у проекцию элемента / множества F^U) на F(V\ Элементы множества F^U), где U С X, будем называть фреймами, определенными на множестве U. Если / — фрейм, опре-
деленный на множестве U. и х 6 U^ будем называть элемент /(ж) значением слота х фрейма /, а слоты из множества X — U будем считать неопределенными. (Таким образом, мы не делаем различия между слотом, не содержащимся во фрейме, и слотом, содержащимся в нем, но имеющим неопределенное значение. Формально считается, что каждый фрейм содержит все слоты из множества X, но значения слотов, не входящих в область определения фрейма, не определены.)
Естественно считать, что фрейм / является частным случаем фрейма g, если всякий слот, определенный во фрейме g, определен также и во фрейме /, имея в нем то же самое значение. Иначе говоря, область определения V фрейма g должна быть подмножеством области определения [/ фрейма / и должно выполняться равенство /|у = g.
Построим теперь категорию, которую можно использовать для описания введенных понятий. В качестве объектов категории возьмем множества вида F^U), U С X, при этом будем, как и в предыдущих примерах, понимать под F(0) одноэлементное множество I.
Введем следующие обозначения: тгж,ж 6 U С X — проекция F(U) на F^x); Еи — единственное отображение из F(U) в I; аа — отображение из / в F(xy отображающее единственный элемент множества / в а, где а 6 F(x).
Возьмем теперь в качестве множества морфизмов категории минимальное множество, которое: 1) содержит все проекции тгж : F^U) —>• —> F(xy х Е U С X; 2) содержит все отображения Еи : F(U) —> —> /; 3) содержит все отображения аа^ а Е F^x), х Е X; 4) вместе с отображениями рж : F(U) —>- F^x), х Е V содержит и отображение П : F(U) F(VY
xEV
В качестве базового объекта Е возьмем множество Е(х) всюду определенных фреймов.
Каждому фрейму / 6 F(U) с областью определения U сопоставим морфизм pj : F(X — U) F(xy где (gpj)(x) = /(ж), если х Е Е U, и (gpj)(x) = g(x) в противном случае. Таким образом, фрейму / Е F(U) соответствует образец (F(t/),(/?/). Легко проверяется, что фрейм / 6 F(U) является частным случаем фрейма g Е F(V) в смысле данного выше определения в том и только в том случае, когда образец (F(Uy pf) является частным случаем образца (F(Vy PgY
Как и в ряде предыдущих примеров, естественный смысл приобретают операции нахождения наиболее общего частного случая и наименьшего обобщения. Например, наименьшее обобщение соответствует пересечению фреймов — фрейму, у которого определены те слоты, значение которых одинаково в каждом из исходных фреймов (более точно: значение слота х пересечения есть а, если значение этого слота есть а в каждом из исходных фреймов, или значение слота х есть а в одном из исходных фреймов, а в другом — слот не определен; во всех остальных случаях значение слота х пересечения не определено).
Аналогично, наибольший частный случай двух фреймов соответствует их объединению. Такое объединение содержит все слоты, входящие хотя бы в один из исходных фреймов, при условии, что исходные
фреймы не противоречат друг другу, т. е. не имеют одинакового слота с разными значениями. Если же фреймы противоречат друг другу, то их объединение пусто.
П.4. Учет побочных эффектов и организацияпрограммы снятия рекурсии
П.4.1. Побочные эффекты и относительные побочные эффекты. В «чистом» Лиспе любое допустимое выражение состоит из ряда примитивов, таких как, NIL, атомов, списков и функций, среди которых CAR, CDR, CONS, COND, EQUAL. В работе [Boyer and Moore, 1973] можно найти пример такого «чистого» Лиспа. Интерпретатору системы Лисп изначально известна информация о некотором числе атомов (их именах, значениях и описках свойств), а также о некоторых списках.
Интерпретатор воспринимает выражение и возвращает его значение ). Свойством «чистого» Лиспа является то, что после такого оценивания система Лисп восстанавливает свое исходное состояние. В системе не остается следа, показывающего, что некоторое выражение подверглось оцениванию (изолированный CONS создает некоторый новый список, но к нему не ведет ни один указатель). Единственным путем изменения результата оценивания выражения является изменение изначально выбранного множества атомов и списков. Можно сказать, что такая система не имеет памяти в отношении данного выражения.
Однако требования удобства, вычислительной эффективности и т. п. привели к тому, что Лисп был пополнен рядом функций совершенно другой природы, так сказать, с последействием.
Наиболее часто встречается оператор присваивания SETQ. Например, выражение
(SETQ V ’LISP)
хотя и имеет значение, но оно обычно не представляет интереса. Важным и самым существенным эффектом является то, что кроме выдачи этого значения, оценивание выражения ведет к тому, что в системе Лисп строится новый атом V со значением LISP, который будет ею запомнен. Это и есть, собственно, побочный эффект. Оценка выражения
(DE FOO(L М) (МЕМВ L М))
также дает побочный эффект: теперь система Лисп знает, как вычислять новую функцию FOO.
Функции print (х, file) и read (file) также обладают побочным эффектом в этом смысле: состояние системы Лисп изменится после их оценки, если в систему включить среду ввода-вывода.
Остановимся, наконец, на структуро-разрушающих функциях типа RPLACA. Эта функция может создавать побочный эффект, а может и не создавать его, что зависит от характера ее употребления. Например, если определить функцию РЕЕ следующим образом:
(FEE
[LAMBDA (X)
(RPLACA X (QUOTE E]),
то оценивание (fee ‘(А В С)) дает в качестве значения список (Е В С). Это — пример функции, создающей побочный эффект на своем X- выражении.
Итак, мы будем говорить, что некоторое выражение создает в системе Лисп побочный эффект тогда и только тогда, когда оценивание этого выражения так изменяет состояние системы, что найдется такое другое выражение, что его оценивание до и после оценивания первого выражения приведет к различным результатам. (Интересно отметить, что в более традиционных языках программирования основную роль как раз играют побочные эффекты, возникающие при оценивании выражений» составляющих некоторую программу. Однако программа в целом, если она нормально заканчивает работу, не должна оставить побочного эффекта, так как после ее выполнения компьютер восстанавливает свое исходное состояние, если не учитывать, правда, состояние внешних запоминающих устройств.)
Возвращаясь к сформулированной нами в разделе 5.1. проблеме оптимизации порядка оценивания, необходимо ввести понятие относительного побочного эффекта, касающегося двух последовательно оцениваемых форм. Относительные побочные эффекты являются частным случаем вышеопределенного побочного эффекта.
Определение. Будем говорить, что форма F1 создает относительный побочный эффект в отношении формы F2 тогда и только тогда, когда оценивание формы F1 может изменить результат оценивания формы F2.
В случае снятия рекурсии мы сталкиваемся с двумя категориями побочных эффектов. Предположим, что при рекурсивном обращении к функции foo(Xl,... ,XN) мы имеем foo(Fl,... ,FN). Тогда в итеративном коде мы должны сделать следующие присваивания:
(SETQ XI F1) (SETQ Х2 F2)
(SETQ XN FN).
Таким образом, эта итеративная схема будет сама порождать некоторые побочные эффекты, даже в том случае, когда формы Fl,... ,FN не порождают побочных эффектов. Мы назовем эти побочные эффекты негативными [Stefanuk, 1979] (поскольку в норме мы не хотели бы, чтобы на результаты оценивания формы FK повлияли бы результаты
оценивания предыдущих форм в указанном итеративном коде). Именно такие побочные эффекты учитываются программой [Rish, 1973].
В то же время формы F1,..., FN сами по себе могут создавать побочные эффекты, и нам показалось естественным рассмотреть оба класса побочных эффектов в рамках единой формальной схемы [Ste- fanuk, 1979]. С этой целью были написаны две программы.
Одна из них, DIMA-P, учитывает возможные ограничения на порядок оценивания форм. Это наиболее распространенный случай проявления побочных эффектов.
Пакет DIMANP учитывает несколько более широкий тип побочных эффектов, а именно побочный эффект, проявляющийся через некоторую переменную. При этом в программе учитывается, что этот побочный эффект может быть желательным или не желательным (мы его называем, соответственно, позитивным и негативным побочным эффектом).
П.4.2. Описание принципов работы пакетов. Не следует удивляться, что для работы программ автоматического снятия рекурсии с учетом побочных эффектов требуется, чтобы программист внес в программу определенные декларативные команды. В конечном счете, программа должна работать в режиме запроса, когда такие декларации запрашиваются самой программой по мере возникновения в них необходимости.
Такие декларации могут быть источником дополнительных неудобств для программиста и он, возможно, предпочтет оставаться в рамках предположения «наихудшего случая», когда никакой оптимизации не производится. Однако, если эффективность вычисления является существенным вопросом, то без подобных деклараций не обойтись, но тогда их внесение в программу не представляется сложным, поскольку так или иначе они учитываются программистом в ходе создания программы, использующей побочные эффекты для повышения эффективности ее работы.
В программе DIMA-P единственной декларацией является список PSEFLIST, содержащий пары форм, порядок оценивания которых изменять нельзя. При этом программа находит оптимальный порядок оценивания с учетом такого ограничения.
В программе DIMANP допускаются декларации более сложных типов. В ней пользователь запрашивается о том, какие переменные охвачены побочным эффектом для каждой из рассматриваемых форм. Эта информация хранится для каждой формы в виде свойства с именем SIDEF. Затем программа проверяет, есть ли соответствующая пара форм в списке PSEFLIST, и только в этом случае побочный эффект считается негативным и система при необходимости вводит промежуточную переменную.
Мы завершим этот подраздел примером, охватывающим поднятые вопросы. Но прежде этого отметим, что некоторые авторы [Darlington and Burstall, 1973] полагают, что в ряде случаев низкая эффективность рекурсивной программы обусловлена тем, что одна и та же форма оценивается несколько раз.
(П.4.1)(П.4.1)(П.4.2)(П.4.2)Пример. Предположим, что необходимо дать итеративное представление для рекурсивно определенной функции
(П.4.1)
(П.4.1)
(П.4.2)
(П.4.2)
(FOO XYZU),
где при рекурсивном обращении к FOO необходимо оценить
[F00
(CDR X)
(COHS (CAR X)
(CDR Z))
(CONS (CAR X)
(CDR Z))
(CDR Y]
Здесь у нас присутствует четыре формы Fl, F2, F3, F4 и при нормальном выполнении программы форма F2 будет оцениваться дважды.
Если рекурсия многократная, то с целью повышения эффективности вычисления можно заменить (П.4.2) на следующее:
[F00
(CDR X)
(П.4.3)(П.4.3)(SETQ Т_1 (CONS (CAR X)
(П.4.3)
(П.4.3)
(CDR Z)))
(CONS (CAR X)
T_l)
(CDR Y]
а в итерации мы тогда получим
(SETQ X (CDR X))
(SETQ T_1 (CONS (CAR X)(GDR Z)))
(SETQ U (CDR Y))
Здесь формы F2, F3 были заменены на F2!, F3L Форма F2! создает относительный побочный эффект в отношении F3! через переменную Т_1. Это — позитивный побочный эффект, и он здесь умышленно сохранен.
Получив код (П.4.3) и (F2! F3!) в качестве значения списка PSE- FLIST, программа DIMA-P сохранит этот порядок форм и в то же время сохранит Y для (CDR Y). (На самом деле, в этом примере программа DIMA-P оценит F4 перед F2L)
При отсутствии такой декларации программа даст ошибку. Однако ошибки не будет, если рассмотреть слегка видоизмененную функцию FEE:
[FEE
(CDR X)
(SETQ T_1 (CONS (CAR Y)
(CDR Z)))
(CONS (CAR Y)
T_l)
(CDR Y]
(П.4.4)
В этом случае DIMA-P сохранит Y для формы F3! (и для формы F4).
Возвращаясь назад к кодам для FOO, мы видим, что ошибкой будет взять вместо (П.4.3) следующее:
[F00
(CDR X)
(SETQ Y (CONS (CAR X)
(CDR Z)))
(CONS (CAR X)
Y)
(CDR Y]
(П.4.5)
Здесь мы имеем также негативный (нежелательный) побочный эффект формы F2! на F4.
Рассмотрим следующий итеративный вариант:
(SETQ X (CDR X))
(SETQ Y (CONS (CAR X)(CDR Z)))
(SETQ Z (CONS (CAR X) Y))
(SETQ U (CDR Y))
(П.4.6а)
Он даст тот же самый результат, если второе присваивание считать позитивным побочным эффектом для третьего присваивания, но негативным для четвертого, причем эта информация должна быть внесена извне. Пользователь может предпочесть этому просто помещение четвертой формы перед второй:
[F00
(CDR X)
(CONS (CAR X)
(CDR Z)))
(CONS (CAR Y) Y)
(CDR Y]
(П.4.66)
В случае (П.4.5) программа DIMANP при заданном списке PSE- FLIST вида ((F2! F3! Y)) «поймет» различие между этими двумя относительными побочными эффектами и либо сохранит саму переменную Y для использования в F4, либо оценит F4 перед F2!
Наконец, в случае (П.4.6) программа DIMA-P даст не тот результат, которого мы добиваемся: она сохранит Y для формы F3! или даже
обратит порядок оценивания и делу не поможет, если даже задать в качестве значения PSEFLIST список ((F2! F3!)).
Этот побочный эффект будет верно рассмотрен программой DI- MANP и в случае (П.4.6), если ей предоставлена информация ((F2! F3! У)). Похоже, что скорость вычислений в этом случае будет максимальной.
Если же значением PSEFLIST установить список ((F2! F3!)), то программа будет рассматривать этот «обобщенный» побочный эффект, как негативный для рассматриваемых форм и сохранит значение Y.
Заметим, что программы типа REMREC [Rish, 1973], имеющие дело лишь с негативным побочным эффектом вполне определенного типа, совпадают с нашими программами, если в них положить значение списка PSEFLIST равным NIL
Мы закончим подраздел примером, где ничего нельзя сделать для использования побочных эффектов, так как они вступают в противоречие, точно так же, как и в примере рекурсивного вычисления функции FEE, упомянутой нами выше:
[FEE
(CDR X)
(CONS (CAR Y)
(CDR Z))(П.4.7)
(CONS (CAR Y)
Y)
(CDR Y]
Это выражение никогда не даст тот же результат, что выражение (П.4.4).
Подводя итоги нашего анализа, мы приходим к выводу, что при превращении рекурсивного кода в итеративный в присутствии побочных эффектов возникает несколько случаев:
Сами формы F1,..., FN побочного эффекта не создают. Тогда побочные эффекты, возникающие в ходе присваивания, следует рассматривать как негативные.
Имеется относительный побочный эффект, требующий определенного порядка оценивания форм. Такие побочные эффекты (разобранные выше) следует рассматривать как негативные.
Позитивный побочный эффект через некоторую переменную (кстати, такие возникает и в результате присваиваний при переходе к итерациям) следует рассматривать как желаемый (например в случае (П.4.7)).
Возможны комбинации перечисленных свойств.
В компиляторе системы Interlisp [Teitelman, 1974] указатели переставляются на новое значение переменной лишь после того, как были оценены все формы. Такая организация учитывает случаи (1), (2), но не учитывает случая (3). Следующие изменения создали бы возможность для полного использования позитивных побочных эффектов: в случае (3) указатель должен быть переставлен на результат оценивания фор-
мы, создающей позитивный побочный эффект, сразу же после её выполнения. Тогда, при наличии определенных декларативных команд, код (П.4.6) создает тот же результат, что и код (П.4.2), но с большей эффективностью.
Однако подобная реорганизация потребует введения в компилятор дополнительной проверки и эффективность вычисления в целом может упасть.
Это соображение может получить дальнейшее развитие, если строить компилятор, как предлагают некоторые авторы, в котором при оценке любой функции решается вопрос, оценивается ли она из-за ее значения, или она оценивается из-за создаваемого ею побочного эффекта.
П.4.3. Описание деталей программ. Мы дадим описание пакета DIMANP, поскольку пакет DIMA-P, по существу, является ее сокращенным и упрощенным вариантом. Пакет DIMANP позволяет решать более широкий класс задач и содержит в себе элементы, допускающие дальнейшее обобщение.
Общий подход в этой программе основан на поиске оптимальной последовательности оценивания форм, отправляясь от описания их локальных, парных отношений.
Приведем список возможных «конфликтов» между формами F1 и F2 через переменную X, предполагая, что эти формы оцениваются в порядке Fl, F2 (слова «действует на» заменяют слова «создает побочный эффект для»).
F1>X>F2(Fl действует на X; X используется F2),
F1>X*>F2(Fl действует на X; X используется F2; зна
чение F2 заносится в X),
F1>*X>F2 (Fl действует на X; значение F1 заносится в X; X используется F2),
F1-*X<F2 (значение F1 заносится в X; F2 действует на X),
F1<*X<F2 (X используется F1; значение F1 заносится (П.4.8) в X; F2 действует на X),
F1>*X<F2 (Fl действует на X; значение F1 заносится в X; F2 действует на X),
F1-X*>F2 (значение F1 заносится в X; X используется
F2),
F1<*X>F2 (X используется F1; значение F1 заносится в X; X используется F2).
Здесь учтены лишь те случаи, когда введение промежуточной переменной является обязательным. Мы не включили также побочные эффекты, связанные с A-переменными, поскольку они еще не достаточно нами изучены.
Заметим, что в программе DIMA-P, где не учитываются негативные побочные эффекты через переменную, из списка (П.4.8) следует взять два последних случая.
С другой стороны, этот список можно расширять (включив, например, побочные эффекты, связанные с А-переменными).
В программе DIMANP для представления оцениваемых программ используются так называемые семантические программы. Семантическая программа составляется из четырех элементарных частей:
F1 — имя формы;
(SAVE X) — для переменной X вводится промежуточная ячейка;
(SAVE Fl X) — промежуточная ячейка используется для (П.4.9) хранения результата оценивания F1;
(RETURN X Fl X) — хранимое в промежуточной ячейке значение F1, возвращается назад в X.
Язык таких семантических программ оказался весьма удобным на этапе разработки DIMANP.
Ниже приведены частичные семантические подпрограммы для коллизий, содержащихся в (П.4.8):
Для кодов F1>X>F2, F1>X*>F2, F1<*X>F2:
((SAVE X)(F1)(F2)).
Для кодов F1-*X<F2, F1>*X<F2:
((SAVE Fl -)(F2)(RETURN X Fl -)).
Для кода Fl < *X < F2:
((SAVE Fl X)(F2)(RETURN X Fl X)).
Для кода F1-*X >F2:
((SAVE X)(F1)(F2))(П.4.10)
или ((SAVE Fl -)(F2)(RETURN X Fl -)).
Для кода Fl <*X > F2:
((SAVE X)(F1)(F2))
или ((SAVE Fl X)(F2)(RETURN X Fl X)).
Эти подпрограммы хранятся в программе DIMANP и используются функцией PEPROG для создания семантической программы оценивания форм Fl, F2,... в данном порядке.
Окончательная программа оценивания форм в их порядке для всех «конфликтных» переменных создается лисповской функцией SEM- PROG5. Это делается локальным и пошаговым образом с помощью
PEPROG, которая находит правильное место для всех элементарных частей и, в частности, пытается как можно раньше вставить return, чтобы сделать «оборку промежуточных переменных» в ходе работы, которая упоминается в статье [Darlington and Burstall, 1973].
Получив на вход семантическую программу, функция NORMPROG строит список, представляющий программу в обычном смысле слова с использованием операторов SETQ и промежуточных переменных.
Функция FCOST используется для подсчета числа промежуточных ячеек (0, 1 или 2), необходимых для некоторой переменной. После этого EXPRIS1 вычисляет полную стоимость в смысле числа дополнительных присваиваний SETQ, необходимых для оценки F1,F2,... FN в заданном порядке.
Наконец, с помощью процедуры полного перебора отыскивается оптимальная последовательность оценивания форм. Хотя такая процедура довольно расточительна, на том уровне общности, на котором действует пакет DIMANP, трудно указать более экономный способ поиска оптимума. Поэтому для экономии времени мы эвристически используем каноническое представление для направленного графа, описанное выше в гл. 5, подп. 5.1.1.1.
Функция CANON 1 дает разбиение совокупности форм на некоторое число подгрупп, обладающее тем свойством, что оценивание левой группы в списке, представляющем такое разбиение, не сказывается на результате оценивания групп, стоящих правее. Благодаря такому свойству, оптимизация и построение программы может вестись для этих групп независимо (слева направо), что позволяет использовать одни и те же промежуточные ячейки.
Следует учесть однако, что на практике даже в тех случаях, когда возникает большая совокупность форм, взаимодействует лишь небольшое их число.
Список литературы
[Алексеева и др., 1984] Алексеева Е.Ф., Георгеску И., Стефанюк В.Л. Общие вопросы проектирования экспертных систем // Представление знаний в человеко-машинных и робототехнических системах. — М.: ВИНИТИ, 1984. Т. С. - С. 226-254.
[Алексеева и Стефанюк, 1984] Алексеева Е.Ф. Стефанюк В. Л. Экспертные системы — состояние и перспектива // Изв. АН СССР. Техн, кибернет. 1984. №5. С. 153-167.
[Андрусевич, 1981] Андрусевич В.В. Динамика коллективного поведения в системах с векторными элементами // Автоматика и телемех. 1981. С. 143-152.
[Антонюк, 1985] Антонюк Б.Д. Разработка экспертных систем в США. - Препринт / ВНИИСИ - М., 1985. - 77 с.
[Афанасьев, 1979] Афанасьев В.Н. Аналитическое конструирование // Математическое конструирование оптимальных систем. 4.1. — М.: МИЭМ, 1979. - 180 с.
[Афанасьев, Колмановский, Носов, 1989] Афанасьев В.Н., Колмановский В.Б., Носов В.Р. Математическая теория конструирования систем управления. — М.: Высшая школа, 1989. — 447 с.
[Беккенбах, Беллман, 1965] Беккенбах Э. Беллман М. Введение в неравенства. — М.: Мир, 1965. — 165 с.
[Беликов, 1983] Беликов Е.П. Об организации в Академии наук СССР работ по информатике, вычислительной технике и автоматизаии // Вести. АН СССР. 1983. №6. С. 24-30.
[Беллман, 1968] Беллман Р. Введение в теорию матриц. — М., 1968.
[Беркинблит, Гельфанд, Фельдман, 1986] Беркинблит М.Б., Гельфанд И.М., Фельдман А.Г. Модель управления движениями многосуставной конечности // Биофизика. 1986. Т. 31. К21. С. 128-138.
[Бернштейн, 1947] Бернштейн Н.А. О построении движений. — М.: Медгиз, 1947. - 255 с.
[Бернштейн, 1966] Бернштейн Н.А. Очерки по физиологии движений и физиологии активности. — М.: Медицина, 1966. — 349 с.
[Бессонова, 1986] Бессонова Н.А. Исследование и разработка настраиваемого интерпретатора систем общения с базами данных: Дис. — М.: МЭИ, 1986.
[Бутрименко и Лазарев, 1965] Бутрименко А.В., Лазарев В.Г. Система поиска оптимальных путей передачи сообщений // Пробл. передачи информ. 1965. Т. 1. №1. С. 80-87.
[Бутрименко, 1966] Бутрименко А.В. Об играх автоматов, обладающих различной активностью // Пробл. передачи информ. 1966. Т. 3. №4. С. 81-88.
[Вайсборд, 1968] Вайсборд Э.М. Игры двух автоматов с различной глубиной памяти // Автоматика и телемех. 1968. Т. 29. №3. С. 91-102.
[Вагин, 1988] Вагин В.Н. Дедукция и обобщение в системах принятия решенийю. — М.: Наука, 1988. — 383 с.
[Вайнцвайг и Полякова, 1975] Вайнцвайг М.Г.. Полякова М.П. Об одном подходе к проблеме искусственного интеллекта // Моделирование обучения и поведения. — М.: Наука, 1975. — С. 209-235.
[Варшавский и Гершт, 1966] Варшавский В.И., Гершт А.М. Поведение непрерывных автоматов в случайных средах // Пробл. передачи информ. 1966. Т. 2. №3. С. 68-75.
[Варшавский и др., 1969] Варшавский В.И., Мелешина М.В., Перекрест В. Т. Организация коллективного поведения автоматов в задаче о распределении ресурсов // Автоматика и телемех. 1969. №7. С. 101-108.
[Варшавский, 1973] Варшавский В.И. Коллективное поведение автоматов. — М.: Наука, 1973. — 407 с.
[Варшавский и Поспелов, 1984] Варшавский В.И., Поспелов Д.А. Оркестр играет без дирижера. — М.: Наука, 1984. — 207 с.
[Васильев и др., 1969] Васильев П.Б, Петровская М.Б., Пятецкий- Шапиро И.И. Моделирование голосования со случайной ошибкой // Автоматика и телемех. 1969. К210. С. 103-107.
[Велихов, 1987] Велихов Е.П. Электронизация народного хозяйства: задачи и перспективы // Информатика и научный прогресс. — М.: Наука, 1987. - С. 5-13.
[Вентцель, 1988] Вентцелъ Е.С. Исследование операций. Задачи, принципы, методология. — М.: Наука, 1988. — 208 с.
[Виноград, 1976] Виноград Т. Системы, понимающие естественный язык. — М.: Мир, 1976.
[Волгин, 1968] Волгин Л.Н. Проблемы оптимальности в теоретической кибернетике. — М.: Сов. радио. 1968. — 160 с.
[Волконский, 1965] Волконский В.А. Асимптотические свойства поведения простейших автоматов в игре // Пробл. передачи информ. 1965. Т. 1, №2. С. 36-53.
[Вунт, 1978] Вунт Г. Теория систем. — М.: Сов. радио, 1978. — 288 с.
[Гаек и Гавранек, 1984] Гаек П., Гавранек Т. Автоматическое образование гипотез. — М.: Наука, 1984. — 277 с.
[Гантмахер, 1966] Гантмахер Ф.Р. Теория матриц. — М.: Наука, 1966. — 576 с.
[Гейл, 1963] Ге.Теория линейных экономических моделей. — М.: ИЛ, 1963. - 418 с.
[Гершт, 1967] Гершт А.М. Об играх непрерывных автоматов // Пробл. передачи информ. 1967. Т. 1. №3. С. 50-56.
[Гершт и Стефанюк, 1967] Гершт А. М., Стефанюк В.Л. Эмпирическая задача Байеса в марковски переключаемой среде// 3-я конференция по теории передачи и кодирования информации.—М., 1967. — С. 58-66. [Гершт и Стефанюк, 1968] Гершт А.М.. Стефанюк В.Л. Автомат для решения эмпирической задачи Байеса в марковски переключаемой среде // Автоматика и телемех. 1968. К211. С. 96-107.
[Гельфанд и др., 1963] Гельфанд И.М., Пятецкий-Шапиро И. О., Цетлин М.Л. О некоторых классах игр и игр автоматов // Докл. АН СССР. 1963. Т. 152, №4. С. 845-848.
[Гельфанд и др., 1986] Гельфанд И. М., Гурфинкель В. С., Цетлин М.Л., Шик М.Л. Некоторые вопросы исследования движений // Модели структурно-функциональной организации некоторых биологических систем. — М.: Наука, 1986. — С. 264-275.
[Гельфанд и Прелов, 1978] Гельфанд С.И., Прелое В.В. Связь с многими пользователями // Итоги науки и техники. Сер. «Теор. вероятностей. Теор. кибернетика. Математ. статистика». Т. 15. — М.: ВИНИТИ, 1978. - С. 123-162.
[Гермейер, 1971] Гермейер Ю.Б. Введение в теорию исследования операций. — М.: Наука, 1971. — 383 с.
[Гинзбург и Стефанюк, 1979] Гинзбург Б.М., Стефанюк В.Л. О путях повышения пропускной способности сети с изоаритмическим управле- нибм // 5-й международный симпозиум по теории информации. — М.: Наука, 1979. - С. 100-102.
[Гинзбург и Стефанюк, 1970] Гинзбург С.Л., Стефанюк В.Л. Игры п автоматов с единственной точкой Нэша // Автоматика и телемех. 1970. №8. С. 75-83.
[Глушков, 1969] Глушков В.М. Прогнозирование на основе экспертных оценок // Кибернетика. 1969. №2. С. 2-4.
[Гнеденко, 1969] Гнеденко Б.В. Курс теории вероятностей. — М.: Наука, 1969. - 400 с.
[Голомб, 1975] Голомб С.В. Полимино. — М.: Мир, 1975. — 208 с.
[Горелов, 1987] Горелов И.Н. Разговор с компьютером. Психолингвистический аспект проблемы. — М.: Наука, 1987. — 256 с.
[Гурфинкелъ и др., 1972] Гурфинкель В.С., Малкин В.Б, Цетлин М.Л, Шнейдер А.Ю. Биоэлектрическое управление. — М.: Наука, 1972. — 243 с.
[Горностаев, 1998] Горностаев Ю.М. Мобильные системы 3-го поколения., М.: Международный центр научной и технической информации, 1998. 164 с.
[Гаврилова, Хорошевский, 2000] Гаврилова Т.А., Хорошевский В.Ф. Базы знаний интеллектуальных систем. — С.-П., 2000, 382 с.
[Демидович и Марон, 1966] Демидович Б.П., Марон И.Ф. Основы вычислительной математики. — М.: Наука, 1966. — 664 с.
[Деннинг и др., 1984] Деннинг В., Эссинг Г, Маас С. Диалоговые системы «человек - ЭВМ». Адаптация к требованиям пользователя. — М.: Мир, 1984. - 112 с.
[Дружинин и Конторов, 1976] Друэюинин В.В., Конторов Д.С. Проблемы системологии. — М.: Сов. радио,1976. — 295 с.
[Де Дюв, 1983] Кристиан Де Дюв. Микротельца живой клетки // В мире науки. 1983. №7. С. 30-41.
[Епифанов, 1974] Епифанов М.Е. Индуктивное обобщение в ассоциативных сетях // Изв. АН СССР. Техн, кибернет. 1984. №5. С. 132-145. [Ершов, 19] Ершов А.П. Смешанные вычисления // В мире нау- KH(Scientific American), 1984. №6. С. 28-42.
[Ершов, 1988] Ершов А.П. Информатизация: от компьютерной грамотности учащихся к информационной культуре обществах // Коммунист. 1988. №2. С. 82-92.
[Жожикашвили и Стефанюк, 1984а] Жоснеикашвили А.В., Стефанюк В. Л. Статистические модели формирования простых фреймов // 4-й семинар «Интеллектуальные банки данных». Тез. докл. — М.: МНИПИ СИУ, 1984. - С. 8-9.
[Жожикашвили и Стефанюк, 19846] Жокикашвили А.В., Стефанюк В. Л. Оптимизация времени выборки данных за счет формирования простых фреймов // 2-е всесоюзное совещ. «Высокопроизводительные вычислительные системы». Тез. докл. — М.: ИПУ, 1984, С. 180-181.
[Жожикашвили и Стефанюк, 1985] Жоснеикашвили А.В., Стефанюк В. Л. Использование методов теории категорий в задачах представления знаний и обучения // ИВЕРСИ-85. — Тбилиси, 1985. — С. 139.
[Жожикашвили и Стефанюк, 1986а] Жоснеикашвили А.В., Стефанюк В. Л. Представление знаний и обучение в терминах теории категорий // Алгоритмы обработки экспериментальных данных. — М.: Наука. 1986.- С. 130-155.
[Жожикашвили и Стефанюк, 19866] Жоснеикашвили А.В., Стефанюк В. Л. Теория категорий в задачах представления знаний и обучения // Изв. АН СССР. Техн, кибернет. 1986. №2. С. 17-31.
[Жожикашвили и Стефанюк, 1988а] Жоснеикашвили А.В., Стефанюк В. Л. Обучающаяся система поддержки ввода информации в ЭВМ — PROMPTER //Обработка и представление данных в человекомашинных системах. — М.: Наука. 1988. — С. 116-132.
[Жожикашвили и Стефанюк, 19886] Жоснеикашвили А.В., Стефанюк В.Л. Ситуации, образцы ситуаций и их обобщение при обучении // Всесоюзная конф, по искусств, интеллекту. Тез. докл. Т. 1. — М.: АН СССР, 1988. - С. 364-369.
[Жожикашвили и Стефанюк, 2002] Жоснеикашвили А.В., Стефанюк В.Л. О понятии продукции в искусственном интеллекте // Изв. РАН. Сер. Теория и сист. управл. 2002. №4, С. 76-81.
[Жожикашвили и Стефанюк, 2002а] Жоснеикашвили А.В., Стефанюк В. Л. Алгебраическая теория продукционных систем // Восьмая национальная конференция по искусственному интеллекту. КИИ’2002, 712 октября, Коломна, Россия. Труды конференции. — М.: Физматлит, 2002. Т. 1. С. 428-436.
[Жожикашвили и Стефанюк, 2002в] Жоснеикашвили А.В., Стефанюк В.Л. О понятии продукции в искусственном интеллекте // Изв. РАН. Сер. Теор. и сист. управл. №4, С. 76-81, 2002
[Журавлев, 1979] Математические методы в теории систем / Под ред. Ю.И. Журавлева. — М.: Мир, 1979. —328 с.
[Загоруйко, 1999] Загоруйко Н.Г. Прикладные методы распознавания образов. Новосибирск: Изд-во Ин-та математики, 1999, 270 с.
[Зенкин, 1991] Зенкин А. А. Когнитивная компьютерная графика. — М.: Наука, 1991. — 188 с.
[Закревский, 1988] Закревский А.Д. Логика распознавания. — Минск: Наука и техника, 1988. — 118 с.
[Зенин, 1988] Зенин А.Г. Система поддержки базы данных классификации в АСУ плодородия почв: Дис. канд. физ.-мат. наук. — М.: ВАСХНИЛ, 1988.
[Интел, процессы, 1987] Интеллектуальные процессы и их моделирование. — М.: Наука, 1987. — 397 с.
[Исия и др, 1988] Исия Т., Симояма И. и др. Мехатроника. М.: Мир, 1988. - 314 с.
[Карлин, 1964] Карлин С. Математические методы в теории игр, программировании и экономике. — М.: Мир, 1964. — 838 с.
[Клернер, 1975] Клернер Д.А. Покрытия прямоугольников конгруэнтными полимино // Полимино. — М.: Мир, 1975. — С. 192-203.
[Кобелев, 1982] Кобелев В.В. Диалоговая сервисная система «Джин». — Препринт / ИТМ ВТ АН СССР. №8. - М., 1982. - 35 с.
[Котляр и Стефанюк, 1972] Котляр С.Б., Стефанюк В.Л. Об одной упрощенной модели взаимодействия в коллективе автоматов // Problems of Control and Information Theory. — 1972. — V. 1(3-4). — C. 297-305. [Кохонен, 1982] Кохонен T. Ассоциативные запоминающие устройства. — М.: Мир, 1982. — 383 с.
[Крейн, 1986] Крейн И.М. Контакт «разумных систем» // Проблемы поиска жизни во вселенной. — М.: Наука, 1986. — С. 104-109.
[Кринский, 1966] Кринский В.И. Об играх с нулевой суммой двух асимптотически оптимальных последовательностей автоматов // Про- бл. передачи информ. 1966. Т. 2, №2. — С. 43-53.
[Крылов и Цетлин, 1963] Крылов В.Ю., Цетлин М.Л. Об играх автоматов // Автоматика и телемеханика. 1963. Т. 24, №7. — С. 975-987.
[Крюков, 1986] Крюков Ю.И. Планирование перемещений многозвенной кинематической цепи как процесс поиска экстремума функции в пространстве состояний системы //Алгоритмы обработки экспериментальных данных. — М.: Наука, 1986. — С. 108-114.
[Крюков и Стефанюк, 1981] Крюков Ю.И., Стефанюк В.Л. Об алгоритмах выработки навыка в действиях манипулятора. — М., 1981. — 14 с. - Деп. в ВИНИТ. 22.06.81, №3004-81.
[Крюков и др., 1974] Крюков Ю.И. , Стефанюк В.Л., Фомин С.В. Об алгоритме выработки навыка в действиях манипулятора // VII симпозиум по кибернетике. Научный совет по комплексной проблеме «Кибернетика» — М.: Наука, 1974. — С. 16.
[Кузин и Дубинина, 1980] Кузин Л.Т., Дубинина В. Г. Интеллектуальная система проектирования сетей ЭВМ // Проектирование интеллектуальных систем. — М.: Атомиздат, 1980. — С. 12-16.
[Кузнецов и Адельсон-Вельский, 1988] Кузнецов О.П., Адельсон- Велъский Г.М. Дискретная математика для инженера. 2-е изд. — М.: Энергоатомиздат, 1988. — 480 с.
[Лазарев и Саввин, 1973] Лазарев В.Г., Саввин Г.Г. Сети связи, управление и коммутация. — М.: Связь, 1973. — 264 с.
[Лавров и Силагадзе, 1978] Лавров С. С., Силагадзе Г. С. Автоматическая обработка данных. Язык Лисп и его реализация. — М.: Наука, 1978. - 176 с.
[Ларичев, 1989] Ларичев О.И. и др. Выявление экспертных знаний. М., 1989.
[Леви и Сикевиц, 1971] Леви А., Сикевиц Ф. Структура и функции клетки. — М.: Мир, 1971. — 583 с.
[Либерман, 1972] Либерман Е.А. Молекулярная вычислительная машина клетки (МВМ). Общие соображения и гипотезы // Биофизика. 1972. Т. 17, №5. С. 932-943.
[Либерман, 1982] Либерман Е.А. Живая клетка. — М.: Наука, 1982. — 160 с.
[Лингв, обеспечение, 1987] Лингвистическое обеспечение информационных систем. - М.: ПИК ВИНИТИ-ИНИОН АН СССР, 1987. - 219 с.
[Лорьер, 1991] Лорьер Ж.-Л. Системы искусственного интеллекта. М.: Мир, 1991, 568 с. (оригинал — 1987).
[Майклсен и др., 1987] Майклсен Р.Х., Мичи Д., Буланже А. Экспертные системы // Реальность и прогнозы искусственного интеллекта. — М.: Мир, 1987. - С. 162-182.
[Малишевский, 1972] Малишевский А.В. Модели совместного функционирования многих целенаправленных элементов I-II // Автоматика и телемех. 1972. №11. С. 92-110; 1972. №12. С. 108-128.
[Малишевский и Тенисберг, 1969] Малишевский А.В., Тенисберг Ю.Д. Один класс игр, связанный с моделями коллективного поведения // Автоматика и телемех. 1969. № 11. С. 128-137.
[Месарович, Мако,Такахара, 1973] Месарович М., Мако Д., Такахара Я. Теория иерархических многоуровневых систем. — М.: Мир, 1973. — 344 с.
[Месарович и Такахара, 1978] Месарович М.,Такахара Я. Общая теория систем. — М.: Мир, 1978. — 311 с.
[Микийчук и Стефанюк, 1971] Микийчук А.М.,Стефанюк В.Л. Об одном типе взаимодействия, гарантирующем глобальную устойчивость локального управления //2-е всесоюзное совещание по теории релейных устройств и конечных автоматов. Тез. докл.— Рига, 1971. — С. 100— 101.
[Микулич, 1985] Микулич Л.И. Проблемы создания экспертных систем // Теория и модели знаний — Тартуский университет, 1985. — № 714. — С. 87-115.
[Минский, 1978] Минский М. Фреймы для представления знаний // Психология машинного зрения. — М.: Мир, 1978. — С. 249-339.
[Моисеев, 1987] Моисеев Н.П. Изучать реальные механизмы в их реальном действии // Информатика и научный прогресс. — М.: Наука, 1987. - С. 55-68.
[Миркин, 1989] Миркин Б.М. Адаптация и оптимизация динамических систем с децентрализованной структурой управления: Дис. —М.: ИПУ, 1989.
[Максимов, 1984] Максимов В.В. Трансформация цвета при изменении освещения. — М.: Наука, 1984.
[Невдяев, 2002] Невдяев Л.М. Телекоммуникационные технологии. Англ о-русский толковый словарь-справочник / Под ред. Ю.М. Горностаева. М.: Связь и бизнес, 2002. 568 с.
[Нейман, 1956/ Нейман Дж. Вероятностная логика и синтез надежных организмов из ненадежных компоненту // Сб. Автоматы / Под ред. К.Э. Шенона, Дж. Маккарти — М.: ИЛ, 1956. — 403 с.
[Нейман, 1971] Нейман Дж. Теория самовоспроизводящихся автоматов. — М.: Мир, 1971. — 382 с. (оригинал — 1966).
[Нильсон, 1973] Нильсон Н. Искусственный интеллект. Методы поиска решений. — М.: Мир, 1973. — 265 с.
[Опойцев, 1974-1975] Опойцев В.И. Динамика коллективного поведения МП //Автоматика и телемех. 1974. №4. С. 157-168; 1974. №6. С. 133144; 1975. №1. С. 124-138.
[Опойцев, 1977] Опойцев В.И. Равновесие и устойчивость в моделях коллективного поведения. — М.: Наука, 1977. — 245 с.
[Осипов, 1997] Осипов Г. С. Приобретение знаний интеллектуальными системами. — М.: Наука. Физматлит, 1997, 112 с.
[Павлюк и Россиков, 1986] Павлюк О.В., Россиков В.В. Формальная модель диалоговой системы директивного типа // Программирование. 1986. №5. С. 53-59.
[Пароди, 1960] Пароди М. Локализация характеристических чисел матриц и ее применения. М., 1960.
[Плесневич, 1982] Плесневич Г. С. Представление знаний в ассоциативных сетях // Изв. АН СССР. Техническая кибернетика. 1982. № 5. С. 622.
[Плетнев, 1985] Плетнев А.М. Поведение конечных и бесконечных автоматов в игровых ситуациях // Автоматика и телемех. 1985. №5. С. 132-142.
[Пол, 1973] ПоР.Управление траекторией руки с помощью вычислительной машины // Интегральные роботы. — М.: Мир, 1973. — С. 326338.
[Попов, 1987а] Попов Е.П. Робототехника и гибкие производственные системы. — М.: Наука, 1987. — 191 с.
[Попов, 1987] Попов. Э.В. Экспертные системы. — М.: Наука, 1987. — 284 с.
[Поспелов и Поспелов, 1965] Поспелов Г. С., Поспелов Д.А. Искусственный интеллект — прикладные системы // Новое в жизни, науке, технике. Сер. «Математика, кибернетика». — М.: Знание,1965. №9. — 48 с. [Поспелов и Солодов, 1984] Поспелов Г.,Солодов В. Коллективная диалоговая система планирования «Гранит» // Представление знаний в человеко-машинных и робототехнических системах. — М.: ВИНИТИ, 1984. Т. С. 168-182.
[Поспелов, 1986] Поспелов Д.А. Ситуационное управление. Теория и практика. — М.: Наука, 1986. — 284 с.
[Прангишвили, 1987] Прангишвили И. В. Структурная организация и программное обеспечение многопроцессорных вычислительных комплексов с перестраиваемой структурой ПС-3000. — М.: ИПУ, 1987. — 50 с.
[Прохоров и Розанов] Прохоров Ю.В., Розанов Ю.А. Теория вероятностей. — М.: Наука, 1967. — 495 с.
[Поляк и Щербаков, 2002] Поляк Б. Т., Щербаков П.С. Робастная устойчивость и управление. — М: Наука, 2002. — 303 с.[Попов и др., 1996] Попов Э.В., Фоминых И.Б., Кисель Е.Б., Шапот М.Д. Статические и динамические экспертные системы. Финансы и статистика. — М., 1996, 319 с.
[Попов, 1982] Попов Э.В. Общение с ЭВМ на естественном языке. М.: Наука, 1982. — 360 с.
[Попов, 1996] Попов Э.В. Реинжиниринг бизнес-процессов и искусственный интеллект // Новости искусственного интеллекта. Российская ассоциация искусственного интеллекта. №4. 1996. С. 5-39.
[Поспелов, 1994]. Информатика: Энциклопедический словарь для начинающих / Сост. .А. Поспелов. — М.: Педагогика-Пресс, 1994. — 352 с.
[Поспелов и Фет, 1998] Очерки истории информатики в России // Ред.- сост. Д.А. Поспелов, Я.И. Фет. — Новосибирск: ОИГГМ СО РАН, 1998. - 663 с.
[Романовский, 1977] Романовский В.И. Дискретные цепи Маркова. — М.: Гостехиздат, 1949. — 436 с.
[Стефанюк и Рождественский, 1984] Стефанюк В.Л., Рождественский К. Определение тональности музыкального произведения // Пробл. искусственного интеллекта и распознавания образов. Тез. докл. и сообщ. Секция 1. — Киев: Институт кибернетики, 1984. — С. 170.
[Семенова, 1977] Семенова Е.Т. Язык программирования ЛИСП 1.5 (Учебное пособие по курсу «Языки программирования»). — М.: МЭИ, 1977. - 86 с.
[Семиотика, 1986] Семиотика и информатика. — М.: ВИНИТИ, 1986. — 164 с.
[Соболь, 1964] Соболь И.М. О периодах псевдослучайных последовательностей // Теория вероятностей и ее применения. 1964. Т. 9. К2 2. С. 367-373.
[Стефанюк, 1961] Стефанюк В. Л. Некоторые задачи о поведении автоматов: Дипломная работа. — М.: МГУ, 1961. — 32 с.
[Стефанюк, 1963] Стефанюк В. Л. Пример задачи на коллективное поведение двух автоматов // Автоматика и телемеханика. — 1963. — Т. 24. №6. - С. 781-784.
[Стефанюк, 1966] Стефанюк В. Л. Об отношении сигнал/шум для канала с аддитивным тепловым шумом // Проблемы передачи информации. 1966. Т. 2. № 1. С. 58-67.
[Стефанюк и Цетлин, 1967] Стефанюк В.Л., Цетлин М.Л. О регулировке мощности в коллективе радиостанций // Проблемы передачи информации. 1967. Т. 3, №4. С. 59-67.
[Стефанюк, 1967] Стефанюк В. Л. Об устойчивости регулировки мощности в сети радиостанций // 3-я конференция по теории передачи и кодирования информации. — М.: Совет по кибернетике, 1967. — С. 6471.
[Стефанюк, 1968а] Стефанюк В. Л. Поведение коллектива автоматов в задаче о регулировке мощности // Проблемы кибернетики. 1968. №20. - С. 131-144.
[Стефанюк, 19686] Стефанюк В. Л. Некоторые локальные критерии устойчивой регулировки мощности в коллективе радиостанций // Проблемы передачи информации. 1968. Т. 4, № 1. — С. 90-91.
[Стефанюк, 1968в] Стефанюк В. Л. Коллективное поведение автоматов и задача устойчивого локального управления системой связи: Дис. 1968. - 115 с.
[Стефанюк, 1969] Стефанюк В. Л. О локальных критериях устойчивого выбора уровня мощности // Проблемы передачи информации. 1969. Т. 5, №3. - С. 46-63.
[Стефанюк, 1970] Стефанюк В. Л. Локальное управление мощностью в большой системе связи // 3-й Международен симпозиум «Новости в рад иоэлектрониката». 4.2. Варна, 1970. — С. 1-7.
[Стефанюк, 1971а] Стефанюк В. Л. Об описании игр s-автоматов // Автоматика и телемех. 1971. №4. С. 83-88.
[Стефанюк, 19716] Стефанюк В.Л. О «взаимопомощи» в коллективе радиостанций // Пробл. передачи информ. 1971. Т. 7, №3. С. 103-107. [Стефанюк и Меерков, 1971] Стефанюк В.Л., Меерков С. Асимптотически точное описание игр автоматов // 5-е всесоюзное совещание по проблемам управления. Ч. II. — М.: Наука, 1971. — С. 207-210.
[Стефанюк, 1971в] Стефанюк В. Л. Школа-семинар по вероятностным автоматам // Успехи матем. наук. 1971. Т. 26, №4(160). С. 255-258.
[Стефанюк и Котляр, 1971] Стефанюк В.Л., Котляр С.Б. Об одной модели группового взаимодействия // 2-е всесоюзное совещание по теории релейных устройств и конечных автоматов. — Рига, 1971. — С. 107.
[Стефанюк, 1973а] Стефанюк В. Л. О взаимодействии при локальном управлении // Автоматика и телемех. 1973, №6. С. 48-56.
[Стефанюк, 19736] Стефанюк В. Л. Одна теорема об М-матрицах и ее применения // Матем. заметки. 1973. Т. 13, №2. С. 235-246.
[Стефанюк, 1974] Стефанюк В. Л. Оптимизация поиска по образцу в случайной памяти // VII симпозиум по кибернетике (г. Тбилиси). — М.: Наука. — Научный совет по комплексной проблеме «Кибернетика», 1974. - С. 19.
[Стефанюк, 1975] Стефанюк В.Л. Представления для задачи «крепкий орешек» // Труды IV международной объединенной конференции по искусственному интеллекту. Т. 2. Методы представления задач, методы поиска решений, эвристические методы. — М.: Научный совет по комплексной проблеме «Кибернетика», 1975. — С. 2.143-2.154.
[Стефанюк и др., 1977] Стефанюк В.Л., Крюков Ю.И., Белов Д.Ф., Курдюмов Г.Л. Центральное управление подводными роботами. — Отчет по НИР. - М.: ИППИ АН СССР, 1977. Инв. N. 625337. 50 с.
[Стефанюк, 1979] Стефанюк В. Л. Хранение и поиск по образцу при случайном выборе из памяти // Вопросы кибернетики. Вып. 61. Проблемы искусственного интеллекта. 1979. С. 86-95.
[Стефанюк и др., 1980] Стефанюк В.Л. (отв.исп.), Крюков Ю.И., Юдина Е.Ф. Центральное управление роботом. — Отчет о НИР. — М.: ВНИТИЦЕНТР, 1980. Инв. N. 901871. - 51 с.
[Стефанюк, 1981а] Стефанюк В. Л. Рекурсивное оценивание арифметических функций в системах ЛИСП // Программирование. 1981. №5. С. 92-94.
[Стефанюк, 19816] Стефанюк В. Л. Наглядное программирование вычислений // 9-й Всесоюзный симпозиум по кибернетике (Сухуми, 1981 Г-)
[Стефанюк, 1982а] Стефанюк В. Л. Проектирование интеллектуальной операционной системы // 3-я школа-семинар «Интеллектуальные банки данных» ИБД-82 (Батуми). - М.: МНИПИ СПУ, 1982. - С. 7-8.
[Стефанюк, 19826] Стефанюк В. Л. Об адаптивном управлении в сети виртуальных соединений // Школа-семинар по системам управления. - М.: ИПУ АН СССР, 1982. - С. 15-16.
[Стефанюк, 1985] Стефанюк В.Л. (рук. темы) Восстановление зависимости, прогнозирование и планирование при небольшом числе наблюдений (заключительный отчет). Отчет о НИР по теме 1.13.5.1(гл. 1,2). — М.: ВНИТИЦЕНТР, 1985. N. 0286.0 004520. - 113 с.
[Стефанюк и Алексеева, 1986] Стефанюк В.Л., Алексеева Е.Ф. К созданию интеллектуальной операционной системы // Алгоритмы обработки экспериментальных данных.— М.: Наука, 1986. — С. 115-130.
[Стефанюк, 1987а] Стефанюк В.Л. (отв. исполнитель) Обучающаяся система поддержки ввода грузовой документации через терминалы ЭВМ (Отчет НИР). - М.: ИППИ АН СССР, 1987. - 56 с.
[Стефанюк, 19876] Стефанюк В. Л. Некоторые аспекты теории экспертных систем // Изв. АН СССР. Технич. кибернетика. 1987. Я9 2. С. 85-91.
[Стефанюк, 1987в] Стефанюк В.Л. Предисловие к книге «Реальность и прогнозы искусственного интеллекта». — М.: Мир, 1987. — С. 5-8.
[Стефанюк, 1987г] Стефанюк В.Л. Экспертные системы. Перспективный аналитический обзор. — М.: ВИНИТИ, 1987. — 27 с.
[Стефанюк и Алексеева, 1987] Стефанюк В.Л., Алексеева Е.Ф. Универсальная адаптирующаяся система ЛИСП // Изв. АН СССР. Технич. кибернетика. 1987. №5. С. 173-178.
[Стефанюк, 1988а] Стефанюк В. Л. Организация диалога в экспертной системе для иммуно-пандеми-ческого заболевания // Проблемы проектирования экспертных систем. Тезисы докладов Всесоюзной школы- совещания, 22-30 апреля 1988г., ч. 2. — М.: АН СССР, Союз научных и инженерных обществ СССР, 1988. — С. 255-256.
[Стефанюк, 19886] Стефанюк В. Л. Доверять ли свидетельствам? // Всесоюзная конференция по искусственному интеллекту (Т 1). — М.: АН СССР, 1988. - С. 406-410.
[Стефанюк, 1989] Стефанюк В. Л. Оптимизация работы сети Интернет как многоагентной системы с элементами обучения // Труды 6-й национальной конференции по искусственному интеллекту с международным участием КИИ’98. — Пущино: ОНТИ ИФПБ РАН, 1989. — С. 30-34.
[Стефанюк, 1989а] Стефанюк В. Л. Консультирующая экспертная система с локальной организацией // Всесоюзная конференция «Проблемы разработки и внедрения экспертных систем». — М.: ВНИ- ИНС. 1989. - С. 33-34.
[Стефанюк, 19896] Стефанюк В. Л. Анализ целесообразности локальноорганизованных систем через потоки вероятности // Модели в системах обработки данных. — М.: Наука, 1989. — С. 33-45.
[Стефанюк, 1989в] Стефанюк В. Л. Равновесие в дробно-линейной системе взаимодействия при локальных данных // Модели в системах обработки данных. — М.: Наука, 1989. — С. 45-54.
[Стефанюк и Жожикашвили, 1990а] Стефанюк В. Л, Жожикашвили А.В. Консультирующая метаэкспертная система МЕТА-ЭС // II Всесоюзная конференция «Искусственный интеллект-90». Тезисы докладов. - АН СССР, Тверь, «Центрпрограммсистем», 1990 - Секционные и стендовые доклады, Т. 3 - С. 191-195.
[Стефанюк и Жожикашвили, 1990а] Стефанюк В.Л, Жожикашвили А.В. МЕТА-ЭС (консультирующая метаэкспертная система) // Программное обеспечение и прикладные системы искусственного интеллекта. Каталог выставки на II Всесоюзной конференции «Искусственный интеллект-90», М.-ИВТС МГТПТО, С. 116-120, 191.
[Стефанюк, 1994] Стефанюк В. Л. Поведение квазистатической оболочки в изменяющейся нечеткой среде // Сб. научных трудов национальной конференции с международным участием «Искусственный интеллект - 94». Т. 1. 1994. С. 190-203.
[Стефанюк, 1995] Стефанюк В.Л. От автоматов М.Л. Цетлина к искусственному интеллекту (Этапы и вехи, или как это было) // Новости
искусственного интеллекта. Российская ассоциация искусственного интеллекта. №4. 1995. С. 56-92.
[Стефанюк, 1996] Стефанюк В. Л. Выработка нового представления задачи в ходе перебора // V национальная конференция по искусственному интеллекту (КИИ-96). Т. III. — С. 374-378.
[Стефанюк, 1997] Стефанюк В. Л. От многоагентных систем к коллективному поведению // Труды международного рабочего совещания «Распределенный искусственный интеллект и многоагентные системы» (DAIMAS’97). - C-П., 1997. С. 327-338.
[Стефанюк, 2000д] Стефанюк В. Л. Профилактика заражения вирусом через почтовое отправление // Новости искусственного интеллекта. Российская ассоциация искусственного интеллекта. Я91-2. 2000. С. 102- ЮЗ.
[Стефанюк, 2000е] Стефанюк В. Л. Представление задач // Новости искусственного интеллекта. Российская ассоциация искусственного интеллекта. № 1-2. 2000. С. 37-61.
[Стефанюк, 2000ж] Стефанюк В. Л. Использование знаний экспертов при выявлении последовательности оснований ДНК // Труды конференции КИИ’ 2000 (Международная конференция по искусственному интеллекту, 24-27 октября 2000, Переславль-Залесский. Т. 1). — М.: Физматгиз. — С. 83-91.
[Стефанюк, 2000з] Стефанюк В. Л. Принцип семиотической интроспекции Научная сессия МИФИ-99. Сб. науч, трудов. Т. 3. — М., 2000. — С. 56-57.
[Стефанюк, 20026] Стефанюк В. Л. Представление знаний и рассуждений (сжатый обзор по материалам IJCAI-2001, США) // 8-я национальная конференция по искусственному интеллекту. КИИ’2002, 7-12 октября, Коломна, Россия. Труды конференции. М.: Физматлит, Т. 1, С. 33-41.
[Стефанюк, 2002в] Стефанюк В. Л. Уроки искусственного интеллекта. Сборник научных трудов Научной сессии МИФИ-2002, том 3, «Интеллектуальные системы и технологии» — М.: МИФИ, 2002. — С. 18-19.
[Стефанюк, 2002г] Стефанюк В. Л. Учить или учиться // Новости искусственного интеллекта. Российская ассоциация искусственного интеллекта. №5. 2002. - С. 113-124.
[Стефанюк, 2002д] Стефанюк В. Л. Издержки демократии // Новости искусственного интеллекта. Российская ассоциация искусственного интеллекта. К9 6. 2002. — С. 27.
[Стефанюк, 2002е] Стефанюк В. Л. Международная объединенная конференция по искусственному интеллекту. Тбилиси. 1975 г. Политехнические чтения «КИБЕРНЕТИКА — ожидания и результаты». Вып. 2. — М.: Знание, 2002. - С. 84-89.
[Стефанюк, 2002ж] Стефанюк В. Л. Введение в интеллектуальные обучающие системы. Учебно-методическое пособие. М.: Российский университет дружбы народов, 2002, 59 с.
[Стефанюк, 2003а] Стефанюк В. Л. Мобильная связь для всех // Научная сессия МИФИ-2003. Сб. науч, трудов. Т. 3. — М.: МИФИ, 2003. — С. 23-25.
[Тарасов, 2002] Тарасов В. Б. От многоагентных систем к интеллектуальным организациям: философия, психология, информатика. — М.: УРСС. 2002. - 348 с.
[Тильчин и Шор, 1985] Тильчин О.Т., Шор О.Л. Организация эффективного хранения и поиска данных на основе анализа частотных свойств потока запросов // Программирование. 1985. К2 6. — С. 64-68.
[Тыугу, 1984] Тыугу Э.Х. Концептуальное программирование. — М.: Наука, 1984. — 256 с.
[Уемов, 1971] Уемов А.И. Логические основы метода моделирования. — М.: Мысль, 1971. - 311 с.
[Уинстон, 1980] Уинстон П. Искусственный интеллект. — М.: Мир, 1980. - С. 42-59.
[Фельдман, 1987] Фельдман Дж.А. Сетевые модели // Реальность и прогнозы искусственного интеллекта. — М.: Мир. 1987. — С. 137-147.
[Фогель и др., 1969] Фогель Л., Оуэнс А., Уолш М. Искусственный интеллект и эволюционное моделирование. — М.: Мир, 1969. — 230 с.
[Фомин, Беркинблит, 1973] Фомин С.В., Беркинблит М.Б. Математические проблемы в биологии. — М.: Наука, 1973. — 199 с.
[Форсайт, 1984] Форсайт Р. Экспертные системы. Принципы работы и примеры. — М.: Радио и связь, 1984. — 222 с.
[Фролов] Фролов К. В. Наука и машиностроение в стратегии ускорения // Информатика и научный прогресс. — М.: Наука, 1987. — С. 121-189. [Финн, 1991] Финн В.К. (ред.) Интеллектуальные информационные системы. — М., 1991.
[Хейес-Рот, Уотерман, Ленат, 1987] Хейес-Рот Ф., Уотерман Д., Ленат Д. Построение экспертных систем. — М.: Мир, 1987. — 441 с.
[Хеллман и Ковер, 1970] Хеллман М.Е., Ковер Т.М. По поводу автоматов в случайной среде // Пробл. передачи информ. 1970. Т. 6, №2. С. 21-30.
[Хинтон, 1987] Хинтон Дж.Е. Обучение в параллельных сетях // Реальности и прогнозы, искусственного интеллекта. —М.: Мир, 1987. — С. 124-136.
[Цаленко и Шульгейфер, 1974] Цаленко М.Ш., Шульгейфер Е.Г. Основы теории категорий. — М.: Наука, 1974. — 256 с.
[Церцвадзе, 1968] Церцвадзе Г.Н. Об асимптотических свойствах целесообразных автоматов в стационарной случайной среде // Автоматика и телемех. 1968. №8. С. 93-99.
[Цетлин, 1961] Цетлин М.Л. О поведении конечных автоматов в случайных средах // Автоматика и телемех. 1961. Т. 22, № 10. С. 1345-1354. [Цетлин, 1963] Цетлин М.Л. Конечные автоматы и моделирование простейших форм поведения // Успехи матем. наук. 1963. Т. 18, №4. С. 3-28.
[Цетлин, 1969] Цетлин М.Л. Исследования по теории автоматов и моделированию биологических систем. — М.: Наука, 1969. — 316 с.
[Цетлин и Гинзбург, 1968] Цетлин М.Л., Гинзбург С.Л. Об одной конструкции стохастических автоматов // Проблемы кибернетики. 1968. Т. 20. С. 19-26.
[Цетлин и Крылов, 1963] Цетлин М.Л., Крылов В.Д. Примеры игр автоматов // ДАН СССР. 1963. №2. С. 284-287.
[Цуприков] Цуприков В.А. Задача стохастического управления режимами каскада насосных станций магистрального канала. — Ленинград: Политехнический институт им М.И. Калинина. — Диссертация (05.13.01).
[Цыбаков и Лиханов, 1985] Цыбаков Б.С., Лиханов Н.Б. Некоторые новые алгоритмы случайного множественного доступа // Проблемы передачи информ. 1985. Т. 21, №27. С. 68-89.
[Цыганов, 1987] Цыганов В.В. Адаптивные механизмы функционирования активных систем III // Автоматика и телемех. 1987. № 3. С. 117-126. [Цыпкин, 1946] Цыпкин Я.З. Устойчивость систем с запаздывающей обратной связью // Автоматика и телемех. 1946. №2-3. С. 107-129.
[Ченцов, 1980] Ченцов В.М. Системы распределения информации. Синтез структуры и управления. — М.: Связь, 1980. — 143 с.
[Шадурскис, 1986] Шадурскис К.П. Устойчивость статистического равновесия систем коллективного поведения. — Диссертация к. т. н.— Рига, 1986.
[Шнейдерман, 1984] Шнейдерман Б. Психология программирования. Человеческие факторы в вычислительных и информационных системах. — М.: Радио и связь, 1984. — 304 с.
[Штернберг, 1986] Штернберг А. А. Аналитическое конструирование многоуровневых децентрализованных систем автоматического управления. — Диссертация (05.13.01). — М.: 1986.
[Шмуклер, 1968] Шмуклер Ю.И. Термодинамическая модель адаптации. Доклады Академии наук СССР, 1968, Т. 182, №6, С. 1290-1293 [Эйдус, Марков, Венедиктов, 1965] Эйдус Г.С., Марков И.И., Венедиктов М.Д. Асинхронные адресные системы связи (обзор) // Проблемы передачи информ. 1965. Т. 1, №47. С. 3-20.
[Эндрю, 1985] рА. Искусственный интеллект. — М.: Мир, 1985. — 264 с. (оригинал — 1983).
[Abramson, 1970] Abramson N. The ALOHA System — Another alternative for computer communication // Proc. 1970 Fall Joint Computer Conference. - AFIPS Press, 1970. V.37.- P. 281-285.
[AOS, 1977] Advanced Operating System (AOS), User’s Manual 093000122-01. DGC, 1977. - P. A1-A3.
[Back and Mannila, 1984] Back R.J.R., Mannila H. A. Semantic Approach to Program Modularity. // Information and Control. 1984. V. 60, Nos. 1-3. P. 138-167.
[Boyer and Moore, 1973] Boyer R.S., Moore J.S. Proving theorems about LISP functions // Proceedings of 3rd. International Joint Conference on Artificial Intelligence (IJCAI-73). — Menio Park: Stanford Research Institute, 1973. - P. 486-493.
[Bundy, 1996] A.Bundy (Ed.) Artificial Intelligence Techniques. A comprehensive Catalogue. Fourth Revised Edition. — Berlin-Heidelberg: SpringerVerlag, 1996. — 296 p.
[Burville and Kingman, 1973] Burville P.J., Kingman J.F.C. On a model for storage and search // Journal of Applied Probability. 1973. No. 10. P. 697-701.
[Chandrasekaran and Shen, 1969] Chandr asekaran B., Shen D. W. Stochastic Automata Games // IEEE Trans. Syst.Sci. and. Cybernet. 1969. V. 5, No. 2. P. 145-149.
[Charniak, 1978] Charniak E. On the use of Framed Knowledge in Language Comprehension // Artificial Intelligence. 1978. No. 11. P. 225-265.
[Cover and Helman, 1970] Cover T.M., Helman M.E. The Two-armed- Bandit Problem with Time-Invariant Finite Memory // IEEE Transact ions on Information Theory. 1970. V. IT-16, No. 2. P. 185-195.
[Darlington and Burstall, 1973] Darlington J., Burstall R.M. A system which automatically improves programs // Proceedings of 3rd. International Joint Conference on Artificial Intelligence (IJCAI-73). — Menlo Park: Stanford Research Institute, 1973. — P. 419-485.
[Devis, 1972] Devis D. W. Control of Congestion in Packet Switching Network // IEEE Trans. Commun. Technol. — Special Issue on computer Communication, pt-11. — 1972. V. Com-20. — P. 547-555.
[Dijkstra, 1970 ] Dijkstra E. W. Notes on Structured Programming // Structured Programming / Dahl O.J., eds. — London and New York: Academic Press., 1970. — P.1-81.
[Eager, 1974] Eager B. Using the Internet // Que Corporation, 1974.
[Johnson and Kotz, 1989] H.L. Johnson & S. Kotz. Axiomatic approach to formulas for combining likelihoods of evidence, C310 in Journal of Statistical Computation and Simulation 31 (1989), pp/ 49-54.
[Haraldson, 1975] Haraldson A. Lisp-detailes, Interlisp/360-370. — Uppsala University, 1975. — 151p.
[Hasemer, 1984] Hasemer T. MacSolo-AURAC: a Programming Environment for Novices // Proc, of IJCAI. — Pisa, 1984. — P. 399-408.
[Hellman and Cover] Hellman M.E., Cover T.M. Comments on Automata in Random Media / Доклад на международной конференции по теории информации (г.Дубна). 19-25 июня. 1969.
[Hendriks, 1972] Hendriks W.J. The stationary distribution of an interesting Markov chain // Journal of Applied Probability. 1972. No. 9. P.231-233.
[Heyes-Roth, 1985 ] Heyes-Roth B. A Blackboard architecture for Control // Artificial Intelligence. 1985. V. 26. - P. 251-921.
[Hicks, 1946] Hicks J.R. Value and Capital. — Oxford University Press, 1946. — Ch.4-8 and Appendix. — 340 p.
[Hillis, 1985] Hillis W.D. The connection machine. — Cambridge: MIT Press, 1985. — 190 p.
[Hofstadter, 1981] Douglas R. Hofstadter. Godel, Escher, Bach: An eternal golden braid. A metaphorical fugue on minds and machines in the spirit of Lewis Carrol. — Penguin Books, 1981, 777 p.
[IJCAI-1979] Proceedings of 6-th International Joint Conference on Artificial Intelligence. — Tokyo, 1979.
[IJCAI-1985] Proceedings of 9-th International Joint Conference on Artificial Intelligence. — San Francisco, 1985.
[IJCAI-2001] Proceedings of International Joint Conference on Artificial Intelligence, Seattle, 2001.
[Johnson and Kotz, 1989] N.L.Johnson Й S.Kotz. Axiomatic approach to formulas for combining likelihoods or evidence, C310 // Journal of Statistical Computation and Simulation. 1981. V. 31. P. 49-54.
[Kempe, 1979] Kempe A.B. On the geometrical problem of four colors // American Journal of Mathematics. 1879. No. 2. 193-204.
[Khan and Jain, 1985] Khan N.A., Jain R. Uncertainty Management in Distributed Knowledge Based Systems // Proc, of IJCAI-85. — Los Altos. Calif: Morgan Kaufmann Publishers, Inc., 1985. — P. 318-320.
[Klopf, 1982] Klopf. The hedomisic Neuron // A theory of Memory, Learning, and Intelligence. — 1982.
[Kowalski, 1979] Kowalski R. Logic for problem solving. — New York- North-Holland, 1979.
[Lakshmivarahan and Narendra, 1975] Lakshmivarahan S., Narendra K.S. Analysis of Memory Depth in Fixed Structure Learning Automata // Bector Center Technical Report CT-62. — Yale University, 1975. — 16
P-
[Lenat et al, 1983] Lenat D.B. et al. Knoesphere. Building expert systems with encyclopedic knowledge // Proc. IJCAI-8, 1983. — P. 167-169.
[Mac Lane, 1972] Mac Lane. Categories for the working mathematicians. — Springer, 1972. — 250 p.
[McCarthy, 1964] McCarthy J. N Tough Nut Proof Procedures. — Stanford University; AI Project Memo, 1964. — N.16.
[McCarthy, 1990] McCarthy J. Coloring Maps and the Kowalski Doctrine // Formalizing common sense / Ed. by Lifschitz. — Norwood, New Jersey: Ablex publishing corp., 1990, 256 p.
[Mizogushi and Kakusho, 1979] Mizogushi R., Kakusho O. Hierarchical production system // The Sixth International Joint Conference on Artificial Intelligence. — Tokio. Japan, 1979. — P. 586-588.
[MM/1, 1980] MM/1 Man-machine interface // Software Pract. and Exper. — 1980. - P. 751-763.
[Munakata, 1998] Munakata T. Fundamentals of the New Artificial Intelligence. Beyond Traditional Paradigms. — Springer-Verlag, New York Inc., 1998. - 231 c.
[Narendra and Thathacher, 1977] Narendra K.S.,Thathacher M.A.L. Learning Automata — a Survey // IEEE Trans., SMC. — 1977. —V.4. — P. 323-334.
[Nordstrom and Sandewall, 1970] Nordstrom M., Sandewall E. LISP Fl. A Fortran implementation of LISP 1.5. — Uppsala University: Datalogilabo- ratoriet, 1970. — 73 p.
[Rish, 1973] Risk T. REMREC — a program for automatic recursion removal in LISP // DLU 73/74. — Uppsala University: Datalogilaboratoriet, 1973.
[Ritch, 1983] Ritch E. Users are individuals: individualizing user models // Int. J. Man-machine Std. 1983. N. 8. P. 199-214.
[Rudall, 1997] Rudall B.H. Contemporary systems and cybernetic // KY- BERNETES. 1997. V. 26, N. 4. P. 370-388.
[Shortliff, 1976] Shortliff E. Computer based Medical Consultations MYCIN. — Hew York: American Elsevier, 1976. — 264 p.
[SIGART, 1972] SIGART // Newsletter. 1972. N. 16. P. 9-2 7.
[Simon and Siklossy, 1972] Simon H.A., Siklossy L.A. Representation and Meaning. — Prentice-Hall, Inc., 1972. — P. 423-425.
[Simon, 1995] Simon H.A. Explaining the Ineffable: AI on the Topics of Intuition, Insight and Inspiration //Proc. IJCAI-95. Morgan Kaufmann Publishers, San Mateo, 1995. P. 939-948.
[Simon and Siklossy, 1972] Representation and Meaning / Simon H.A., Siklossy L.A. (eds.). Prentice-Hall, Inc., 1972.
[Sleeman, 1985] Sleeman D.H. UMFE: A User Modelling Front-End. Subsystem // Int. J. Man-Machine Std., 1985. — N. 23. — P. 71-88.
[Sutton, Barto, 1998] Sutton R.G., Barto A.G. Reinforcement Learning. An introduction, 1998.
[Tibbet et al., 1995] Tibbets C., Bowling J.M.& Golden I. Neural Networks for Automated Base-calling of Gel-based DNA Sequencing Ladders // Automated DNA Sequencing and Analysis / Ed. by M.D.Adams, C. Fields, J.C.Venter — London: Academic Press.
[Stallman, 1986] Stallman R. GNU Emacs Manual. Fifth Edition, Emacs Version 18 for Unix Users , 1986. — 286 p.
[Stefanuk, 1970] Stefanuk V.L. Local power control in a large communication system //3d international symposium «Advances in Radioelectronics», Bulgaria, Varna, 1970. - Part 2 - pp. 1-7
[Stefanuk, 1971] Stefanuk V.L. Collective Behavior of Automata and the Problem of Stable Local Control of a Large Scale System // Second International Joint Conference on Artificial Intelligence, London, pp. 5156, 1971.
[Stefanuk, 1973] Stefanuk V.L. On a local approach to representation in problem solving // Proceedings of the 3IJCAI. — Stanford: Stanford University, 1973. - P. 612-617.
[Stefanuk, 1974] Stefanuk V.L. X model of random pattern matching in a data base // MIP-R-110, University of Edinburgh, 1974. — 15 p.
[Stefanuk, 1976] Stefanuk V.L. The use of a graph representation for reduction of Problem Solving Complexity // Firbush News. N.6. — Edinburgh University, 1976.
[Stefanuk, 1979] Stefanuk V.L. The use of a graph representation in optimization of variable replacement in LISP in the presence of side-effects // Machine Intelligence 9. — New York, John Wiley & Sons, 1979. — P. 27-40. [Stefanuk, 1987] Stefanuk V.L. Towards Intelligent operating system: flexible Lisp environment // VTT Symposium on man-machine interface. — ESPOO.: Technical Research Centre of Finland, 1987. - P. 117-127.
[Stefanuk, 1993] Stefanuk V.L. Local Control in a System with Contralinear Interaction of Subsystems, Proceedings of European Control Conference (ECC’93), Vol. 1, Groningen, pp. 117-119, 1993.
[Stefanuk, 1996] Stefanuk V.L. Discovery of Representations through Search: Case Study // ECAI96. 12fZl European Conference on Artificial Intelligence: Workshop W30: «Applied Semiotics», 1996. — P. 33-37.
[Stefanuk, 1996a] Stefanuk V.L. Intelligent Systems: A Semiotic Perspective // Proceedings of the 1996 International Multidisciplinary Conference. Volume II : Applied Semiotics, October 20-23, Gaithersburg, MD, USA. — P. 1-6.
[Stefanuk, 2000a] Stefanuk V.L. Dynamic expert systems // KYBER- NETES. The International Journal of Systems & Cybernetics. V. 29, Issue 5. — MCB University Press, 2000. — P. 702—709.
[Stefanuk, 2000b] Stefanuk V. Semiotics of Sign Discovery in Noisy DNA Sequencing. Workshop on Applied Semiotics: Control Problems (asc2000), Berlin, 2000. — P. 6-8.
[Stefanuk, 2000c] Stefanuk V.L. Applied Semiotics: Control Problems (ASC 2000), AI Communication 14 (2001), IOS Press. P. 105-109.
[Stefanuk, Zhozhikashvili, 2002a] Stefanuk V.L., Zhozhikashvili A.V. Productions and rules in artificial intelligence // KYBERNETES. The International Journal of Systems & Cybernetics. MCB University Press, 2002. V. 31, N 5, 6. P. 817-826.
[Stefanuk, Zhozhikashvili, 2002b] Stefanuk V.L., Zhozhikashvili A.V. Algebraic Theory of Production Systems // Knowledge-Based Software Engineering. Proceedings of the Fifth Joint Conference on Knowledge-based Software Engineering / Ed. T.Welzer, S.Yamamoto, and I.Rozman. — IOS Press, 2002. - P. 116-124.
[Steele, 1984] Steele G.L. Common Lisp. The language. — Massachusetts: Digital Press, 1984. — 465 p.
[Takeushi, Kitahashi, 1973] Takeushi A., Kitahashi T. Two-person zerosum games between automata // Trans. Inst. Electron, and Comunic. Eng. Jap. 1973. V.56A. N. 2. P. 40-45.
[Teitelman, 1974] Teitelman W. INTERLISP Reference Manual. — Xerox Palo Alto Research Center, 1974. — 260 p.
[Time-life, 1987] Speed and Power. — Alexandria, Virginia: Time-life books, 1987. - 128 p.
[Wanders, 1995] Wanders B.J. Advances in Sequence Assembly // Handbook of Capillary Electrophoresis / Ed. by James P.Landers. — CRC Press, Roca Raton, Boston, 1995. — P. 449-456.
[Weissman, 1967] Weissman C. LISP 1.5 Primer. — Belmont. Calif.: Dickenson Publishing Company, 1967. — 226 p.
[Zadeh, 1965] Zadeh L. Fuzzy sets // Information and control. — N. 8. — 1965. - P. 338-348.
[Zisman, 1978] Zisman M.D. Use of production systems for modeling asynchronous concurrent process // Pattern-directed inference systems. — New York: Academic Press, 1978. — P. 53-68.
ОГЛАВЛЕНИЕ
Предисловие Введение
Глава 1. Общие принципы локальной организации систем .
Математическое моделирование систем
Общая теория систем (27). 1.1.2. Исследование операций и теория игр (29). 1.1.3. Игровое децентрализованное управление (30).
Примеры систем, требующих локальной организации
Методика изучения локально-организованной системы
Исторические предпосылки и краткая библиография
Выводы по главе 1
Глава 2. Методы исследования локальной организации поведения систем в дискретных моделях
Асимптотический (с ростом глубины памяти) анализ
Формулировка игры ^-автоматов (50).2.1.2. Полный
анализ на ЭВМ игры двух автоматов путем моделирования (52).
Асимптотическая оптимальность последовательности коллективов s-автоматов в игре с одной партией Нэша (55).
Асимптотическое описание произвольных игр е- автоматов (59).2.1.5. Свойства вспомогательных цепей
Маркова, построенных для некоторых примеров игр (60). 2.1.6. Доказательство леммы и теоремы 2.1 (65).
Анализ потоков вероятности
Примеры вычисления финальных вероятностей (69).
Теорема М.Л. Цетлина о глубоком состоянии автомата (необходимое условие) (72).
Приближенный анализ коллективного поведения при большом числе участников
Модель формирования мнения (76). 2.3.2. Вывод уравнения процесса формирования мнения и его анализ (80). 2.3.3. Исследование приближенного уравнения процесса при нечетных к = 21 + 1 (81).
Комбинированное исследование модели памяти
Качественное описание памяти со случайной выборкой и примеры ее применения (83). 2.4.2. «Закон квадратного корня» (85). 2.4.3. «Естественный» алгоритм образования и уничтожения копий слов (87). 2.4.4. Использование «геометрических» соображений (88). 2.4.5. «Явные» алгоритмы оптимизации (89). 2.4.6. Поиск без возвращения (93). 2.4.7. Другие характеристики модели памяти со случайной выборкой (94).
Выводы по главе 2
Глава 3. Локальная организация целесообразного поведения в непрерывных моделях
3.1. Исследование роли взаимодействия при локальном управлении .
4
11
26
26
31
34
40
45
47
49
67
76
82
95
97
100
112118134149152154155160182186197209112118134149152154155160182186197209
112
118
134
149
152
154
155
160
182
186
197
209
112
118
134
149
152
154
155
160
182
186
197
209
Устойчивость локального управления в невзаимодействующем (иерархическом) коллективе (101). 3.1.2. Неэластичность поведения для широкого класса критериев в локально-организованной системе (103).3.1.3. Доказательство теорем 3.1
и 3.2 (106).
Содержательные условия устойчивости локального управления .
«Обобщенная локальная устойчивость» (113). 3.2.2. Дифференциальная форма содержательных условий устойчивости (114). 3.2.3. Устойчивость в малом (116).
Поведение коллектива автоматов в задаче о регулировке мощности
Моделирование систем связи (118). 3.3.2. Математическая модель коллектива радиостанций (119). 3.3.3. Конструкция автоматов регулировки мощности (122). 3.3.4. Устойчивость регулировки мощности (123). 3.3.5. Регулировка мощности с запаздыванием (124). 3.3.6. Заключительные замечания (132).
Одна теорема об М-матрицах и ее применения
Выпуклость множества Л^^ (140). 3.4.2. Об одном условии невырожденности произвольной матрицы (144). 3.4.3. О взаимопомощи в коллективе автоматов (144).
Локально-организованное управление многозвенным манипулятором
Модель манипулятора (150). 3.5.2. Двухуровневая система управления (151).
Выводы по главе 3
Глава 4. Локальный подход к решению фундаментальных задач искусственного интеллекта
Локальный подход к выбору представления задач
Принцип семиотической интроспекции (156). 4.1.2. Семиотическая интроспекция в задаче «крепкий орешек» (158).
Вариации на тему задачи «крепкий орешек»
Иерархия проблем (161). 4.2.2. Работа с произвольным массивом клеток (172). 4.2.3. Локальное управление потоками такси (178). 4.2.4. Имитационное моделирование (180).
Локальный подход при эволюционном конструировании
Аргументы в сравнении со знаниями (184).
Локальное формирование простых фреймов
Суть проведенных экспериментов (186). 4.4.2. Эксперименты с программой формирования фреймов (187). 4.4.3. Оценка целесообразности обобщения ситуаций (195).
Формальная теория представления знаний и локального обучения
Основные определения (198). 4.5.2. Примеры конкретизации теории в приложениях (201). 4.5.3. Сети образцов (202). 4.5.4. Сети продукций (р-сети) (207).
Некоторые аспекты теории локально-организованных человекомашинных (экспертных) систем
Экспертные системы метауровня (209). 4.6.2. Использование нечеткой логики (211). 4.6.3. Получение закона объединения
218218свидетельств — аксиоматический подход (213). 4.6.4. Взаимозависимость свидетельств (214). 4.6.5. Принцип максимального доверия свидетельствам (216).
218
218
Выводы по главе 4
220222220222Глава 5. Использование локальной организации при разработке прикладных программных и человеко-машинных систем
220
222
220
222
Локальный подход в программировании
Проблема взаимодействия подпрограмм в локально-организованной программе (224). 5.1.2. Рекурсивное взаимодействие при вычислении арифметических функций (230). 5.1.3. Наглядное программирование вычислений (234). 5.1.4. Интерактивная система программирования ЭКЛИСП (236). 5.1.5. Комментирующая система для языка Лисп (236).
239242239242Интеллектуальная операционная система на локальных принципах
239
242
239
242
253253Локальная организация гибкого обслуживания в системе Лисп. .
253
253
Принципы организации системы (242). 5.3.2. Формальное описание системы (243). 5.3.3. Представление знаний в системе FLEX (246). 5.3.4. Описание составных частей системы FLEX (248). 5.3.5. FLEX как экспертная система (251).
Локально обучающаяся система поддержки ввода информации .
Диалоговая система как автомат (254). 5.4.2. Описание системы PROMPTER в виде формальной модели (255). 5.4.3. Теоретико-категорное описание системы (257). 5.4.4. Выбор параметров в системе PROMPTER (260). 5.4.5. Применение системы PROMPTER при работе с портовой документацией (262). 5.4.6. Детали реализации (265).
267267Использование знаний экспертов при выявлении последовательности оснований ДНК
267
267
Постановка задачи (268). 5.5.2. Близкие работы (270).
Различные взгляды на определение последовательности оснований (270). 5.5.4. Локальный топологический подход (273).
Заключение (274).
275281284287292298307275281284287292298307Профилактика заражения компьютерным вирусом и получения спама через электронную почту
275
281
284
287
292
298
307
275
281
284
287
292
298
307
Активный фильтр для вирусов и спама (276). 5.6.2. Активный фильтр антиспам (278).
Выводы по главе 5
П.1. Некоторые характеристики памяти со случайной выборкой в сравнении со «стопкой книг»
П.2. Двухуровневая система управления манипулятором
П.З. Примеры построения категорий для традиционных операций со знаниями в искусственном интеллекте
П.4. Учет побочных эффектов и организация программы снятия рекурсии
Список литературы
ему удалось построить оригинальный пример асимптотически оптимального
поведения пары автоматов. Эти автоматы, взаимодействуя лишь через среду,
ведут себя (в пределе) не хуже, чем многие другие как угодно взаимодейству
ющие между собой устройства. .. ».
х) Это всего лишь возможность. У нас нет доказательств, что такое действительно происходит. И, конечно, речь может идти лишь о небольшой прослойке специалистов, склонных к криминальным поступкам.
УДК 519.711.2
ББК 32.813
С 79
Стефанюк В. Л. Локальная организация интеллектуальных систем. - М.: ФИЗМАТЛИТ, 2004. - 328 с. - ISBN 5-9221-0395-4.
Предложен и детально исследован новый принцип организации больших систем — локальная организация. Локальная организация, развивающая и уточняющая принципы создания распределенных систем, представляет собой важную альтернативу централизованным и децентрализованным системам. Она позволяет предложить и проанализировать ряд новых моделей технических систем с элементами искусственного интеллекта.
Подход обоснован рассмотрением многочисленных проблем и математических моделей, возникающих в дискретных, непрерывных, комбинаторных и программных задачах. Большинство моделей носит оригинальный характер и может представлять также самостоятельный интерес для теории и различных приложений.
Для специалистов в области информатики, для преподавателей, аспирантов и студентов старших курсов соответствующих специальностей.
Научное издание
СТЕФАНЮК Вадим Львович
ЛОКАЛЬНАЯ ОРГАНИЗАЦИЯ
ИНТЕЛЛЕКТУАЛЬНЫХ СИСТЕМ
Редактор О. В. Салецкая
Оригинал-макет: Н.Ю. Савченко
Оформление переплета: А.Ю. Алехина
ЛР №071930 от 06.07.99. Подписано в печать 22.07.04. Формат 60x90/16.
Бумага офсетная. Печать офсетная. Усл. печ. л. 20,5. Уч.-изд. л. 22,55. Заказ №
Издательская фирма «Физико-математическая литература»
МАИК «Наука/Интерпериодика»
117997, Москва, ул. Профсоюзная, 90
ISBN 5-9221-0395-4ISBN 5-9221-0395-49 785922 1039549 785922 103954E-mail: fizmat@maik.ru, fmlsale@maik.ru http: //www.fml.ru
ISBN 5-9221-0395-4
ISBN 5-9221-0395-4
9 785922 103954
9 785922 103954
Отпечатано с готовых диапозитивов в ПФ «Полиграфист»
160001, г. Вологда, ул. Челюскинцев, 3
Тел.: (8172) 72-55-31, 72-61-75, факс: (8172) 72-60-72
E-mail: form.pfp@votel.ru http://www.vologda/~pfpv
ISBN 5-9221-0395-4ISBN 5-9221-0395-4© ФИЗМАТЛИТ, 2004
ISBN 5-9221-0395-4
ISBN 5-9221-0395-4
© В. Л. Стефанюк, 2004
Посвящается светлой памяти моих родителей Льва Александровича и Клавдии Ивановны и моего учителя — Михаила Львовича Цетлина
Данная книга посвящена локально-организованным или распределенным системам, которые получили широкое распространение в науке и технике. Книга имеет прямое отношение к области искусственного интеллекта, так как многие, если не большинство, из встречающихся в искусственном интеллекте задач решаются именно путем использования некоторой совокупности взаимодействующих определенным образом отдельных устройств, преследующих свои индивидуальные цели, т. е. с помощью локально-организованных систем.
Ориентация книги на искусственный интеллект обусловлена также выбором тех проблем, на которых в книге иллюстрируются положения локальной организации, которые, разумеется, могут найти и более широкое применение.
Однако автор не планировал создать еще один учебник по искусственному интеллекту. Действительно, перевод автором на русский язык примерно двух десятков прекрасных зарубежных книг по искусственному интеллекту, написанных ведущими специалистами в этой области, ясно показал, что практически каждая из них может быть использована в качестве учебного пособия по этой дисциплине, и нет смысла в создании еще одной такой книги.
Кроме того, целый ряд удачных книг учебного плана выпущен отечественными авторами. Можно уверенно сказать, что недостатка учебной и обзорной литературы по искусственному интеллекту у нас нет.
В данном случае читателю предлагается материал, который формировался у автора на протяжении многих лет в параллель бурному развитию области искусственного интеллекта за рубежом, в котором автор также принимал определенное участие.
Более того, чем глубже автор знакомился с лучшими западными работами, тем яснее становилось, что зарубежные специалисты склонны концентрироваться на относительно узком спектре несомненно важных задач, игнорируя при этом множество других проблем, которые, на взгляд автора данной книги, также следует отнести к области искусственного интеллекта как науки, ставящей своей целью создание искусственных систем, достаточно хорошо имитирующих интеллектуальную деятельность незаурядной человеческой личности, способностям которой мы не перестаем удивляться.
Таким образом, настоящая книга ориентирована на тех, кого проблематика искусственного интеллекта волнует в целом, а не только в той своей части, которая на протяжении более тридцати лет успешно
развивается, составляя традиционную часть этой науки. Для ее чтения не обязательно, чтобы читатель был знаком с традиционным, главным направлением искусственного интеллекта, но желательно уже потому, что автор часто использует сложившуюся там терминологию.
Автор отнюдь не одинок в своем желании пополнить то множество проблем, которое рассматривается в традиционном, или основном направлении искусственного интеллекта (main stream). Можно назвать по крайней мере еще нескольких ученых, которые также писали «альтернативные» книги. Один из них — известный британский специалист А. Эндрю [Эндрю, 1985], который особое внимание уделил биологическим и биофизическим проблемам и моделям искусственного интеллекта, другой — Д. Хофштадтер [Hofstadter, 1981], указавший на тесную связь искусственного интеллекта с фундаментальной математикой, живописью и классической музыкой. Кроме того, потребность в нетрадиционных книгах по искусственному интеллекту начинает все острее ощущаться в последнее время и в устоявшемся сообществе специалистов по искусственному интеллекту. Обратим, например, внимание на недавно изданную в Нью-Йорке книгу Т. Мунаката [Munakata, 1998], в которой изучаются нейронные сети и генетические алгоритмы, обычно рассматривающиеся в основном направлении искусственного интеллекта лишь как вспомогательные технические средства.
Далеко не все, но многие результаты, вошедшие в предлагаемую вам книгу, были опубликованы автором в журналах, сборниках или трудах национальных и международных конференций. Поэтому, на всякий случай, заранее приносим извинения за возможные в связи с этим повторы.
Наиболее важным и новым представляется то, что весь материал книги накрывается единым «зонтиком», который назван в ней локалъ- ной организацией. Именно существование такого зонтика и призвано оправдать саму публикацию подобной книги, хотя, в конечном счете, читателю судить, насколько эта концепция является удачной.
Прежде, чем приступить к знакомству с данной книгой, отметим, что под этим зонтиком, спрятаны, как нам кажется, несметные богатства, некоторые из которых описаны в книге в виде моделей, предлагаемых для них методов анализа и разнообразных приложений. Не все из приводимых математических моделей уже нашли применения, но отдельные положительные примеры, например, современная мобильная радиосвязь, по-своему реализовавшая нашу модель коллектива радиостанций, показывает, что главные успехи, возможно, еще впереди.
Использование моделей дает очевидные преимущества по сравнению с действиями над реальными объектами, которые подвергаются моделированию:
модели позволяют рассматривать системы, которые пока не существуют, т. е. проводить перспективный анализ ситуации (например, мобильная связь);
модели позволяют рассматривать роль разнообразных параметров изучаемой системы, варьировать которые на реальных объектах было бы расточительным и даже опасным делом (например, при создании экспертных систем, предназначенных для медицины или для управления атомными станциями);
модели позволяют вводить и подвергать рассмотрению новые параметры системы, первоначально отсутствующие у моделируемой системы;
модели позволяют рассматривать целые классы систем, объединяемые по некоторому признаку, делая выводы, относящиеся уже ко всему классу;
модели позволяют применять достаточно абстрактные математические методы вместо прямого экспериментирования (direct experimenting) или интуитивной unotcenepuu (intuitive engineering)^ весьма распространенных в практике создания новых систем.
Надо не забывать, что моделирование таит в себе и возможность просчетов, поскольку недоучет реальных особенностей существования системы может привести к фатальным для этой системы последствиям или, наоборот, породить чисто виртуальные системы, практически не реализуемые или не имеющие практического смысла, что особенно часто встречается в практике моделирования ). Именно поэтому только испытание созданной модели в приложениях, т. е. полевое испытание (field test) может поставить окончательную точку в оценке результатов.
Хотя и здесь следует проявлять осторожность, поскольку, прежде всего, полевое испытание может оказаться неадекватным. Иногда же сама целесообразность его проведения оказывается под вопросом, либо из-за непомерно высокой ожидаемой стоимости или, как иногда это случается, из-за позиции авторитетных оппонентов, препятствующих внедрению нового по соображениям научной или инженерной амбиции. Но чаще всего такое происходит потому, что новация «опережает свое время» и просто необходимо, оказывается, выдержать какую-то паузу. В истории науки и техники имеется множество тому примеров.
В последнее время, особенно в связи с широким распространением вычислительных машин и духа коммерции, или как часто говорят, «внедрением в жизнь рыночных отношений», почти единственным видом моделирования повсеместно признается создание коммерческих программных продуктов. При этом постепенно утрачивается интерес
к математическим подходам и другим абстрактным методам моделирования ). Новое поколение исследователей подчас просто оказывается не знакомым с соответствующими методами и не пользуется ими в виду отсутствия хороших учебных руководств и образцов для подражания.
Поэтому одной из первых задач, которую автор поставил перед собой при написании настоящей книги, является попытка дать достаточно широкую панораму современных методов математического моделирования, показав полезность и силу таких подходов на целом ряде достаточно ярких примеров.
Там, где это удавалось, рассматриваются и реализации некоторых моделей на практике. К сожалению, в отдельных случаях до реализации дело еще не дошло, и хочется надеяться, что любознательные читатели, заинтересовавшись прочитанным, доведут и другие модели, множество которых они найдут в предлагаемой книге, до их успешной практической реализации.
Другой нашей задачей является попытка восстановить вкус к созданию математических моделей и их анализу, который, по глубокому убеждению автора книги, постепенно утрачивается. Дело в том, что математическое моделирование — дело не простое, и подчас гораздо проще написать программу для компьютера и на ней сразу показать перспективность предлагаемого подхода. К сожалению, область искусственного интеллекта, в которую автор погружен на протяжении сорока лет, изобилует примерами эффектных машинных демонстраций, не получивших, тем не менее, никакого дальнейшего развития, поскольку был обойден этап тщательной разработки модели, анализа ее на полноту и другие полезные свойства, которые должны были бы предшествовать предлагаемой компьютерной реализации.
В качестве примера возьмем яркую работу по созданию системы SHRDLU проф. Т. Винограда из Лаборатории искусственного интеллекта Массачусетского технологического института, США, в которой на компьютере была имитирована задача управления манипулятором, переставляющим привычные детские кубики, под управлением команд, вводимых оператором на обычном (английском) языке [Виноград, 1976].
В сущности, Т. Винограда больше всего интересовала возможность понимания вычислительной машиной фраз естественного языка и его работа в этом направлении считается одной из лучших.
Демонстрации системы SHRDLU всегда проходили с большим и весьма заслуженным успехом. Однажды мне довелось присутствовать на такой демонстрации вместе с проф. Ж.-К. Симоном, прилетевшим тогда в Массачусетский технологический институт (США) из Парижа. Вопрос, который нас надолго сдружил с Ж.-К. Симоном, о том, на каких корректно построенных фразах естественного языка система SHRLDU непременно ошибется, так и не получил тогда ответа.
Поскольку на тот момент не было создано достаточно полной модели всей системы понимания естественного языка, то и ответа на этот «каверзный вопрос» не могло быть, если только не делать полного перебора всех возможных корректных американских фраз, что, очевидно, невозможно. Кстати, несколько позже Т. Виноград сказал мне в частном разговоре, что такие «неудобные» фразы действительно существуют, но как-то охарактеризовать их он пока не в состоянии. На наш взгляд, именно это обстоятельство объясняет то, что бесчисленные последующие попытки создания систем управления командами, отдаваемыми на естественном языке, с тех пор так и не прекратились, сопровождаясь каждый раз все более яркими машинными демонстрациями, следуя моде, установленной еще в 60-х годах.
Вообще, про большинство «внедренных» работ искусственного интеллекта можно было бы сказать, что это — демонстрации, показывающие именно моменты успеха в работе системы. Кстати, в таком же стиле строятся и многие теоретические работы, публикуемые в трудах престижных конференций по искусственному интеллекту, в которых показано, как вводя некоторый конкретный формализм, удается преодолеть ту или иную отдельную трудность. Складывается впечатление, что некоторых авторов совсем не волнует то, что при этом остается не выделенной, и следовательно, не решенной главная, принципиальная проблема.
Так, до сих пор осталась нерешенной одна из принципиальных проблем искусственного интеллекта — так называемая проблема фрейма, которая была сформулирована отцами-основателями искусственного интеллекта в 50-х годах прошлого века. Примечательно, что за эти годы были предприняты самые разнообразные, иногда несколько неожиданные, попытки ее преодоления: не решив проблемы, некоторые авторы попросту предлагали признать эту проблему малосущественной, поскольку в демонстрациях ее обычно удавалось тем или иным образом обойти. Действительно, например в подходе, использованном в системе интеллектуального управления роботом «Шейки», предполагалось, что в памяти компьютера хранится вся информация о действиях робота и их результатах от момента зарождения системы. А поскольку объем этой информации был относительно мал, то система с легкостью могла пересмотреть результаты своих действий в прошлом, согласованно и последовательно корректируя все, даже самые незначительные изменения, которые вызывались подобным пересмотром.
Совершенно ясно, что ведение полного «гроссбуха» совершаемых поступков, равно как и их прямых и побочных результатов, является, в общем случае, делом нереальным, если говорить об искусственной системе, которая функционирует достаточно продолжительное время, находясь в богатой реакциями внешней среде. (Разумеется, весьма опытные разработчики проекта «Шейки», руководимые проф. Н. Нильссоном из Станфордского исследовательского института (США), уже в первых его версиях рассмотрели возможность внесения неким существом «в черном плаще» непредвиденных изменений в окружающую среду, в результате которых возникало расхождение между тем, что
хранилось в памяти компьютера и реальной ситуацией. И в каких-то демонстрационных случаях система вела себя вполне адекватно.)
Ясно, что требуется более общий и более тонкий анализ ситуации. Характерно, что в самое последнее время (см. труды недавней Международной объединенной конференции по искусственному интеллекту [IJCAI-2001]), некоторые авторы начинают снова задумываться над сущностью проблемы фрейма, предлагая новый раунд атаки на нее, опираясь на развитые теоретические методы формальной логики [Сте- фанюк, 20026].
Третья задача, которую ставил перед собой автор данной книги, — это обратить внимание современного читателя на те несомненные достижения, которые получены именно в нашем, отечественном научном сообществе. Эти достижения часто либо неизвестны за рубежом, либо откровенно там игнорируются. Не вдаваясь в анализ причин этого, отмечу, что влияние зарубежной науки на нашу науку, наоборот, является значительным, что отвечает самому духу российской науки. Тщательное изучение всевозможных первоисточников — важная традиция, обеспечивающая быстрый научно-технический прогресс и гарантирующая новизну (патентную чистоту) предлагаемых нашими учеными и специалистами оригинальных решений.
Однако беседы со студентами, аспирантами и молодыми исследователями иногда выявляют совершенно неадекватную, негативную сторону этого явления. Есть примеры, когда молодежь принимает западные публикации за образец не просто некритично, но и не осознавая, что в ряде случаев они имеют дело всего лишь с западными версиями тех подходов и методов, которые зародились и были развиты именно в нашей стране, подчас, на много лет раньше. В результате у такой молодежи происходит то, что называется «потеря темпа». Целый ряд отечественных работ остается вне их поля зрения и происходит откат назад (backtracking) вместе с теми западными специалистами, у которых не столь развиты традиции добросовестной и тщательной проработки достижений, полученных до их собственного прихода на научную сцену.
Одним из ярких примеров является область многоагентных систем [Тарасов, 2002; Стефанюк, 1997], которая сформировалась в западной науке лет десять назад, вызвав к себе большой интерес ученых и практиков всего мира. Когда речь идет о воплощении таких систем на сети Интернет с использованием, например, технологии программирования Java, то это — безусловно новая, современная дисциплина. Если же говорить о попытках моделирования поведения, агентов, т. е. организации их индивидуальных предпочтений и взаимодействия агентов друг с другом, то здесь получаемые результаты представляются довольно посредственными по сравнению с глубокой теорией коллективного поведения и игр автоматов, развитой у нас в стране в школе М. Л. Цетлина, первые публикации которой относятся к началу 60х годов прошлого века. Основным отличием западных работ при этом часто оказывается лишь новая терминология, которая может сбить с толку любого читателя, тем более неподготовленного. Например то,
что в работах М. Л. Цетлина было в свое время названо системой штрафов и нештрафов для конечных автоматов, погруженных в случайную среду, в западной науке получило название обучения с подкреплением (reinforced learning). Этот и масса сопутствующих ему терминов позволяют представить эту дисциплину как совершенно новое научное направление, хотя это далеко не так.
Затронутая проблема научных приоритетов не является новой или слишком простой и я не хотел бы здесь развивать ее дальше.
С другой стороны, невозможно переоценить тот фундаментальный научный вклад, который внесли такие яркие представители нашей информатики, как А. А. Ляпунов, А. А. Колмогоров, М. Л. Цетлин, М. М. Бонгард и многие другие, о чем можно прочесть в прекрасной обзорной книге Д. А. Поспелова и Я. И. Фета [Поспелов и Фет, 1998] или в энциклопедическом словаре Д.А. Поспелова [Поспелов, 1994]. Как видно, один перечень замечательных имен и только некоторых их достижений уже может составить отдельную книгу.
Большинство из моих собственных результатов, излагаемых в настоящей книге, были бы просто невозможны, если бы я не обрел еще в студенческие годы моего замечательного учителя, профессора МГУ Михаила Львовича Цетлина.
Дальнейшая моя самостоятельная работа развивалась бы совершенно иначе, если бы я позже не познакомился еще и с такими крупными учеными, как А. В. Бутрименко, В. И. Варшавский, Д. А. Поспелов, Г. С. Осипов, О. П. Кузнецов, В. Ф. Хорошевский, Т. А. Гаврилова, Э. В. Попов, Т. А. Таран, В. В. Емельянов, В. Б. Тарасов, ставшими не только моими коллегами, но и друзьями, и многими другими учеными, творческий вклад которых мне иногда трудно отделить от того, что предложено и сделано мною самим. Из зарубежных специалистов наибольшее воздействие на мои подходы оказали такие известные люди, как Дж. Маккарти, Н. Нильсон, А. Эндрю, Р. Мизогучи, X. Уено, А. Д. С. Холден, Э. Сандеволл, Д. Мики, Ж.-К. Симон и целый ряд других ученых, в лабораториях которых автор обсуждал многие из своих результатов и черпал для себя дополнительные идеи.
Всем перечисленным, а также и многим не упомянутым здесь замечательным ученым и моим коллегам, я выражаю самую глубокую благодарность за ту научную атмосферу, в создании которой они приняли участие и, главное, за то плодотворное влияние, которое они оказывали, и, я надеюсь, будут и впредь оказывать на мою собственную деятельность.
Отчитаться перед ними — четвертая важная задача предлагаемой вам книги.
Издание книги стало возможным благодаря финансовой поддержке со стороны Российского фонда фундаментальных исследований, которому автор выражает особую признательность.
Москва,
17 июля 2002 г.
В экономике, промышленном производстве, информатике, политике и многих других областях все больше внимания уделяется вопросам организации существующих или вновь создаваемых систем, обеспечивающих целесообразное, в том или ином смысле, поведение системы в целом. Решение возникающих при этом проблем существенно зависит от степени децентрализации управления компонентами системы в ходе ее функционирования.
Во многих технических областях, где имеют дело со сложными или большими системами, в определенный момент времени также возникает особый интерес к принципам организации систем, носящим децентрализованный, распределенный или локальный характер. В качестве примеров укажем на поток работ по коллективному поведению автоматов в начале 60-х годов, на поток работ по децентрализованному и распределенному управлению сетями связи и сетями передачи данных в конце 60-х и в начале 70-х годов прошлого века, а в самое последнее время — на поток подобных работ в области искусственного интеллекта, где появились такие новые для этой науки понятия, как многоагентность, коннекционизм, интеракционизм и др.
При этом из публикаций видно, что, как правило, многие соображения по распределенной, локальной организации возникают у авторов, работающих в различных предметных областях, как бы заново, без естественного использования аналогичных результатов, полученных в других предметных областях. Причина этого состоит в том, что в литературе отсутствуют попытки выделить и описать феномен локальной организации как таковой, и настоящая книга направлена на то, чтобы хотя бы отчасти ликвидировать этот пробел.
Нетрудно убедиться, что часто определенный подъем интереса к локальной организации возникает после того, как бывают исчерпаны более привычные глобальные или централизованные подходы и постановки задач.
С другой стороны, известно, что развитие техники характеризует не только создание новых или более совершенных методов решения изолированных, частных задач, но и укрупнение систем путем объединения частных «умений» с целью создания нового единого технического организма — техноценоза: «Техноценозы, — подобно биологическим сообществам, биоценозам — представляют собой множество различных технических устройств, приборов, систем и приспособлений, связанных между собой тесными и на первый взгляд непривычными связями» (см. [Варшавский и Поспелов, 1984], с. 5).
Именно такой тип технологического прогресса характеризует создание сетей связи, сетей передачи данных, многопроцессорных компьютеров, комплексных программных продуктов, гибких и безлюдных автоматизированных производств и др. Возникающие на этом пути системы оказываются, как правило, локально-организованными.
Отметим, что создание локально-организованных систем часто дает возможность разрешить логическое противоречие между хорошей степенью изученности частей системы и малой изученностью системы в целом. Поэтому этот тип организации особенно актуален для новых, еще создающихся и допускающих дальнейшее развитие систем.
Не будет преувеличением сказать, что в теоретических вопросах локальной организации нашей стране (СССР) принадлежит приоритет. Наиболее важные результаты при этом были получены в школе проф. МГУ М. Л. Цетлина, заложившей основные идеи локальной организации на примере и в терминах коллективного поведения и игр автоматов.
Развитие теории здесь позволило предложить целый ряд моделей систем нового типа, некоторые из которых нашли и соответствующее прикладное воплощение: сети связи (В. Г. Лазарев, А. В. Бутри- менко, Б. М. Гинзбург), многопользовательские системы радиосвязи (В. Л. Стефанюк, Т. Ковер) и др.
При изучении локально-организованных систем были также поставлены многие существенные математические вопросы, разработаны новые методы анализа, включая качественные (приближенные), выявлена связь с вопросами эргодичности и некоторыми другими статфи- зическими проблемами.
Работы этого направления продолжают развиваться, и в данной книге делается попытка подвести итог этому развитию, опираясь, в основном, на собственные результаты ее автора.
Актуальность темы книги, посвященной изучению принципов локальной организации, определяется широкой распространенностью систем, требующих локальной организации, отсутствием единого методического подхода и слабой разработанностью ряда теоретических аспектов такой организации. Изучение соответствующей совокупности вопросов имеет большое научное и практическое значение, позволяя глубже понимать организацию существующих больших систем и создавать более совершенные новые системы из сложных компонент.
Актуальность темы книги подтверждается ее непосредственной связью с научными работами Института проблем передачи информации Российской академии наук, где, в частности, велись следующие проекты.
— «Цифровые методы обработки информации в сложных человекомашинных системах», НТП 0.16.10 (задание 01.04.Н2), гос. per. №01.86.0000497.
— «Центральное управление роботами», задание Координационного плана 0.74.01 (раздел 11.01.ИЗ) по постановлению ГКНТ при СМ СССР №475 от 17.Х.75 г.
— «Восстановление зависимости и прогнозирование при небольшом числе наблюдений», гос. per. № 77050700.
— «Математическое моделирование механизмов передачи и переработки информации в нейронных структурах», гос. per. № 72004782.
Кроме того, ряд вопросов книги был раскрыт в ходе проведения следующих работ.
— В рамках проблемной комиссии многостороннего сотрудничества АН социалистических стран «Научные вопросы вычислительной техники» (КНВВТ), рабочая группа РГ-18 «Представление знаний в человеко-машинных и робототехнических системах» (19801985 гг.) и рабочая группа РГ-22 «Аппаратные и программные средства искусственного интеллекта» (1985-1990 гг.).
— В рамках научно-технического сотрудничества с Центральным научно-исследовательским институтом эпидемиологии Минздрава СССР (1986-1989 гг.) по теме «Разработка прототипа тренажера для специалистов и центра самодиагностики СПИДа на базе микро-ЭВМ».
— В рамках научно-технического сотрудничества с Институтом США и Канады АН СССР (1986-1989 гг.) по теме «Разработка информационной экспертной системы, относящейся к классу мета экспертных систем».
— В процессе научно-технического сотрудничества с Государственным проектно-изыскательским и научно-исследовательским институтом морского транспорта (1985-1987 гг.) по теме «Разработка и внедрение комплекса программ на языке Лисп для автоматизированного контроля адекватности и непротиворечивости грузовых документов, передаваемых между портами по каналам связи».
Большую роль сыграло участие автора книги в следующих темах, финансирование большинства которых осуществлялось ГКНТ и РФФИ СССР и России.
— «Проблемы теоретике-категорной формализации работы интеллектуальных компьютерных систем, основанных на знаниях», Я9 2.4, грант Президиума РАН на 2001 г.
— «Проблемы построения персональных обучающих систем на основе интеллектуальных человеко-машинных интерфейсов», грант РФФИ 02-01-00955 на 2002-2004 гг.
— Тема «Создание инструментального средства проектирования интеллектуальных систем на основе технологии быстрой разработки приложений», выполненная в рамках государственной научно-технической программы «Информатизация России» Министерства науки, технической политики и образования, по проекту 037.02.226.147/1-96 (1996-1998 гг.).
Тема «Системы для работы с нечеткими данными в динамической базе знаний на персональном компьютере», выполненная по подпрограмме «Перспективные информационные технологии» приоритетного направления «Информационные технологии и электроника» федеральной целевой научно-технической программы на 1998-2000 гг. «Исследования и разработки по приоритетным направлениям развития науки и техники гражданского назначения», направление: «Искусственный интеллект», проект №0201.04.005 (1998-1999 гг.).
«Исследование устойчивости поведения локально-организованных систем искусственного интеллекта», РФФИ №96-01-00334 (1996-1998 гг.).
«Разработка программных средств контроля эффективности обучения в интеллектуальных обучающих системах», часть проекта «Разработка программных средств выявления и представления знаний и их использование при создании обучающих систем медицинской диагностики» по подпрограмме «Перспективные информационные технологии» приоритетного направления «Информационные технологии и электроника» федеральной целевой научно-технической программы «Исследования и разработки по приоритетным направлениям развития науки и техники гражданского назначения», конкурсное задание «Разработка программных средств выявления и представления знаний и их использование при создании интеллектуальных и обучающих систем (интеллектуальные тренажеры)» №0201.04.240, 1999 г.
«Проблемы построения интеллектуальных человеко-машинных интерфейсов методами локально-организованных систем», РФФИ №99-01-01152 (1999-2001 гг.).
Проект № 2.24 на 2002 г. по комплексной программе научных исследований Президиума РАН «Математическое моделирование, интеллектуальные системы и управление нелинейными механическими системами».
НИР «Исследование и разработка экспертных обучающих систем» (шифр «КОАЛА-АН») (1991-1995 гг.).
«Исследование и разработка интеллектуальных обучающих сред», грант Министерства науки, технической политики и образования России, проект №1032 (1993-1995 гг.).
«Advanced Man-Machine Interface for Process Control Application (AMIGA)», BRITE/EURAM Project 6126 (1994-1995 гг.).
НИР «Разработка и создание исследовательского прототипа сей- смопрогностической экспертной системы» (шифр «СЕЙСМОЛОГ») по договору №01.03-21 между Институтом физики Земли и Советской ассоциацией искусственного интеллекта (1991 г.).
— НИР «Разработка методов использования нечетких знаний для применения в исследовательском прототипе сейсмопрогности- ческой экспертной системы» (шифр «СЕИСМО-91»), договор Я910/91 между Институтом физики Земли и ИППИ АН СССР.
— «Развиваемая консультационная человеко-машинная система». Государственная научно-исследовательская программа: «Перспективные информационные технологии», раздел: «Системы искусственного интеллекта» (Распоряжение Президиума АН СССР) (1989-1991 гг.).
«Анализ и моделирование технологии создания сейсмопрогности- ческих систем на основе эвристических знаний». Договор К916 от 29 марта 1990 г. между Институтом физики Земли и ИППИ АН СССР.
Цель книги — дать единую методологическую основу анализа локально-организованных систем и показать, что локальная организация технических систем является новым перспективным направлением в теории и практике создания больших систем в технике и информатике. В частности, в ней рассмотрены следующие положения:
путем рассмотрения представительной совокупности моделей, возникающих в разнообразных предметных областях, показана широкая применимость локальной организации;
показана применимость и полезность предложенной в книге методики исследования локально-организованных систем, позволяющей, как правило, строить иерархии локально-организованных систем;
дан достаточно полный пакет методов математического анализа моделей локально-организованных дискретных и непрерывных систем в области информатики и программирования;
указан широкий набор критериев целесообразности, которым в состоянии удовлетворить работа локально-организованных систем, предназначенных для различных предметных областей;
на принципах локальной организации построен целый ряд новых моделей технических систем, проявляющих целесообразное поведение;
показано, что принципы локальной организации позволяют эффективно создавать сложные пакеты программ.
Научная новизна темы книги обусловлена тем, что ее автору принадлежит приоритет в формулировке основных положений теории локальной организации систем и вытекающих из нее результатов, полученных на всех этапах развития этого подхода. Им предложены
и реализованы оригинальные методы исследования вопросов локальной организации в разнообразных предметных областях, предложен и изучен ряд новых математических моделей систем и разработан ряд программных комплексов.
Оригинальные результаты получены в таких областях, как коллективное поведение конечных автоматов, локальное управление, интерактивные программные системы, динамические экспертные системы, прикладные экспертные системы, системы представления задач, представления знаний, обучающиеся и обучающие системы.
В первой главе книги «Общие принципы локальной организации систем» сделан обзор основных подходов к математическому моделированию больших (или сложных) систем, помогающий уяснить место моделей с локальной организацией среди известных вариантов моделей систем, дается определение локально-организованных систем и формулируется методика их анализа.
В частности, проанализировано состояние общей теории систем, теории иерархических систем, исследования операций и игровых способов децентрализованного управления. Выделены те проблемы, которые возникают при создании в рамках этих научных направлений систем с централизованным и децентрализованным управлением.
Для строгого определения понятия локально-организованной системы потребовалось уточнить, что понимается под системой, под критерием ее работы, под целью ее функционирования, под целью системы в целом.
При глобальной организации конструктор располагает всей необходимой информацией, позволяющей выбрать «оптимальный вариант системы». Причем нетрудно видеть, что в класс глобальноорганизованных систем попадают как централизованные, так и децентрализованные системы.
Из приводимой формулировки глобальной организации видно, что она невозможна, если выполняется хотя бы одно из следующих условий:
не задана цель системы;
ни одна из подсистем системы не располагает достаточно полной информацией о других подсистемах.
Естественной альтернативой глобальной организации является локальная организация, при которой система S представляется состоящей из ряда подсистем S^ каждая из которых является глобальноорганизованной, т. е. для St конструктором определена ее цель G^ но цель системы S либо не задана в объеме, необходимом для создания глобально-организованной системы, либо каждая подсистема Si располагает лишь ограниченной локальной информацией С о результатах действий других систем и получаемых ими входных значениях, что, само по себе, не позволяет создать децентрализованный вариант глобально-организованной системы. Система считается локально организованной по определению, если хотя бы одна из ее подсистем является локально-организованной системой.
Далее в гл. 1 упомянуты два примера (сеть связи и интеллектуальная операционная система), моделирующие реальные технические ситуации, в которых локальная организация возникает с неизбежностью. Отмечено, что в книге в качестве моделей локально-организованных систем обсуждаются коллективное поведение автоматов (конечных и стохастических), локальное управление, интерактивные программные системы, экспертные системы, системы представления задач, знаний, обучающие и обучающиеся системы.
Рассмотрение столь широкого спектра моделей обусловлено тем, что каждый из перечисленных классов моделей порожден своей предметной областью, создающей, как правило, специфические трудности в постановочном, методологическом и математическом отношении.
Объединяющим началом в изучении этих разных моделей является описанная в гл. 1 методология исследования локально-организованной системы. Эта методология, обобщающая опыт анализа подобных систем, с одной стороны, позволяет строить иерархии моделей в каждом классе задач, а с другой — характеризует локальную организацию как целостное научное направление.
В этой части главы отмечается, что хотя общесистемная цель в локально-организованной системе отсутствует в том смысле, в каком она требуется в общей теории систем, исследовании операций или игровых децентрализованных схемах для осуществления глобальной организации, указанная методология изучения локально-организованной системы опирается, тем не менее, на использование некоторого критерия выбора приемлемого варианта системы в целом. В качестве последнего могут выступать целесообразность, живучесть, открытость, устойчивость, эластичность и т. д. (см. табл. 1.4).
Подчеркивается, что критерий выбора варианта при локальной организации системы не является критерием качества функционирования системы, характерным для централизованных и децентрализованных систем. Задача такого критерия более «скромная» — обеспечить нормальное функционирование подсистем, составляющих систему, в соответствии с их локальными критериями качества.
Критерии выбора приемлемого варианта меняются от одной группы задач к другой, их формулировка и применимость, как правило, определяются предметной областью, что иллюстрируется данной книгой. Тем не менее, удается выделить некоторые классы математических моделей, в пределах которых конкретизация элементов моделей локальноорганизованных систем является более или менее устоявшейся. Это, прежде всего:
конечные, детерминированные и вероятностные автоматы (коллективное поведение автоматов, игры автоматов);
автоматы с непрерывным множеством действий (системы связи с многими пользователями, экономико-математические модели);
системы с нечетким (по Л. Заде) взаимодействием (человекомашинные, экспертные системы);
взаимодействующие модули программы (интерактивные языки программирования высокого уровня, системы искусственного интеллекта) ;
системы представления задач и знаний, обучающиеся системы.
Соответствующий материал первой главы позволяет очертить основной круг задач, которые призвана решить настоящая книга.
Первую главу заключает относительно подробный обзор истории развития идей, имеющих отношение к методам локальной организации целесообразного поведения систем. Задача этого обзора — подтвердить актуальность такого подхода и показать вклад автора книги в становление и развитие этого направления.
Дальнейшая структура книги выбрана так, чтобы максимально упростить получение ответов на поставленные в гл. 1 вопросы.
Так, в главах 2-4 собран материал по локально-организованным системам, относящимся к дискретным, непрерывным и комбинаторным моделям соответственно, что отражает особенности используемого в этих главах математического аппарата.
Главы 2-4 носят в основном теоретический характер, конкретизируя высказанные в гл. 1 положения, касающиеся локальных принципов организации целесообразного поведения технических систем. Но не все исследуемые в них модели носят чисто иллюстративный, служебный характер. В тех случаях, когда это уместно, ведется углубленное изучение самой модели, проводится ее сравнение с уже известными из литературы моделями, а если это модель оригинальная, то рассматриваются ее познавательные достоинства и возможные приложения.
В заключительной гл. 5 собраны те случаи, когда на основе локальной организации удается построить пакет программ, решающий определенный круг задач. Однако эта глава, в свою очередь, не является строго «прикладной», так как здесь каждая предметная область рождает свои специфические теоретические проблемы, которые преодолеваются в этой главе на пути создания конкретной локальноорганизованной системы в виде компьютерной программы.
В гл. 2 «Методы исследования локальной организации в дискретных моделях» предполагается, что подсистемами St системы S служат стохастические или детерминированные конечные автоматы, имеющие конечное число возможных действий. При этом внутренние состояния автоматов и совершаемые ими действия могут изменяться в дискретные моменты времени под влиянием получаемых данной подсистемой эффектов (штрафов), зависящих, в частности, от действий всех остальных подсистем.
Показано, что в этих предположениях для анализа возникающих локально-организованных систем в соответствии с методологией, описанной в гл. 1, применимы следующие методы:
моделирование представительной совокупности вариантов;
асимптотический (с ростом глубины памяти) анализ;
анализ точных уравнений для финальных вероятностей;
анализ потоков вероятностей;
приближенные методы (при числе агентов п —>- ос);
комбинированные методы.
В частности, в разд. 2.1 для исследования коллектива s-автоматов используются два приема: исчерпывающее машинное моделирование и асимптотический (при s —> 0) анализ.
Использование первого приема стало возможным потому, что все игры 2x2 двух s-автоматов удалось разбить на небольшое число классов, в каждом из которых достаточно было проанализировать на компьютере один представительный пример игры. В результате с применением компьютера «доказано», что во всех таких играх с единственной партией Нэша эта партия разыгрывается автоматами с подавляющей вероятностью.
Второй прием позволил аналитически доказать справедливость более общего результата: в произвольной игре s-автоматов суммарная финальная вероятность всех партий игры, не входящих в существенные классы некоторой вспомогательной цепи Маркова, при s —> 0 стремится к нулю. Если же вспомогательная цепь Маркова содержит ровно один существенный класс, то финальные вероятности в игре при этом стремятся к финальным вероятностям соответствующих состояний вспомогательной цепи Маркова.
Указанная вспомогательная цепь Маркова легко строится по исходным матрицам игры, что, в конечном итоге, позволило убедиться в целесообразном поведении коллектива s-автоматов в таких известных из литературы играх, как игра с нулевой суммой, игра в размещения, игра Гура и т. д.
В разд. 2.2 лемма о равенстве стационарных потоков вероятности между двумя подгруппами состояний, составляющих единую цепь Маркова, и некоторые соображения о достаточных условиях в теореме М. Л. Цетлина об асимптотической оптимальности, используются для иллюстрации очень простых приемов анализа целесообразности поведения «глубоких» автоматов. В случае коллективного поведения двух автоматов с линейной тактикой этот прием позволяет при исследовании целесообразности избежать использования каких-либо громоздких выкладок.
В разд. 2.3 рассматривается модель формирования мнения в коллективе простейших стохастических автоматов в результате «обмена мнениями»: коллектив разбивается на тройки и внутри каждой тройки производится голосование по большинству (возможно, с ошибкой). Эта модель служит для иллюстрации метода анализа, состоящего в приближенной замене случайной величины на ее среднее значение, что, в конечном счете, приводит к рассмотрению неэргодической модели системы (хотя исходная локально-организованная система заведомо эргодическая).
С содержательной стороны, модель этого раздела иллюстрирует то, что коллективная память оказывается существенно прочнее индивидуальной, что в данном случае наводит на мысль об аналогии с работой Дж. фон Неймана по созданию надежных систем из ненадежных компонент.
Возникшая в результате приближения неэргодическая система хорошо моделирует исходную ситуацию при п —> ос, что подтверждается приведенным в этом разделе машинным моделированием. Это явление отражает часто наблюдаемое свойство в локально-организованных системах — сосредоточение вероятностной меры на некотором подклассе состояний исходной системы.
Во многих смыслах аналогичная модель обсуждается в разд. 2.4, где строится модель памяти со случайной выборкой элементов из памяти, в которой хранится множество копий каждого элемента: «наугад» выбирается некий элемент и сопоставляется с образцом. Если сопоставление успешно, то поиск закончен; в противном случае выбранный элемент возвращается в память (или выбрасывается), выбирается какой-то другой элемент и процесс повторяется.
В предположении, что существуют априорные, но, быть может, неизвестные вероятности pi, . . . , рп, с которыми осуществляется поиск в памяти элемента данного типа, считая, что п^ — количество копий элементов типа г, г = 1, . . . , п, естественно принять за критерий целесообразности системы среднюю продолжительность поиска элементов в такой памяти.
Подсистемой Si в такой локально-организованной системе является «автомат», формирующий число тц. В этом разделе рассматривается иерархия моделей автоматов, обеспечивающих «оптимальные» числа копий, зависящая от доступной информации: вероятности pi известны; вероятности pi неизвестны, но известны числа п^; ничего не известно.
В анализе используется приближенная замена случайных величин их средними значениями, ведущая теперь к рассмотрению эргодических моделей (не смотря на то, что исходная система является неэргодической), поэтому в этом разделе даны результаты компьютерного моделирования, которые подтверждают теоретические выводы.
В приложении П.1 приводится сопоставление такой памяти со «стопкой книг» М. Л. Цетлина, для которой за прошедшие годы были получены некоторые новые данные. Результаты гл. 2 используются также в гл. 4 при анализе экспериментов по автоматическому формированию фреймов.
В гл. 3 «Локальная организация целесообразного поведения в непрерывных моделях» в качестве подсистем Si системы S выступают автоматы с непрерывным множеством действий, взаимодействующие в непрерывной шкале времени по некоторому детерминированному закону.
Если взаимодействие автоматов в предыдущей главе носило достаточно простой и фиксированный характер, то в локально-организованной системе с непрерывными автоматами открываются дополнитель-
ные возможности для анализа взаимодействия в широком диапазоне его изменения.
В гл. 3 взаимодействие подсистем описывается совокупностью непрерывных функций v^t^ = ^(ei(t), . . . , en(t)), г = 1, . . . , п, где e^t) — действие подсистемы г в момент t. a v^t) — получаемый ею эффект («г вг bi).
Нетрудно видеть, что, как правило, существует некоторая область N^n) такая, что достижимыми в локально-организованной системе S являются лишь векторы v Е N^n\ Поэтому первый вопрос, с которым сталкивается исследователь, является вопрос устойчивости. Во- первых, если v° N^n\ то работа любой системы, в которой целью подсистемы Si является достижение v^ г = 1, . . . ,п, окажется неустойчивой. Но даже если выполняется и° Е N^n\ то возникновение неустойчивости возможно в силу независимости действий подсистем Si по достижению цели v^ и локальности информации, которой располагает подсистема (она обычно сводится к паре величин e^t), v^t)).
В разд. 3.1 рассматривается локально-организованная система, в которой отсутствует взаимодействие в том смысле, что в ней нет замкнутых цепочек воздействий подсистем друг на друга. В такой системе воздействия подсистем друг на друга образуют некоторую иерархическую схему, что позволяет при достаточно общих условиях доказать, что при v° Е N(n) поведение простых дифференциальных алгоритмов выбора v^ подсистемами Si является глобально устойчивым.
Устойчивость в общем случае можно рассчитывать получить, если в качестве цели подсистемы Si будет использоваться критерий вида Ci^ei^ Vi^ ai)^ где ai является параметром, априорно выбираемым г-й подсистемой.
В этой главе показано, что такие понятия, как «глубина памяти» и «партия Нэша», имеют свои аналогии в области автоматов с непрерывным множеством действий, играя, как и в случае s-автоматов и других стохастических или детерминированных конечных автоматов, фундаментальную роль. Так устойчивость поведения в значительной степени определяется свойствами положения равновесия вида
— С^в^ Vi, ai) — 0, ~ 2 Gi^Ci^ Vi, ai) > 0, z — 1,.. . , tl^Эв}
которые являются дифференциальным выражением партий Нэша в обычном смысле слова.
В разд. 3.1 доказано, что все положения равновесия такого типа приводят к неэластичному поведению, выражающемуся в отсутствии разумного перехода от случая сильного взаимодействия в коллективе подсистем Si к случаю без взаимодействия: требование наличия равновесия в произвольном коллективе оказывается несовместимым с возможностью получить любое v^ при отсутствии взаимодействия. Эластичное поведение можно получить, рассматривая равновесные точки Нэша «с рефлексией», где малые вариации критерия Ci берутся по получаемым эффектам, а не по производимым подсистемами
действиям. (Примеры можно найти в разд. 3.4, где приведены результаты по достижимости, устойчивости и эластичности для частного случая дробно-линейной зависимости эффекта от действий в системе автоматов с непрерывным множеством действий. К такому простому взаимодействию приводят некоторые модели распределенных систем радиосвязи коллективного доступа.)
В разд. 3.2 рассматриваются содержательные условия устойчивости локального управления при и° € N^n\ которые также формулируются в «рефлексивных» терминах: когда некоторая подсистема выбирает действие, то она должна быть уверена в соответствующем результирующем изменении получаемого ею эффекта, по крайней мере в случае, когда остальные подсистемы не стремятся «улучшить» свое положение. В книге доказывается устойчивость в малом при выполнении содержательных условий устойчивости и формулируется теорема о глобальной устойчивости, доказанная А. М. Микийчуком в его дипломной работе.
С формальной стороны, устойчивость в малом локально-организованной системы в антагонистической ситуации определяется свойствами соответствующей матрицы Метцлера, у которой все недиагональные элементы неположительны. Специальное внимание таким матрицам уделено в разд. 3.3, где получены новые необходимые и достаточные условия, при которых матрица Метцлера является М-матрицей, т. е. матрицей Метцлера, все главные миноры которой положительны. В заключении раздела приведено несколько примеров использования этого результата для анализа локально-организованной системы.
Глава 3 заканчивается рассмотрением конкретного примера из области робототехники — многозвенного манипулятора, управляемого на локальных принципах. При отсутствии инерционных сил такой манипулятор представлял бы собой разновидность описанной в разд. 3.1 системы без взаимодействия, но учет масс элементов манипулятора потребовал применения двухуровневой обучающейся системы, которую, по аналогии с биомеханикой, мы назвали системой выработки навыка. Детали разработанной системы даны в П.2.
В гл. 4 «Локальный подход к решению фундаментальных задач искусственного интеллекта» делается попытка рассмотреть поиск адекватного представления задач и знаний, а также процесс обучения, являющиеся особо важными проблемами для искусственного интеллекта, как работу некоторой локально-организованной системы.
В разд. 4.1, где рассматриваются вопросы эвристического поиска «удобного» представления комбинаторной задачи, проводится параллель между внешне весьма далекими проблемами, а именно между задачей покрытия плоского массива, используя для этого полимино определенной формы, и задачей управления транспортными потоками (или потоками данных в вычислительных сетях).
В задаче покрытия подсистемами Si являются отдельные полимино, их возможные действия — любые допустимые расположения на массиве. Взаимодействие подсистем происходит тогда, когда несколько полимино «пытаются» покрыть пересекающиеся подмножества элементов
массива. На этом языке задача состоит в том, чтобы полимино «выбирали» (с учетом взаимодействия) свои действия так, чтобы образовалось совершенное (полное, без просветов) покрытие массива.
При таком подходе, как показано, естественное применение находит новый принцип — принцип семиотической интроспекции^ который позволяет упростить задачу перебора путем уменьшения числа используемых имен, опираясь на учет нескольких видов однородности в покрываемом массиве, выделяющихся «в силу возможных действий подсистемы Si». Следует отметить, что разработанное правильное по- именование элементов массива преобразует систему покрытия в систему без взаимодействия, поэтому успех, достигаемый благодаря предложенной системе имен, не удивителен.
В разд. 4.2 адаптивные запоминающие системы типа описанных в разд. 2.4 используются в компьютерном эксперименте по автоматическому формированию фреймоподобных структур, целью которого была проверка нескольких простых алгоритмов дальнейшего ускорения извлечения сведений из памяти при условии, что эти сведения не являются независимыми, как в гл. 2, а образуют иерархически упорядоченные структуры. Эксперимент показал, что целесообразным является как использование памяти со свойствами «стопки книг», так и применение некоторой формальной процедуры обобщения строк символов. Последняя идея получила самостоятельное развитие в разд. 4.3, где для описания процедур представления знаний и обучения в самом общем виде была привлечена теория категорий. Часть относящегося к разд. 4.3 материала вынесена в приложение (см. прил. П.З), в котором приводятся иллюстрации построения соответствующих морфизмов для известных процедур сопоставления с образцом. Другая иллюстрация — применение общей теории обучения в случае простых цепочек символов — может быть найдена в разд. 5.4 книги.
Раздел 4.4 посвящен рассмотрению задачи объединения нечетких свидетельств в экспертных системах как примере локально-организованной системы обработки свидетельств. Развитый подход позволил ввести в рассмотрение принцип максимального доверия, выливающийся в некоторую экстремальную задачу, аналогичную задачам, возникающим при использовании принципа максимальной энтропии, хорошо зарекомендовавшего себя при описании физических систем с неполной информацией. Заметим, что в данном случае в качестве критерия выбора варианта локально-организованной системы S выступает некоторый экстремальный принцип.
В завершающей гл. 5 «Использование локальной организации при разработке прикладных программных и человеко-машинных систем» собраны примеры, когда на основе локальной организации удалось построить пакет программ, решающий полезную для приложений задачу (или группу задач).
Применение принципа локальной организации в этой главе ведется с учетом того, что при всяком конкретном «внедрении» в практику приходится делать весьма обстоятельный анализ самой предметной
области, который и составил дополнительную теоретическую часть в разделах данной главы.
Раздел 5.1 посвящен задачам программирования. В нем делается важный вывод о том, что в программировании можно наблюдать постепенный переход от централизованных методов к децентрализованным, а от последних — к локально-организованным. По-видимому, именно благодаря локальной организации самого процесса составления программы, широкое распространение в свое время получило программирование на языке Лисп. При этом отдельные функции Лиспа (или составленные из них модули) представляют собой подсистемы Si причем индивидуальная отладка модуля соответствует этапу III методики изучения локально-организованной системы, а отладка взаимодействия модулей — этапам IV и V этой методики (см. рис. 1.3 в гл. 1).
В этом разделе локальная организация программы и процесса программирования используется для создания интерактивной системы программирования ЭК ЛИСП, системы снятия рекурсии с учетом побочных эффектов и метода рекурсивного вычисления арифметических (несимвольных) функций в языке Лисп (и других языках, допускающих рекурсию). Последний пример интересен как иллюстрация рекурсивной локально-организованной системы, в которой подсистема Si вступает во взаимодействие со своей собственной копией.
В разд. 5.2 обсуждаются общие принципы создания интеллектуальной операционной системы, которую предполагается строить на основе локальной организации. Локальными подсистемами в данном случае служат фреймы, каждый из которых способен охватить какую- то одну особенность, присущую данному пользователю-программисту, что позволяет создать весьма гибкую систему индивидуализированной реакции на действия программиста. Эта концепция подробно разрабатывается в разд. 5.3 при создании системы FLEX гибкого обслуживания программиста на языке Лисп, которую, учитывая интерактивный характер программирования на этом языке, можно рассматривать как прототип интеллектуальной операционной системы.
В разд. 5.4 описана реализованная с применением формализма представления знаний гл. 4 обучающаяся система поддержки ввода данных в компьютер — PROMPTER. Эта система, как и интеллектуальная операционная система, обладает способностью, обучаясь, «подстраиваться» под решаемую пользователем задачу. В этом разделе также показано, что обучающуюся диалоговую систему нельзя описать как конечный автомат (вопреки некоторым утверждениям в литературе), так как при обучении происходит реорганизация и множества действий, и множества состояний, и функции переходов между этими состояниями.
При создании системы PROMPTER пришлось принять во внимание целый ряд конкретных факторов, характеризующих задачу: характеристики компьютера, свойства дисплея, психофизиологические особенности оператора и особенности области применения — формирование на компьютере погрузочной документации в морском порту.
В разд. 5.5 рассмотрена задача автоматизации выявления последовательности оснований ДНК, которой посвящено достаточно много исследований. Показано, что из многих способов обработки возникающих данных предпочтение следует отдавать методам, опирающимся на использование знаний экспертов.
Наконец в разд. 5.6 речь идет о профилактической фильтрации, позволяющей снизить вероятность заражения вирусом по электронной почте или вероятность получения нежелательных сообщений, известных как СПАМ.
Каждая глава книги завершается выводами, а общий итог работы кратко суммирован в разделе «Общие выводы», основной тезис которого состоит в том, что локальная организация систем представляет собой важную альтернативу централизованной и децентрализованной организациям, позволяя сформулировать и исследовать ряд новых классов задач, имеющих непосредственное научное и прикладное значение:
коллективное поведение;
локальное управление;
локальное программирование;
локально-организованные системы искусственного интеллекта;
локально-организованные человеко-машинные (экспертные) системы.
Выдвинутая в книге методология исследования локально-организованных систем последовательно реализована в этих классах задач с применением предложенных в книге математических методов и критериев, построены примеры прикладных систем. В целом, изложенный в книге подход, по мнению автора, составляет новое перспективное направление в теории и практике создания больших систем в технике и информатике.