Je développe un système expert qui prendra des décisions d'admission en utilisant PyClips. Cependant, le code a continué à générer des erreurs de «mémoire insuffisante». Je pense avoir isolé mon problème. C'est un problème avec mon fichier CLIPS. En espérant que quelqu'un puisse voir ce que je fais de mal ici. C'est la version la plus simple du code .... J'ai simplifié pour le déboguer: Voici donc mon modèle, et pour l'argumentation, il n'y a qu'une seule règle: si la transcription est reçue, alors l'application complète attribut est marqué comme TRUE.CLIPS faits infinis
; template for application facts
(deftemplate application "structure of an application"
(slot app-id (type INTEGER))
(slot app-complete (type SYMBOL))
(slot transcript-received (type SYMBOL))
)
(defrule complete "rule for app completeness"
?f <- (application
(transcript-received Yes)
)
=>
(modify ?f
(app-complete TRUE)
)
)
; end.
Alors, quand je fais (assert (application (app-id 123) (transcript-received Yes)))
, je fait est ajouté. Lorsque je clique sur Exécuter quand même .... la fenêtre dans CLIPS commence à être surchargée de milliers de faits ... l'attribut app-complete semble être marqué comme VRAI, cependant, les faits continuent de boucler et de boucler, sans arrêt. Quand il y a trop de faits, je parle de 100K ou de quelque chose ... alors CLIPS se retire ... Une idée de ce que je fais mal ici? Ma syntaxe est en quelque sorte foirée? Mes intentions sont alors d'avoir un sqlite db pour être capable de lire les 'faits' de la base de données pour que le système soit capable de prendre des décisions .... mais je ne peux pas dépasser cela!
Merci @bogatron! – engr007
une idée à propos de celui-ci? http://stackoverflow.com/questions/15963202/how-to-combine-these-two-rules-with-clips – engr007
Il semble quelque peu lié à cette question. Si ma réponse à cette question est acceptable, alors s'il vous plaît cliquez sur le lien Accepter donc je sais que c'est correct et toute personne effectuant une recherche liée à votre question saura que c'est une solution acceptable. Ensuite, nous pouvons passer à la question connexe. – bogatron