Class CredibilityRevision

All Implemented Interfaces:
BaseRevisionOperator<ASPRule>

public class CredibilityRevision extends CredibilityRevisionNonIterative<ASPRule>
Implements the credibility revision approach for ASP described in Kruempelmann et al. 2008. It extends the NonIterativeRevision interface by providing methods to receive the last calculated answer sets and it's projection. Internally the prefixes 'c__' 'neg_c' are used to prefix constants and the prefix 'p__' is used to prefix literals of the extended alphabet of the credibility program.
Author:
Tim Janus
  • Constructor Details

    • CredibilityRevision

      public CredibilityRevision()
      Default Ctor: Do not forget to set the solver
    • CredibilityRevision

      public CredibilityRevision(ASPSolver solver)
      Ctor: setting the solver at construction time
      Parameters:
      solver - Reference to the solver used for answer set generation.
    • CredibilityRevision

      public CredibilityRevision(ASPSolver solver, int maxInt)
      Constructs a CredibilityRevision instance with the specified ASP solver and maximum integer value.
      Parameters:
      solver - the ASP solver to be used for solving logic programs
      maxInt - the maximum integer value used for processing or constraints
      Throws:
      NullPointerException - if solver is null
  • Method Details

    • getLastAnswerset

      public Collection<AnswerSet> getLastAnswerset()
      Retrieves the collection of the last answer sets obtained from the solver.
      Returns:
      a Collection of AnswerSet representing the last answer sets
    • getLastProjectedAnswerSet

      public Collection<AnswerSet> getLastProjectedAnswerSet()
      Retrieves the collection of the last projected answer sets obtained from the solver.
      Returns:
      a Collection of AnswerSet representing the last projected answer sets
    • setAnswersetProcessing

      public void setAnswersetProcessing(CredibilityRevision.AnswersetProcessing processing)
      Sets the processing strategy for answer sets.

      The provided CredibilityRevision.AnswersetProcessing instance is used to process answer sets after solving. If processing is null, an IllegalArgumentException is thrown.

      Parameters:
      processing - the CredibilityRevision.AnswersetProcessing strategy to be used
      Throws:
      IllegalArgumentException - if processing is null
    • revise

      public Program revise(List<Collection<ASPRule>> ol)
      Description copied from class: CredibilityRevision
      Revises the belief bases in the orderer list into one belief base.
      Specified by:
      revise in class CredibilityRevision<ASPRule>
      Parameters:
      ol - An orderer list of belief bases which assumes that belief bases with a lower index have a lower priority.
      Returns:
      The belief base which is the result of the revision.
    • translate

      public Program translate(List<Program> orderedList)
      Translates the given list of programs to the credibility logic program. The index of the program in the list represents its credibility, this means the first program in the list has lesser credibility than the second.
      Parameters:
      orderedList - The ordered list of extended logic programs which shall be translated.
      Returns:
      The credibility logic program representing the revision of the given ELPs.
    • main

      public static void main(String[] args)
      Test method
      Parameters:
      args - the args