Механизм правил для пространственного и временного мышления?

StackOverflow https://stackoverflow.com/questions/2469567

Вопрос

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

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

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

Мне еще предстоит найти механизм правил, способный хорошо рассуждать во времени и пространстве.(Вещи как:Когда два трехмерных объекта оказываются рядом?Содержится ли 3D-объект A в 3D-области B?Если объект C находится рядом с объектом D, но ориентирован назад относительно C, выполните действие D.)

Раньше я смотрел на Drools, Cyc, Jess (скажем, 3-4 года назад).Пришло время пересмотреть современное состояние.Какие-либо предложения?Какие-либо стандарты, которые вы знаете, подтверждают подобные рассуждения?Какие-то стандарты де-факто?Есть приложения?

Спасибо!

Это было полезно?

Решение

Предпосылка - помните, что основанный на SQL1 СУБД — это (вполне функциональная) машина вывода, как видно из этих сравнений SQL и Пролога:

Эта книга поможет вам конкретно в ваших пространственно-временных приложениях:

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

Конечно, если ваша СУБД на базе SQL (пока) не оснащена интервальными (и другими) операторами, вам необходимо будет соответствующим образом расширить ее (с помощью процедуры хранения и/или определяемые пользователем функции — UDF).

Обновлять: просматривая бумагу, указал в комментариях timemirror (На пути к трехмерному языку пространственных запросов для построения информационных моделей) они делают по сути то, о чем я говорил выше:

(Последняя страница)

КОНЦЕПЦИИ РЕАЛИЗАЦИИ

Реализация системы абстрактного типа в язык запросов будет выполняться на основе SQL Language Query, который является широко установленным стандартом в области объектных баз данных.Международный стандарт SQL: 1999 расширяет реляционную модель, чтобы включить объектно-ориентированные аспекты, такие как возможность определения сложных абстрактных типов данных с помощью интегрированных методов.

Я не согласен с терминологией «объектно-реляционной базы данных» (по причине не по теме), но думаю, что остальное уместно.


Обновлять: цитата о 3D и теории интервалов из книги, цитированной выше:

ПРИМЕЧАНИЕ:Все обсуждаемые до сих пор можно рассматривать как одномерные.Тем не менее, мы могли бы захотеть объединить два одномерных интервала, чтобы сформировать дважды.Например, прямоугольный график земли можно рассматривать как двумерный интервал, поскольку, по определению, объект с длиной и шириной, каждый из которых в основном представляет собой одномерный интервал, измеренный вдоль некоторой оси.И, конечно, Мы можем расширить эту идею на любое количество измерений.Например, (довольно простое!) Здание может рассматриваться как трехмерный интервал:Это объект с длиной, шириной и высотой, или, другими словами, кубоид.(Более реалистично, здание может рассматриваться как набор из нескольких таких кубоид, которые перекрываются различными способами.) И так далее.Тем не менее, в дальнейшем мы ограничим наше внимание на одномерные интервалы, в частности, за исключением явных утверждений об обратном, и мы опустим «одномерный» отбор для простоты.

Примечание

  1. Я написал на основе SQL и не реляционный потому что существуют способы использования таких СУБД, полностью отклоняющиеся от реляционной теории.

Другие советы

Это пространственное мышление...несколько моделей, но 9DE-IM теперь принят OGC и реализован в PostGIS и других инструментах программирования.

PostGIS реализует механизм пространственного рассуждения, основанный на расширенной по размерности модели 9 пересечений...9ДЕ-ИМ..

http://postgis.refactions.net/documentation/manual-svn/ch04.html#DE-9IM проверьте раздел 4.3.6.1.Теория...


То же самое относится и к пакету Java Topology Suite (и пакету Net Topology для C# и т. д.)...

http://docs.codehaus.org/display/GEOTDOC/Point+Set+Theory+and+the+DE-9IM+Matrix

В частности, обратите внимание на материал geometry.relate..такой как

логическое значение isRelated = геометрия.relate(геометрическая2, "T*T***T**" )

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


Это может помочь с временными вещами..

http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.87.4643&rep=rep1&type=pdf

Ознакомьтесь с SpatialRules на сайте http://www.objectfx.com/.Это сложный геопространственный процессор событий для 2D и 3D.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top