2016-09-09 5 views
0

J'essaie de développer une application Android qui permettra de diagnostiquer les maladies des chiens. J'ai déjà la base de connaissances qui est composée de 60 règles qui peuvent diagnostiquer 15 maladies, la plus petite règle a environ 10 conditions.Moteur de règles Java pour Android

J'ai cherché comment résoudre ce problème, et je pense que l'utilisation d'un moteur de règles qui fonctionne avec le chaînage arrière est la solution. Le problème est que chaque moteur de règles ne semble fonctionner que si je fournis toutes les entrées avant de déclencher les règles. Comme il s'agissait de diagnostiquer des maladies, je pense que l'approche est, poser une question à l'utilisateur attendre la réponse puis valider les règles, en excluant les règles qui ne correspondent pas à la condition donnée. Ensuite, demandez la condition suivante en fonction des règles restantes.

Exemple: Règle 1

if puppy & male & scratching himself... then disease1 

Les questions vont comme

1:The dog is a puppy? 
2:The dog is male? 
3:The dog is scratching himself? 

Avec quelle règle moteur, puis-je avoir ce comportement?

+0

Je pense que c'est une question valide. Si vous utilisez Google pour un moteur de règles Java, vous obtenez des tonnes de résultats, mais la plupart des outils n'existent plus ou sont très anciens. J'imagine que vous aimeriez avoir un point de départ de personnes ayant une expérience avec les systèmes basés sur des règles en Java. – Christine

Répondre

-2

Utilisez Drools. Fonctionne bien, facile à utiliser. Drools a été autour pendant de nombreuses années, il fonctionne bien en Java, et je l'ai utilisé sur Android.

+0

Bien que ce lien puisse répondre à la question, il est préférable d'inclure les parties essentielles de la réponse ici et fournir le lien pour référence. Les réponses à lien uniquement peuvent devenir invalides si la page liée change. - [De l'examen] (/ review/low-quality-posts/13629179) – RamenChef

+0

La question est "quel outil basé sur des règles". La réponse est "Drools". Je peux enlever le lien si tu veux. Il n'y a pas de partie dans la question qui demande un «comment» ou un exemple, ou je l'aurais donné. – Christine

+0

@Christine Avez-vous un exemple ou un tutoriel? J'ai lu la documentation et j'ai essayé de compiler les exemples, mais je n'ai pas réussi à le faire fonctionner. –

2

Vous avez besoin d'une structure de sondage ou d'un composant en tant que base principale, et non d'un moteur de règles. En option, vous devrez peut-être évaluer une ou plusieurs règles à l'aide d'un moteur de règles afin de décider quelle question ou quel groupe de questions charger ensuite.

+0

"diagnostiquer les maladies des chiens" ressemble au cas classique d'un système basé sur des règles. – Christine

+0

J'ai étudié beaucoup de ce thème depuis que je suis entré dans mon travail actuel, et j'ai également essayé d'utiliser et de tester certains moteurs de règles, comme Drools dans l'environnement Mobile. En raison de la mémoire, de la taille de l'APK et des contraintes de la batterie, ajoutant les problèmes que j'ai rencontrés concernant la nature de NoClassDefError par JVM Harmony, j'ai fini par me construire un moteur avant rugueux et primitif, avec seulement 20k et opensource sur https://android-arsenal.com/de détails/1/1785 Contribution sont les bienvenus! –