Developing an inference engine for CR-Prolog with preferences
In recent years, A-Prolog with answer set semantics was shown to be a useful tool for knowledge representation and reasoning. A-Prolog is a declarative language based on stable models of logic programs. It allows the encoding of defaults and various other types of knowledge contained in dynamic domains.
It seems however that A-Prolog lacks the ability to gracefully perform the reasoning needed for certain types of conflict resolution, e.g. finding the best explanations of unexpected observations. To solve this problem CR-Prolog - an extension of A-Prolog by consistency restoring rules with preferences was introduced. The most intuitive solutions correspond to those models that best satisfy the preferences expressed, and minimize the application of cr-rules. The goal of this work is to develop an inference engine for computing the answer sets of CR-Prolog program automatically. The inference engine handles preferences efficiently.