Правила движка для пространственного и временного рассуждения?
У меня есть приложение, которое получает ряд данных, характеризующих 3-мерные пространственные и временные процессы. Затем он фильтрует эти данные и создает действия, которые затем отправляются процессам, выполняющим эти действия. Промыть и повторить.
В настоящее время у меня есть коллекция пользовательских фильтров, которые выполняют множество сложных пространственных/временных вычислений.Много раз, когда я обсуждаю свою систему с людьми в моей компании, они спрашивают, использую ли я Правила двигатель.
Мне еще предстоит найти механизм правил, который способен хорошо рассуждать во времени и пространстве. (Что-то вроде: Когда близко двух 3D объектов? Это 3D объект либо содержащиеся в 3D регионе Б? Если сущность C находится рядом с сущностью D, но ориентирована назад относительно C, то выполните действие D.)Я смотрел на слюни, Cyc, Jess в прошлом (скажем, 3-4 года назад). Пришло время пересмотреть состояние техники. Есть предложения? Любые стандарты, которые вы знаете, которые поддерживают этот вид рассуждения? Какие-нибудь стандарты дефакто? Какие-либо приложения?
Спасибо!
3 ответа:
Предпосылка-помните, что на основе SQL1 СУБД является (вполне способным) механизмом вывода, Как видно из этих сравнений между SQL и Prolog:
Чтобы конкретно рассмотреть ваши пространственно-временные приложения, эта книга поможет:
То есть совмещение теории интервалов и теории отношений позволяет эффективно рассуждать о пространственно-временных задачах (см. 5.2 приложения интервалов).
- временные данные и реляционная модель - детальное исследование применение интервала и теория отношений к проблеме управления временными базами данных.
Конечно, если ваша СУБД на основе SQL еще не оснащена интервальными (и другими) операторами, вам нужно будет соответствующим образом расширить ее (через процедуры хранения и / или определяемые пользователем функции - пользовательские функции).
Обновление: просматривая документ, указанный в комментариях timemirror (на пути к трехмерному пространственному языку запросов для построения информационных моделей ) они делают по существу то, о чем я говорил выше:
(последняя страница)
КОНЦЕПЦИИ РЕАЛИЗАЦИИ
Реализация абстрактного система типов в языке запросов выполняется на основе запроса язык SQL, который является широко распространенным установленный стандарт в области объектно-реляционные базы данных. То международный стандарт SQL: 1999 расширяет реляционную модель до включают в себя объектно-ориентированные аспекты, такие как как возможность определить комплекс абстрактные типы данных с интегрированными методы.
Я не согласен с терминологией "объектно-реляционной базы данных" (по причине отсутствия темы здесь), но я думаю, что остальное уместно.
обновление: цитата по 3D и интервальной теории из книги процитированные выше:Примечание: все обсуждаемые интервалы до сих пор можно думать, как одномерный. Тем не менее, мы могли бы хотите совместить два одномерных интервалы для формирования двумерного интервал. Например, прямоугольник участок земли можно рассматривать как двумерный интервал, потому что он является, по определению, объектом с длина и ширина, каждая из которых является в основном одномерный интервал измеряется вдоль некоторой оси. И, конечно конечно, мы можно распространить эту идею на любой число измерений . Например, (довольно просто!) здание может быть рассматривается как трехмерное интервал: это объект с длиной, ширина и высота, или другими словами a кубовидный. (Более реально, здание можно рассматривать как совокупность несколько таких кубоидов, которые перекрываются в различные способы.) И так далее. В чем далее, однако, мы ограничимся нашим внимание к одномерным интервалам в частности, запрет явного утверждения об обратном, и мы опустим "одномерный" квалификатор для простоты.
Примечание
- я написал SQL-based, а не relational, потому что существуют способы использования таких СУБД, которые полностью отклоняются от реляционной теории.
Это пространственное мышление... несколько моделей, но 9DE-IM теперь принят OGC и реализован в PostGIS и других инструментах программирования.
PostGIS реализует механизм пространственного мышления, основанный на размерно расширенной модели пересечения 9... 9DE-IM..
Http://postgis.refractions.net/documentation/manual-svn/ch04.html#DE-9IM проверьте раздел 4.3.6.1. Теория...
То же самое делает Java Topology Suite (и Net Topology suite для C# прием)...
Http://docs.codehaus.org/display/GEOTDOC/Point+множество + теория+и+Матрица + DE-9IM
В частности, проверьте геометрию.связывайте вещи.. например,
Булево отношение = геометрия.relate (geometry2, " T*T* * T**")
Вы можете проверить связи или отфильтровать данные на их основе. Работает с pts, линиями, полигонами и т. д...
Это может помочь в темпоральном материале..
Http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.87.4643&rep=rep1&type=pdf
Проверьте SpatialRules в http://www.objectfx.com/. это геопространственный комплексный процессор событий для 2D и 3D.