Class AbstractDialecticalFramework

  • All Implemented Interfaces:
    java.lang.Comparable<AbstractDialecticalFramework>, java.lang.Iterable<Argument>, BeliefBase

    public class AbstractDialecticalFramework
    extends java.lang.Object
    implements BeliefBase, java.lang.Comparable<AbstractDialecticalFramework>, java.lang.Iterable<Argument>
    This class implements abstract dialectical frameworks, cf. [Brewka, Ellmauthaler, Strass, Wallner, Woltran. Abstract Dialectical Frameworks Revisited. IJCAI'13]
    Author:
    Mathias Hofer
    • Field Detail

      • parentsByChild

        private java.util.Map<Argument,​java.util.Set<Argument>> parentsByChild
        Maps an argument to the arguments of its acceptance condition
      • childrenByParent

        private java.util.Map<Argument,​java.util.Set<Argument>> childrenByParent
        Maps an argument to all the arguments in which it occurs in their acceptance condition.
    • Constructor Detail

    • Method Detail

      • updateRelations

        private void updateRelations​(Argument child)
      • arguments

        public java.util.stream.Stream<Argument> arguments()
      • bipolar

        public boolean bipolar()
        Checks if the ADF is bipolar. May compute all links to do so.
        Returns:
        true iff this ADF is bipolar
      • parents

        public java.util.stream.Stream<Argument> parents​(Argument child)
      • links

        public java.util.stream.Stream<Link> links()
      • linksToParent

        public java.util.stream.Stream<Link> linksToParent​(Argument b)
        TODO define functionality
        Parameters:
        b - some argument
        Returns:
        a stream of links (a,b)
      • linksToChildren

        public java.util.stream.Stream<Link> linksToChildren​(Argument a)
        TODO define functionality
        Parameters:
        a - some argument
        Returns:
        a stream of links (a,b)
      • link

        public Link link​(Argument a,
                         Argument b)
        Computes the link (a,b) iff necessary and returns it afterwards.
        Parameters:
        a - some argument
        b - some argument
        Returns:
        (a,b)
      • setLink

        public void setLink​(Link link)
      • setLinkStrategy

        public void setLinkStrategy​(LinkStrategy linkStrategy)
        Parameters:
        linkStrategy - the strategy which is used in order to compute the links whenever its necessary
      • getMinimalSignature

        public Signature getMinimalSignature()
        Description copied from interface: BeliefBase
        Returns the signature of the language of this knowledge base.
        Specified by:
        getMinimalSignature in interface BeliefBase
        Returns:
        the signature of the language of this knowledge base.
      • iterator

        public java.util.Iterator<Argument> iterator()
        Specified by:
        iterator in interface java.lang.Iterable<Argument>