Class SerialisationGraph
java.lang.Object
org.tweetyproject.arg.dung.serialisability.semantics.SerialisationGraph
- All Implemented Interfaces:
Iterable<SerialisationNode>,GeneralGraph<SerialisationNode>,Graph<SerialisationNode>
A Graph-based representation of the
Serialisation Sequences
of some Argumentation Framework wrt. some Semantics.- Author:
- Lars Bengel, Julian Sander, Matthias Thimm
-
Field Summary
Fields inherited from interface org.tweetyproject.graphs.Graph
IGNORE_SELFLOOPS, INVERT_SELFLOOPS, REMOVE_SELFLOOPS -
Constructor Summary
ConstructorsConstructorDescriptionSerialisationGraph(DungTheory theory, Collection<SerialisationSequence> sequences, Semantics semantics) Construct a serialisation graph for the given argumentation framework and set of serialisation sequencesSerialisationGraph(DungTheory theory, Semantics semantics) Construct a serialisation graph for the given argumentation framework and semantics -
Method Summary
Modifier and TypeMethodDescriptionbooleanadd(SerialisationNode node) Adds the given node to this graph.booleanadd(GeneralEdge<SerialisationNode> edge) Adds the given edge to this graph.booleanReturns "true" iff the two nodes are connected by a directed edge from a to b or an undirected edge.booleanReturns "true" when this graph contains the given node or edge.booleanbooleanexistsDirectedPath(SerialisationNode node1, SerialisationNode node2) Checks whether there is a (directed) path from node1 to node2.Returns the adjacency matrix of this graph (the order of the nodes is the same as returned by "iterator()").getChildren(Node node) Returns the set of children (node connected via an undirected edge or a directed edge where the given node is the parent) of the given node.getComplementGraph(int selfloops) Returns the complement graph of this graph, i.e.Returns the corresponding edge (a,b) if a and b are adjacent.Collection<? extends GeneralEdge<? extends SerialisationNode>> getEdges()Returns the edges of this graph.Return the extension that the represented serialisation sequences correspond toReturns the set of neighbors of the given node.getNodeForExtension(Extension<DungTheory> extension) Return the node of this graph that corresponds to the given extensiongetNodes()Returns the nodes of this graph.intReturns the number of edges in this graph.intReturns the number of nodes in this graph.getParents(Node node) Returns the set of parents (node connected via an undirected edge or a directed edge where the given node is the child) of the given node.Returns a copy of this graph that contains only the specified nodes and all corresponding edges between them.Return the semantics of this serialisation graphReturns the strongly connected components of this graph.Returns the set of sub graphs of this graph.booleanReturns "true" iff the graph has a self loop (an edge from a node to itself).booleanChecks whether this graph only contains weighted edges.iterator()Pretty print of the graph.Methods inherited from class java.lang.Object
getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface java.lang.Iterable
forEach, spliterator
-
Constructor Details
-
SerialisationGraph
public SerialisationGraph(DungTheory theory, Collection<SerialisationSequence> sequences, Semantics semantics) Construct a serialisation graph for the given argumentation framework and set of serialisation sequences- Parameters:
theory- some argumentation frameworksequences- the set of serialisation sequencessemantics- the semantics
-
SerialisationGraph
Construct a serialisation graph for the given argumentation framework and semantics- Parameters:
theory- some argumentation frameworksemantics- some semantics
-
-
Method Details
-
prettyPrint
-
getSemantics
Return the semantics of this serialisation graph- Returns:
- the semantics for which the serialisation graph has been constructed
-
equals
-
getExtensions
Return the extension that the represented serialisation sequences correspond to- Returns:
- The set of extensions
-
getNodeForExtension
Return the node of this graph that corresponds to the given extension- Parameters:
extension- some extension- Returns:
- the node corresponding to the extension
-
getRestriction
Description copied from interface:GeneralGraphReturns a copy of this graph that contains only the specified nodes and all corresponding edges between them.This method generates a subgraph (or restricted graph) from the current graph by including only the given nodes and the edges that connect them. The returned graph is a new instance and does not modify the original graph.
- Specified by:
getRestrictionin interfaceGeneralGraph<SerialisationNode>- Parameters:
nodes- a collection of nodes to be included in the restricted graph.- Returns:
- a `GeneralGraph` object representing the restricted graph.
-
add
Description copied from interface:GraphAdds the given node to this graph.- Specified by:
addin interfaceGraph<SerialisationNode>- Parameters:
node- some node.- Returns:
- "true" iff the edge has been added successfully.
-
add
Description copied from interface:GraphAdds the given edge to this graph. If at least one of the nodes the given edge connects is not in the graph, an illegal argument exception is thrown.- Specified by:
addin interfaceGraph<SerialisationNode>- Parameters:
edge- some edge.- Returns:
- "true" iff the edge has been added successfully.
-
getNodes
Description copied from interface:GraphReturns the nodes of this graph.- Specified by:
getNodesin interfaceGeneralGraph<SerialisationNode>- Specified by:
getNodesin interfaceGraph<SerialisationNode>- Returns:
- the nodes of this graph.
-
getNumberOfNodes
public int getNumberOfNodes()Description copied from interface:GraphReturns the number of nodes in this graph.- Specified by:
getNumberOfNodesin interfaceGraph<SerialisationNode>- Returns:
- the number of nodes in this graph.
-
getNumberOfEdges
public int getNumberOfEdges()Description copied from interface:GraphReturns the number of edges in this graph.- Specified by:
getNumberOfEdgesin interfaceGraph<SerialisationNode>- Returns:
- the number of edges in this graph.
-
areAdjacent
Description copied from interface:GraphReturns "true" iff the two nodes are connected by a directed edge from a to b or an undirected edge.- Specified by:
areAdjacentin interfaceGraph<SerialisationNode>- Parameters:
a- some nodeb- some node- Returns:
- "true" iff the two nodes are connected by a directed edge from a to b or an undirected edge.
-
getEdge
Description copied from interface:GraphReturns the corresponding edge (a,b) if a and b are adjacent. Otherwise it returns null.- Specified by:
getEdgein interfaceGraph<SerialisationNode>- Parameters:
a- some nodeb- some node- Returns:
- the edge (a,b) or null.
-
getEdges
Description copied from interface:GraphReturns the edges of this graph.- Specified by:
getEdgesin interfaceGeneralGraph<SerialisationNode>- Specified by:
getEdgesin interfaceGraph<SerialisationNode>- Returns:
- the edges of this graph.
-
iterator
- Specified by:
iteratorin interfaceGraph<SerialisationNode>- Specified by:
iteratorin interfaceIterable<SerialisationNode>
-
contains
Description copied from interface:GraphReturns "true" when this graph contains the given node or edge.- Specified by:
containsin interfaceGraph<SerialisationNode>- Parameters:
obj- an object- Returns:
- "true" if this graph contains the given node or edge.
-
getChildren
Description copied from interface:GraphReturns the set of children (node connected via an undirected edge or a directed edge where the given node is the parent) of the given node.- Specified by:
getChildrenin interfaceGraph<SerialisationNode>- Parameters:
node- some node (must be in the graph).- Returns:
- the set of children of the given node.
-
getParents
Description copied from interface:GraphReturns the set of parents (node connected via an undirected edge or a directed edge where the given node is the child) of the given node.- Specified by:
getParentsin interfaceGraph<SerialisationNode>- Parameters:
node- some node (must be in the graph).- Returns:
- the set of parents of the given node.
-
existsDirectedPath
Description copied from interface:GraphChecks whether there is a (directed) path from node1 to node2.- Specified by:
existsDirectedPathin interfaceGraph<SerialisationNode>- Parameters:
node1- some node.node2- some node.- Returns:
- "true" if there is a directed path from node1 to node2.
-
getNeighbors
Description copied from interface:GraphReturns the set of neighbors of the given node.- Specified by:
getNeighborsin interfaceGraph<SerialisationNode>- Parameters:
node- some node (must be in the graph).- Returns:
- the set of neighbors of the given node.
-
getAdjacencyMatrix
Description copied from interface:GraphReturns the adjacency matrix of this graph (the order of the nodes is the same as returned by "iterator()").- Specified by:
getAdjacencyMatrixin interfaceGraph<SerialisationNode>- Returns:
- the adjacency matrix of this graph
-
getComplementGraph
Description copied from interface:GraphReturns the complement graph of this graph, i.e. the graph on the same set of vertices as this graph that connects two vertices v and w with an edge if and only if v and w are not connected in this graph.- Specified by:
getComplementGraphin interfaceGraph<SerialisationNode>- Parameters:
selfloops- Indicates how to deal with selfloops:
IGNORE_SELFLOOPS - ignore self loops (don't add and don't remove)
INVERT_SELFLOOPS - deal with self loops like ordinary edges (add if not present and remove if present)
REMOVE_SELFLOOPS - simple remove self loops, but don't add new ones.- Returns:
- the complement graph of this graph.
-
getStronglyConnectedComponents
Description copied from interface:GraphReturns the strongly connected components of this graph. A set of nodes is strongly connected, if there is a path from each node to each other. A set of nodes is called strongly connected component if it is strongly connected and maximal with respect to set inclusion.- Specified by:
getStronglyConnectedComponentsin interfaceGraph<SerialisationNode>- Returns:
- the strongly connected components of this graph.
-
getSubgraphs
Description copied from interface:GraphReturns the set of sub graphs of this graph.- Specified by:
getSubgraphsin interfaceGraph<SerialisationNode>- Returns:
- the set of sub graphs of this graph.
-
hasSelfLoops
public boolean hasSelfLoops()Description copied from interface:GraphReturns "true" iff the graph has a self loop (an edge from a node to itself).- Specified by:
hasSelfLoopsin interfaceGraph<SerialisationNode>- Returns:
- "true" iff the graph has a self loop (an edge from a node to itself).
-
isWeightedGraph
public boolean isWeightedGraph()Description copied from interface:GraphChecks whether this graph only contains weighted edges.- Specified by:
isWeightedGraphin interfaceGraph<SerialisationNode>- Returns:
- "true" if all edges are weighted in this graph.
-