module I: functor (
G
:
Sig.I
with type V.label = int * int and type E.label = int
) >
S
with type graph = G.t
Random imperative planar graphs
Parameters: 
G 
: 
Sig.I with type V.label = int * int and type E.label = int


type
graph
val graph : ?loops:bool >
xrange:int * int >
yrange:int * int > prob:float > int > graph
graph xrange yrange prob v
generates a random planar graph with exactly v
vertices.
Vertices are labeled with integer coordinates, randomly distributed
according to xrange
and yrange
.
Edges are built as follows: the full Delaunay triangulation is
constructed and then each edge is discarded with probabiblity prob
(which should lie in 0..1
). In particular prob = 0.0
gives the
full triangulation.
Edges are labeled with the (rounded) Euclidean distance between
the two vertices.
The boolean loops
indicates whether loops are allowed;
default value is no loop (false
).