Class EvidentialArgumentationFramework

  • All Implemented Interfaces:
    java.lang.Comparable<EvidentialArgumentationFramework>, java.lang.Iterable<BArgument>, java.util.Collection<BArgument>, BeliefBase, Graph<BArgument>

    public class EvidentialArgumentationFramework
    extends AbstractBipolarFramework
    implements java.lang.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 Detail

      • 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 Detail

      • hasEvidentialSupport

        public boolean hasEvidentialSupport​(BArgument argument,
                                            java.util.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,
                                                   java.util.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 java.util.Set<java.util.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​(java.util.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​(java.util.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 java.util.Collection<java.util.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,
                                    java.util.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 java.util.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 java.util.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.
      • 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 java.util.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

        public NecessityArgumentationFramework 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