|
Calling Sequence
|
|
AssignEdgeWeights(G,m..n)
AssignEdgeWeights(G,a..b)
AssignEdgeWeights(G,R)
|
|
Parameters
|
|
G
|
-
|
graph
|
m, n
|
-
|
integers satisfying
|
a, b
|
-
|
floats satisfying
|
R
|
-
|
user-defined function for generating random edge weights
|
|
|
|
|
Description
|
|
•
|
If G is a weighted graph, AssignEdgeWeights(G,...) assigns new random edge weights to G, that is, for each edge (i,j) in G the (i,j)th entry in the weight matrix of G is updated inplace.
|
•
|
If G is an unweighted graph, a weighted graph is first created before assigning the edge weights. The structure of G is not copied.
|
•
|
AssignEdgeWeights(G,m..n) assigns the edges of the weighted graph random integer weights uniformly distributed on [m,n].
|
•
|
AssignEdgeWeights(G,a..b) assigns the edges of the weighted graph random decimal weights uniformly distributed on [a,b).
|
•
|
AssignEdgeWeights(G,R) assigns the edges of the weighted graph G values defined by R(). The Maple procedure R must return numerical values, that is, integers, rationals, or floating-point constants.
|
•
|
The random number generator used to compute the edge weights can be seeded using the seed option or the randomize function.
|
|
|
Examples
|
|
>
|
|
>
|
|
>
|
|
| (1) |
>
|
|
| (3) |
| (5) |
>
|
|
| (6) |
| (7) |
| (8) |
| (9) |
>
|
|
| (10) |
>
|
|
| (11) |
This example creates a network
>
|
|
| (12) |
>
|
B := proc() if U()=1 then 1 else 2 end if; end proc:
|
So Prob(B=1)=1/4, Prob(B=2)=3/4
>
|
|
| (13) |
| (14) |
| (15) |
|
|
|