edu.stanford.multiagent.gamer.graphs
Class CompleteGraph

java.lang.Object
  |
  +--edu.stanford.multiagent.gamer.ParameterizedObject
        |
        +--edu.stanford.multiagent.gamer.graphs.Graph
              |
              +--edu.stanford.multiagent.gamer.graphs.ALGraph
                    |
                    +--edu.stanford.multiagent.gamer.graphs.CompleteGraph

public class CompleteGraph
extends ALGraph

Generates a complete graph with the specified number of nodes.


Field Summary
 
Fields inherited from class edu.stanford.multiagent.gamer.graphs.ALGraph
nodes
 
Fields inherited from class edu.stanford.multiagent.gamer.graphs.Graph
nEdges, nNodes, nodeData, pReflexEdges, pSymEdges
 
Fields inherited from class edu.stanford.multiagent.gamer.ParameterizedObject
parameters
 
Constructor Summary
CompleteGraph()
          Constructor to be used when parameters are coming from the command line.
CompleteGraph(long numNodes, boolean reflexive)
          Constructor to be used when parameters are being set by the game creating the graph
 
Method Summary
protected  void checkParameters()
          Makes sure that the parameters are in the proper range
 void doGenerate()
          Generate a random graph with given parameters.
protected  java.lang.String getGraphHelp()
          Returns a help information string about the particular graph, does not include parameter information.
 boolean hasSymEdges()
          It is always the case in complete graphs that for every edge a to b there is also an edge b to a
 void initialize()
          Calls graph initialize and also set up the nodes Vector if it has not yet been set up
 void randomizeParameters()
          Resets the range of the number of nodes and randomize
 boolean reflexEdgesOk()
          Return true if reflexive edges are allowed
 
Methods inherited from class edu.stanford.multiagent.gamer.graphs.ALGraph
addEdge, addEdge, addNode, areNeighbours, getEdge, getEdges, getNeighbours, getNumNeighbours, removeEdge, removeEdge, setEdgeData
 
Methods inherited from class edu.stanford.multiagent.gamer.graphs.Graph
getHelp, getNEdges, getNNodes, getNodeData, setNodeData
 
Methods inherited from class edu.stanford.multiagent.gamer.ParameterizedObject
getBooleanParameter, getDescription, getDoubleParameter, getLongParameter, getParamDescription, getParameter, getParameters, getStringParameter, setParameter, setParameter, setParameters, setParameters
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CompleteGraph

public CompleteGraph()
              throws java.lang.Exception
Constructor to be used when parameters are coming from the command line. The nodes vector will then be set up in initialize rather than here.


CompleteGraph

public CompleteGraph(long numNodes,
                     boolean reflexive)
              throws java.lang.Exception
Constructor to be used when parameters are being set by the game creating the graph

Method Detail

getGraphHelp

protected java.lang.String getGraphHelp()
Description copied from class: Graph
Returns a help information string about the particular graph, does not include parameter information.

Specified by:
getGraphHelp in class Graph

initialize

public void initialize()
                throws java.lang.Exception
Calls graph initialize and also set up the nodes Vector if it has not yet been set up

Overrides:
initialize in class Graph
Throws:
java.lang.Exception

randomizeParameters

public void randomizeParameters()
Resets the range of the number of nodes and randomize

Overrides:
randomizeParameters in class ParameterizedObject

checkParameters

protected void checkParameters()
                        throws java.lang.Exception
Makes sure that the parameters are in the proper range

Overrides:
checkParameters in class ALGraph
Throws:
java.lang.Exception - if anything is wrong with the parameter values

hasSymEdges

public boolean hasSymEdges()
It is always the case in complete graphs that for every edge a to b there is also an edge b to a

Specified by:
hasSymEdges in class Graph

reflexEdgesOk

public boolean reflexEdgesOk()
Return true if reflexive edges are allowed

Specified by:
reflexEdgesOk in class Graph

doGenerate

public void doGenerate()
Generate a random graph with given parameters.

Specified by:
doGenerate in class ParameterizedObject