To compile the Java files IN LINUX:

1. Open your command prompt and go to the directory that you installed the code.

2. Make sure that Java is installed and that it is included in the PATH environment.

3. Enter the command:
 $ export CLASSPATH=.:./commons-math-2.2/commons-math-2.2.jar

4. Enter the command:
 $ make
------------------------------------
To compile the Java files IN WINDOWS:

1. Open your command prompt and go to the directory that you installed the code.

2. Make sure that Java is installed and that it is included in the PATH environment.

3. Enter the command:
 > set CLASSPATH=.;.\commons-math-2.2\commons-math-2.2.jar

4. Otherwise, enter the following commands:
 > javac BranchingProcess.java
 > javac Component.java
 > javac Edge.java
 > javac GraphStats.java
 > javac RandomGraph.java
 > javac Statistics.java
 > javac Vertex.java

--------------------------------------

The GraphStats class can be used with a command-line interface to perform quick statistics tests
on random graphs. The following tests can be performed:

Branching Test - Perform a number of branching processes and count the number of survivors.
Giant Component Test - Create a number of random graphs and compute the average size of 
						the largest component.
Diameter Test - Create a number of random graphs and compute the average diameter of the
						largest component, computed by finding the distance between two random
						vertices of the component.
Average Diameter Test - Create a number of random graphs and compute the average diameter of the
						largest component, computed by finding the average distance between two
						vertices of the component.
Second Largest Component Test - Create a number of random graphs and compute the average size
						of the second largest component.
Excess Test - Create a number of random graphs and compute the average number of components of a
						certain size and excess. Excess is computed as edges-vertices.

Branching Test
--------------
java GraphStats branch mean maxGen numRuns [filename]
	mean- parameter for average number of children.
	maxGen - max number of generations to be considered a survived process.
	numRuns - number of runs.
	filename - optional, filename to print results.

Giant Component Test
--------------------
java GraphStats giant numVerts prob numRuns [filename]
	numVerts - number of vertices of the random graph.
	prob - parameter for randomly placing edges, probability is prob/numVerts.
	numRuns - number of runs.
	filename - optional, filename to print results.
	
Diameter Test
-------------
java GraphStats diameter numVerts prob numRuns [filename]
	numVerts - number of vertices of the random graph.
	prob - parameter for randomly placing edges, probability is prob/numVerts.
	numRuns - number of runs.
	filename - optional, filename to print results.
	
Average Diameter Test
-------------
java GraphStats avgdiam numVerts prob numRuns [filename]
	numVerts - number of vertices of the random graph.
	prob - parameter for randomly placing edges, probability is prob/numVerts.
	numRuns - number of runs.
	filename - optional, filename to print results.

Second Largest Component Test
------------------------
java GraphStats second numVerts prob numRuns [filename]
	numVerts - number of vertices of the random graph.
	prob - parameter for randomly placing edges, probability is prob/numVerts.
	numRuns - number of runs.
	filename - optional, filename to print results.
	
Excess Test
-----------
java GraphStats excess numVerts prob size excess numRuns [filename]
	numVerts - number of vertices of the random graph.
	prob - parameter for randomly placing edges, probability is prob/numVerts.
	size - the size of the components to be counted.
	excess - the excess of the components to be counted. Excess is edges - vertices.
	numRuns - number of runs.
	filename - optional, filename to print results.
