Class TheoryLearner


  • public class TheoryLearner
    extends java.lang.Object
    Improved version of the MaxSAT algorithm from: Niskanen, Andreas, Johannes Wallner, and Matti Järvisalo. "Synthesizing argumentation frameworks from examples." Journal of Artificial Intelligence Research 66 (2019) This algorithm supports 4-valued labelings as proposed in Riveret, Régis, and Guido Governatori. "On learning attacks in probabilistic abstract argumentation." 2016.
    Author:
    Lars Bengel
    • Constructor Summary

      Constructors 
      Constructor Description
      TheoryLearner​(java.util.Collection<Argument> args, Semantics semantics, java.lang.String solverLocation)  
    • Method Summary

      Modifier and Type Method Description
      DungTheory learnExamples​(java.util.Map<Labeling,​java.lang.Integer> positiveExamples, java.util.Map<Labeling,​java.lang.Integer> negativeExamples)
      learns an argumentation framework fulfilling as many positive examples as possible while trying to not fulfill any negative examples
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • TheoryLearner

        public TheoryLearner​(java.util.Collection<Argument> args,
                             Semantics semantics,
                             java.lang.String solverLocation)
                      throws java.lang.NoSuchMethodException
        Parameters:
        args - a set of arguments
        semantics - a semantics
        solverLocation - path to the open wbo solver binary
        Throws:
        java.lang.NoSuchMethodException - if the semantics is not implemented
    • Method Detail

      • learnExamples

        public DungTheory learnExamples​(java.util.Map<Labeling,​java.lang.Integer> positiveExamples,
                                        java.util.Map<Labeling,​java.lang.Integer> negativeExamples)
                                 throws java.io.IOException,
                                        java.lang.reflect.InvocationTargetException,
                                        java.lang.IllegalAccessException
        learns an argumentation framework fulfilling as many positive examples as possible while trying to not fulfill any negative examples
        Parameters:
        positiveExamples - a map of positive examples and their weights
        negativeExamples - a map of negative examples and their weights
        Returns:
        a argumentation framework inferred from the given examples
        Throws:
        java.io.IOException - if an error occurs
        java.lang.reflect.InvocationTargetException - if an error occurs
        java.lang.IllegalAccessException - if an error occurs