Какую базу знаний / механизм вывода на основе правил выбрать для системы предотвращения вторжения на взлетно-посадочную полосу в режиме реального времени

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

  •  18-09-2019
  •  | 
  •  

Вопрос

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

Я представляю это примерно так:

  1. Пилот отправляет сообщение о том, что он приземляется на какую-то взлетно-посадочную полосу, система запоминает, что взлетно-посадочная полоса занята и никто не должен ее пересекать
  2. Если кому-то дается указание пересечь эту взлетно-посадочную полосу, двигатель должен выдать сигнал о том, что что-то не так
  3. Когда пилот отправляет сообщение о том, что он покинул взлетно-посадочную полосу и направляется к выходу на посадку, система очищает взлетно-посадочную полосу и позволяет другим самолетам использовать ее.

Итак, подходит ли для этого Jena, или prolog, или любой другой движок правил?Я имею в виду, что это подходит, но действительно ли нам нужно это использовать?Я спросил профессора.если бы мы могли просто сохранить состояние взлетно-посадочной полосы и использовать несколько простых проверок, основанных на сообщениях, которые мы получаем, и он сказал, что это не масштабируемо и нам нужна база знаний.Может кто-нибудь дать мне какой-нибудь совет о том, какой подход использовать для этой системы?Если вы рекомендуете k.b., то какой из них нам следует использовать?Проект написан на java.

Спасибо.

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

Решение

Вы могли бы использовать jena для этого, но это в первую очередь инструментарий rdf.Если вы еще не используете RDF или не знакомы с ним, то я бы поискал в другом месте.

Ваш случай интересен тем, что он звучит довольно динамично.Средства рассуждения с прямой цепочкой (например, Drools) могут быть не лучшим выбором, поскольку события обновления аннулируют выводы.Попробуйте что-нибудь прологистское.

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

Я бы, конечно, рекомендовал ИЛОГ МЛАДШИЙ для ваших нужд.Я использую ILOG JRULES и действительно впечатлен его производительностью и точностью.

Обновить: Тогда я бы предложил пойти на Пускает слюни также вы, возможно, захотите проверить Движки правил с открытым исходным кодом на Java

Пара коллег по работе действительно обожают открытый исходный код Пускает слюни.

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