Сценарный подход к решению сложных плохо формализованных задач приобретает все большую популярность. Он активно используется в системах динамического и интеллектуального моделирования, а также как средство представления и структурирования знаний. Рассмотрим один из возможных подходов к построению сценариев с использованием логики предикатов в качестве средства представления знаний.
Решение задач проектирования развивающихся систем требует построения прогнозов возможных изменений в окружающей их среде. Существуют два принципиальных подхода к прогнозированию: прогнозирование будущего на основе прошлого и прогнозирование будущего с учетом появления новых тенденций и событий, которые могли не иметь места в прошлом. Прогнозы, получаемые первым способом, обычно имеют статистическое или теоретическое обоснование, однако они не способны описать новые ситуации. В отличие от них прогнозы, связанные с генерацией гипотез, не имеют строгого обоснования, но позволяют получить представление о новых вариантах возможного будущего, которые не встречались в прошлом.
Первый подход широко используется для прогнозирования крупномасштабных явлений, при описании которых обычно не выделяются активно и непредсказуемо действующие субъекты. Второй подход чаще всего применяется для описания возможных вариантов поведения систем, содержащих активных участников (игроков), которые, не имея информации о стратегиях противодействующих сторон, вынуждены их генерировать на основе доступных им знаний. Синтез сценариев, описанный в настоящем разделе, является реализацией второго подхода к прогнозированию.
Под сценарием будем понимать последовательность взаимосвязанных событий, которая может иметь место при определенных условиях. Между событиями существуют причинно-следственные связи, которые можно представить правилами, записанными на языке логики.
На первом этапе представления знаний может оказаться полезным построение когнитивной карты — математической модели, представленной в виде графа и позволяющей описывать субъективное восприятие человеком или группой людей какого-либо сложного объекта, проблемы или функционирования системы. Когнитивная карта предназначена для выявления структуры причинных связей между элементами сложного объекта и оценки последствий внешних воздействий на элементы и связи между ними. Элементы изучаемой системы представлены набором вершин графа, связи — множеством направленных дуг, которым могут быть приписаны знаки, определяющие характер влияния. Графическое представление в виде карты наглядно показывает связи между элементами сценария. Перебор всех возможных путей на когнитивной карте дает количества возможных сценариев. Следует заметить, что для большого количества знаний граф может стать необозримым. В этом случае желательно прибегнуть к структуризации знаний, выделяя различные уровни описания информации.
В качестве базовой модели представления знаний для реализации синтеза сценариев на основе причинно-следственных связей может использоваться логика предикатов первого порядка. В простых случаях для представления знаний можно применять логику высказываний. Синтез сценария сводится к построению формальной порождающей грамматики на определенном множестве терминальных и нетерминальных символов. Синтаксису логики высказываний соответствует контекстно-свободная порождающая грамматика, которая описывается четверкой G = (V, Т, Р, S), где V— конечное множество нетерминальных символов; Т— конечное множество терминальных символов, не пересекающееся с V; Р -конечное множество правил продукций, записанных в виде нотаций Бэкуса и представляющих собой расшифровку нетерминальных символов грамматики логическими выражениями, содержащими символы из T и V; S— начальный символ грамматики.
Термин грамматика, взятый из лингвистики, означает набор правил некоторого языка, которые позволяют строить и распознавать «правильные» фразы на этом языке.
Фраза — это конечная последовательность слов, которые являются неделимыми элементами (терминальными символами).
Рассмотрим применение формализма контекстно-свободных грамматик для построения языка, с помощью которого можно описывать сценарии развития энергетической отрасли.
В приведенном фрагменте грамматики каждое правило описывает возможные варианты подстановки логических формул, записанных в правой части (после стрелки), в качестве значения высказывания, содержащегося в левой части. При этом возможны альтернативные способы подстановки. Запятая, присутствующая в правых частях грамматических правил, соответствует операции конъюнкции.
СЦЕНАРИЙ (начальный символ грамматики) определяется как рекурсивная последовательность событий. События интерпретируются как действия, которые могут происходить произвольно или при выполнении определенных условий. При этом событие может быть обусловлено действием некоторого фактора (например, природного или макроэкономического) или действием активного субъекта. Варианты возможных событий показаны на рис. 8.8.
Ввод нетерминального символа Условие потребовался для того, чтобы ограничить произвольные сочетания действий, не соответствующих семантике. Правила, содержащие Условие, отражают связи между субъектами и их действиями, а также причинно-следственные отношения между событиями. При отсутствии подобных ограничений порождающая грамматика генерировала бы все комбинации терминальных и нетерминальных символов, т.е. морфологическое множество.
Рассмотрим примеры построения фраз на приведенной грамматике, последовательно применяя правила подстановки:
Рис. 8.8. Варианты возможных событий в сценарии развития энергетики
Событие->Действие_субъекта->{Субъект, Условие, Действие)-> (РАО_ЕЭС, ЕСЛИ Субъект = РАО_ЕЭС, ТО Действие = Повы-сить_цену_электроэнергии, Повысить_цену_электроэнергии);
В процессе порождения фраз на грамматике возникает проблема выбора последовательности применения правил подстановки, так как при синтезе сценариев допускается наличие циклов событий и больших множеств В таких случаях необходимым компонентом программного обеспечения является подсистема, управляющая процессом формирования сценариев. При этом становится необходимой классификация событий и символов, например, в соответствии с возможностью использования случайного выбора, со статусом активности субъекта (фактора), отношениями принадлежности и причинности.
Использование многоместных предикатов позволяет лучше отразить специфику знаний предметной области, так как появляется возможность описать внутреннюю структуру используемых категорий, учитывать контекст и сделать грамматику более компактной. Грамматики с многоместными предикатами называются грамматиками определенных клауз, или контекстно-зависимыми грамматиками. Применение таких грамматик для синтеза сценариев позволяет представить элементы знаний в виде описаний, содержащих наборы параметров, причем в процессе подстановки существует возможность согласования значений этих параметров. Например, любой Субъект в вышеописанном сценарии может быть представлен описанием следующего вида: Субъект{, , , , , ). С помощью этих атрибутов значительно упрощается процесс организации причинно-следственных связей между событиями, а также установление связей между субъектами и возможными для них действиями.
Важным вопросом при синтезе сценариев является представление темпоральной информации, т.е. описание времени и атрибутов, изменяющихся с течением времени. Многие события имеют определенную длительность, а их последствия могут наступать с запаздыванием. В отличие от классических моделей динамических систем в виде систем дифференциальных уравнений, при моделировании сценариев происходит приближенная имитация динамических процессов, при которой важен качественный характер зависимостей и не выдвигается жестких требований к точности вычислений. Введение в рассмотрение времени необходимо также для указания параллельно протекающих событий. При этом используется понятие параллельно-временной грамматики, которая описывается шестеркой где множество состоит из элементов, характеризующих время выполнения действий, а множество отражает параллелизм событий. Апостроф в левой части правила означает начало параллельных процессов, а пустой надстрочный символ соответствует правилам, не входящим в циклы.
Грамматические правила могут быть представлены в следующем виде:
— время выполнения события В в моделируемом процессе;
где апостроф указывает начало выполнения параллельного процесса. Это значит, что существует по крайней мере еще одно правило вида которое выполняется одновременно с правилом
где Z— последний символ в циклически повторяемой части строки, В — первый символ в цикле.
Время t может быть представлено вещественным либо целым числом. В первом случае оно соответствует длительности события, а во втором — количеству повторений операций, входящих в цикл.
Более широкие возможности для отражения взаимосвязи между событиями, непрерывно протекающими во времени, предоставляют формальные модели времени, или Т-модели, в которых система понятий формируется на основе четырех базовых объектов: ТОЧКА, ИНТЕРВАЛ, ЦЕПЬ и КОЛИЧЕСТВО. Между объектами определены множества бинарных отношений. Например, между ТОЧКАМИ введены следующие отношения:
1) тождества
2) раньше
3) не тождественны
4) не раньше
Отношения между интервалами имеют более сложную природу. Их можно разделить на две группы. В первую входят отношения, которые определяются путем конъюнкции отношений над концевыми точками интервалов. Примерами таких отношений являются: «Событие А1 начинается раньше события А2»; «Событие А1 начинается одновременно с событием А2»; «Событие А1 заканчивается раньше события А2»; «Событие А1 следует за событием А2» и т.д.
Вторая группа отношений над интервалами не вписывается в модель конъюнктивной семантической сети, поэтому определяется с помощью первичных понятий, синтаксис которых совместим с синтаксисом этой модели. Например, отношение МЕЖДУ1
Понятия Т-моделей реализуются наборами фреймов. Разработка и реализация семантических моделей с глубокой детализацией отношений времени и пространства — это отдельное направление исследований в искусственном интеллекте. Результаты этих исследований могут быть использованы при разработке сценариев либо на формальном уровне, либо с применением средств программно-инструментальной поддержки, содержащих темпоральные компоненты.
Весьма плодотворным является подход, предложенный в работе, где моделируются динамические системы, обладающие как дискретной, так и континуальной компонентами. Динамика исследуемой системы описывается последовательностью состояний, каждое из которых образуется путем замыкания некоторого порождающего множества фактов и аксиом. Множество используемых знаний описывается с помощью специального языка, который содержит описание событий, процессов, фактов, свойств, законов и т.п. Время является дискретным. Начало и конец любого события маркируются специальными символами. События рекурсивно определяются на базе элементарных событий. Элементарным процессом называется элементарное событие, имеющее определенную длительность. Элементарным фактом называется завершенное во времени элементарное событие. Факты рекурсивно строятся из элементарных фактов. Законы — это отношения на множестве событий. База знаний включает базу правил и базу процедур. Чтобы система была управляемой, достаточно, чтобы в БЗ для каждого события присутствовало его отрицание, а также событие, следствием которого оно является. Такой подход актуален при моделировании динамики сложных открытых систем, не имеющих точного аналитического описания и допускающих неполноту используемого набора знаний.
Мы применяли сценарный подход для построения образов будущего в задачах прогнозирования и стратегического планирования социально-экономических систем. При этом кроме известных программных средств проводились разработка и исследование специального программного обеспечения для генерации сценариев на основе причинно-следственных связей с представлением знаний средствами логики предикатов. В разработанной системе используется дискретное время, длительность событий задается указанием начала и конца. Количественные характеристики объектов, факторов, событий и других элементов сценария вычисляются с помощью процедур, хранящихся в БЗ.
В системе присутствуют следующие основные категории знаний.
Объекты. Это сущности, для характеристики которых могут использоваться символьные и числовые атрибуты. Набор конкретных значений атрибутов определяет состояние объекта. В процессе синтеза сценария значения атрибутов объекта могут изменяться с течением времени, а также вследствие наступления случайных событий и действий, совершенных субъектами. Некоторые состояния объектов могут вызывать наступление определенных событий, в том числе завершение сценария. Зависимости атрибутов объекта от времени моделируются специальными процедурами, задающими темпы изменения характеристик на основе известных законов или гипотез, а также на основе эмпирических зависимостей. Таким образом, любой объект описывается предикатом вида
Объект(t, , , ).
Темпы. Характеризуют изменения состояний объектов и субъектов во времени, обусловленные действием объективных законов. Для задания темпов используется следующая структура данных:
Темп(, , , ).
Для моделирования темпов предусмотрен следующий набор зависимостей:
Субъекты, или действующие лица (ДЛ). Предназначены для описания элементов сценария, способных к совершению активных действий. Субъекты, как и объекты, характеризуются набором атрибутов, описывающих состояние субъекта. Некоторые из них могут изменяться во времени в соответствии с заданными темпами. Тип субъекта показывает, может ли он являться объектом. Если — да, то характеристики субъекта могут изменяться в результате действия факторов и других субъектов. Субъекты могут самостоятельно изменять свои характеристики, например .
Применение этого атрибута является попыткой ввести пространственную компоненту в представление знаний. В свою очередь, некоторые атрибуты могут оказывать влияние на значение характеристик объектов и ограничивать набор возможных для субъектов действий. Способность к действиям вызывает необходимость использования ряда специальных атрибутов для характеристики субъектов. Каждый субъект имеет определенный статус, характеризующий его способность к действиям. Значение этого атрибута выбирается из набора {активен; ожидает события; вышел}. Активное ДЛ может в течение данного кванта времени выполнять доступные ему действия, выбирая их в соответствии с установленными приоритетами или случайным образом. Действующее лицо может оказаться временно неспособным действовать, если ожидает наступления некоторого события, или выйти из игры навсегда. Для реализации этих случаев в список атрибутов ДЛ добавляются и , . Ожидаемое событие может быть связано с достижением определенного значения некоторого атрибута, в том числе значения времени.
События. Это основная информационная единица сценария, предназначенная для активизации действующих лиц (субъектов), запуска, запрещения и разрешения появления других событий, изменения значений характеристик объектов, а также для задания этих характеристик. Событие может иметь определенную длительность во времени. Событие может вызываться одним из следующих способов:
- другим событием (действием факторов или субъектов);
- достижением заданного состояния объекта или субъекта;
- при выполнении некоторого условия;
- случайным образом.
Возможны также произвольные сочетания перечисленных способов. В таких случаях описываемое событие наступает при истинности всех условий. Наступление события может быть запрещено другим событием. В этом случае даже при истинности условий наступления данного события оно не будет активизировано до тех пор, пока не завершится запрещающее событие или не наступит другое разрешающее событие. Для определения порядка наступления событий служит атрибут «приоритет события» — целое число от 0 до 20. Первыми выполняются события с более высоким приоритетом (числом).
Кроме того, события характеризуются следующим набором системных атрибутов:
- кратность появления — двоичный флаг, разрешающий событию участвовать в сценарии после своего первого появления;
- время запаздывания — целое число, задающее в условных единицах интервал времени, по истечении которого с момента активизации наступят последствия события (вызываемые события, изменение характеристик объектов, запрещаемые/разрешаемые события и т.п.);
- группа взаимоисключения — целочисленный атрибут, исключающий одновременное наступление двух или более событий, активизированных в один и тот же момент времени. При этом выбирается одно событие, имеющее наивысший приоритет.
В системе синтеза сценариев элементарное событие определяется либо как действие субъекта, в результате которого могут измениться характеристики объектов (субъектов), либо как случайное (закономерное) изменение этих характеристик, либо как действие внешнего фактора, которое может приводить к изменению определенных атрибутов. Элементарное событие протекает в течение единичного кванта времени. Совокупность элементарных событий в течение одного кванта времени t называется состоянием. Последовательность состояний есть сценарий (см. грамматику ниже).
Факторы. Это разновидность неуправляемых событий, которые обусловлены действием внешней среды. Действие факторов может приводить к изменению характеристик объектов и субъектов, а также к вызову, активизации и запрещению определенных событий и действий ДЛ. Фактор описывается предикатом следующего вида:Фактор(, , , длительность события>, , , , , , , , , , ).
Действия субъектов. Это вид событий, инициируемых действующими лицами. В отличие от факторов этот вид событий причинно обусловлен. Каждое действие связано с определенным субъектом. Действия ДЛ влияют на состояние объектов, могут вызывать, запрещать и разрешать события, могут иметь отложенные последствия, но не могут отключаться событиями, поскольку решения о совершении действий принимают действующие лица. На выбор действий может быть наложен запрет (маска) со стороны действующих факторов, местоположения субъектов и со стороны действий других действующих лиц. Это сделано для своевременного реагирования на действия других субъектов. Подмножество разрешенных действий называется активным набором действий. Если активный набор пуст, субъект не может действовать. Если в активном наборе содержится несколько альтернатив, то действие выбирается в соответствии с приоритетом или случайным образом. Действия ДЛ описываются предикатом
Действие(, , , длительность события>, , , , , , , , , , , , , ).
Механизм обработки знаний, хранящихся в БЗ, определяется на основе причинно-следственных связей и выявленных зависимостей между элементами сценария, которые формулируются аналитиками, поставляющими знания в систему. Программно реализованный интерпретатор синтезирует различные последовательности событий на основе информации из БЗ. Синтаксис порождающего языка описывается следующей грамматикой:
Приведенная грамматика не содержит расшифровок очевидных символов и детального описания вызываемых процедур. В фигурных скобках прокомментированы процедуры вычисления аргументов предикатов, находящихся в левых частях грамматических правил, на основе значений аргументов предикатов, записанных в правых частях. Состояние рассматриваемой системы в момент времени / включает описание совокупности элементарных событий, сгенерированных для заданного момента. Элементарным событием является изменение состояния объекта или субъекта в соответствии с заданным темпом, действием фактора или ДЛ, а также действие фактора или субъекта, не приводящее к изменению состояния объекта или субъекта. Если действие фактора или ДЛ происходит мгновенно (время запаздывания равно нулю), то вызываемые или активизируемые события включаются в описание данного состояния. Если имеет место запаздывание, то порождаемые элементарные события включаются в постепенно формируемые описания последующих состояний. События, растянутые во времени, влияют на наборы возможных действий на протяжении всего срока их длительности. При переходе к каждому следующему кванту времени проверяются условия завершения протекающих событий и обновляются списки активизируемых, ожидаемых и запрещаемых событий. На рис.8.9 приведена форма для ввода и редактирования информации о событиях в системе синтеза сценариев.
Сценарный подход к прогнозированию требует больших затрат труда и времени для сбора и представления знаний, а также для экспертной оценки элементов информации. Целесообразность затрат зависит от того, как будут использоваться полученные результаты. Наиболее известны приложения подобного подхода в политике. Генерация сценариев актуальна для мультигентных систем. Весьма полезным, на наш взгляд, может оказаться применение сценариев в задачах стратегического планирования для синтеза вариантов желаемого будущего и политик его достижения. Синтез сценариев в автоматическом режиме с использованием БЗ большого объема порождает огромное количество вариантов, многие из которых имеют незначительные отличия и не представляют интереса для последующего анализа. Поэтому актуальной задачей является выделение подмножества ценных сценариев. Ее решение возможно только в том случае, если сформулированы принципы и критерии оценки порождаемых сценариев. Рассмотрим некоторые подходы, которые здесь можно использовать.
Рис. 8.9. Диалоговое окно просмотра изменяющихся характеристик объектов в системе синтеза сценариев
Сценарий можно оценивать по достигнутому исходу или с учетом всего пройденного пути. В общем случае компьютерная система должна предоставлять разнообразные возможности для оценки полученных сценариев.
Для оценки сценариев в БЗ необходимо добавить следующую информацию:
- о целях (конечных и промежуточных), если таковые имеются. В качестве целей могут выступать желаемые события или со стояния объектов (субъектов);
- о критериях качества, по которым оцениваются состояния объектов, события и исходы;
- о предпочтениях экспертов, проводящих оценку сценариев по критериям качества;
- о дополнительных условиях, сформулированных на основе представления об эффективном целостном сценарии (например, минимальное число шагов до заданной цели, наибольшее среднее значение заданной характеристики объекта, присутствие в сценарии множества заданных событий и т.п.).
Элементы сценария, являющиеся целями, снабжаются соответствующими метками. Кроме того, формируются новые структуры данных (таблицы) для представления имеющихся и новых целей. Желаемые цели могут иметь разную важность и могут оказаться противоречивыми. Достижимость целей можно оценивать с использованием различных принципов, например с использованием мер близости, описанных выше. Иногда достижение желаемой цели определить достаточно легко. Такие ситуации характерны для компьютерных игр. При наличии множества целей в качестве оценки достижимости можно выбрать средневзвешенное арифметическое оценок достижения отдельных целей или среднегеометрическое.
Альтернативный принцип оценки достижимости целей ориентирован на обязательное достижение всех целей. Когда цели имеют нечеткие формулировки, то имеет смысл перейти от двузначной шкалы (0, 1) к более информативным шкалам. Экспертные оценки значимости целей используются в процессе формирования обобщенного показателя качества сценария. При этом берется не абсолютная, а относительная оценка достижения целей, вычисляемая как отношение обобщенной оценки сценария к максимально возможному значению, соответствующему достижению всех целей.
Наряду с желательными событиями и состояниями объектов/субъектов в сценариях могут присутствовать нежелательные события и состояния, которые оцениваются с помощью отрицательных значений. В сценариях могут встречаться неоднозначные события или состояния — такие, которые могут наступать многократно и/или в разные моменты времени, причем наступление событий (состояний) при одних обстоятельствах является благом, а при других — злом. Такие события или состояния оцениваются с помощью продукционных правил.
В разработанной версии программного обеспечения для синтеза сценариев предусмотрено вычисление аддитивных и мультипликативных оценок целостного сценария на основе экспертных оценок желательных и нежелательных событий и состояний объектов. В процессе синтеза сценариев используются фильтры для отсеивания вариантов, не удовлетворяющих заданным дополнительным условиям (списки желательных и нежелательных событий, длительность сценария, время достижения главной цели и т. п.). Обработку знаний выполняет блок синтеза, реализованный на основе допущения о том, что синтезируемые сценарии разбиты на равные отрезки (кванты) времени, в течение которых могут происходить (или не происходить) события (действия факторов и ДЛ). Данный блок обеспечивает функционирование спроектированной грамматики, а также осуществляет разделение событий его времени. Функционирование системы иллюстрируется схемой на рис.8.10.
Рис. 8.10. Упрощенная схема функционирования генератора сценариев
Рассмотрим результаты анализа сценариев, сгенерированных для задачи прогнозирования развития политической ситуации в абстрактной стране, где четыре главные партии стремятся к победе на выборах. Партия, победившая на выборах, осуществляет исполнительную власть в течение четырех лет, после чего наступают следующие выборы. В периодах между выборами действующие лица совершают различные действия. Кроме того, могут происходить неуправляемые события.
На рис. 8.11 приведено частотное распределение аддитивных оценок на множестве, включающем 100 сценариев. Оценки формировались на базе двух показателей: состояние экономики и состояние социальной сферы. По оси абсцисс отмечены оценки сценариев (по 100-балльной шкале), а по оси ординат — число сценариев, получивших соответствующую оценку. Нулевое значение свидетельствует о том, что в данном сценарии оценки экономического и социального состояния не попали в заданные диапазоны.
Рис. 8.11. Распределение интегральных оценок синтезированных сценариев
Полученное распределение в этом эксперименте и в ряде других не дает оснований считать какую-либо группу оценок более вероятной, за исключением низкой вероятности максимально возможных оценок, что вполне естественно при аддитивном принципе обобщения.
В процессе синтеза с дополнительными условиями вид распределения свидетельствует о наличии множества сценариев, имеющих оценки, которые встречаются чаще других (рис. 8.12). Это позволяет судить о влиянии сформулированных дополнительных условий на качество сценария в целом. Результаты синтеза множества сценариев такой же мощности (100), но с дополнительными условиями, которые требовали появления событий «война» и «падение цен на нефть», показали, что значения оценок большинства сценариев находятся в диапазоне от 10 до 50, т.е. вероятность синтеза сценариев с высокими оценками экономического и социального состояния снижается при появлении названных событий.
Рис. 8.12. Распределение оценок сценариев, синтезированных при дополнительных условиях
Вид распределения (см. рис. 8.12) свидетельствует о существованиии определенной стратегии отбора (или генерации) сценариев, которая позволяет формировать последовательности событий с желательными свойствами.
Перспективным направлением является создание мультиагентных систем для генерации сценариев развития различных ситуаций, в которых автономные агенты, имитирующие поведение субъектов, принимают решения о выборе действий по согласованию со своими пользователями. Координатор процесса информирует агентов о том, что можно и что нельзя, а также проводит настройку состояний объектов в соответствии с действиями агентов и неуправляемых факторов внешней среды. Такой подход можно воплотить в виде распределенных версий деловых игр или мозгового штурма, ориентированных на выработку, с одной стороны, творческих, а с другой стороны, рациональных вариантов желаемого будущего.