PRISM est l’acronyme de Platform for Reasoning with Inconsistency Shapley Measure.

Aperçu générale

PRISM est une plateforme évolutive basée sur Java qui permet d’effectuer différentes tâches de raisonnement telles que l’inférence, la révision de croyances ou la conciliation en utilisant la valeur d’inconsistance MI Shapley. Il peut par exemple être utilisé à des fins académiques.

L’idée est d’utiliser une valeur d’inconsistance pour évaluer dans quelle mesure chaque formule de la base de croyances est responsable de l’inconsistance de la base. Cette évaluation nous permet ensuite d’obtenir une stratification (préordre total) de la base, qui peut être utilisée comme entrée préférentielle pour différentes tâches de raisonnement, telles que l’inférence, la révision de croyances ou la conciliation. Les opérateurs obtenus sont intéressants et ont de bonnes propriétés logiques. Plusieurs opérateurs d’inférence, de révision et de conciliation sont déjà implémentés dans la plateforme mais on peut développer sa propre implémentation et l’ajouter dynamiquement.

Téléchargement

Le logiciel est disponible via ce fichier jar : prism.jar.

Notez que ce fichier jar comprend également la bibliothèque centrale de Sat4j

Comment exécuter PRISM

la JRE Java est requis.

  • télécharger prism.jar

  • exécuter le fichier jar avec la ligne de commande suivante “java -jar prism.jar”

Licence

PRISM est développé sous licence GPL. Voir LICENCE

Comment

  • accèder aux fichiers sources ?

Aller dans ou créer un dépôt qui sera celui où le logiciel sera déployé. Copier prism.jar dans ce dépôt et utiliser la ligne de commande “jar xf prism.jar”.

  • ajouter sa propre implémentation d’un opérateur ?

Tout d’abord, il faut déployer les sources du logiciel comme cela est expliqué dans le ci-dessus. Selon l’opération que l’on veut écrire, il faut hériter une classe abstraite spécifique. Ces classes et leurs packages respectifs sont donnés dans le tableau suivant.

Classes abstraites à étendre afin d’implémenter son propre opérateur.

Tables Classe abstraite Package
Shapley ShapleyValueSet model.computation.shapleyValue
Inference InferenceOperator model.inference.fromListFormulae
Revision MssScoreAggregator model.computation.mssScore
Revision MssSelectionOperator model.mssSelection
Revision InferenceFromMSSOperator model.inference.fromMSS
Conciliation ChoiceOperator model.conciliation.choice
Conciliation WeakOperator model.conciliation.weakening


The new operator should be in the same class as the abstract class it extends. This means that the package of the new class must be the same and that the java file should be moved to the repository corresponding to the package. Once the class is created, it has to be compiled with javac command : “javac /pathtotheclass/NewClass.java”. Be careful to import all needed classes in order to compile… If the compilation is successful, the repository should contain a new file NewClass.class. In order to launch the platform and take into account the new classes, from the base repository, execute “java gui.TestGUI”.

Le nouvel opérateur doit être dans la même classe que la classe abstraite qu’il étend. Cela signifie que le package de la nouvelle classe doit être le même et que le fichier java doit être déplacé dans le dépôt correspondant au package. Une fois la classe créée, il faut la compiler avec la commande javac : “javac /chemin_de_la_classe/NouvelleClasse.java”. Attention à bien importer toutes les classes nécessaires au moment de la compilation. Si la compilation réussie, le dépôt devrait contenir un nouveau fichier NouvelleClasse.class. Afin de lancer le logiciel et de prendre en compte les nouvelles classes, depuis le dépôt de base, exécutez “java gui.TestGUI”.

obtenir l’ensemble de la documentation

Un javadoc de PRISM est disponible ici et ici.

Contacts

Stéphanie Roussel, Ingénieure de recherche au CRIL

stephanie.roussel@cril.fr

N’hésitez pas à nous faire savoir si vous trouvez un bug ou si vous avez des suggestions d’amélioration.



GPL    Logiciels archivés