Научная статья на тему 'Реализация временных рассуждений для интеллектуальных систем поддержки принятия решений реального времени'

Реализация временных рассуждений для интеллектуальных систем поддержки принятия решений реального времени Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
217
54
i Надоели баннеры? Вы всегда можете отключить рекламу.
i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Реализация временных рассуждений для интеллектуальных систем поддержки принятия решений реального времени»

23. Litvintseva L.V., Takahashi K., Panfilov S.A., Ulyanov I.S., Ulyanov S.S. Intelligent Robust Control Design based on New Types of Computations, Universita degli Studi di Milano, Dipartimento di Technologie dell'Informazione, Polo Didattico e di Ricerca diCrema, Vol. 60, 2004.

24. Ulyanov S.S. Engineering management of intelligent control system: information technologies of KB - design, creation and protection problems of the intellectual property". In Proc.: Sixth International Conference on Application of Fuzzy System and Soft Computing. Barcelona, Spain September 28-30, 2004. pp. 98-108.

РЕАЛИЗАЦИЯ ВРЕМЕННЫХ РАССУЖДЕНИЙ ДЛЯ ИНТЕЛЛЕКТУАЛЬНЫХ СИСТЕМ ПОДДЕРЖКИ ПРИНЯТИЯ РЕШЕНИЙ РЕАЛЬНОГО ВРЕМЕНИ

(Работа выполнена при финансовой поддержке РФФИ)

А.П. Еремеев, И.Е. Куриленко

Для создания перспективных интеллектуальных систем поддержки принятия решений реального времени (ИСППР РВ) (рис. 1), предназначенных для мониторинга и управления сложными техническими объектами и процессами, необходимо реализовать быстрый и надежный механизм моделирования временных рассуждений [1-3].

По сути, во всех основных блоках ИСППР РВ, включая базы данных и знаний, необходимо иметь средства представления фактора времени и временных (темпоральных) зависимостей, на основе которых моделируются и временные рассуждения [2]. Системный подход к построению сложных программных комплексов, к которым относятся ИСППР РВ, требует реализации системы временных рассуждений как самостоятельной подсистемы (модели в базе моделей) в составе ИСППР РВ. Это позволяет избежать дублирования программного кода за счет его повторного использования в других компонентах (блоках и моделях). Таким образом, базовый инструментарий для разработчика ИСППР РВ должен включать готовую реализацию такой подсистемы, которая содержит средства представления и алгоритмы обработки временной информации. В данной работе рассматривается реализация системы временных (темпоральных) рассуждений (СВР) на

основе точечной модели времени, достоинствами которой в плане использования в ИСППР РВ является относительная простота реализации и наличие алгоритмов вывода с полиномиальной оценкой сложности.

Основные элементы системы временных рассуждений

Информация о времени обычно представляется в виде временных зависимостей между временными примитивами. В качестве таких примитивов обычно используются моменты времени, интервалы или и то, и другое. Зависимости (отношения) между временными примитивами трактуются как ограничения на их реальное время появления (расположение во времени). Поэтому отношения между этими примитивами обычно представляются как качественные бинарные ограничения. Эти ограничения задаются на основе множества базовых временных (темпоральных) отношений (БТЯ) между временными примитивами, элементы которого должны быть взаимно исключающими, и их объединение должно являться универсальным ограничением, то есть ограничением, которое содержит все возможные отношения и, следовательно, не накладывает каких-либо ограничений.

Так как основная цель временных рассуждений состоит в определении того, что следует из множества заданных временных ограничений (а это могут быть в основном новые ограничения, для непротиворечивых входных множеств), обработка временной информации обычно представляется как задача согласования временных ограничений (ЗСВО). Так как ИСППР РВ ориентирована на оперирование с неточной и неполной информацией, то возникает проблема представления неточных временных отношений. Для этого вводится дизъюнктивная форма временных ограничений: Ьу = {г1,..,гк}, где к>0 и гх,..,гк е ВТК .

Формула Х| { Ьу } Ху интерпретируется как (Х|Г]Ху) V... V (Х|ГкХу). То есть между времен-

ными переменными Х| и Xj справедливо одно из базовых отношений г1,..,гк е ВТК . Точным считается ограничение, которое содержит только один дизъюнкт. Отсюда возникает задача выявления неточных отношений (или задача определения отношения, справедливого между переменными Х| и Xj, между которыми задано дизъюнктивное

ограничение Ьу). Таким образом, под решением

ЗСВО понимается такой выбор отношений г с Ьу

для каждого дизъюнктивного ограничения, что они не противоречат друг другу.

В зависимости от выбора временных примитивов различаются точечная (на базе моментов времени), интервальная (на базе интервалов времени) и интервально-точечная (допустимы и моменты, и интервалы) модели времени. Различные модели отличаются как сложностью, так и выразительными способностями. Известно, что интервальная модель времени, в основе которой лежит интервальная алгебра Аллена [4] и понятие отношения меду парой интервалов, является более выразительной, чем точечная, но при этом характеризуется большой вычислительной сложностью.

В конкретной модели времени за счет изменения набора базовых отношений также можно менять выразительность представляемой временной информации. В рамках точечной модели времени, например, можно рассматривать следующие три алгебры временных отношений:

• базовую точечную алгебру (BPA) с набором отношений (0, <,=, >,и),

• выпуклую точечную алгебру (CPA) с набором отношений (0, <,=, >, <, >,и),

• точечную алгебру (PA) с набором отношений (0, <,=, >,<,>, ),

где символами 0 и и обозначены соответственно пустое и универсальное отношения.

Более эффективной в плане реализации является ВРА, а наиболее выразительной - РА. В рамках интервальной модели времени также можно вести ограничения на набор разрешенных отношений. Например, можно ограничить класс интервальных отношений подмножеством всех отношений в интервальной алгебре, которые могут быть представлены в виде конъюнкций отношений в точечной алгебре между точками начала и конца интервала [2]. Такой подкласс легко представим в рамках точечной алгебры, и для него существует полиномиальный алгоритм поиска решения. Более широкие подклассы интервальной алгебры также могут быть представлены в терминах точечной модели времени с использованием неточных отношений между моментами времени [2]. Целесообразно реализовать СВР так, чтобы можно было задать нужный уровень выразитель-

ности как для конкретной модели времени, так и для их совокупности.

Решение ЗСВО

Качество решения ЗСВО непосредственно зависит от способа представления временной информации, наиболее удачным из которых является использование графов. В системе Time Graph (ориентированной на работу с точечной алгеброй и реализованной в среде Common Lisp), которая в определенной степени взята в качестве прототипа предлагаемой СВР, для представления информации о времени применены графы, взвешенные временной информацией (TL-графы) [5]. TL-граф определяется как граф, содержащий, по крайней мере, одну вершину и набор взвешенных ребер. Каждое ребро (w,l,v) графа соединяет пару различных вершин w и v отношением le {<,<,^ }. Ориентированные ребра взвешиваются отношениями «меньше» (<) или «меньше или равно» (<), неориентированные - отношением «не равно» В системе предлагался ряд эффективных алгоритмов, базирующихся на сведении решения ЗСВО к последовательности операций над графами.

Однако из определения TL-графа следует, что равенство двух моментов времени может быть представлено только с помощью нестрогих отношений «<», что приводит к невозможности использования TL-графов для представления временной информации, заданной в терминах базовой точечной алгебры. Для устранения данного недостатка в системе Time Graph предложено использовать модифицированные TL-графы (MTL-графы). MTL-граф - это граф, содержащий, по крайней мере, одну вершину и набор взвешенных ребер. Каждое ребро (w,l,v) MTL-графа соединяет пару различных вершин w и v отношением le {<,<,= }. Ориентированные ребра, как и ранее, взвешиваются отношениями «меньше» (<) или «меньше или равно» (<), а неориентированные - отношениями «не равно» и «равно» (=). Каждой вершине в графе соответствует, по крайней мере, один момент времени - временная переменная. Если какой-либо из вершин графа соответствует более одной переменной, то все они являются альтернативными именами одной и той же временной точки. Ситуация, когда одна и та же переменная соответствует более чем одной вершине, недопустима. На рисунке 2 приведены примеры MTL-графов.

Обозначим Р - множество имен временных переменных, а V - множество вершин MTL-графа. Предположим, что существует сюрьективная функция р : V ^ Р, которая сопоставляет вершинам из множества V имена из множества Р. Приведем понятия модели и интерпретации MTL-графа.

Интерпретацией MTL-графа О называется тройка <Т,1,К>, где Т - упорядоченное множество; I - функция I: Р ^ Т, такая, что для всех Р|, Ру е Р выполнено правило (если р (Р|)= р (Ру), то 1( р! )=1( Ру)); К - функция, отображающая каждую метку 1 на ребрах графа О в соответствующее бинарное отношение К(1) на Т.

Моделью MTL-графа О называется такая интерпретация, при которой справедливо следующее утверждение: если (у1,1,у2) - ребро в графе О, то для всех Р|, Ру е Р, таких что р (Р|)=у1 и р (Ру )= у2 , выполняется <1( Р| ),1( Ру )>е К(1).

MTL-граф согласуем (непротиворечив), если он имеет, по крайней мере, одну модель. Два или более MTL-графа логически эквивалентны, если они обладают одними и теми же моделями.

Из приведенных выше определений непосредственно следует, что MTL-граф согласуем тогда и только тогда, когда он не содержит ни одного <- или <-цикла, который содержит две вершины, соединенные ребром, взвешенным отношением ^ , а также не содержит ни одной группы вершин, объединенных отношениями =, < или ^ .

Множество 8 отношений, заданных в терминах точечной модели времени, достаточно просто преобразовать в MTL-граф. На первом этапе этого преобразования каждой переменной из 8 сопоставляется одна вершина графа. Отношение эквивалентности х=у преобразуется в неориентированную связь ух = уу , отношение неравенства

х ^ у преобразуется в неориентированную связь ух ^ уу, отношения «меньше» х<у и («меньше

или равно») х < у преобразуются в направленные связи ух < уу и ух < уу , отношения «больше»

х>у и «больше или равно» х > у преобразуется в направленные связи ух > уу и ух > уу . Для пустого ограничения 0 никакие ребра в граф не добавляются.

Алгоритм определения согласованности MTL-графа О=(У,Е), где V и Е - множества вершин и ребер соответственно состоит из следующих шагов:

1) определение всех компонент сильной связности в О без учета связей, взвешенных отношением ^.

2) поиск среди всех компонент сильной связности компонента, содержащего пару вершин,

между которыми существует связь, взвешенная отношением < или ^. Если граф согласуем, то каждый компонент сильной связности сворачивается в любую из своих вершин, например и все связи, которые выходят или входят в вершины компонента сильной связности, ассоциируются с этой вершиной. Все связи между вершинами внутри одного компонента сильной связности удаляются. Соответственно, имена переменных вершин в этом компоненте становятся альтернативными именами для вершины

Получаемый в результате граф является ациклическим и логически эквивалентен исходному MTL-графу. Таким образом, MTL-граф О может быть проверен на согласованность и свернут в случае его согласованности в логически эквивалентный ациклический MTL-граф за полиномиальное время О(е), где е - число связей в исходном MTL-графе О.

Рассмотрим механизм выявления всех выполнимых отношений в сети ограничений, заданной MTL-графом. Предварительно введем понятие неявного отношения.

MTL-граф содержит неявное отношение < между вершинами у и " , если не существует ни одного <-пути от у к "и существует либо ребро, взвешенное отношением ^ и < -путь от у к " , либо две вершины 1 и и, между которыми есть ребро, помеченное отношением и существуют < -пути (но не <-пути) от у к и, от и к " , от у к 1 и от 1 к " .

Явным MTL-графом для МТЬ-графа О называется ациклический МТЬ-граф, логически эквивалентный исходному графу О и не содержащий неявных отношений.

Из определения явного MTL-графа следует,

что:

• у=" тогда и только тогда, когда у и " альтернативные имена одной и той же вершины (или у и " были связаны отношением =).

• у<" тогда и только тогда, когда существует <-путь от у к

• у<" тогда и только тогда, когда существует <-путь от у к

• у^ тогда и только тогда, когда существует <-путь от у к " или в графе существует связь между у и взвешенная отношением ф.

Временной граф (Time-граф) - это явный MTL-граф, распадающийся на набор временных цепей (под временной цепью понимается <-путь), причем каждая вершина может принадлежать одной и только одной временной цепи. Очевидно, что различные цепи Time-графа могут быть соединены перекрестными связями.

Таким образом, если произвести переход от MTL-графа к Time-графу, то будут автоматически решены следующие подзадачи, возникающие при решении ЗСВО:

1) определение согласованности множества ограничений (задача выполнимости). Действительно, ИТЬ-граф согласуем, если он не содержит ни одного <-цикла и ни одного <-цикла, который содержит две вершины, соединенные ребром, взвешенным отношением а Тше-граф - это ациклический по определению граф;

2) выявление всех выполнимых ограничений. Следует из того, что Тше-граф - это явный ИТЬ-граф.

Преобразование ИТЬ-трафа в Тше-граф включает четыре этапа. На первом этапе проверяется согласованность исходного множества временных ограничений. Так как СВР ориентирована на динамическое изменение этого множества (динамическое добавление новых переменных и отношений между ними в исходный набор бинарных ограничений), то на этом этапе не производится модификации ИТЬ-трафа, а по исходному ИТЬ-графу строится новый граф, который на последующих этапах достраивается до Тше-графа. Это позволяет сократить время перехода. Последующие этапы выполняются только для согласованных ЗСВО. На втором этапе осуществляется расстановка рангов; на третьем - распределение вершин графа по временным цепям. Заключительным этапом является выявление всех неявных отношений < в графе.

При успешном завершении преобразования СВР способна выполнять определение точного отношения между заданной парой временных переменных. Для этого определяются соответствующие им вершины Тше-графа. Затем в общем случае производится поиск всех путей между этими вершинами, причем использованная структура данных (ранги и временные цепи) позволяет сократить время поиска.

Таким образом, ЗСВО для качественной точечной модели времени может быть сведена к задаче преобразования ЗСВО в МТЬ-граф и задаче преобразования МТЬ-графа в Тше-граф.

Представление неточной информации

Представление неточных временных отношений в точечной алгебре (РА-дизъюнкции) и оперирование ими позволяет значительно повысить выразительность модели времени. Для этого используются отношения уже упоминавшейся ранее интервальной алгебры Аллена.

Временным интервалом X называется упорядоченная пара (Х^^ , Х^) значений, причем

< > где Xstaгt и Xstop - граничные точ-

ки интервала.

В таблице 1 представлены 13 базовых отношений интервальной алгебры Алена [4].

К сожалению, в общем случае ЗСВО для данной алгебры является ^Р-полной. Для сокращения времени поиска решения возможны следующие

Таблица 1

Базовые отношения между интервалами

^аг^Х) и Еш!(Х) обозначают соответственно точки начала и конца интервала X)

Отношение и его инверсия Обозначения Иллюстрация Отношения между конечными точками

X before Y b Start(X)<Start(Y), Start(X)<End(Y), End(X)<Start(Y), End(X)<End(Y)

Y after X bi

Y meets X m m Start(X)<Start(Y), Start(X)<End(Y), End(X)=Start(Y), End(X)<End(Y)

Y met-by X mi -1 m

X overlaps Y o o Start(X)<Start(Y), Start(X)<End(Y), End(X)>Start(Y), End(X)<End(Y)

X over-lapped-by Y oi -1 o

X during Y d d Start(X)<Start(Y), Start(X)<End(Y), End(X)>Start(Y), End(X)<End(Y)

Y contains X di d -1

X starts Y s s Start(X)=Start(Y), Start(X)<End(Y), End(X)>Start(Y), End(X)<End(Y)

Y started-by X si -1 s

X finishes Y f f Start(X)>Start(Y), Start(X)<End(Y), End(X)>Start(Y), End(X)=End(Y)

Y finished-by X fi f -1

X equals Y e Start(X)=Start(Y), Start(X)<End(Y), End(X)>Start(Y), End(X)=End(Y)

подходы [2]. Первый подход основан на ограничении класса интервальных временных отношений его подмножеством (ХМ-подмножеством) отношений, которые могут быть представлены в виде конъюнкций отношений в точечной алгебре между точками начала и конца интервала. Другой подход связан с использованием интервальной алгебры в полном ее объеме, но с применением полиномиального алгоритма поиска решения, который, однако, гарантирует решение ЗСВО только в случае согласованности исходного множества интервальных отношений (то есть несогласованность может быть не обнаружена, что приведет к безрезультатному завершению алгоритма). Отметим, что главным недостатком первого подхода является невозможность представления дизъюнктивных отношений между интервалами времени, что часто необходимо для решения практических задач. Использование второго подхода вообще

практически нецелесообразно, так как получаемый при этом планировщик может давать несогласованные (то есть невыполнимые) планы.

Как уже отмечалось, целью обработки дизъюнктивных отношений является повышение выразительности модели времени в случае неточной исходной информации, а следовательно, и расширение границ практического применения СВР. Наиболее просто в точечной алгебре представим класс отношений на основе Х/А-подмножества. Каждый интервал X можно представлять в виде точек его начала (Х81аг1) и конца (Х81оР) с автоматическим добавлением отношения Х81аг1 < Х81оР , а

каждое отношение между интервалами - соответствующими отношениями между точками конца и начала интервала.

Другим способом является добавление в модель времени средств поддержки и обработки бинарных РА-дизъюнкций, что позволяет оперировать со значительно большим, чем Х/А, подклассом интервальной алгебры (можно представить, по крайней мере, 211 =2048 отношений из общего числа 213 =8192 отношений в полной интервальной алгебре Аллена; в Х/А-подмножестве предста-вимо 188 отношений) [4,5].

Соответствия между отношениями точечной алгебры и отрицаниями базовых отношений интервальной алгебры представлены в таблице 2.

Таблица 2 Таблица преобразований отрицаний базовых отношений интервальной алгебры в отношения в точечной алгебре

Отрицание базового отношения между интервалами X и Y Отношение в точечной алгебре

X not-before Y Start(Y)<End(X)

X not-meets Y End(X)^Start(Y)

X not-overlaps Y (Start(Y)<End(X)) v (End(X)<Start(Y)) v (End(Y)<End(X))

X not-starts Y (Start(X)^Start(I)) v (End(Y)<End(I))

X not-during Y (Start(X) <End(Y)) v (End(Y)<End(X))

X not-finishes Y (End(X) ^End(Y)) v (Start(X)<Start(Y))

X not-equal Y (Start(X) ^Start(Y)) v (End(X)^End(Y))

X not-after Y Start(Y)<End(X)

X not-meet-by Y End(Y) ^Start(X)

X not-overlapped-by Y (Start(X) <Start(Y)) v (End(Y)<Start(X)) v (End(X)<End(Y))

X not-started-by Y (Start(Y)^Start(X)) v (End(X)<End(Y))

X not-contains Y (Start(Y) <Start(X)) v End(X)<End(Y))

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

X not-finished-by Y (End(Y)^End(X)) v Start(Y)<Start(X))

Из таблицы видно, что только отрицание двух (overlaps, overlapped-by) из тринадцати базовых отношений приводит к появлению тернарных PA-дизъюнкций. Таким образом, число интервальных отношений, которые могут быть представлены с помощью бинарных PA-дизъюнкций, составляет 211. Заметим, что использование PA-дизъюнкций из произвольного числа дизъюнктов позволяет повысить выразительность представления временных зависимостей, но совершенно неэффективно с точки зрения вычислительной сложности, так как соответствующие алгоритмы поиска решения характеризуются экспоненциальными оценками [2,5].

Рассмотрим возможность оперирования неточной (нечеткой) информацией.

Дизъюнктивным Time-графом называется пара <T,D>, где T - Time-граф; D - набор бинарных дизъюнкций в точечной алгебре. Элементами множества D являются Di = x{R|}y v w{Rj}z , где

x,y,z,w - временные переменные; R^Rj - отношения (<,=, >, <, >, ф); i=1,...,n. Определение согласованного TL-графа можно обобщить на случай дизъюнктивного Time-графа. Пусть в множество отношений точечной алгебры M входит по одному дизъюнкту из каждой бинарной дизъюнкции множества D. Дизъюнктивный Time-граф считается согласованным, если существует такое множество M, что добавление его в граф T не нарушает его согласованности. Множество M при этом называется реализацией множества бинарных дизъюнкций D для графа T.

Дизъюнктивный Time-граф <T,D> называется явным, если он согласован и не содержит неявных отношений.

Следовательно, для получения явного дизъюнктивного Time-графа необходимо определить реализацию множества бинарных дизъюнкций D для графа T. В общем случае для решения этой задачи для k дизъюнкций в множестве D необходимо проверить 2 возможных вариантов реализаций, что ведет к экспоненциальной оценке сложности соответствующего алгоритма.

Определение согласованности дизъюнктивного Time-графа в общем случае является MP-полной задачей. Для сокращения времени поиска решения можно использовать следующий алгоритм.

На первом (предварительном) шаге выполняется попытка сокращения множества (поискового пространства) D до его подмножества D' и построение Time-графа T' таким образом, что реализация D' для графа T' является подмножеством реализации D для графа T. Назовем этот этап этапом предварительной обработки дизъюнкций.

На втором шаге производится поиск реализации D' для графа T' с использованием алгоритма поиска с возвратами.

Рассмотрим правила построения подмножества Б', которые применяются к каждой дизъюнкции Dj в исходном множестве Б. Для иллюстрации будем использовать пример на рисунке 3.

Из графа T следует, что a<g, следовательно, дизъюнкция D2 может быть отброшена из рассмотрения. Так как добавление в исходный граф отношения f<a приведет к его несогласованности, то в дизъюнкции Dj может быть применен к графу T только второй дизъюнкт f<d, который входит в каждую реализацию множества бинарных дизъюнкций D для графа T.

Сформулируем правила сокращения поискового пространства, предварительно введя множество Q, состоящее из РА-отношений, которые должны быть в каждой реализации множества бинарных дизъюнкций D для графа T:

1. T-выводимость (T-derivability). Если в графе T имеется связь (отношение) x{Rj}y или w{R2}z, то дизъюнкцию Di = x{Rt}y v w{R2}z можно не включать в множество D'.

2. T-тавтология (T-tautology):

a) если добавление в граф T связи x{Rt}y приводит к появлению связи w{R2}z, то дизъюнкцию Di = x{Rj}y v w{R2}z можно не включать в множество D';

b) если добавление в граф T связи w{R2}z приводит к появлению связи x{Rj}y , то дизъюнкция Di = x{Rj}y v w{R2}z может не включаться в множество D'.

3. T-резолюция (T-resolution):

а) если добавление в граф T связи x{Rt}y не нарушает его согласованности, а добавление связи w{R2 }z нарушает, то исключить дизъюнкцию Di = x{Rj}y v w{R2}z из множества D' и добавить x{Rj}y в множество Q;

б) если добавление в граф T связи w{R2}z не нарушает его согласованности, а добавление связи x{Rj}y нарушает, то исключить дизъюнкцию Di = x{Rj}y v w{R2}z из множества D' и добавить w{R2}z в множество Q;

в) если добавление в граф Т связи w{R2}z или х^х}у нарушает его согласованность, то дизъюнктивный Time-граф <Т,Б> является несогласованным.

Если дизъюнкция Dj не удовлетворяет ни одному из правил 1-3, то она должна быть включена в множество Б'. На заключительном этапе предварительной обработки дизъюнкций к графу Т должно быть применено множество Q, и в результате будет получен граф Т'. Если граф Т' несогласован, то исходный дизъюнктивный Тime-граф <Т,Б> также несогласован. Таким образом, дизъюнкции Б2 и (рис. 3) не включаются в множество Б', так как выполняются соответственно правила 1 и 2, а дизъюнкции и не включаются в Б', так как выполняется правило 3.

Полученный в итоге сокращения поискового пространства дизъюнктивный Time-граф <Т',Б'> приведен на рисунке 4.

Следует заметить, что если не формировать множество Q, а добавлять его элементы в граф по мере их выявления, то в приведенном примере из множества поиска может быть исключена и РА-дизъюнкция Но добавление в граф Т новой связи требует полного его обновления (то есть всех изложенных выше шагов), что при частых добавлениях потребует значительного времени. Также полное обновление исходного графа требуется и при применении правила 2. Для сокращения вычислений в [5] предложено использовать упрощенное правило тавтологии (правило 4). 4. Модифицированная T-тавтология: если для графа Т справедливо (х < z V w < у) или (х < z V w < у), то дизъюнкцию Dj = }у V vw{R2}z можно не включать в множество Б'.

Правило 4 должно проверяться только для дизъюнкций вида х < у V w < z в случае, если эта дизъюнкция не удовлетворяет правилу 1.

Примечательно, что второй этап обработки дизъюнкций, требующий значительных затрат времени, не нужен для определенных исходных наборов дизъюнкций, например, в случае исполь-

Исходный граф T Множество PA-дизъюнкций D

■<2л 1 Dj = f < a v f < d 2 D2 = b < f v a < g 3 D3 = g < a v b < f 4 D4 = d < g v b < d 5 D5 = b Ф e v b < d

Рис. 3. Пример дизъюнктивного Time-графа <T,D>

Граф T' Множество PA-дизъюнкций D'

<xx 5 D5=b Ф e v b < d Множество Q: 1 f < d 2 b < f

Рис. 4. Итоговый дизъюнктивный Time-граф <T',D'>

зования ОКБ-Нот подкласса интервальной алгебры [5]. Этот подкласс является уникальным подклассом, содержащим все тринадцать базовых временных отношений, для которого существует полиномиальная стратегия применения правил сокращения пространства поиска при определении согласованности дизъюнктивного Тте-графа <Т,Б>, где Б - множество бинарных ОКБ-высказываний (то есть высказываний вида хКу, где Ке {<,=,Ф}).

Если дизъюнктивный Тте-граф <Т,Б> построен не для множества отношений из ОЯВ-Нот подкласса интервальной алгебры, то необходимо

выполнить поиск реализации множества дизъюнкций Б для графа Т с использованием алгоритма поиска с возвратами или переборного алгоритма. Переборный алгоритм практически неприемлем, так как требует рассмотрения огромного числа возможных вариантов реализаций (в общем случае для к дизъюнкций в множестве Б необходимо проверить 2к вариантов). Поэтому в СВР для ИСППР РВ предложено использовать модифицированные алгоритмы поиска с возвратами.

СРВ. Рассмотрим архитектуру и основные возможности СВР, предназначенные для использования в составе ИСППР РВ. СВР реализована в

Список бинарных РА-дизъюнкций

Ссыпка на соответствую щую вершину в Т1МЕ-графе

Дизъюнктивный МП-граф

Соответствует исходному МП-графу. Создается из него путем копирования в момент поиска реализации множества бинарных РА-дизъюнкций. После этапа предварительной обработки в него включаются отношения из

множества РА-резольвент.

Списки входящих и выходящих, связей вершины

Ссылки на

п соответствующие

Дополнительная

. вершины

информация г

дизъюнктивного Л

графа

Ссылки на соответствующие вершины дизъюнктивного Т1МЕ-графа

Дизъюнктивный Т1МЕ-граф

Соответствует дизъюнктивному мТ|_-графу. Служит для ответов на запросы пользователя при работе системы в режиме обработки дизъюнктивной информации.

Рис. 5. Модель данных СВР

виде набора отдельных модулей, объединенных модулем контроля. Общение с системой осуществляется через фиксированный интерфейс связи, что позволяет легко встраивать ее в клиентские приложения.

СВР позволяет пользователю управлять:

• контролем согласованности: поддерживаются режимы автоматического контроля целостности внутренних данных и контроля согласованности по запросу систем-клиентов;

• выразительностью используемой модели времени: поддерживается выбор среди моделей BРА, СРА, РА, SIА, ORD-Horn, РА--дизъюнкции;

• шагами выполнения преобразования МП-графа в Гте-граф.

Интерфейс связи СВР в полной мере обеспечивает набор необходимых системе-клиенту возможностей для оперирования временными зависимостями:

- создание временных переменных;

- создание отношения между двумя временными переменными;

- удаление временных переменных;

- удаление отношений между временными переменными из базы;

- проверку на существование временной переменной в базе и выдачу информации о переменной, если она существует;

- управление системой контроля (непрерывный/по запросу) согласованности;

- нахождение согласующего сценария;

- определение выполнимых ограничений между заданной парой временных примитивов;

- возможность автоматического отката к последнему согласованному состоянию;

- выявление всех выполнимых ограничений.

В режиме автоматического контроля СВР

поддерживает транзакции и автоматический откат к последнему согласованному состоянию в случае появления ошибки согласованности.

Для реализации временных рассуждений необходимы средства представления множества временных переменных, сети ограничений в виде MTL-графа, множества бинарных РА-дизъ-

юнкций. Исходя из этого для СВР была предложена модель данных, представленная на рисунке 5.

(рис. 6). На этапе преобразования множества ограничений в MTL-граф производится заполнение хэш-таблицы именами временных переменных. В этой таблице в качестве дополнительной информации для каждого имени переменной хранится ссылка на вершину Г£-графа, что позволяет быстро производить поиск вершин Г£-графа по имени.

Наиболее эффективным способом хранения ориентированного графа ограничений в СВР является его представление в виде списка вершин. Каждая вершина описывается списками входящих в нее и выходящих связей. Реализация графа на основе двунаправленных списков позволяет динамическое изменение текущего набора ограничений в точечной алгебре и, следовательно, соответствующего Г£-графа.

В качестве дополнительной информации, для каждой вершины МГ^графа хранятся ссылка на соответствующую вершину в Гте-графе, код компонента связности и т.д. Структура Гте-графа аналогична структуре МГ^графа. Отличие составляет лишь набор хранимой для каждой вершины дополнительной информации: ранг, код цепи, метасвязи и т.д. Запросы на поиск выполнимых отношений между любыми двумя временными примитивами выполнятся на Гте-графе. СВР автоматически обеспечивает преобразование символьных имен переменных, которыми оперирует система-клиент в соответствующую ей вершину Гте-графа. При этом производится поиск вершины МГ^графа, соответствующей имени переменной в хеш-таблице, а затем осуществляется поиск соответствующей этой вершине вершины Гте-графа.

При обработке бинарных РА-дизъюнкций предусмотрена возможность представления набора дизъюнкций, дизъюнктивного Г£-графа и

Рассмотрим схему функционирования СВР

Автоматическое построение дизъюнктивного йте-графе Если он уже существует тс предварительно производится резервное сохранение на диск

Запрос автоматически переадресуется к дизъюнктивному варианту графа если он существует Ответ из дизъюнктивного варианта "Пте-графе

Рис. 6. Схема функционирования СВР Т

дизъюнктивного Time-графа. Эти структуры не используются, если система работает с точной информацией (когда запрещено внесение дизъюнктивных ограничений). Если же обрабатывается нечеткая информация, то при каждом запросе на поиск реализации множества дизъюнкций в дизъюнктивной модели TL-граф и Time-граф обновляются. Запросы на поиск выполнимого отношения между любыми двумя временными переменными ведутся в дизъюнктивном Time-графе. Внесение в модель данных дополнительного дизъюнктивного TL-графа сделано из соображений повышения эффективности обработки.

СВР реализована на языке C++ Builder 6.0 в виде DLL (Dynamic link library). Для повышения быстродействия системы создана библиотека шаблонов для языка C++, которая включает улучшенную реализацию таких важных для СВР примитивов, как список, стек, массив и граф. На основе списка были созданы шаблонные классы «граф» и

«хеш-таблица». На основе шаблонного класса «граф» были созданы основные контейнеры модели данных - TL-граф, TIME-граф и их дизъюнктивные варианты. Таким образом, структура модели данных органично отражена в объектах системы. Основным управляющим классом, реализующим интерфейс связи и через него доступ к приложениям-клиентам, является словарь временных переменных (vocabulary). Диаграмма классов СВР как компонента ИСППР РВ приведена на рисунке 7.

Данная СВР включена в состав прототипа ИСППР РВ для оперативно-диспетчерского персонала энергоблока.

Список литературы

1. Вагин В.Н., Еремеев А.П. Некоторые базовые принципы построения интеллектуальных систем поддержки принятия решений реального времени // Изв. РАН. Теория и системы управления. - 2001. - № 6. - С.114-123.

2. Еремеев А.П., Троицкий В.В. Модели представления временных зависимостей в интеллектуальных системах поддержки принятия решений // Там же. - 2003. - № 5. - С.75-88.

3. Кандрашина Е.Ю., Литвинцева Л.В., Поспелов Д.А. Представление знаний о времени и пространстве в интеллектуальных системах. / Под ред. Д.А. Поспелова. - М.: Наука. - Гл. ред. физматлит., 1989.

4. Allen J.F., Ferguson G. Actions and Events in Interval Temporal Logic. // Technical Report, S21, 1994.

5. Gereviny A. and Schubert L. Efficient Algorithms for Qualitative Reasoning about Time. Technical report 496, Department of Computer Science, University of Rochester, Rochester, NY, 1993

6. Еремеев А.П. Об интеграции моделей в интеллектуальных системах поддержки принятия решений // Девятая национальная конф. по искусствен. интеллекту с междунар. участ. КИИ-2004 (28 сент.- 2 окт. 2004 г., Тверь): Тр. конф. В 3 т. Т.2. М.: Физматлит, 2004.- С.815-823.

7. Еремеев А.П., Денисенко Л.А. Прототип интеллектуальной системы поддержки принятия решений для управления энергообъектом // Программные продукты и системы. - 2002. -№3.- С.38-41.

АЛГОРИТМИЧЕСКОЕ И ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ДЛЯ НАХОЖДЕНИЯ ПАРАМЕТРИЗОВАННЫХ ИНВАРИАНТОВ

СЕТЕЙ ПЕТРИ

Н.Е. Демидов

Сети Петри (СП) - одно из современных и наиболее эффективных средств графического и математического моделирования систем самых

различных классов [1]. СП - мощный инструмент для описания систем, использующих параллелизм, синхронизацию и разделяемые ресурсы, и в том

i Надоели баннеры? Вы всегда можете отключить рекламу.