RandomGraph - Maple Help
For the best experience, we recommend viewing online help using Google Chrome or Microsoft Edge.

Online Help

All Products    Maple    MapleSim


GraphTheory[RandomGraphs]

  

RandomGraph

  

generate random graph

 

Calling Sequence

Parameters

Options

Description

Examples

Calling Sequence

RandomGraph(V,p,options)

RandomGraph(V,m,options)

RandomGraph(n,p,options)

RandomGraph(n,m,options)

Parameters

V

-

list of vertex labels

n

-

positive integer

p

-

numeric value between 0.0 and 1.0

m

-

non-negative integer

options

-

sequence of options (see below)

Options

• 

connected = truefalse 

  

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

  

For RandomGraph(n,p,connected), a random tree is first created then each remaining edge is present with probability p.

• 

degree = nonnegint

  

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. This is equivalent to using the RandomRegularGraph command.

• 

directed = truefalse 

  

If the option directed is specified, a random directed graph is chosen. This is equivalent to using the RandomDigraph command. Default value is false.

• 

seed = integer or none

  

Seed for the random number generator. When an integer is specified, this is equivalent to calling randomize(seed).

• 

weights = range

  

If the option weights=m..n is specified, where mn 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 xy 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.

Description

• 

RandomGraph(n,p) creates an undirected unweighted graph on n vertices where each possible edge is present with probability p where 0.0p1.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 0mbinomialn,2=nn12.

• 

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.

• 

This model of random graph generation, in which edges are selected with uniform probability from all possible edges in a graph on the specified vertices, is known as the Erdős–Rényi model.

Examples

withGraphTheory:

withRandomGraphs:

GRandomGraph8,0.5

GGraph 1: an undirected graph with 8 vertices and 10 edge(s)

(1)

GRandomGraph8,10

GGraph 2: an undirected graph with 8 vertices and 10 edge(s)

(2)

GRandomGraph8,10,connected

GGraph 3: an undirected graph with 8 vertices and 10 edge(s)

(3)

IsConnectedG

true

(4)

GRandomGraph6,degree=3

GGraph 4: an undirected graph with 6 vertices and 9 edge(s)

(5)

IsRegularG

true

(6)

HRandomGraph4,1.0,weights=0...1.0

HGraph 5: an undirected weighted graph with 4 vertices and 6 edge(s)

(7)

WeightMatrixH

0.0.8097345519119300.2301560659520940.7617312084830850.8097345519119300.0.1580575789408720.5809566791893210.2301560659520940.1580575789408720.0.4231651198811190.7617312084830850.5809566791893210.4231651198811190.

(8)

HRandomGraph8,10,connected,weights=1..4

HGraph 6: an undirected weighted graph with 8 vertices and 10 edge(s)

(9)

WeightMatrixH

0410020040010020100320300130004400200000200000000234000000040000

(10)

Urand1..4:

f := proc() local x; x := U(); if x=1 then 1 else 2 end if; end proc:

HRandomGraph6,1.0,weights=f

HGraph 7: an undirected weighted graph with 6 vertices and 15 edge(s)

(11)

WeightMatrixH

021122201121110212112022221202212220

(12)

See Also

AssignEdgeWeights

GraphTheory:-IsConnected

GraphTheory:-WeightMatrix

RandomBipartiteGraph

RandomDigraph

RandomNetwork

RandomRegularGraph

RandomTournament

RandomTree