УДК 621.372 Дата подачи статьи: 18.04.2014
ЛОГИКА ДВИЖЕНИЯ В СИСТЕМЕ «БИНАРНАЯ МОДЕЛЬ ЗНАНИЙ»
(Работа выполнена при финансовой поддержке РФФИ, проект № 14-01-00567)
Г.С. Плесневич, к.ф.-м.н., профессор; А.А. Горкина, аспирант (Научно-исследовательский университет «МЭИ», ул. Красноказарменная, 14, г. Москва, 111250, Россия, [email protected])
Субраманиан В.С. предложил, а Яман Ф. (с участием Нау Д.) разработала так называемую логику движения (ЛД), которая предоставляет формальный язык, включающий термины классической логики и ньютоновой механики. ЛД комбинирует пропозициональную логику, методы распространения ограничений и геометрические рассуждения, имеет декларативный синтаксис и семантику, основанную на моделях. Эта логика формализует рассуждения о планах движения объектов. В ЛД естественно описываются планы движения объектов и существует возможность предсказания их дальнейшего расположения. Объекты в ней рассматриваются как материальные точки в пространстве. Однако многие реальные приложения, связанные с моделированием движущихся объектов, требуют представления структуры и характеристик этих объектов. Необходимо описание сложных объектов в менее сложных терминах. Плесневичем Г.С. предложен проект системы «Бинарная модель знаний» (БМЗ), предназначенной для онтологического (концептуального) моделирования. БМЗ содержит формальные языки для структурной и логической спецификации объектов. В настоящей статье показано, как осуществляется интеграция ЛД в БМЗ, которые хорошо дополняют друг друга с точки зрения применимости и выразительной силы. Таким образом, получается система ЛД+БМЗ для онтологического моделирования приложений, связанных с поведением движущихся объектов. Рассматривается пример применения этой системы для задачи управления авиатрафиком.
Ключевые слова: представление знаний, онтологическое моделирование, логика движения, модели данных, модели знаний, бинарные модели знаний.
Received 18.04.2014
MOTION LOGIC IN THE SYSTEM "BINARY KNOWLEDGE MODEL"
(The work is done with financial support from the Russian Foundation for Basic Research, project № 14-01-00567) Plesniewicz G.S., Ph.D. (Physics and Mathematics), Professor; Gorkina A A, Postgraduate Student (NationalResearch University MPEI", Krasnokazarmennaya St. 14, Moscow, Russian Federation, [email protected]) Abstract. There are various applications where there is a critical need to reason about moving objects. V.S. Subramani-an offered and F. Yaman (with D. Nau's participation) developed so-called logic of motion (LOM) that provides the formal language including terms of classical logic and Newtonian mechanics. LOM combines propositional logic, constraint satisfaction and geometric reasoning. LOM has declarative syntax and semantics based on models, and formalizes reasoning about planned movement of objects. LOM can naturally describe schemes and plans for moving objects and there is a possibility to predict their further locations. LOM consideres objects as material points in space; thus, they have no structure and characteristics (attributes). However, numerous real applications with modeling of moving objects also require a representation of the structure and characteristics of these objects. Also, they require the description of complex objects in terms of simpler ones. G.S. Plesniewicz offered a project of the system "Binary Model of Knowledge" (BMK) for ontological (conceptual) modelling. BMK contains formal languages for structural and logical specification of objects. This paper shows how to integrate LOM into BMK system. LOM and BMK nicely complement each other in applicability and expressive power. Therefore, we receive a system LOM+BMK for ontological (conceptual) modelling of applications considering moving
structured objects behavior. A wide range of applications would benefit from using the system LOM+BMR. An example of air traffic control using LOM+BMK is considered.
Keywords: knowledge representation, ontological modelling, logic of motion, data models, knowledge models, binary knowledge models.
В работе [1] была введена так называемая логика движения (ЛД), соединяющая понятия ньютоновой механики и классической логики. В дальнейшем эта логика была развита в [2-4].
В ЛД схемы и планы для движущихся объектов рассматриваются в частности для того, чтобы предсказывать их дальнейшее расположение. Это важно для многих приложений (управление воздушным трафиком, планирование тактических военных задач и т.п.).
В данной логике объекты не имеют структуры, то есть фактически являются материальными точками. Однако многие реальные прикладные задачи требуют представления структуры объектов и существует необходимость манипулирования этой структурой. Обычно структура объекта определяется его связями с другими объектами, его компонентами и атрибутами. Такими возможностями обладают языки дескриптивной логики [5].
В работе [6] предложена гибридная логика SHOIQ[LOM], в которой соединены возможности ЛД LOM (logic of motion) и дескриптивной логики SHOIQ. В гибридной логике описание понятия СамолетП
3near(13:00,14:00;10km).Самолет (1)
определяет множество самолетов, находящихся в период c 13 до 14 часов ближе чем на 10 километров к другому самолету. Структура понятий передается с помощью ролей, которые соответствуют атрибутам (многозначным или однозначным). В частности, однозначные атрибуты в логике SHOIQ[LOM] представляются функциональными ролями. Например, для понятия Самолет можно ввести такие функциональные роли, как тип_са-молета, колич мест, компания и т.п. Тогда в онтологию, представляющую знание для интеллектуальной информационной системы диспетчерской службы, будут включены следующие предложения:
^пс^тип самолета), ^пс^колич мест), funct(компания), Самолет с Зтип самолета, Самолет с Зколич мест, Самолет с ^компания.
В (1) near - встроенная роль в интерпретаторе гибридной логики SHOIQ[LOM]. Эта роль, которая является бинарным отношением между индивидными константами, вычисляется соответствующей программой интерпретатора логики SHOIQ[LOM]. Авторы работы [6] построили основанный на методе аналитических таблиц алгоритм логического вывода в логике SHOIQ[LOM].
В языках дескриптивной логики принято разделять интенсиональное знание (представляемое в компоненте TBox) и экстенсиональное знание (представляемое в компоненте ABox). Это важный принцип, так как он позволяет отдельно выпол-
нять логический вывод в системе понятий и вывод в системе фактов; последний необходим для вычисления запросов, обращенных к базе фактов (то есть к компоненте ABox, рассматриваемой в предположении замкнутого мира). В гибридной логике SHOIQ[LOM] этот принцип нарушен (как видно из (1)), что является ее большим недостатком. Другой недостаток логики SHOIQ[LOM] в том, что ее язык не является типизированным. (Известно, что типизированные языки обладают важными преимуществами по сравнению с нети-пизированными [7].)
В работах [8-10] была предложена система «Бинарная модель знаний» (БМЗ) концептуальных языков для онтологического (концептуального) моделирования. В БМЗ можно естественным образом специфицировать структуру объектов, рассуждать о знании для структурированных объектов и вычислять ответы на запросы, относящиеся к конкретным объектам. В языках БМЗ выполняется принцип разделения интенсионального и экстенсионального знаний. Кроме того, эти языки типизированы.
Система БМЗ включает язык структурной спецификации (ЯСС), в котором, например, структура класса Самолет и бинарной связи NEAR (понятия близости) определяется следующим образом:
Самолет[ТипСамолета^^^д,
Компания^^^д, Колич мест: Integer], (Classl NEAR Class2)
[TimeInt:(TimeDT,TimeDT),Dist:DistD)].
Второе предложение является встроенным в интерпретатор БМЗ. Здесь NEAR - встроенная бинарная связь (отношение), вычисляемая соответствующей программой интерпретатора. Имена в предложении обозначают параметры с определенными значениями. Так, у параметров Class1 и Class2 значениями служат имена классов, у TimeInt - атрибуты, у TimeDT - спецификации типов данных, у Dist - имена атрибутов, у DistD - имена доменов.
Определяя понятие близости самолетов, мы можем ввести бинарную связь Near1 как специализацию (конкретизацию) бинарной связи NEAR:
(Самолет Near1 Самолет)
[TimeInt:(Time of day,Time of day), Dist:Dist_km)].
Предположим, что мы обращаемся к базе фактов с запросом: «Найти пары самолетов, находящиеся на близком расстоянии друг от друга во время с 13 до 14 часов, то есть на расстоянии, не большем 10 километров». Этот запрос записывается в языке запросов системы БМЗ так:
?(X,Y)-(X Nearl Y);
Nearl(TimeInt=(13.00,14.00);Dist=10).
В настоящей статье показано, как ЛД можно интегрировать в систему БМЗ. Благодаря этому получены средства онтологического (концептуального) моделирования для приложений, включающих поведение движущихся объектов.
Краткие сведения о ЛД
Синтаксис и семантику ЛД авторы определяют соответственно статье [1]. Пусть R - множество всех вещественных чисел, R+ - множество положительных чисел, О - конечное множество имен объектов, VR - множество переменных со значениями в R, VO - множество переменных со значениями в О. Вещественный терм - это элемент R и VR, объектный терм - элемент О и VО.
Атомы ЛД определяются следующим образом.
• Если 01 и о2 - объектные термы, d, /ь /2 -положительные вещественные термы, то пеаг(о1, о2, d, /ь /2) - атом. Интуитивный смысл: «объекты о1 и о2 находятся друг от друга на расстоянии d в моменты времени из интервала [/1, /2]». Этот атом можно также записать, вставив скобки, чтобы выделить временной интервал: пеаг(о1, о2, d, [/ь /2]).
• Если о1 и о2 - объектные термы, d, /ь /2 -положительные вещественные термы, то /аг(оь о2, d, /ь /2) - атом. Интуитивный смысл: «расстояние между объектами о1 и о2 в моменты времени из интервала [/1, /2] больше d». Этот атом можно также записать, вставив скобки, чтобы выделить временной интервал: /йг(оь о2, d, [/ь /2]).
• Если о - объектный терм, /ь /2 - положительные вещественные термы, х1, _уь х2, у - вещественные термы, то ш(о, хь _уь х2, _у2, /ь /2) - атом. Интуитивный смысл: «объект о находится в некоторый момент времени из интервала [/1, /2] в прямоугольнике с левой нижней вершиной (х1, _у1) и правой верхней вершиной (х2, >"2)». Этот атом можно также записать, вставив скобки, чтобы выделить координаты и временной интервал: ш(о, (Х1, .У1), (Х2, >-2), [¿1, />]).
• Если о - объектный терм, /Д /2-, /2+, V-, - положительные вещественные термы, х1, .у1, х2,
у - вещественные термы, то ,§о(о, х1, _уь х2, _у2, /Д /2-, /2+, V-, v+) - атом. Интуитивный смысл: объект о покидает точку (х1, _у1) в некоторый момент времени из интервала [/Г, /1+], движется по прямой с некоторой скоростью из интервала [V-, v+] и прибывает в точку (х2, >>2) в некоторый момент времени из интервала [/2-, /2]. Этот атом можно также записать, вставив скобки: ,§«(о, (х1, >>1), (х2, >>2), [Т, /1+], [/2-, /2+], [V-, VI).
Предложение ЛД - это атом или булева комбинация атомов, то есть, если а и р - предложения, то предложениями являются ~а, а/\р и а\/р. Выражение а^р также считается предложением и рассматривается как сокращение предложения ~а\/р. Предложение ~а, где а - атом, называется литералом.
Семантика ЛД определяется через понятие интерпретации. Интерпретация - это непрерывная функция I: О х R+ ^ R х R. Интуитивный смысл: 1(о, /) - положение объекта о в момент времени
Атом #о(о, (х1, >-1), (х2, >-2), [/1-, /1+], [/Г, ¿2+], [V-, v+]) истинен в данной интерпретации I относительно интервала [/1, /2], если
- /1 е [/1-, /1+], /1 е[/1-, /1+], 1(о, /1) = (х1, >-1), 1(о, /2) = (х2, .У2);
- для всякого момента времени /е [/1, /2] точка 1(о, /) лежит на отрезке [(х1,.у1), (х1,.у1)];
- для всех /, /'е [/1, /2] с /</' имеет место неравенство d/st(I(o, /), (х1, ^^^^/([(о, /'), (х1, >>1)), где d/st обозначает эвклидово расстояние между двумя точками;
- почти всегда в интервале [/1, /2], то есть кроме конечного числа моментов времени tе[t1, /2], существует производная V = d(/(o, и vе[vь V2].
Атомы пеаг(о1, о2, d, [/1, /2]), /аг(оь о2, d, [/1, /2]), ш(о, (х1, >>1), (х2, >>2), [/1, /2]) истинны в интерпретации I, если соответственно
- d/st(I(o1, /), 1(о2, /)) < d для всякого /е[/1, /2];
- d/st(I(o1, /), 1(о2, /)) > d для всякого /е [/1, /2];
- существуют такие / е [/1, /2], х е [х1, х2], у е [у 1, >-2], что 1(0, /)=(х, у).
Истинность предложений определяется стандартным образом. Если а и р - произвольные предложения, то предложения ~а, а/\р, а\/р истинны в интерпретации I, если соответственно а ложно, а и р истинны, а или р истинны в этой интерпретации.
Как и во всякой логике, в ЛД имеются понятия логического следствия и логической выполнимости. Пусть Е - множество предложений ЛД и а -предложение. Тогда из Е логически следует а (в записи: Е |= а), если не существует интерпретации, при которой все предложения из Е истинны, а предложение а ложно. Множество Е выполнимо, если существует интерпретация, при которой все предложения из Е истинны.
Задача логического следствия сводится к задаче невыполнимости, так как Е |= а О множество Е и{~а} невыполнимо. На самом деле проблему логического следствия (для конечных Е) можно свести к проблеме невыполнимости литералов (то есть атомов или отрицаний атомов). Для этого можно воспользоваться методом аналитических таблиц.
Алгоритмы для решения задачи о выполнимости конечных множеств атомов разработала Ф. Яман. Модифицируя соответствующим образом эти алгоритмы, можно получить алгоритмы для разрешения задачи невыполнимости конечных множеств литералов и, значит, алгоритмы для доказательства логических следствий.
База знаний в ЛД - это конечное множество предложений этой логики. Запросом назовем выражение вида ?а, где а - предложение ЛД. Пусть
Е - база знаний и ?а - запрос к этой базе. Ответом на этот запрос может быть одно из сообщений: «Да», «Нет» или «Нет информации» в зависимости от того, что, соответственно, Е |= а, Е |= ~а или Е а и Е ~а.
Алгоритмы, выясняющие логические следствия, используются для вычисления ответов на запросы к базе фактов.
Краткие сведения о системе БМЗ
Описывая систему БМЗ, авторы следуют работам [9, 10]. Эта система предназначена для спецификации онтологий, их анализа и для работы с ними, а также для управления базами фактов, структурированных в соответствии с онтология-ми. Языки системы БМЗ относятся к типу концептуальных (понятийно-ориентированных) языков. Таким образом, семантическими примитивами для этих языков служат формальные понятия, смысл которых близок к смыслу понятий класса или типа объектов.
Каждое формальное понятие С имеет универсум ис и экстенсионал ЕС. Элементами экстен-сионала служат имена, обозначающие примеры (экземпляры) понятия С, а элементами универсума - все имена, которые могут служить примерами понятия С. В экстенсионале ЕС также имеется отношение кореференции: два имени, е\ и е2, из ЕС считаются кореферентными (в записи: е1~е2), если обозначают один и тот же объект моделируемой предметной области.
В БМЗ имеются два типа понятий: классы и бинарные связи. Первые представляют множества объектов, вторые - бинарные отношения между объектами.
В качестве имен понятий используются как простые, так и составные имена, которые строятся при помощи соответствующих конструкторов. Если С - простое имя класса и Ь - простое имя бинарной связи, то
- С(*) обозначает класс, экземплярами которого служат конечные множества экземпляров понятия С, то есть
ис(* = {{е1, е2, ..., еп}1 е^Ц0 (1<г<и, п = 0, 1, 2, ...)}, Ес° = {{еь е2, ..., е„}| е,еЕс (1<г<п, п = 0, 1, 2, ...)};
- С(р, q), где р, q - натуральные числа и р<%, обозначает понятие, экземплярами которого служат конечные множества экземпляров понятия (класса или бинарной связи) С, причем размеры этих множеств заключены в границах чисел р и q; число q можно заменить на символ *, который означает неограниченность размера множеств - экземпляров класса С;
- Ь((р, q), (г, 5)), где р<д и г<5, обозначает бинарную связь, экземплярами которой служат конечные множества экземпляров Ь; при этом, если множество Е^<м)'<Л')) рассматривать как двудоль-
ный граф, степень любой левой (правой) вершины должна быть заключена между числами p и q (соответственно между числами r и s). Для пар (p, q) и (r, s) также применяются вышеупомянутые сокращения;
- A:C обозначает класс, экземплярами которого служат имена А :х, где х - произвольный экземпляр класса С;
- (Сь С2, ..., Сп) обозначает класс, экземплярами которого служат имена (xi, х2, ..., хп), где х, -произвольные экземпляры классов С,;
- С11С2\.„1Сп обозначает класс, экземплярами которого служат все экземпляры классов С, (аналогичный смысл имеет выражение L^L^... |Ln, где L, - имена бинарных связей).
В БМЗ входят следующие языки:
- ЯСС; предложения ЯСС определяют универсумы понятий;
- язык спецификации типов данных (ЯТД); предложения ЯТД задают абстрактные типы данных, которые используются как домены атрибутов;
- язык атрибутных условий (ЯАУ); предложения ЯАУ определяют выраженные в терминах атрибутов ограничения на примеры понятий;
- язык фактов (ЯФ); предложения ЯФ используются для формирования баз фактов;
- язык запросов (ЯЗ); предложениями ЯЗ служат запросы к базам фактов;
- язык логической спецификации (ЯЛС); предложения ЯЛС специфицируют экстенсионалы понятий; ЯЛС содержит несколько подъязыков.
Онтология в БМЗ - это конечное множество О предложений из ЯСС и ЯТД и ЯЛС.
Предложения ЯСС составляются из примитивных предложений, имеющих следующие формы: C[E], C[A:E], C[A:T], (C L D), (C LD)[E], (C L D)[A:E], (C L D)[A:T], где C, D - простые имена классов; Е - имя класса (простое или составное); L - имя бинарной связи; Т - спецификация типа данных (выполненная в языке ЯТД).
Произвольные предложения ЯСС получаются путем соединения примитивных предложений, имеющих одинаковую голову. (Головой первых трех указанных примитивных предложений является имя С, а последних четырех - выражение (C L D).) Например, предложение C[E, A:D(*), K:Integer, B:T] получается из четырех примитивных предложений: C[E], C[A:D(*)], C[K:Integer] и C[B:T].
Примитивные предложения имеют естественную семантику. Например, примитивное предложение C[A :E] определяет универсум
UC= Surr u Iname u {[A:x] | xeSurr}, а предложение (С L D)[A:T] - универсум
UL= Surr и Iname и {[C:x, D:y,A:z] | x,
yeSurr, ze«T»}. Здесь Surr = {#1, #2, #3, ...} - множество суррога-
тов (то есть системных идентификаторов индивидных объектов); Iname - множество всех имен для обозначения индивидных объектов; «T» -множество всех значений типа данных, определяемого спецификацией Т. Например, если Т есть (F:Integer(*), String), то множество значений «Т» состоит из кортежей вида (F:{xb x2, ..., xn},y), где x¡ e Integer (i = 1, 2, ..., n) и ye String.
Семантика составного предложения языка ЯСС определяется семантиками примитивных предложений, из которых это предложение было получено. Например,
= Surr u Iname u {[E:x, A:{y1,y2, ...,yn}, K:z, B:u] | x,>,ieSurr (i=1, 2, ...), zeInteger, ue«T»}.
Таким образом, в этот универсум входят кортежи, например кортеж [E:#25, A:{#2, #5}, K:17, B:(F:{0, 3}, abca)], если Т есть (F:Integer(*), String).
На кортежах действует операция «точка», с помощью которой можно извлекать компоненты кортежей.
Факты выражают утверждения о принадлежности имен к классам и к бинарным связям: eeEC, e£EC, (e, e')eEL, (e, e')gEL, tA eEC, tA <tEL. К фактам также относятся равенства tA = v и неравенства tApv. Здесь t - кортеж; А - атрибут этого кортежа; v - значение типа данных. В языке ЯФ эти факты записываются так: +e IN C, -e IN C, +e L e', -e L e', +t.A IN C, -t.A IN C, tA = v, tA /= v.
В БМЗ базы фактов состоят из таблиц, шапки которых определяются предложениями языка ЯСС. Например, предложение
С[Е, A:D(*), K:Integer, B:(F:Integer, String)] (2) определяет следующую шапку таблицы:
С
Surr | Sign | Coref | A | K | B
Поля этой таблицы определяются атрибутами, имеющими домены: dom(Surr) = Surr, dom(Sign) = ={+, -}, dom(Coref) = (Iname | Surr(*)), dom(K) = =Integer, dom(B) = (F:Integer(*), String).
Пусть в таблицу для указанного класса С входит, например, строка (#22, +, {#5, a}, {#2, #7}, (F:3, aba)}. Тогда эта строка представляет следующие факты и кореферентности: #22eEC (так как #22. Sign = +), [A:{0, 3}, K:{#2,#7}, B: (F:{0, 3}, aba)]eEC, [A:{0, 3}, K:{#2, #7}, B: (F:{0, 3}, aba)] ~ #22 ~ #5 ~ a.
Элементарное атрибутное условие - это выражение вида Si 9S2 или вида SI 9с, где Si и S2 - селекторы; с - константа; 9 - оператор сравнения (в частности, равенство и неравенства). Селектор -выражение вида Ai.A2_____4n, где A, - атрибуты. Атрибутное условие - конъюнкция ; X2; ...; Xn элементарных атрибутных условий X,. (Здесь точка с запятой обозначает конъюнкцию.)
Селекторы и атрибутные условия должны быть (синтаксически) корректными. Понятие коррект-
ности селектора и атрибутного условия поясним на примерах. Предположим, что в онтологию О входят предложение (2) и предложение D[R:C]. Тогда корректными будут следующие селекторы для класса С: A.R.K и A.R.B.F. Корректность элементарного атрибутного условия Si0S2 предполагает, что его селекторы относятся к одному и тому же понятию и значения также принадлежат к одному и тому же домену. Например, элементарное атрибутное условие A.R.K<A.R.B.F корректно. Произвольное атрибутное условие корректно, если корректны все его конъюнктивные компоненты.
Атрибутное условие а для понятия С определяет подпонятие С(а); его примерами служат удовлетворяющие условию а примеры С. Например, если а есть A.R.K<A.R.B.F, то экстенсионал С(а) есть множество всех таких суррогатов X, что XA.R.K<XA.R.B.F, а также всех имен из ЕС, которые кореферентны этим суррогатам.
Основным типом запросов к базам фактов являются конъюнктивные запросы. В общем случае конъюнктивный запрос имеет вид ?у - 8ь 52; ...; 5„, где у называется головой, а 5i; 52; ...; 5„ - телом запроса. Голова у - это терм или последовательность термов: у = т or у = (т1, т2, ..., тт). Компоненты 5, тела запроса имеют вид S 0 c, X.S1 0 Y.S2, X.S IN C, X.S IN С(а), (X L Y), (3)
(X L Y Z),
где С и D - классы; L - бинарная связь; X, Y, Z -переменные; c - константа; S, S1 , S2 - селекторы; 0 - оператор сравнения; а - атрибутное условие.
В ЯЗ также имеются условные конъюнктивные запросы, которые имеют вид
? - IF е THEN X ELSE д, где е - условие; X и д - конъюнкции компонент 5,.
ЯЛС включает несколько типов предложений. В частности, атрибутные условия также рассматриваются как предложения ЯЛС.
Если а - предложение ЯЛС и С - понятие, то запишем С|=а для обозначения того, что предложение а выполнено для каждого примера понятия С. Например, С |= A.R.K<A.R.B.F означает, что XA.R.K<XA.R.B.F для всех суррогатов X из ЕС
ЛД в БМЗ
Предикаты near, far, in и go ЛД интегрируются в систему БМЗ путем включения в интерпретатор языка ЯСС соответствующих понятий (бинарных связей и классов). Эти понятия определяются следующими встроенными предложениями:
(Classl NEAR Class2)
[TimeInt:(TimeD,TimeD),Dist:DistD)], (Classl FAR Class2)
[TimeInt:(TimeD,TimeD),Dist:DistD)], IN[Object:Class,
Lower left:(Real,Real), Upper right:(Real,Real), Time_int:(TimeD,TimeD)],
GO[Object:Class,
Leave:(Coord:(Real,Real),Time:TimeD),
Arrive:(Coord:(Int1:(Real,Real), Int2:(Real,Real)), TimeInt:(TimeD,TimeD)),
Speed:SpeedD].
Замечания. Для простоты предполагается, что пространство двумерное. Определяя понятие Go, предполагается, что координаты в Arrive неточные, но принадлежат интервалам; время также принадлежит интервалу.
Эти предложения входят в онтологию ОЛд-БМЗ, построенную для интегрированной системы ЛД-БМЗ. В эту онтологию также включены предложения, выражающие некоторые семантические ограничения для понятий ЛД. Так, атрибутное условие для класса NEAR TimeInt.1=<TimeInt.2 выражает ограничение, что левый конец временного интервала для любого примера класса NEAR не должен превосходить его правый конец, а следующее предложение выражает свойство транзитивности для примеров класса GO:
(FOR X,Y IN GO)IF X.Object=Y.Object;
X.Arrive.1=Y.Leave.1; X.Arrive.2.1=<Leave.2.1; X.ARRIVE.2.2=<Leave.2.2 THEN(EXIST Z IN GO)
Z.Object=X.Object;
Z.Leave=X.Leave;
Z.Arrive=Y.Arrive.
Значениями параметра TimeD служат имена типов данных, которые могут быть использованы для обозначения моментов времени. Например, можно взять имя Time_of_day для типа данных, элементы которого имеют формат XX.XX. Вместо параметра DistD можно подставить имена типов данных для обозначения расстояний, например, имя Dist_km обозначает тип данных для расстояний в километрах.
Составляя онтологию для конкретного приложения, содержащего движущиеся объекты, разработчик заменяет параметры в предложениях онтологии ОЛД-БМЗ на соответствующие имена для классов и бинарных связей. Таким образом, из параметрической онтологии ОЛД-БМЗ получается онтология, которую можно назвать ОЛд-БМЗ[Ж], где N - имя приложения. Онтология ОЛд-БМЗ[^ расширяется путем добавления новых атрибутов к ее понятиям и добавления новых понятий и предложений.
Литералы (атомы и отрицания атомов) ЛД представляются фактами в системе БМЗ. Таким образом, знанию, представленному наборами литералов ЛД, соответствует база фактов в БМЗ. Однако эта база фактов состоит не только из таблиц для понятий NEAR, FAR, IN и GO, специализированных в соответствии с конкретным приложением, она включает и таблицы для понятий приложения, которые, в частности, задают структуру движущихся объектов. К этой базе фактов можно обращаться с запросами, сформулированными в языке ЯЗ.
Пример 1. Рассмотрим приложение, связанное с управлением аэротрафиком. Фрагмент онтологии для этого приложения составляют следующие предложения ЯСС:
(Самолет NEAR Самолет)
[TimeInt:(Time h:m:s,Time h:m:s), Dist:Dist_km)],
(Самолет FAR Самолет)
[TimeInt:(Time h:m:s,Time h:m:s), Dist:Dist_km)],
(Самолет NEAR Аэропорт)
[TimeInt:(Time h:m:s,Time h:m:s), Dist:Dist_km)], IN[Object:Самолет,Lower left:(Real,Real), Upper right:(Real,Real), Time int:(Time h:m:s,Time h:m:s)],
GO[Object: Самолет, (4)
Leave:(Coord:(Real,Real),
Time:Time h:m:s)), Arrive:(Coord:(Int1:(Real,Real), Int2:(Real,Real)), Time int:(Time h:m:s, Time h:m:s), Speed:Speed km-h],
Самолет[№борта:Integer,Тип:String,Экипаж, Марка:String,СрокЭкспл:Integer, Объем горючего:(Integer|String)],
Экипаж[Командир:Пилот,1-й пилот:Пилот, 2-пилот:Пилот,Штурман,Стюард(*)], Аэропорт[Назв:String,Класс:Integer,
Служба(*)], Полет[Самолет,Рейс^^^д,
Аэропорт отпр:Аэропорт, Аэропорт назн:Аэропорт, Время вылета:Time of day, Ожидаемое время прилета:Time of day)].
В интегрированной системе ЛД-БМЗ факты записываются с помощью оператора INSERT.
Пример 2. Предположим, что мы должны записать факт о полете борта № 200237. Тогда можно, например, записать
INSERT полет1 IN Полет:
Самолет.№борта=2 0 02 37;Полет.Рейс=FV 122;
Аэропорт отпр=Москва(Домодедово);
Аэропорт назн=Санкт-Петербург(Пулково1).
Время вылета=16марта10:2 0;
Ожидаемое время прилета=16марта12:35.
Рассмотрим примеры запросов к базе фактов для онтологии ОЛд-БМЗ [Аэротрафик], выраженных в ЯЗ.
Пример 3.
Запрос 1. Найти все самолеты Боинг737 с низким уровнем горючего, находящиеся в настоящий момент вблизи аэропорта Домодедово:
?X.№борта-(Самолет:X NEAR:Y Аэропорт:Z); Х.Марка=Боинг737; Х.Объект.Объем горючего=мало; Y.TimeInt=(now,now);Y.Dist=10km, Z.Назв=Домодедово.
Запрос 2. Имеется ли опасный полет в районе аэропорта Домодедово? Полет считается опасным, если в данный момент самолет имеет мало горючего или вблизи от него находится другой самолет:
?- (X IN Полет);
(X.Объект NEAR:Y Аэропорт^); Х.Объект.Объем горючего=мало OR Объект NEAR:Y1 Объект:Z1) Х.Объект.Объем горючего=мало;
V.Т1те1п1=(пом,пом);У.Э1$1=10кт;
VI.Э1$1=0.3кт;Z.Назв=Домодедово.
Запрос 3. В настоящий момент обнаружено, что борт № 200357 может войти в опасное сближение с бортом № 220498. (Опасное сближение составляет менее 200 м.) Как следует изменить скорость борта № 200357, чтобы возможное сближение составило менее 400 м?
Пусть X и Y - экземпляры понятия GO в (4): X Ш GO, X Ш GO. На рисунке эти экземпляры условно изображены векторами ЛВ" и CD" Точки Л, В, С и D имеют следующие координаты: Д.1= X.Leave.Coord.1, (5)
Д.2= X.Leave.Coord.2, (6)
В.1=(1/2)*(X.Leave.Coord.Int1.1+
+X.Leave.Coord.Int2.1), (7)
B.2=(1/2)*(X.Leave.Coord.Int1.2+ +X.Leave.Coord.Int2.2), (8)
C.1= Y.Leave.Coord.1, (9)
C.2= Y.Leave.Coord.2, (10)
D.1=(1/2)*(Y.Leave.Coord.Int1.1+ +Y.Leave.Coord.Int2.1), (11)
D.2=(1/2)*(Y.Leave.Coord.Int1.2+
+Y.Leave.Coord.Int2.2). (12)
С
C' — ► D
с"——"— _ D'
ffE — - D"
F у now
A vj* = Mfe/FD)
Сценарий к запросу 3
Scenario to the query 3
Заметим, что для B.2 (и для D.2) мы взяли средние значения, учитывая, что точки прибытия определены не точно, а только в соответствующем интервале.
Предположим, что отрезок C'D' находится от отрезка CD (см. рисунок) на расстоянии (по ординате), соответствующем 200 метрам, а отрезок C"D" - 400 метрам. Тогда точки В', С', B" и C" имеют следующие координаты:
B'.1=B.1-200, В'.2=В.2-2 00,
С'.1=С.1-200, С'.2=С.2-300.
B''.1=B.1-400, В''.2=В.2-400,
С''.1=С.1-400, С''.2=С.2-400
Точка Е является пересечением отрезков АВ и C"D" E = Intersect([A,B],[C'',D''] ), где Intersect - встроенная функция, вычисляющая пересечение двух отрезков на плоскости. (Эта функция выдает nil, если отрезки не пересекаются.)
Координаты точки F можно определить следующим образом. Самолет окажется в точке F через время, равное T1=now-X.Leave.Time, и
(если он будет следовать информации, представленной в экземпляре Х понятия GO) должен оказаться в точке В через время, равное
T2=(1/2)*(X.Arrive.Time_int.1+ +X.Arrive.Time_int.2).
Следовательно (предполагая, что самолет летит с постоянной скоростью), точка F должна иметь следующие координаты:
F.1=A.1+(T1/T2)*(B.1-A.1)
F.2=A.2+(T1/T2)*(B.2-A.2)
Пусть R - конъюнкция условий (5)-(10), а P -конъюнкция деклараций точек на рисунке, то есть
R = A IN Point; B IN Point; C IN Point;
D IN Point; C'lN Point; D'lN Point;
C''IN Point; D''IN Point; E IN Point;
Теперь можно записать параметрический запрос, соответствующий запросу 3 (параметрами этого запроса служат экземпляры X и Y понятия
GO):
Q(X,Y):?(Dist(F,E)/Dist(F,B))*X.Speed - R;Q.
Чтобы получить ответ на запрос 3, необходимо сделать вызов Q(go1, go2), где go1 и go2 -конкретные экземпляры понятия GO, которые определены для полета бортов № 200357 и № 220498. Предусловием для вызова Q(go1, go2) является то, что, следуя gol, борт № 200357 должен подлететь к борту № 220498 на расстояние, меньшее 200 м. На рисунке этому предусловию отвечает то, что отрезки АВ и C'D' пересекаются. Поэтому предусловие можно формально записать как EXIST Intersect([A, B], [C', D']).
Это предусловие можно включить в параметрический условный конъюнктивный запрос:
? - R;Q;IF EXIST Intersect([A,B],[C',D']) THEN(Dist(F,E)/Dist(F,B))*X.Speed ELSE X.Speed
Произвольное предложение ЛД является булевой комбинацией атомов. Это предложение эквивалентным образом может быть преобразовано так, чтобы знак отрицания стоял непосредственно перед атомами. Таким образом, предложение ЛД можно представить положительной булевой комбинацией (то есть с использованием только операций конъюнкции и дизъюнкции) литералов. Поэтому в интегрированной системе ЛД+БМЗ это предложение представляется положительной булевой комбинацией фактов.
Пусть ф - положительная булева комбинация фактов и f - факт. Тогда для выяснения того, что из ф логически следует f можно применить метод аналитических таблиц. Если на самом деле ф |= f результатом применения этого метода будет дерево, все ветви которого замкнутые. Ветвь дерева определяет множество {/J, f2, ..., fm} фактов. Замкнутость ветви состоит в том, что множество {/i , f2, ..., fm} невыполнимо. Интерпретатор ЛД-БМЗ содержит программу, выясняющую невыполнимость множеств фактов. Эта программа реализует алгоритмы, которые являются модификациями предложенных Ф. Яман алгоритмов.
В заключение можно сделать следующие выводы. ЛД, интегрированная в систему БМЗ, позволяет решать такие задачи, как нахождение расположения структурированных движущихся объектов и зоны достижимости для них, поиск областей пересечения траекторий для движущихся объектов и т.п. Структура движущегося объекта определяется его атрибутами и бинарными отношениями с другими объектами (необязательно движущимися). Благодаря этому значительно повышаются выразительность расширенной ЛД и ее адекватность к моделированию реальных приложений.
Литература
1. Yaman F., Nau D., Subrahmanian V.S. The Logic of Motion. Proc. 2004 Intern. Conf. on the Principles of Knowledge Representation and Reasoning (KR-2004), Whistler, Canada, June 2-5, 2004.
2. Yaman F., Nau D. and Subrahmanian V.S. A Motion Closed World Assumption. Proc. 2005 Intern. Joint Conf. on Artificial Intelligence (IJCAI-2005), Edinburgh, Scotland, Aug. 2-5, 2005, pp. 621-626.
3. Yaman F., Nau D., Subrahmanian V.S. Going Far, Logically. Proc. 2005 Intern. Joint Conf. on Artificial Intelligence (IJCAI-2005), Edinburgh, Scotland, Aug. 2-5, 2005, pp. 615-620.
4. Parker F., Yaman D., Nau and Subrahmanian V.S. Probabilistic Go Theories. Proc. 2007 Intern. Joint Conf. on Artificial Intelligence (IJCAI-2007), Hyderabad, India, Jan. 6-12, 2007.
5. Baader F., McGuinness D.L., Nardi D., Patel-Schneider P.F. The Description Logic Handbook: theory, implementation, and applications. Cambridge, Cambridge Univ. Press, 2nd ed., 2007.
6. Grau B.C., Parsia B., Sirin E., Yaman F. Integrating Description Logics and Logics of Motion. URL: http://citeseerx.ist. psu.edu/viewdoc/summary?doi=10.1.1.65.5959 (дата обращения: 18.04.2014).
7. Cardelli L. Type systems. In: Handbook of Computer Science and Engineering. CRC Press, 1997.
8. Plesniewicz G.S. Binary Data and Knowledge Model. In:
Stefanuk, Kaijiri (eds.) Knowledge-based software engineering. IOS, 2004.
9. Плесневич Г.С. Формальные онтологии // Открытые семантические технологии проектирования интеллектуальных систем 0STIS-2012: матер. Междунар. науч.-технич. конф. (Минск, 16-18 февраля 2012 г.). Минск: БГУИР, 2012.
10. Плесневич Г.С. Бинарные модели знаний // Интегрированные модели и мягкие вычисления в искусственном интеллекте: сб. трудов III Междунар. науч.-практич. семинара (Коломна, 15-17 мая 2005 г.). М.: Физматлит, 2005.
References
1. Yaman F., Nau D., Subrahmanian V.S. The Logic of Motion. Proc. 2004 Int. Conf. on the Principles of Knowledge Representation and Reasoning (KR-2004). Whistler, Canada, 2004.
2. Yaman F., Nau D., Subrahmanian V.S. A motion closed world assumption. Proc. 2005 Int.l Joint Conf. on Artificial Intelligence (IJCAI-2005). Edinburgh, Scotland, 2005.
3. Yaman F., Nau D., Subrahmanian V.S. Going Far, Logically. Proc. 2005 Int. Joint Conf. on Artificial Intelligence (IJCAI-2005). Edinburgh, Scotland, 2005.
4. Parker A., Yaman F., Nau D., Subrahmanian V.S. Probabilistic goes theories. Proc. 2007 Int. Joint Conf on Artificial Intelligence (IJCAI-2007). Hyderabad, India, 2007.
5. Baader F., Calvanese D., McGuinness D.L., Nardi D., Pa-tel-Schneider P.F. The Description logic handbook: theory, implementation, and applications. Cambridge Univ. Press, 2nd ed., 2007.
6. Grau B.C., Parsia B., Sirin E., Yaman F. Integrating description logics and logics of motion. Available at: http://cite-seerx.ist.psu.edu/viewdoc/summary?doi =10.1.1.65.5959 (accessed April 18, 2014).
7. Cardelli L. Type systems. Handbook of computer science and engineering. CRC Press, 1997.
8. Plesniewicz G.S. Binary data and knowledge model. Knowledge-based software engineering. Stefanuk V., Kaijiri K. (eds.), IOS Press, 2004, 336 p.
9. Plesniewicz G.S. Formal ontologies. Transact. of 2nd Int. Conf "Open semantic technologies for designing intelligent systems (0STIS-2012)". Minsk, BSIR Publ., 2012, 542 p. (in Russ.).
10. Plesniewicz G.S. Binary models of knowledge. Transactions of 3rd Int. workshop "Integrated models and soft computing in Artificial Intelligence". Moscow, Fizmatlit Publ., 2005.