GraphTheory[RandomGraphs][RandomGraph]
|
Calling Sequence
|
|
RandomGraph(n,p,options)
RandomGraph(n,m,options)
|
|
Parameters
|
|
n
|
-
|
positive integer or a list of vertex labels
|
p
|
-
|
real number between 0.0 and 1.0
|
m
|
-
|
non-negative integer
|
options
|
-
|
sequence of options (see below)
|
|
|
|
|
Description
|
|
•
|
RandomGraph(n,p) creates an undirected unweighted graph on n vertices where each possible edge is present with probability p where 0.0 <= p <= 1.0.
|
•
|
RandomGraph(n,m) creates an undirected unweighted graph on n vertices and m edges where the m edges are chosen uniformly at random. The value of m must satisfy 0 <= m <= binomial(n,2) = n*(n-1)/2.
|
•
|
If the first input is a positive integer n, then the vertices are labeled 1,2,...,n. Alternatively, you may specify the vertex labels in a list.
|
•
|
If the option directed is specified, a random directed graph is chosen. This is equivalent to using the RandomDigraph command.
|
•
|
If the option connected is specified, the graph created is connected, and hence has at least n-1 edges. For RandomGraph(n,m,connected), m must be at least n-1. A random tree is first created, then the remaining m-n+1 edges are chosen uniformly at random. For RandomGraph(n,p,connected), a random tree is first created then each remaining edge is present with probability p.
|
•
|
If the option degree=d is specified, and d-regular n vertex graph is possible, then a random d-regular graph having n vertices will be returned. Note that this option cannot be present with the directed option. When this option is used the number of edges m may be omitted, but if provided must be consistent with the number of edges in a d-regular n vertex graph. This is equivalent to using the RandomRegularGraph command.
|
•
|
If the option weights=m..n is specified, where m <= n are integers, the graph is a weighted graph with integer edge weights chosen from [m,n] uniformly at random. The weight matrix W in the graph has datatype=integer, and if the edge from vertex i to j is not in the graph then W[i,j] = 0.
|
•
|
If the option weights=x..y where x <= y are decimals is specified, the graph is a weighted graph with numerical edge weights chosen from [x,y] uniformly at random. The weight matrix W in the graph has datatype=float[8], that is, double precision floats (16 decimal digits), and if the edge from vertex i to j is not in the graph then W[i,j] = 0.0.
|
•
|
If the option weights=f where f is a function (a Maple procedure) that returns a number (integer, rational, or decimal number), then f is used to generate the edge weights. The weight matrix W in the graph has datatype=anything, and if the edge from vertex i to j is not in the graph then W[i,j] = 0.
|
•
|
The random number generator used can be seeded using the randomize function.
|
|
|
Examples
|
|
>
|
|
>
|
|
>
|
|
| (1) |
>
|
|
| (2) |
>
|
|
| (3) |
>
|
|
| (4) |
>
|
|
| (5) |
>
|
|
| (6) |
>
|
|
| (7) |
>
|
|
| (8) |
>
|
|
| (9) |
>
|
|
| (10) |
>
|
|
>
|
f := proc() local x; x := U(); if x=1 then 1 else 2 fi end:
|
>
|
|
| (11) |
>
|
|
| (12) |
|
|