Class EvidentialArgumentationFramework

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

public class EvidentialArgumentationFramework extends AbstractBipolarFramework implements Comparable<EvidentialArgumentationFramework>
This class implements a bipolar abstract argumentation theory with support in an evidential sense. ie. we distinguish between prima-facie and standard arguments. Prima-facie arguments do not require any support from other arguments to stand, while standard arguments must be supported by at least one prima-facie argument.

See

Polberg, Oren. Revisiting Support in Abstract Argumentation Systems. 2014
Author:
Lars Bengel
  • Constructor Details

    • EvidentialArgumentationFramework

      public EvidentialArgumentationFramework()
      Default constructor; initializes empty sets of arguments, attacks and supports
    • EvidentialArgumentationFramework

      public EvidentialArgumentationFramework(NecessityArgumentationFramework naf)
      creates an evidential argumentation framework from the given framework with necessities
      Parameters:
      naf - a argumentation framework with necessities
  • Method Details

    • hasEvidentialSupport

      public boolean hasEvidentialSupport(BArgument argument, Collection<BArgument> ext)
      returns true if argument has evidential support from set ext. An argument a has e-support from ext iff a=eta or there exists a subset S of ext which supports a and all arguments in S have e-support from ext \ {a}
      Parameters:
      argument - an argument
      ext - a set of arguments
      Returns:
      true if argument has e-support from ext.
    • hasMinimalEvidentialSupport

      public boolean hasMinimalEvidentialSupport(BArgument argument, Collection<BArgument> ext)
      returns true if argument has minimal evidential support from set ext. An argument a has minimal e-support from ext iff ext e-supports a and no true subset of ext e-supports a
      Parameters:
      argument - an argument
      ext - a set of arguments
      Returns:
      true if argument has e-support from ext.
    • getMinimalEvidentialSupporters

      public Set<Set<BArgument>> getMinimalEvidentialSupporters(BArgument argument)
      computes all subsets which minimal e-support argument
      Parameters:
      argument - some argument
      Returns:
      set of minimal e-supporters of argument
    • isEvidenceSupportedAttack

      public boolean isEvidenceSupportedAttack(Collection<BArgument> ext, BArgument argument)
      returns true if ext carries out an evidence supported attack on argument ext e-support-attacks an argument a iff a subset S of ext attacks a and all elements of S have e-support from ext.
      Parameters:
      argument - an argument
      ext - a set of arguments
      Returns:
      true if ext e-support-attacks argument
    • isMinimalEvidenceSupportedAttack

      public boolean isMinimalEvidenceSupportedAttack(Collection<BArgument> ext, BArgument argument)
      returns true if ext carries out a minimal evidence supported attack on argument i.e. there is no true subset of ext which e-support-attacks argument
      Parameters:
      argument - an argument
      ext - a set of arguments
      Returns:
      true if ext e-support-attacks argument
    • getMinimalEvidenceSupportedAttackers

      public Collection<Collection<BArgument>> getMinimalEvidenceSupportedAttackers(BArgument argument)
      computes all subsets which carry out a minimal evidence supported attack on argument
      Parameters:
      argument - some argument
      Returns:
      set of minimal e-supported attackers of argument
    • isAcceptable

      public boolean isAcceptable(BArgument argument, Collection<BArgument> ext)
      return true if argument is acceptable with respect to ext argument is acceptable wrt. S iff argument is e-supported by S and if a set T minimal e-support-attacks argument, then S carries out an e-supported attack against a member of T.
      Specified by:
      isAcceptable in class AbstractBipolarFramework
      Parameters:
      argument - an argument
      ext - a set of arguments
      Returns:
      true if argument is acceptable wrt. ext
    • getSupported

      public Set<BArgument> getSupported(ArgumentSet argumentSet)
      Computes the set {A | there is a sequence of direct supports from argumentSet to A}
      Parameters:
      argumentSet - a set of arguments
      Returns:
      the set of all arguments that are supported by argumentSet.
    • getAttackingSets

      public Set<BipolarEntity> getAttackingSets(BArgument argument)
      Computes the set {S | (S, argument) in attacks}.
      Parameters:
      argument - an argument
      Returns:
      the set of all argument sets that are attacking argument.
    • add

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

      public boolean addSupport(BArgument supporter, BArgument supported)
      Adds a support from the first argument to the second to this argumentation framework.
      Parameters:
      supporter - some argument
      supported - some argument
      Returns:
      "true" if the set of supports has been modified.
    • addSupport

      public boolean addSupport(ArgumentSet supporter, BArgument supported)
      Adds a support from a set of arguments to an argument to this argumentation framework.
      Parameters:
      supporter - a set of arguments
      supported - some argument
      Returns:
      "true" if the set of supports has been modified.
    • add

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

      public boolean addAttack(BArgument attacker, BArgument attacked)
      Adds an attack from the first argument to the second to this evidential argumentation system.
      Parameters:
      attacker - some argument
      attacked - some argument
      Returns:
      "true" if the set of attacks has been modified.
    • addAttack

      public boolean addAttack(ArgumentSet attacker, BArgument attacked)
      Adds an attack from the set of arguments to the argument to this evidential argumentation system.
      Parameters:
      attacker - a set of arguments
      attacked - some argument
      Returns:
      "true" if the set of attacks has been modified.
    • getSupports

      public Set<Support> getSupports()
      Returns all supports of this theory.
      Specified by:
      getSupports in class AbstractBipolarFramework
      Returns:
      all supports of this theory.
    • getAttacks

      public Set<Attack> getAttacks()
      Returns all attacks of this theory.
      Specified by:
      getAttacks in class AbstractBipolarFramework
      Returns:
      all attacks of this theory.
    • addPrimaFacie

      public boolean addPrimaFacie(BArgument argument)
      Adds a argument with evidential support to this evidential argumentation system If the argument is already in this evidential argumentation system, adds evidential support
      Parameters:
      argument - some argument
      Returns:
      "true" if the argument has been modified.
    • removePrimaFacie

      public boolean removePrimaFacie(BArgument argument)
      removes evidential support from argument, does not remove argument itself
      Parameters:
      argument - some argument
      Returns:
      "true" if the argument has been modified
    • getEvidenceSupportedArguments

      public Set<BArgument> getEvidenceSupportedArguments()
      returns all arguments that have evidential support in this framework
      Returns:
      set of evidence supported arguments
    • getEta

      public BArgument getEta()
      returns the special argument eta
      Returns:
      eta
    • getMinimalForm

      public EvidentialArgumentationFramework getMinimalForm()
      calculates the minimal form of this argumentation framework ie. only attacks and supports with minimal attacker/supporter are kept
      Returns:
      the minimal form of this evidential argumentation framework
    • toNAF

      translates this EAF into the corresponding NAF can only translate framework which contain only binary attacks translation algorithm from: Polberg, Oren. Revisiting Support in Abstract Argumentation Systems. 2014
      Returns:
      the corresponding NAF
    • compareTo

      public int compareTo(EvidentialArgumentationFramework o)
      Specified by:
      compareTo in interface Comparable<EvidentialArgumentationFramework>
    • hashCode

      public int hashCode()
      Specified by:
      hashCode in interface Collection<BArgument>
      Overrides:
      hashCode in class BeliefSet<BArgument,DungSignature>