Qué base de conocimiento/motor de inferencia basado en reglas elegir para el sistema de prevención de incursiones en la pista en tiempo real

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

  •  18-09-2019
  •  | 
  •  

Pregunta

Estamos diseñando un proyecto que escucharía el diálogo entre los controladores y pilotos del aeropuerto para evitar incursiones en las pistas (ej.un avión despega mientras otro cruza la pista).Nuestro profesor quiere que usemos jena para la base de conocimientos (o cualquier otra cosa, pero debería ser algún tipo de motor basado en reglas).La inferencia no es lo principal en Jena y no hay mucha documentación ni ejemplos de esto.Por eso necesitamos un motor que reciba mensajes de los pilotos como entrada y salida de posibles riesgos de incursión o cualquier otro error en el protocolo de mensajes.Debería ser fácil escribir reglas y debería ser fácil proporcionar al motor datos en tiempo real.

Me lo imagino algo como esto:

  1. Un piloto envía un mensaje de que aterriza en alguna pista, el sistema recuerda que la pista está ocupada y nadie debe cruzarla
  2. Si alguien recibe instrucciones de cruzar esta pista, el motor debería emitir una regla de que algo anda mal.
  3. Cuando el piloto envía un mensaje de que abandonó la pista y se dirige a la puerta, el sistema despeja la pista y permite que otros aviones la utilicen.

Entonces, ¿Jena, Prolog o cualquier otro motor de reglas es adecuado para esto?Quiero decir que es adecuado, pero ¿realmente necesitamos usarlo?Le pregunté al prof.Si pudiéramos mantener el estado de la pista y utilizar algunas comprobaciones simples basadas en los mensajes que recibimos, dijo que no es escalable y que necesitamos la base de conocimientos.¿Alguien puede darme algún consejo sobre qué enfoque utilizar para este sistema?Si recomienda k.b., ¿cuál deberíamos usar?El proyecto está escrito en java.

Gracias.

¿Fue útil?

Solución

Se puede usar para este Jena, pero es sobre todo un conjunto de herramientas RDF. Si usted aún no está usando RDF, o familiarizados con él, entonces busca en otro sitio.

Su caso es interesante porque suena bastante dinámica. Encadenamiento hacia adelante razonadores (como Drools) podría no ser la mejor opción, ya que los eventos de actualización invalidará las deducciones. Probar algo prólogo-ish.

Otros consejos

Le recomendaría JRules para sus necesidades. He estado usando JRules y estoy realmente impresionado con su rendimiento y precisión.

Actualización: , entonces te sugeriría ir para Drools también es posible que desee comprobar motores de Reglas de de código abierto en Java

Un par de compañeros de trabajo realmente aman la fuente abierta Drools .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top