#### Description

Generate random graphs either from an existing graph or from scratch according to different randomization procedure.

#### Authors

#### Options

#### Input and output formats

The accepted input formats are GML, tab-delimited and adjacency
matrix. For more explanations about these, refer to the manual of convert-graph.

#### Column specifications (only for tab-delimited format)

**Source and target column**. Columns
containing the source and target nodes.

**Weight or label column** Column containing
the weight or the label on the edge.

#### Directed graph

Specifies whether the graph must be considered as directed,
i.e., an edge from node A to node B is different from an edge
from B to A (by default, the graph is considered as non-directed).

#### Randomization type

**From scratch**, builds a graph totally by creating a
given number of nodes and throwing a given number of edges
between them, each node having the same probability to be
selected as source or target of each edge.
The user may specify nodes names by providing an input graph
file. The edges are generated using the Erdos-Renyi
distribution. You may compute edge weight values by specifying
a mean and a standard deviation. Weight will be attributed
according to the normal distribution.

**ER (Erdos-Renyii randomization)**, corresponds to the
randomization of a input graph, keeping the original nodes and
the number of edges. ER randomization does not preserve
topologivcal properties such as node degree, clustering
coefficient, ....

If you specify a weight column for the input graph, the
weights of the output graph will be randomly assigned to the
edges.

By using the *normal distribution option*, the edge
weights will be computed following the normal distribution
(considering the weight distribution of the original
graph). If nor the weight column is specified nor the wished
mean and standard deviation of the weights of the edges of the
output graph, no weight will be added.

With the **node degree conservation** randomization type,
each node will keep the same degree as in the input graph
(edge randomization).

With the **node degree distribution conservation**
randomization type, the global distribution of node degrees
remains the same as in the input graph, but the degree of
individual nodes has not to be preserved.

#### Duplicated edges allowed

Specifies whether more than one edge may link two nodes. (by
default, duplicated edges are not allowed.

#### Self loops allowed

Specifies whether self loops are allowed. (by
default, self-loops are not allowed.

#### No single node (only for ER randomization type)

Prevent the ER graph from containing nodes with no neighbour

#### Column conservation (only for
tab-delimited input and ER randomization type)

Only compatible with ER randomization of a graph. Source and
target nodes stay source and target nodes in the randomized
graph.

#### Normal

This option can only be used with ER and from scratch
randomization types and if the input graph is weighted. Using
this option will generate randomly the weight of the output
random graph according to a normal distribution of
weights. The mean and standard deviation can then be chosen
(-mean and -sd option) or will be calculated according to the
weights the input graph.

#### Mean

Mean value on the weight of the arcs. This argument can only be
used with the scratch and ER randomization type and must be
combined with the *standard deviation* option

#### Standard deviation

Standard deviation value of the weight of the arcs. This argument
can only be used with the scratch and ER randomization type
and must be combined with the *mean* option.