Class EAFTheory

All Implemented Interfaces:
Iterable<BArgument>, Collection<BArgument>, BeliefBase, GeneralGraph<BArgument>, Graph<BArgument>

public class EAFTheory extends AbstractEAFTheory<Support>
This class implements an abstract argumentation theory in the sense of Evidential Argumentation Frameworks (EAF). see Li, Hengfei. Probabilistic argumentation. 2015. PhD Thesis. Aberdeen University.
Author:
Taha Dogan Gunes
  • Constructor Details

    • EAFTheory

      public EAFTheory()
      Default constructor; initializes an empty EAFTheory
    • EAFTheory

      public EAFTheory(Set<BArgument> noArguments)
      Optional constructor; initializes an EAFTheory with arguments
      Parameters:
      noArguments - the number of arguments
  • Method Details

    • newEAFTheory

      public static EAFTheory newEAFTheory(PEAFTheory peafTheory)
      Creates a new EAFTheory from an PEAFTheory (the probabilities are eliminated)
      Parameters:
      peafTheory - PEAFTheory object
      Returns:
    • addArgument

      public BArgument addArgument(int identifier)
      Add an argument with an integer identifier
      Overrides:
      addArgument in class AbstractEAFTheory<Support>
      Parameters:
      identifier - the identifier of the argument
      Returns:
      EArgument object
    • addSupport

      public void addSupport(HashSet<BArgument> froms, HashSet<BArgument> tos)
      Add a support with index arrays (froms and tos)
      Parameters:
      froms - integer array with argument, represents indices of arguments
      tos - integer array with argument, represents indices of arguments
    • getArguments

      public ArrayList<BArgument> getArguments()
      Gets arguments of the EAF
      Overrides:
      getArguments in class AbstractEAFTheory<Support>
      Returns:
      list of arguments inside the EAF (insert ordered)
    • getSupports

      public Set<Support> getSupports()
      Gets supports of the EAF
      Overrides:
      getSupports in class AbstractEAFTheory<Support>
      Returns:
      list of supports inside the EAF (insert ordered)
    • getAttacks

      public Set<Attack> getAttacks()
      Gets attacks of the EAF
      Overrides:
      getAttacks in class AbstractEAFTheory<Support>
      Returns:
      list of attacks inside the EAF (insert ordered)
    • convertToDAFNaively

      public DungTheory convertToDAFNaively()
      This method converts this EAF to a DAF with using Algorithm 1 from Oren et. al. 2010 "Moving Between Argumentation Frameworks"
      Returns:
      DungTheory object
    • checkIsSelfSupporting

      public boolean checkIsSelfSupporting(Set<BArgument> A)
      Checks if a set of arguments whether they are self-supporting or not This is used for conversion from EAF to DAF. A set of arguments A is self-supporting if and only if for all a in A, A e-supports a
      Parameters:
      A - a set of arguments
      Returns:
      true if the set of arguments are self-supporting or not.
    • toString

      public String toString()
      Pretty print of the EAFTheory
      Specified by:
      toString in interface BeliefBase
      Specified by:
      toString in interface Graph<BArgument>
      Overrides:
      toString in class AbstractEAFTheory<Support>
    • isAcceptable

      public boolean isAcceptable(BArgument argument, Collection<BArgument> ext)
      Description copied from class: AbstractBipolarFramework
      checks whether argument is acceptable wrt. ext
      Specified by:
      isAcceptable in class AbstractBipolarFramework
      Parameters:
      argument - some argument
      ext - a set of arguments
      Returns:
      "true" if argument is acceptable wrt. ext
    • add

      public boolean add(Support support)
      Description copied from class: AbstractBipolarFramework
      Adds the given support to this argumentation framework.
      Specified by:
      add in class AbstractBipolarFramework
      Parameters:
      support - a support
      Returns:
      "true" if the set of supports has been modified.
    • add

      public boolean add(Attack attack)
      Description copied from class: AbstractBipolarFramework
      Adds the given attack to this argumentation framework
      Specified by:
      add in class AbstractBipolarFramework
      Parameters:
      attack - an attack
      Returns:
      "true" if the set of attacks has been modified.