Class AspicArgumentationTheory<T extends net.sf.tweety.logics.commons.syntax.interfaces.Invertable>

  • Type Parameters:
    T - is the type of the language that the ASPIC theory's rules range over
    All Implemented Interfaces:
    Serializable, Cloneable, Iterable<InferenceRule<T>>, Collection<InferenceRule<T>>, Set<InferenceRule<T>>, net.sf.tweety.commons.BeliefBase

    public class AspicArgumentationTheory<T extends net.sf.tweety.logics.commons.syntax.interfaces.Invertable>
    extends net.sf.tweety.commons.util.rules.RuleSet<InferenceRule<T>>
    implements net.sf.tweety.commons.BeliefBase
    Author:
    Nils Geilen, Matthias Thimm According to Modgil and Prakken (http://www.cs.uu.nl/groups/IS/archive/henry/ASPICtutorial.pdf) this represents an argumentation theory (AS, KB) with - AS argumentation system (e.g. inference rules) - KB knowledge base and/or a corresponding structured argumentation framework (A,C,<=) with - A set of arguments - C set of attacks - <= order on the arguments and/or a corresponding abstract argumentation framework (A, D) with - A set of arguments - D defeat relationship
    See Also:
    Serialized Form
    • Constructor Detail

      • AspicArgumentationTheory

        public AspicArgumentationTheory​(RuleFormulaGenerator<T> rfgen)
        Constructs a new ASPIC argumentation theory
        Parameters:
        rfgen - function to map defeasible rules to labels
    • Method Detail

      • setRuleFormulaGenerator

        public void setRuleFormulaGenerator​(RuleFormulaGenerator<T> rfg)
        Set a new generator to transform rules into words of the language they range over
        Parameters:
        rfg - is the new formula generator
      • getRuleFormulaGenerator

        public RuleFormulaGenerator<T> getRuleFormulaGenerator()
        Returns the generator to transform rules into words of the language they range over
        Returns:
        the formula generator
      • addRule

        public void addRule​(InferenceRule<T> rule)
        Adds an additional inference rule
        Parameters:
        rule - the rule to be added
      • addAxiom

        public void addAxiom​(T axiom)
        Adds an additional axiom, i.e. a strict rule without premise
        Parameters:
        axiom - the axiom's conclusion
      • addOrdinaryPremise

        public void addOrdinaryPremise​(T prem)
        Adds an additional ordinary, i.e. a defeasible inference rule without premise
        Parameters:
        prem - the premise's conclusion
      • asDungTheory

        public net.sf.tweety.arg.dung.syntax.DungTheory asDungTheory()
        This method transfers this Aspic+ theory into a Dung style argumentation system
        Returns:
        a dung theory constructed out of this system's arguments and their defeat relation according to order
      • asDungTheory

        public net.sf.tweety.arg.dung.syntax.DungTheory asDungTheory​(boolean simplifyArgumentStructure)
        This method transfers this Aspic+ theory into a Dung style argumentation system
        Parameters:
        simplifyArgumentStructure - whether the argument class should be simplified; if "false" then AspicArgument is used as the argument class. If "true" then arguments are simplified by assigning names to each argument (the structure of the arguments is therefore lost).
        Returns:
        a dung theory constructed out of this system's arguments and their defeat relation according to order
      • getArguments

        public Collection<AspicArgument<T>> getArguments()
        Expands this systems's inference rules into a tree arguments
        Returns:
        the arguments constructed from this systems's inference rules
      • setOrder

        public void setOrder​(Comparator<AspicArgument<T>> order)
        Sets a new order over the arguments
        Parameters:
        order - the new order
      • toString

        public String toString()
        Specified by:
        toString in interface net.sf.tweety.commons.BeliefBase
        Overrides:
        toString in class AbstractCollection<InferenceRule<T extends net.sf.tweety.logics.commons.syntax.interfaces.Invertable>>
      • getMinimalSignature

        public net.sf.tweety.commons.Signature getMinimalSignature()
        Specified by:
        getMinimalSignature in interface net.sf.tweety.commons.BeliefBase